4.3.2. Gouraud. | Graficacion OpenGL C++

 El sombreado Gouraud es una técnica de sombreado por vértice en OpenGL que permite suavizar la apariencia de los objetos tridimensionales y crear efectos de iluminación más complejos.



En el sombreado Gouraud, se calcula el valor de iluminación en cada vértice del objeto utilizando la iluminación difusa y especular, y se realiza una interpolación lineal entre los valores de iluminación en cada vértice para obtener el valor de iluminación en cada píxel de la imagen. Esto permite crear una apariencia suave y natural de los objetos.


En OpenGL, se puede habilitar el sombreado Gouraud utilizando la función `glShadeModel(GL_SMOOTH)` y especificando los valores de iluminación en cada vértice del objeto utilizando la función `glColor3f()`.



A continuación, se muestra un ejemplo de cómo habilitar el sombreado Gouraud en OpenGL utilizando la función `glShadeModel()` y la función `glColor3f()`:


```c++

// Habilitar el sombreado Gouraud

glShadeModel(GL_SMOOTH);


// Especificar los valores de iluminación en cada vértice

glBegin(GL_TRIANGLES);

glColor3f(1.0f, 0.0f, 0.0f); // Vértice 1 - rojo

glVertex3f(-1.0f, -1.0f, 0.0f);

glColor3f(0.0f, 1.0f, 0.0f); // Vértice 2 - verde

glVertex3f(1.0f, -1.0f, 0.0f);

glColor3f(0.0f, 0.0f, 1.0f); // Vértice 3 - azul

glVertex3f(0.0f, 1.0f, 0.0f);

glEnd();

```


En este ejemplo, se utiliza la función `glShadeModel()` para habilitar el sombreado Gouraud en la escena de OpenGL. A continuación, se especifican los valores de iluminación en cada vértice del objeto utilizando la función `glColor3f()`.


En este caso, se utiliza un triángulo con tres vértices de diferentes colores: rojo en el primer vértice, verde en el segundo vértice y azul en el tercer vértice. Al habilitar el sombreado Gouraud, se realizará una interpolación lineal entre los valores de iluminación en cada vértice para crear una apariencia suave y natural del objeto.


Es importante destacar que el sombreado Gouraud puede requerir una mayor carga de procesamiento que el sombreado plano, ya que implica el cálculo de los valores de iluminación en cada vértice del objeto. Sin embargo, puede ser una técnica muy efectiva para mejorar la apariencia visual de los objetos tridimensionales en OpenGL.

Comentarios