在不知道矩阵的情况下将XYZ屏幕切换为XY的世界

时间:2012-04-09 19:52:24

标签: java opengl coordinates

在不知道渲染中涉及的所有矩阵的情况下,如何实现屏幕世界?

2 个答案:

答案 0 :(得分:2)

gluProject只是将所有给定的变换应用于传递的点。如果你传递错误的转换或错误的点,你将得到错误的结果。

例如,如果您想要一个对象中心的屏幕坐标,假设未转换对象的坐标居中于(0,0,0),您可以gluProject坐标(0,0, 0),模型视图变换在绘制该对象时生效,通常用于投影和视口。

并请使用标准常量!当2892这样的完美的常量使得小耶稣哭泣时,在你的代码中使用GL11.GL_MODELVIEW_MATRIX和类似的东西。

答案 1 :(得分:2)

您使用gluproject进行的转换使用以下系统:

y
|
|
+------x

但您的屏幕正在使用以下系统:

+-------x
|
|
|
y

您所要做的就是:

yCoord = window_height - yCoord;