2013-01-24 4 views
1

저는 생리학 실험에 사용되는 시각적 자극을 표시하기위한 간단한 도구를 PyOpenGl에 쓰고 있습니다. 현재 나는 하나의 뷰포트에서 wxGLCanvas 안에 내 자극을 렌더링합니다.이 뷰포트는 프로젝터에 전체 화면을 표시합니다. 두 번째 뷰포트를 추가하여 사용자가 프로젝터에 표시된 내용을 미리 볼 수있게하고 싶습니다. 그러나 두 번째 뷰포트에 대해 이미 작성한 draw 호출을 모두 복제하고 싶지는 않습니다. 밀리 초 정확한 시간 (벽 시계에 대해 측정)으로 자극을 표시해야하므로 충분히 높은 프레임 속도를 얻기 위해 오버 헤드를 최소화하고 싶습니다.opengl/pyopengl - 정확히 같은 프레임이 여러 뷰포트에서 렌더링 되었습니까?

제 질문은 두 개의 뷰포트에서 정확히 같은 프레임을 효율적으로 렌더링하는 가장 간단한 방법은 무엇입니까? 버텍스 버퍼 객체에 대해서는 조금 읽었지만, OpenGL에 대한 이해는 매우 초보적이며, VBO가 내 경우에 가장 적합한 방법인지는 확실하지 않습니다.

답변

2
  1. 는 프레임 버퍼
  2. 의 색상 구성 요소에 텍스처를 부착 텍스처, renderbuffer 및 프레임 버퍼 오브젝트
  3. 결합하여 OpenGL을 컨텍스트 프레임 버퍼 오브젝트를 만들기의 깊이 구성 요소에 renderbuffer를 부착 프레임 버퍼
  4. 당신에게 텍스처를 렌더링
  5. 스위치 기본 프레임 버퍼
  6. 이 프레임 버퍼에 렌더링 뷰포트. FBO에 대한

세부 정보 : http://www.opengl.org/wiki/Framebuffer_Objects

는 2 개 뷰포트 사이의 OpenGL을 컨텍스트를 공유해야합니다 (참조 : http://wiki.wxwidgets.org/WxGLCanvas#Sharing_wxGLCanvas_context를) 그것은 합리적인 방법처럼 보이기 때문에

+0

미안 대답으로이를 표시하는 것 OpenGL에 대한 현재의 지식은 실제로 테스트 할 수있는 지점 근처에 아직 아무 것도 없습니다! 나는 여전히'wxGLCanvas' 내부에 간단한 텍스쳐를 렌더링하는 것처럼 보이지 않습니다! –

+0

http://nehe.gamedev.net/과 같은 일부 OpenGL 튜토리얼을 확인해보십시오. – yiding