2011-07-18 9 views
6

que estoy tratando de hacer varias escenas de un conjunto de texturas, cada escena tiene su propio textura a donde debe ser dibujada ...Cómo desenlazar la textura de una memoria intermedia de trama

La pregunta:

Qué tan malo sería crear decir 512 FBO's con 512 texturas ligadas a cada uno de ellos. ¿No sería mejor utilizar solo un FBO? En este caso, tendré que desvincular la textura previamente ligada a FBO, ¿cómo puedo hacer eso, o debería quedarme con 512 FBO?

Respuesta

4

Separe una textura actualmente adjunta por fijando la textura cero en el mismo punto de fijación (consulte el capítulo 4.4 de la especificación).

no puedo decir con seguridad si se suelten y se vuelvan a acoplar texturas serán más rápido o más objetos de conmutación framebuffer, ya que depende de la aplicación.
Conceptualmente, sin embargo, unir y separar texturas significa el doble de llamadas a las bibliotecas y el doble de cheques uso de este dispositivo de integridad tiene que ser hecho en el conductor, por lo que podría suponer que el uso de varias organizaciones religiosas será más rápido (aunque 512 es un número impresionante!)

Sin embargo, muy posiblemente, una implementación podría hacer estas comprobaciones de forma perezosa (en cualquier momento después de tocar cualquier archivo adjunto, y justo antes de que ocurra el primer comando de dibujo), por lo que es imposible saberlo con certeza.

5

Utilice solo un FBO y adjunte texturas. Cuando agrega otra textura, la textura original no está unida al FBO.

Además, puede adjuntar textura ID 0 a la OBF a desligar la textura actual de la FBO.

Cuestiones relacionadas