¿Cuál es la diferencia entre FBO y PBO? ¿Cuál debería usar para renderizar fuera de la pantalla?¿Cuáles son las diferencias entre un objeto de búfer de trama y un objeto de búfer de píxel en OpenGL?
Respuesta
A FBO (objeto Framebuffer) es un objetivo donde puede representar imágenes distintas del búfer o la pantalla del fotograma predeterminado.
A PBO (Objeto de búfer de píxeles) permite transferencias asíncronas de datos de píxeles hacia y desde el dispositivo. Esto puede ser útil para mejorar el rendimiento general al procesar si tiene otras cosas que se pueden hacer mientras espera la transferencia de píxeles.
me gustaría leer VBOs, PBOs and FBOs:
Apple ha publicado dos bits muy agradables de OBP código de ejemplo que demuestran y las organizaciones religiosas. Aunque estos son específicos de Mac, como código de muestra son buenos en cualquier platoforma porque las PBO y FBO son extensiones OpenGL, no extensiones de sistema de ventanas.
¿Qué son todos estos objetos? Aquí es la situación:
¿Cuál es la diferencia entre las OBF y PBO?
Una mejor pregunta es cómo son similares. Lo único que es similar sobre ellos es sus nombres .
A Framebuffer Object (tenga en cuenta que el uso de mayúsculas y minúsculas: framebuffer es una palabra, no dos) es un objeto que contiene múltiples imágenes que pueden utilizarse como objetivos de representación.
A Pixel Buffer Object es:
- A Buffer Object. Los FBO son no objetos de búfer. De nuevo: framebuffer es una palabra.
- Un objeto de búfer que se utiliza para uploading/downloading of pixel data to/from images asincrónico.
Si desea procesar a una textura o simplemente un non-screen framebuffer, a continuación, utiliza las organizaciones religiosas. Si intenta volver a leer los datos de píxeles de manera asíncrona, o está intentando transferir datos de píxeles a imágenes OpenGL de forma asincrónica, entonces utiliza PBO.
No se parecen en nada.
Quiero destacar algo.
FBO no bloque de memoria. Creo que parece estructura de puntero. Debes unir Textura a FBO para usarlo. Después de adjuntar Textura, ahora puede dibujar para renderizado fuera de pantalla o para efecto de segundo pase.
struct FBO{
AttachColor0 *ptr0;
AttachColor1 *ptr1;
AttachColor2 *ptr2;
AttachDepth *ptr3;
};
En el otro lado, PBO es bloque de memoria "bloque para mantener tipo de memoria."Trate de pensarlo como malloc de tamaño x, luego puede usar memcpy para copiar datos de él a texture/FBO o a él".
- ¿Por qué utilizar PBO?
Crear memoria intermedia intermedia para interactuar con la memoria del Host y no detener el dibujo OpenGL cargará textura desde o hacia el host.
- 1. ¿Cuáles son las diferencias entre el objeto JSON y JavaScript?
- 2. Objeto de búfer y objeto de búfer de imagen en OpenCL
- 3. ¿Cuáles son las diferencias de encabezado ELF entre un archivo de objeto ELF y un objeto compartido?
- 4. ¿Cuáles son las diferencias entre un UIView y un CALayer?
- 5. ¿Cuáles son las diferencias entre un compilador y un enlazador?
- 6. OpenGL confusión búfer de vértices
- 7. ¿Cuáles son las diferencias entre $ {} y # {}?
- 8. ¿Cuáles son las diferencias entre un programa y una aplicación?
- 9. pitón búfer de tipo fichero objeto
- 10. OpenGL 3.x: infracción de acceso al usar el objeto de búfer de vértice y glDrawElements (...)
- 11. ¿Cuáles son las diferencias de uso entre size_t y off_t?
- 12. ¿Cuál es la diferencia entre crear un objeto de búfer con clCreateBuffer + CL_MEM_COPY_HOST_PTR vs. clCreateBuffer + clEnqueueWriteBuffer?
- 13. Cómo renderizar/dibujar objeto de búfer en framebuffer sin glDrawPixels
- 14. OpenGL ES 2.0 y objetos de búfer de vértice (VBO)
- 15. ¿Cuáles son las diferencias entre las bibliotecas OpenGL, GTK y QT?
- 16. Cuáles son las diferencias en JIT entre Java y .Net
- 17. Usando el búfer de protocolo como objeto de datos general?
- 18. ¿Cuáles son las diferencias de comportamiento entre un daemon y un proceso normal?
- 19. ¿Cuáles son las diferencias entre un servicio web y un servicio de Windows?
- 20. accediendo a un búfer de vértices (matriz de búfer) en un sombreador de fragmentos
- 21. ¿Cuáles son las diferencias entre ADOdb y PDO en PHP?
- 22. ¿Cuáles son las diferencias entre INSERT y UPDATE en MySQL?
- 23. ¿Cuáles son las diferencias entre RedrawWindow y UpdateWindow en Win32?
- 24. ¿Cuáles son las diferencias entre "=" y "<-" en R?
- 25. ¿Cuáles son las diferencias entre ConcurrentQueue y BlockingCollection en .Net?
- 26. ¿Cuáles son las diferencias y similitudes entre MVC y MVVM?
- 27. ¿Cuáles son las diferencias entre HasOne y References en nhibernate?
- 28. ¿Cuáles son las principales diferencias entre las mejoras de CoffeeScript y Dart en JavaScript?
- 29. ¿Cuáles son las diferencias fundamentales entre OSGi y Java EE?
- 30. ¿Cuáles son las diferencias entre PEG y CFG?
Esperemos que esto se vote por encima de la respuesta de enlace puro y la respuesta incorrecta (desafortunadamente aceptada). –
@ChristianRau: Lo revisé, y el OP parece ser un habitual. Entonces, hay esperanza de que sea aceptado. –