无法使 glViewport() 工作

Can't make glViewport() to work

我开始在 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);
}

我想知道的是,画图到window后,如何才能只看到一部分,而不是整个世界呢?

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

而且 glClear 必须在 glClearColor 之后。

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