2012-01-13 4 views
1

나는 GLX와 xlib로 놀고있어 OpenGL 버퍼 위에 직선적 인 X 호출을 사용하여 렌더링하는 것에 대해 궁금합니다. glx intro은 분명히 다음과 같이 말합니다 :X 호출로 GLX 백 버퍼로 렌더링?

GLX 확장 X 서버는 OpenGL 렌더링에 사용할 수있는 비주얼의 서브 세트를 만듭니다. 이 비주얼로 만든 드로어 블은 코어 X 렌더러 및 모든 코어 X 비주얼과 호환되는 다른 모든 X 익스텐션을 사용하여 렌더링 할 수도 있습니다.

실제로, 나는 무지개 효과로 간단한 쿼드 컬러를 렌더링 한 다음 xlib 호출로 그 위에 그릴 수 있습니다. 그러나, GLX는 X 윈도우를 백 버퍼로 확장합니다. 백 버퍼로 변환하면 바로 앞으로 렌더링 할 수 있습니다. 제 질문은 : X를 사용하여 에 다시 버퍼를 렌더링 한 후 OpenGL을 끝내고 그 버퍼를 전면으로 스왑하여, 내 openGL 및 X 그래픽 모두에서 깜박임없는 애니메이션을 볼 수 있습니까?

답변

1

나는 대답이 '아니오'라고 생각하지만, 아마도 몇 가지 대안이있을 수 있습니다.

픽스맵으로 다른 버퍼링을 할 수도 있습니다 (X와 GL을 픽스맵에 렌더링 한 다음 X 윈도우에 픽스맵을 그립니다). FPS 게임을하는 경우라면 아마 당신의 프레임 속도를 망칠 것입니다.하지만 당신이 묘사 한 것이 중요하지 않을 수도 있습니다.

또한 카이로를 사용하여 클라이언트 측 메모리 버퍼로 그릴 수 있으며 배경을 표시 할 알파 채널이 있습니다. 그런 다음 GL에 텍스처로 결과를 업로드하고 배경 위에 칠하십시오. Clutter 툴킷은 일부 드로잉을 위해이 작업을 수행합니다.