我希望我的方块适合屏幕的宽度。 我已经设法在我的设备上执行此操作,如下所示:
@Override
public void onDrawFrame(GL10 gl) {
// Clears the screen and depth buffer.
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glClearColor(1f, 1f, 1f, 1f);
// Replace the current matrix with the identity matrix
gl.glLoadIdentity();
gl.glTranslatef(0f, 0f, -1.6f);
new Plane(1f,1f).draw(gl);
}
所以我的飞机宽1f,高1f。通过将部件移动到屏幕1.6f中,正方形整齐地适合屏幕的宽度。但在其他设备上,方块变得太大而部分落在屏幕之外。
如何将方块的宽度调整到屏幕宽度?
答案 0 :(得分:0)
我刚刚开始使用android和openGL,所以可能会有一些我不知道的辅助类。
问题是IMO的宽高比(aspectRatio = screenWidth / screenHeight)。这会因设备而异,从而导致飞机离开屏幕的问题。您应该根据宽高比缩放所有内容,或者制作一些窗口,该窗口始终在屏幕的整个宽度上,但高度会有所不同(根据您希望的宽高比调整高度)。
如果你使用身份投影和相机,我认为你留在NDC空间(或类似的东西),所以如果你在这个空间中渲染四边形,边缘在-1或+1,你应该填满整个屏幕四边形。