05 - Usando texturas con shaders

Para llegar a hacer lo mismo que habíamos conseguido sin shaders, tan solo nos queda conseguir usar las texturas que cargábamos en el tutorial de texturizado con la ayuda de los shaders, para ello vamos a cambiar el VertexShader y el FragmenShader:

04 - Introducción a los shaders (GLSL)

Para entendernos, los shaders son instrucciones que se ejecutan directamente en la GPU de la tarjeta gráfica. Las GPUs (Unidades de Procesamiento Gráfico) están especializadas en realizar ciertos tipos de operaciones que hacen que la ejecución de shaders en ellas acelere notablemente el rendimiento de nuestras aplicaciones así como también le ahorran ejecución a la CPU de nuestro PC. Es por todo esto que se recomienda el uso de shaders.

Con el tiempo se han desarrollado muchas ténicas de renderizado gracias a los shaders que han permitido llegar al nivel de detalle que podemos ver en los juegos actuales.

En el caso de OpenGL, vamos a introducir 2 tipos de shaders inicialmente, los VertexShaders que se ejecutan por cada vértice que le introduzcamos al pipeline (este término se usa en muchos de los artículos que encontraréis por internet y se refiere al trabajo en cadena que acaba con el renderizado final) y, por otra parte, los FragmentShaders (PixelShaders en Directx) que se ejecutan por cada 'fragmento' que se renderice,  estos fragmentos los podemos identificar por píxeles por ahora aunque no lo son al 100%.

03 - Usando texturas

En esta entrada vamos explicar los fundamentos de como texturizar renderizados. Para ello hay que entender que las coordenadas a aplicar son distintas cuando hablamos de las coordenadas del modelo y cuando hablamos de las coordenadas de la textura, esto se observa fácilmente en el siguiente gráfico: