2012-06-13 25 views
7

¿El puntero del búfer frontal apunta ahora al búfer posterior? O el contenido del búfer frontal fue actualizado por el búfer posterior? Si ese es el caso, se actualiza el bloque completo del contenido o solo se actualiza el contenido modificado?¿Qué glutswapbuffers realmente hizo?

La descripción de glutSwapBuffers en opengl.org es

Realiza un intercambio de tampón en la capa en uso para la ventana actual. Específicamente, glutSwapBuffers promueve el contenido del buffer posterior de la capa en uso de la ventana actual para convertirse en el contenido del buffer frontal. El contenido del buffer posterior se vuelve indefinido.

¿Qué significa la última oración? El back buffer ahora apunta a nulo?

Respuesta

1

Esto significa que ese exceso no garantiza que después de que el búfer vuelva, ese búfer que está de vuelta será algo significativo, como si supusiera que contiene esa información, que anteriormente estaba en el búfer anterior "anterior". Supongo, que está hecho así, porque de lo contrario se necesitaría tercer tampón para intercambiar memorias intermedias de esa manera, lo cual es inaceptable en alto perfomance 3D

5

El contenido de la memoria intermedia en ese entonces convertido en indefinido.

¿Qué significa la última oración?

Significa que, después del intercambio, el contenido del buffer de respaldo puede ser todo. Puede ser el buffer frontal, datos aleatorios, una foto tuya de vacaciones, lo que sea. Es no definido y no debe hacer suposiciones de ningún tipo al respecto.