2012-04-01 4 views
1

draw_triangle, draw_cube 및 draw_square 함수를 사용하여 traingle, cube, square를 각각 그렸다고 가정 해 봅시다. keypress func를 사용하여 큐브를 삭제할 수 있습니까? ... .. glClear (GL_COLOR_BUFFER_BIT)를 사용하면 전체 화면이 지워집니다 .. 특정 다각형을 삭제하는 방법?OpenGL에서 특정 폴리곤을 지우거나 지우는 방법은 무엇입니까?

+1

특정 다각형을 그린 후에 삭제할 수있는 방법이 있다고 가정합니다. 그 자리에 무엇이 나타날 것입니까? "옛날에 있었던 것"에 대한 정보는 오래 전에 사라졌습니다. – harold

답변

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 키보드 인터럽트를 사용하여 다시 표시.

관련 문제