Navigation▲
Tutoriel précédent : rendu dans une texture |
Tutoriel suivant : textures d'ombre |
I. Introduction▲
Ce tutoriel est un tutoriel vidéo seulement. Il n'introduit aucune nouvelle technique/syntaxe spécifique à OpenGL, mais vous présente comment utiliser les techniques que vous connaissez déjà pour créer des ombres de grande qualité.
Ce tutoriel explique comment créer un monde simple dans Blender et préparer des textures de lumière afin que vous puissiez les utiliser dans votre application.
Aucune connaissance de Blender n'est nécessaire. Je vais expliquer tous les raccourcis clavier et tout ce que je fais.
II. Une note sur les textures de lumière▲
Les textures de lumière sont précalculées. Une seule fois et pour tout. Cela signifie qu'elles sont complètement statiques, vous ne pouvez pas décider de déplacer une lumière durant l'exécution. Même pas de la supprimer.
Mais cela peut toujours être utile pour la lumière du soleil, ou encore, dans les scènes d'intérieur où vous ne pouvez pas casser d'ampoules. Mirror Edge, publiée en 2009, les utilisent intensivement, que ce soit en extérieur ou en intérieur.
De plus, c'est très simple à mettre en place et vous ne pouvez pas faire plus rapide.
III. La vidéo▲
C'est une vidéo en 1024 x 768p, utilisez le mode HD…
IV. Appendice▲
Lors du rendu en OpenGL, vous pouvez remarquer quelques corruptions (ici exagérées) :
Cela est dû aux MIP maps, qui mélangent les texels ensemble lorsqu'ils sont visualisés de loin. Les pixels noirs provenant du fond de la texture sont mélangés avec les bonnes parties de la texture de lumière. Pour éviter cela, il y a quelques petits ajustements que vous pouvez faire :
- vous pouvez demander à Blender de générer une marge autour des limites des coordonnées UV. Cela est accessible à travers le paramètre « margin » dans le panneau « bake ». Pour de bons résultats, vous pouvez aller jusqu'à une marge de 20 pixels ;
-
vous pouvez utiliser un biais dans votre accès à la texture :
Sélectionnezcolor
=
texture2D
(
myTextureSampler, UV,-
2
.0
).rgb; -
-2 est le biais. Vous devez expérimenter avec cette valeur. La capture d'écran ci-dessus a été effectuée avec un biais de +2, ce qui signifie que OpenGL va sélectionner deux MIP maps au-dessus de celle qu'il aurait choisi (donc 16 fois plus petites, provoquant les corruptions) ;
- vous pouvez remplir le fond noir dans une étape de post-process. Je vais poster plus tard plus d'information là-dessus.
V. Remerciements▲
Cet article est une traduction autorisée dont le texte original peut être trouvé sur opengl-tutorial.org.
Navigation▲
Tutoriel précédent : rendu dans une texture |
Tutoriel suivant : textures d'ombre |