繁体   English   中英

OpenGL-ES 找到正确的坐标(翻译等...)

[英]OpenGL-ES finding the right coordinates (Translations etc…)

如何正确确定 gl.glTranslatef(x,y,z) 和类似方法必须使用的值。 示例:我有一个正方形,想在左上角显示它,大约是屏幕的 1/4。 我认为这将是 glTranslate() 的值 -0.5 和 0.5,但这并没有显示在我期望的位置。
所以基本上我不知道如何在 OpenGL-ES 中找到对象的正确坐标。

不幸的是,还没有为 android 开发 opengl-es 内容,但是 AFAIK 您需要将屏幕坐标(例如屏幕左上角)转换为世界坐标(坐标在 Z76AA96369ABBBA52E621BFA83DA8E64 OpenGL 世界中)。

对于 3D,您可以通过光线投影来做到这一点。 你会通过谷歌搜索找到很多例子,也许还有 OpenGL 实现。

对于 2D,您可以使用正交投影矩阵(基本上没有透视失真)并根据需要旋转它(例如对于横向模式):

// Initialize your projection matrix - current number are half the dimensions for the G1 I borrowed(320x480)
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(-240.0f, 240.0f, -160.0f, 160.0f, -1.0f, 1.0f);

// Rotate everything by 90 degrees
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(-90.0f, 0.0f, 1.0f, 0.0f);

HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM