2014-12-18 1 views
0

В настоящее время я немного играю с игровым движком. (Разработано другом с использованием LWJGL). Этот движок использует Vector3f Positions для рисования изображения на экране. Я хочу рисовать Картинки с точным местоположением пикселей ... поэтому я создал Vector3f и каким-то образом должен преобразовать значения x и y в позицию пикселя. Но как?Преобразование Vector3f x и y в точный размер пикселя

ответ

0

Предполагая, что компоненты Vector3f используют координаты экрана OpenGL (начало координат в центре экрана, x идет вправо, y идет вверх, а оси имеют значения от -1 до 1). Полученная координата пикселя использует систему координат LWJGL, то есть начало находится в нижнем левом углу.

import org.lwjgl.opengl.Display; 
import org.lwjgl.util.Point; 
import org.lwjgl.util.vector.Vector3f; 

public static Point toPixelPos(Vector3f v) { 
    int width = Display.getWidth(); 
    int height = Display.getHeight(); 
    int x = (int) (width * (v.x + 1)/2); 
    int y = (int) (height * (v.y + 1)/2); 

    return new Point(x, y); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^