2009-10-08 71 views
0

我已经创建了自己的NSOpenGLView类,现在我想用倒置坐标系显示数据。如何在NSOpenGLView中反转坐标系

原点始于左下角。我想改变它,以便坐标从左上角开始。

我应该如何颠倒视图/设置一个新的坐标系统。

回答

0

我有解决方案

glPushMatrix(); 
    glRotatef(180.0f, 1.0f, 0.0f, 0.0f); 
0

我的OpenGL技巧很弱,但我相信你可以使用glViewport函数将原点移动到右上角。那么你可能需要在屏幕上使用所有负数。然后你可以尝试使用glRotate来使用所有正数。我实际上没有尝试过,但看看你可以用它做什么。

glViewPort(0.0, -height, width, height); 
glRotatef(180.0, 1.0, 0.0, 0.0); 
+0

我尝试了与 \t glViewport代码(0.0 - [自我界限] .size.height,[自我界限] .size.width ,[自定义] .size.height); \t glRotatef(180.0,1.0,0.0,0.0); 它不起作用。我将它修改为 \t glRotatef(180,[self bounds] .size.width/2,[self bounds] .size.height/2,0); 它只能旋转90度的流。 我想我会尝试通过yuv feed buffer来反转以解释屏幕反转 – ReachConnection 2009-10-13 19:47:35