在不知道渲染中涉及的所有矩阵的情况下,如何实现屏幕世界?
答案 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;