OpenGL 不会使用左上坐标进行渲染
OpenGL won't render with top left coordinates
我用 glOrtho() 设置了投影矩阵,如下所示:
glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, -Application.HALF_HEIGHT, Application.HALF_HEIGHT, 1, -1);
因此,当我在原点 (0; 0) 处绘制某些内容时,opengl 会将其绘制在屏幕中央。美好的。但是现在我想翻转Y坐标,所以我把它改成这样:
glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, Application.HALF_HEIGHT, -Application.HALF_HEIGHT, 1, -1);
当我尝试在 (0; 0)(或任何位置)绘制时,它会显示黑屏。
什么可能导致此问题?
p.s。我正在使用 lwjgl
当改变 y 轴的方向时,基元的缠绕顺序也会改变。因此,如果启用了背面剔除,则必须通过
设置来调整缠绕顺序
glFontFace(GL_CCW)
我用 glOrtho() 设置了投影矩阵,如下所示:
glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, -Application.HALF_HEIGHT, Application.HALF_HEIGHT, 1, -1);
因此,当我在原点 (0; 0) 处绘制某些内容时,opengl 会将其绘制在屏幕中央。美好的。但是现在我想翻转Y坐标,所以我把它改成这样:
glOrtho(-Application.HALF_WIDTH, Application.HALF_WIDTH, Application.HALF_HEIGHT, -Application.HALF_HEIGHT, 1, -1);
当我尝试在 (0; 0)(或任何位置)绘制时,它会显示黑屏。
什么可能导致此问题? p.s。我正在使用 lwjgl
当改变 y 轴的方向时,基元的缠绕顺序也会改变。因此,如果启用了背面剔除,则必须通过
设置来调整缠绕顺序glFontFace(GL_CCW)