【问题标题】:Can't make glViewport() to work无法使 glViewport() 工作
【发布时间】:2015-09-23 01:08:36
【问题描述】:

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

我想知道的是,在窗户上画了一幅画之后,我怎么能只看它的一部分,而不看整个世界呢?

【问题讨论】:

  • 你是什么意思“世界的一部分而不是整个世界”?在这种情况下,什么是“世界”?

标签: c++ opengl viewport glut


【解决方案1】:

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

glClear 也必须在 glClearColor 之后。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 2014-04-03
    • 2011-07-14
    • 2013-12-25
    • 2011-10-29
    • 2016-07-28
    相关资源
    最近更新 更多