2012-02-28 2 views
7

클래식 OpenGL 응용 프로그램에서 프레임 렌더링을 마치면 일반적으로 윈도우 버퍼를 현재 프레임으로 "뒤집을"non-gl 메서드를 호출합니다.WebGL에서 디스플레이 업데이트를 결정하면?

하지만 WebGL에서 그 내용이 표시되지 않습니다. 어떻게 작동합니까?

답변

12

WebGL은 항상 백 버퍼링되며 브라우저는 이벤트 루프로 다시 종료 할 때마다 백 버퍼의 현재 내용을 프론트 버퍼로 푸시합니다.

사용자에게 부분 결과가 표시 될 염려없이 원하는만큼 그리기 명령을 수행 할 수 있습니다. 이벤트 루프를 종료하면 WebGL에서 변경 사항을 표시하고 백 버퍼를 지우십시오.

당신이 하나의 버퍼를 가지고있는 것처럼 당신은 또한으로 부분적인 업데이트를 수행하고 적절한 조치가 preserveDrawingBuffer를 전달하여 그 메시지를 표시 할 때, 행동 할 수 원하는 경우 : 사실

gl = somecanvas.getContext("webgl", {preserveDrawingBuffer: true}); 

여기 2의에로가 WebGL 컨텍스트를 만들 때 예 : one without preserveDrawingBufferone with

+0

대단히 감사합니다. 나는 그 오래 전에 찾고 있었어! – fernandojsg

관련 문제