2 つのビューポートをきれいに分離するにはどうすればよいですか?
2 つのビューポートがあり、1 つは画面全体の長さで、もう 1 つは画面サイズの 4 分の 1 以下である必要があります (マップにしたい)。問題は、それらが干渉し続けることです。大きなビューポートのコンテンツから小さなビューポートのコンテンツを見ることができます。
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();
両方のビューポート カメラがキャラクターを追跡しています。1 つは第三者の視点から、もう 1 つは上から見たものです。見にくいかもしれませんが、ミニマップ ビューポートの背景が大きなものと干渉しています (大きなオンはミニマップの背景のように機能しています)。大きなビューポートが小さなビューポートを覆ってしまうことがあります。