无法使glViewport()工作

时间:2015-09-23 01:08:36

标签: c++ opengl viewport glut

我开始在2D游戏中工作,但我不知道我应该使用viewPort()的方式。这是我的Init()代码:

void init(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glViewport(100, 100, 800, 600);
    gluOrtho2D(0, 800, 600, 0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glClearColor(0.0, 0.0, 0.0, 0.0);
}

我想知道的是,在将图像绘制到窗口后,我怎样才能看到它的一部分,而不是整个世界?

1 个答案:

答案 0 :(得分:0)

你在那里所做的一切都属于绘图代码。加载纹理和着色器,设置帧缓冲对象将是初始化,但你不是那样做的。

glClear必须在glClearColor之后出现。

最后但并非最不重要的是,视口不会影响清除操作(您必须使用剪刀测试将清除操作限制为某个矩形)。