¿Qué es un OpenGL® VBO?
Significado | Concepto | Definición:
Cuando se utilizan las bibliotecas de gráficos de computadora Open Graphics Library® (OpenGL®) para la programación de computadoras , un objeto de búfer de vértice (VBO) es una estructura de datos que permite construir y almacenar un objeto tridimensional (3D) en la memoria de los gráficos. tarjetao hardware de gráficos. Esto permite renderizar un VBO OpenGL® muy rápidamente y utilizar muchos menos recursos del sistema que otras técnicas que utilizan el dibujo en modo inmediato. Además de las ganancias en velocidad y la reducción de la sobrecarga de gráficos, un VBO OpenGL® también es una estructura de datos dinámica, a diferencia de una lista de visualización OpenGL®, que se puede cambiar una vez que está en la memoria. El concepto de OpenGL® VBO en realidad comenzó con los fabricantes de hardware que originalmente incluían, con diferentes nombres, un tipo similar de funcionalidad como una extensión de las bibliotecas OpenGL® que luego fue estandarizada por OpenGL® Architecture Review Board (ARB).
Un OpenGL® VBO se almacena en el lado del servidor del renderizador y no necesita acceder constantemente al lado del cliente para obtener la información del vértice.
Un VBO OpenGL® es básicamente una combinación de otros dos tipos de estructuras de datos OpenGL®. Abarca la funcionalidad básica de una matriz de vértices, porque la información de la geometría, incluidas las coordenadas del vértice, las normales y el color, se puede almacenar en una matriz estructurada que se puede pasar a OpenGL® para su procesamiento. Sin embargo, a diferencia de una matriz de vértices, un VBO OpenGL® se almacena en el lado del servidor del renderizador y no necesita acceder constantemente al lado del cliente para obtener la información del vértice.
Se utiliza un búfer de vértice OpenGL® para crear un objeto de búfer de vértice (VBO), lo que permite que los objetos dentro de una escena tridimensional (3D) se representen como parte de una lista de visualización y no en modo inmediato.
Al permitir que el VBO se almacene en la memoria gráfica, también adquiere algunas de las propiedades de una lista de visualización. La principal diferencia es que un OpenGL® VBO se puede modificar y una lista de visualización no. Además, el VBO no se copia necesariamente en la memoria de gráficos como lo haría una lista de visualización, por lo que solo una estructura de datos debe estar presente en la memoria.
Cuando finalmente se renderiza un OpenGL® VBO, la distancia desde la memoria de gráficos en la que está almacenado y la unidad de procesamiento de gráficos (GPU) es muy pequeña, lo que permite una rasterización muy rápida sin la necesidad de pasar primero por un hardware de sistema más lento. En algunos casos, sin embargo, el hardware de la tarjeta gráfica no admite el uso de VBO. Esto puede llevar a problemas de programación que eliminan cualquier beneficio adicional de usar un VBO o un programa que será incompatible con algunas tarjetas gráficas.
Existen algunos métodos que pueden ayudar a optimizar cómo se trata un OpenGL® VBO cuando se usa. Uno de ellos es proporcionar pistas a la tarjeta gráfica, o a OpenGL®, para ayudar a determinar dónde debe ubicarse el VBO en la memoria. Dependiendo de las sugerencias proporcionadas, el VBO puede almacenarse directamente en la memoria gráfica de la tarjeta gráfica, o puede almacenarse en la memoria principal de acceso aleatorio (RAM) del sistema, si se considera necesario.
Mira estos Artículos