繁体   English   中英

Android上的OpenGL ES坐标系统?

[英]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.

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