如何实现 2 个视口之间的清晰分离?
我有 2 个视口,一个需要全屏长度,另一个需要小于或等于屏幕尺寸的四分之一(我希望它是地图)。问题是他们一直在干扰,我从大视口中看到了小视口的内容。
这是display()
我正在使用的功能:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_LIGHTING);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0,0,newWidth,newHeight);
gluPerspective(45,(float)newWidth/(float)newHeight,0.2,500);
//setup view
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
camera.render(crntMode, radiusNew);
//ground
glColor3f(0.5,0.5,0.5);
draw_ground(50,50,2,2,-2);
...
...
...
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(newWidth / 2, newHeight / 2, newWidth / 2, newHeight / 2);
gluPerspective(45,(float)newWidth/(float)newHeight,0.2,500);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
camera.render(mini_map, radiusNew);
//ground
glColor3f(0.5,0.5,0.5);
draw_ground(50,50,2,2,-2);
...
...
...
//swap buffers
glutSwapBuffers();
两个视口摄像机都在跟随角色,一个是第三人称视角,另一个是自顶向上。可能更难看到,但小地图视口的背景干扰了大视口(大视口几乎充当了小地图的背景)。有时大视口会覆盖小视口。