这两天在不停的弄OpenGL编程,好久没用了,遗忘了不少,现在找回来,总结了一下心得:
首先关于视点的问题,这些可能一些初学的同学可能会很困惑这个问题:
首先在Windows下坐标原点在左上角,而OpenGL的坐标原点则在左下角。
对于我想渲染一个2D的图片来说视点设置应该如下:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, (IPHONE_SCREEN_WIDTH), 0, SCREEN_HEIGHT, -I2F(100), I2F(1000));//这里glOrtho(左,右,下,上,近,远)
//这个是基于openGL坐标的
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glViewport(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);//glViewport(x,y,width,height)
glScissor (0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);//glScissor(x,y,width,height)
之后在绘制实体的时候,比如画一个正方形在屏幕上,如果你想画在左上角,则需要做一部这个转换。
void drawRect(x,y,width,height)
{
y = SCREEN_HEIGHT - y - h;
//通过GL的方式画矩形
}