2012-04-01 89 views
1

假設我已經分別繪製了一個traingle,一個立方體,一個使用draw_triangle,draw_cube和draw_square函數的正方形。如何使用keypress func.?...如果我使用glClear(GL_COLOR_BUFFER_BIT)來刪除一個立方體,整個屏幕將被擦除..如何刪除特定的多邊形。?如何在OpenGL中刪除/擦除特定的多邊形?

+1

假設有一種方法可以在繪製特定多邊形後刪除它。什麼會出現在它的位置? 「曾經在那裏」的信息早已消失。 – harold 2012-04-01 13:07:26

回答

0

我認爲最好的解決方案是有一個布爾變量,它指示您的對象是否必須顯示。因此,只有當按下某個鍵時,您清除屏幕並重新繪製整個場景。

5

如何刪除特定的多邊形。

不要在下一幀中渲染它。

繪製一個多邊形後,沒有多邊形,只有顏色緩衝區中的一堆像素+深度緩衝區中的值。所以你不能「刪除」它,並且你不能恢復以前的顏色/深度緩衝區狀態。如此清晰的屏幕,重繪場景而不需要多邊形。

0

也許類似的東西:

Render() 
{ 
clear_screen(); 

setup_camera_and_other_scene_states(); 

if (cube) drawCube(); 

if (sphere) drawSphere(); 

swap_buffers(): 
} 

keyPress() 
{ 
if (presses_some_key) cube = !cube; 
} 
1

如果你想只清除屏幕或任何特定圖像的特定部分,然後通過使用鍵盤中斷wihout清除整個屏幕重新顯示。