[英]OpenGL ES Coordinate System on Android?
我是Android的新手,我正在使用NDK与OpenGL ES 1一起玩。 不幸的是,我遇到了Coordinate系统的问题。 在官方示例中,以下代码用于获取Opengl曲面的宽度和高度。
eglQuerySurface(display, surface, EGL_WIDTH, &w);
eglQuerySurface(display, surface, EGL_HEIGHT, &h);
现在,当我想要设置视口时
glViewport( 0, 0, w ,h );
然后我渲染一个四边形,然后四边形不是一个四边形,它是一个变形的矩形并居中。
如何正确设置视口和坐标系?
您正确设置了视口; 您需要调整投影矩阵(或等效,如果您使用的是ES 2.0而不是1.x)。 例如
glMatrixMode(GL_PROJECTION);
glFrustumf(-(float)w/h, (float)w/h, -1, 1, 1, 500);
OpenGL不会对像素或视口的宽高比做出任何假设 - 您必须自己组织。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.