如何實現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();
兩個視攝像機後面的字符,一個從第三人稱視角,從上了另外一個。可能很難看到,但是迷你地圖視口的背景干擾了大型地圖(大型地圖幾乎作爲迷你地圖的背景)。有時,大視口覆蓋小視口。
「*問題是他們不斷干擾*」以什麼方式?這究竟如何體現?你分別畫什麼樣的東西? –
添加了屏幕截圖。我正在捕獲同樣的東西,但使用不同的相機位置。 –
我想說的是,小型視口需要始終處於頂峯。就我而言,我從大視口中抽出的牆壁覆蓋了較小的一個。 –