2012-02-28 15 views
7

En la aplicación OpenGL clásica, después de que terminemos de renderizar un marco, usualmente llamamos un método que no sea gl para "voltear" el buffer de la ventana a nuestro marco actual.¿Cuándo WebGL decide actualizar la pantalla?

Pero no veo nada al respecto en WebGL. ¿Como funciona?

Respuesta

12

WebGL siempre tiene un buffer posterior, y el navegador empuja el contenido actual del búfer posterior al búfer frontal siempre que salga nuevamente al bucle de evento.

Para que pueda realizar tantos comandos de dibujo como desee sin temor a mostrar resultados parciales al usuario. Cuando salga del ciclo de eventos WebGL presentará sus cambios y borrará luego el backbuffer.

Si lo desea, también puede actuar como si usted tiene una única memoria intermedia, realizar actualizaciones parciales a medida que las acciones apropiadas impulsarlos mediante el paso preserveDrawingBuffer: true al crear el contexto WebGL como en

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

Aquí es 2 ejemplos, one without preserveDrawingBuffer y one with

+0

¡Muchas gracias! ¡Estaba buscando eso hace mucho tiempo! – fernandojsg

Cuestiones relacionadas