我使用的示例来自:http ://dragonsandbytecode.wordpress.com/2012/06/07/game-dev-diary-5-about-textures-and-2d/
我想显示多个视口,最好我能够通过按 1、2、3、4 等打开和关闭它们。但首先,我如何显示多个视口?在以下函数中:
- (void)reshape {
NSRect rect = [self bounds];
glViewport(0, rect.size.height/2, rect.size.width/2, rect.size.height/2);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(50, rect.size.width/rect.size.height, .1, 30);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_DEPTH_TEST);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable( GL_BLEND );
glEnable(GL_TEXTURE_2D);
}
如果我写了一个以上的 glviewport,它会覆盖另一个。我在某处读到我必须先让opengl再次绘制到屏幕上,但我该怎么做呢?如果我听起来毫无头绪,我深表歉意,但我非常感谢任何可以在这里帮助我的人。在 GLUT 中,我总是使用子窗口,但是看到它会使用许多不同的上下文,我认为更好的方法是使用 glViewport() 代替。