vendredi 10 avril 2009

Skysphere, suite et fin (pour le moment)

M skysphere qui me satisfait. Le shader sur laquelle elle est basée est simpliste, mais fait son boulot de fournir un dégradé qui ressemble à quelque chose. Bien sûr, l'ajout d'un soleil, de nuages, d'étoiles et autres esthétismes permettra d'aller un poil plus loin, mais au moins je suis débarrassé de l'horrible fond violet, et l'on va pouvoir commencer à sérieusement s'occuper du sol.



Voilà le shader, qui se contente d'appliquer la coordonnée de texture au composantes rouge et verte. Pour avoir des dégradés un poil plus intéressants, on pourra par exemple se baser sur une texture 1D et l'appliquer sur la longitude.

Vertex shader

varying vec2 texture_coordinate;
void main()
{
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
texture_coordinate = vec2(gl_MultiTexCoord0);
}

Fragment shader
varying vec2 texture_coordinate;
void main()
{
gl_FragColor = vec4(texture_coordinate.y, texture_coordinate.y, 1, 1);
}

Aucun commentaire: