Colección de citas famosas - Slogan de motivación - ¿Qué significa el tamaño del búfer?

¿Qué significa el tamaño del búfer?

Tamaño del framebuffer: (Tamaño del framebuffer) Espacio de almacenamiento, generalmente mayor que un área de información única.

Los buffers son bloques discretos de memoria.

Está determinada por su resolución espacial (n×m) y profundidad (o precisión, bits por píxel) k.

La resolución espacial de varios buffers es la misma, pero el valor de profundidad (es decir, la longitud de la palabra que representa la información de un píxel) puede ser diferente.

Por lo general, solo nos centramos en un búfer en un componente framebuffer, por lo que a veces se le llama simplemente búfer.

Búfer de color: un búfer que envía contenido al dispositivo de visualización, utilizado para visualización antes, después, auxiliar y superposición.

En el almacenamiento en búfer doble, el búfer de color consta de dos búferes, utilizados para lectura y escritura, llamados búfer frontal y búfer posterior.

Si desea generar una imagen estereoscópica, debe proporcionar buffers izquierdo y derecho, buffer de profundidad, buffer de acumulación, buffer de alta resolución, buffer de plantilla y máscara de guardado.

El buffer de color k determina cuántos colores se pueden representar.

Normalmente 24 bits en modo RGB y 32 bits en modo RGBA.

El valor k del búfer de profundidad determina la resolución de profundidad.

Normalmente 32 bits, que coinciden con la precisión de un número de coma flotante o un número entero.

Cualquiera de los k×n×m planos en el buffer se llama plano de bits, y k elementos en una ubicación específica en el espacio forman un píxel.

Así, un píxel puede ser un byte, un número entero o incluso un número de punto flotante, dependiendo del buffer utilizado y del formato en el que se almacena la información.

Las aplicaciones normalmente no saben cómo almacenar información diversa en el framebuffer.

El framebuffer se implementa dentro de la API y es una caja negra para el usuario.

La aplicación envía (escribe)/recibe (lee) información al frame buffer a través de la API.

En este momento, los datos transferidos entre la memoria normal y el área del búfer implementada requieren cierta conversión de formato.

En este momento, se debe considerar cuidadosamente la eficiencia del tiempo de transmisión de datos.

Búfer de escritura.

En los sistemas gráficos por ordenador modernos, los programas de usuario no sólo pueden escribir contenido en los buffers, sino también leer contenido de ellos.

Los siguientes factores hacen que esta operación sea diferente de las operaciones ordinarias de lectura y escritura de memoria.

En casos excepcionales, sólo desea leer y escribir un único píxel, sino un bloque rectangular de píxeles (bloque de bits).

Operaciones de bloques de bits:

1) Rasterizar una línea de escaneo a la vez al llenar el polígono.

2) Escriba pequeños píxeles al mostrar caracteres rasterizados.

3) Cuando esté borrado, cambie el valor de todos los píxeles en el búfer.

4) Es necesario proporcionar funciones en hardware y software para operar bloques de bits de la manera más eficiente posible.

? Se llama operación bitblt, también conocida como operaciones raster.

Copia de bloque de bits:

Suponiendo que se va a copiar un bloque de píxeles de n×m en el búfer de origen al búfer de destino, entonces la función de transferencia de bloques de bits para esta operación debería tener el siguiente formato: write_block (fuente, n, m, x, y, destino, u, v);

OpenGL implementa una canalización de píxeles independiente.

Se proporciona un conjunto de buffers:

1) Los datos se pueden transferir entre estos buffers, o entre los buffers y la memoria del procesador.

2) Dependiendo de los diferentes buffers utilizados, en ellos se pueden almacenar índices de color, componentes de color y valores de profundidad.

3) Sólo se puede mostrar en pantalla el contenido del buffer de color.

Posición del ráster:

OpenGL mantiene la posición del ráster actual como parte del estado.

1) Puede considerarse como un cursor interno definido en el sistema de coordenadas de la pantalla, que indica la posición de escritura de los píxeles rasterizados.

Establecido por glRasterPos* (): glRasterPos3f(x, y, z);

Tres números de punto flotante definen una posición de ráster que debe pasar a través del modelo antes de convertirse en pantalla. coordenadas - Ver transformación y transformación de proyección.

Propiedades para la posición de la grilla.

Es una entidad geométrica, almacenada como coordenadas homogéneas de cuatro dimensiones, procesada a través de una tubería geométrica y finalmente genera una posición bidimensional en coordenadas de pantalla. Los píxeles o bits se escriben en unidades ráster (enteros), con el centro del píxel a medio camino entre los dos números enteros.

Esta posición en el búfer de cuadros es donde se dibujará el píxel rasterizado a continuación.

Si la posición del ráster no está en la escena, no se producirá ninguna escritura de píxeles y se recortará todo el mapa de bits o el rectángulo de píxeles.

Selección de búfer:

1) OpenGL puede escribir o leer cualquier búfer.

2) El valor predeterminado es el buffer de respaldo.

3) Puede utilizar glDrawBuffer y glReadBuffer para cambiar el búfer de lectura y escritura actual.

4) Tenga en cuenta que el formato de píxeles en el búfer de cuadros es diferente al de la memoria del procesador.

Explicación de la canalización:

1) Desempacar es convertir píxeles del formato del programa de usuario al formato utilizado internamente por OpenGL.

2) Estos nuevos píxeles se pueden asignar a nuevos valores a través de una tabla de búsqueda definida por el usuario.

3) Después de una serie de pruebas, determine si los píxeles deben escribirse en el búfer de fotogramas, si se pueden escribir, ¿cuál es el método de escritura? Por ejemplo, puede dibujar un área sin nada dentro o utilizar operaciones lógicas para determinar cómo combinar píxeles con datos existentes en el búfer de fotogramas.

4) Leer información del frame buffer a la memoria del procesador requiere pack: es decir, convertir del formato interno de OpenGL a un formato utilizable por el programa.