Términos y conceptos de entrada de OpenGL

Si quieres aprender OpenGL, primero aclara estos conceptos, si no los conoces, no tienes forma de aprender y actualizar.

Modelo: O llamado objeto de escena, que es un objeto creado a partir de primitivas geométricas.

Renderizado: es el proceso mediante el cual la computadora crea la imagen final basada en el modelo.

Shader: una función especial realizada por dispositivos de hardware de gráficos (tarjeta gráfica). Por ejemplo, al dibujar, a menudo tenemos un proceso de este tipo, primero dibuja el borrador de la línea con un lápiz y luego coloréalo. El sombreador es este proceso de trabajo. Los sombreadores generalmente se dividen en dos tipos:
(1) Sombreador de vértices Esta es una función que le dice a la computadora cómo dibujar una línea, cómo procesar datos como vértices y normales.
(2) Sombreador de fragmentos Esta es una pequeña función que le dice a la computadora cómo colorear, cómo lidiar con los efectos de luz, sombra, oclusión, entorno, etc. en la superficie del objeto, y finalmente generar una imagen.

Rasterizar: Es el proceso de convertir datos de vértices en fragmentos. Tiene la función de convertir imágenes en imágenes compuestas de rásteres. La característica es que cada elemento corresponde a un píxel en el frame buffer. Es el proceso de convertir gráficos vectoriales en píxeles. Las imágenes que se muestran en nuestras pantallas están formadas por píxeles, mientras que los objetos tridimensionales están formados por puntos, líneas y superficies. Para convertir puntos, líneas y superficies en píxeles que se puedan mostrar en la pantalla, se necesita el proceso de Rasterizar.

Canalización de renderización: Es una serie de procesos de procesamiento que convierten los datos de la aplicación en la imagen renderizada final. Para decirlo sin rodeos, es la canalización. Vamos, lo procesaré paso a paso según la canalización.

Vértices: los puntos son la base de todo. OpenGL proporciona una serie de funciones para dibujar un punto.

Primitivas: puntos, líneas, superficies, etc. Utilice las funciones glPointSize (), glLineWidth (), glLineStipple () y glPolygonStipple () para seleccionar la dimensión de rasterización y el modo de las primitivas. Además, también puede usar glCullFace (), glFrontFace () y glPolygonMode () para controlar los diferentes efectos de rasterización en la parte frontal y posterior del polígono.

Fragmentos (fragmentos, también llamados fragmentos): las primitivas se recortan de forma adecuada, los datos de color y textura se ajustan en consecuencia y las coordenadas relevantes se convierten en coordenadas de ventana. Finalmente, la rasterización convierte las primitivas recortadas en fragmentos

Pixel: los píxeles que se pueden dibujar en la pantalla. Hay varias funciones para guardar y convertir los píxeles. La serie de funciones glPixelStore se utiliza para guardar los píxeles en la memoria. La serie de funciones glPixelTransfer y la serie de funciones glPixelMap se utilizan para determinar cómo se procesan los píxeles antes de escribirlos en el búfer de fotogramas. glDrawPixels () define un rectángulo de píxeles. Utilice glPixelZoom () para lograr la escala de píxeles.

La relación entre vértices, primitivas y fragmentos: los vértices geométricos se combinan en primitivas (puntos, líneas o polígonos), luego las primitivas se combinan en fragmentos y, finalmente, los fragmentos se convierten en datos de píxeles en el búfer de cuadros. Las primitivas se recortan adecuadamente, los datos de color y textura se ajustan en consecuencia y las coordenadas relevantes se convierten a coordenadas de ventana. Finalmente, la rasterización convierte las primitivas recortadas en fragmentos.

Recorte: reparación y reparación, y el procesamiento de puntos, segmentos de línea y polígonos es ligeramente diferente al recortar. Para los puntos, mantenga el estado original (dentro del cuerpo del recorte) o se cortará (fuera del cuerpo del recorte). Para los segmentos de línea y los polígonos, si la parte está fuera del volumen de recorte, es necesario generar nuevos vértices geométricos en el punto de recorte. Para los polígonos, también es necesario agregar bordes completos entre los vértices recién agregados. Independientemente de si el segmento de línea o el polígono están recortados, los nuevos puntos geométricos deben recibir indicadores de límites, normales, colores e información de coordenadas de textura.

Mapa de bits: un mapa de bits es un rectángulo de 0 y 1 con un modo de fragmento específico. Cada fragmento tiene los mismos datos relacionados. Puede definirse con glBitmap ().

Almacenamiento de texturas: el mapeo de texturas consiste en asignar una parte específica de la imagen de textura a cada primitiva. Cada fragmento (fragmento) tiene un atributo de coordenada de textura, la coordenada corresponde a la coordenada de imagen de textura, y se obtiene el valor de color de la posición de la imagen de textura para modificar el color RGBA del fragmento, completando así el proceso de mapeo.

Niebla: Los fragmentos rasterizados tienen el color después del mapeo de textura. Puede usar el factor de fusión para fusionar el color de la niebla. El tamaño del factor de fusión está determinado por la distancia entre el punto de vista y el fragmento.

Supongo que te gusta

Origin blog.51cto.com/14207158/2535084
Recomendado
Clasificación