OpenGL Moderne

Tutoriel 15 : textures de lumière

Opengl-tutorial.org

Traducteur

Alexandre Laurent

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é.

Commentez

- Titre : OpenGL Moderne

- Auteur : Opengl-tutorial.org

- Traducteur : Alexandre Laurent

- Parution : 1 juillet 2014

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2014 opengl-tutorial.org. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Navigation

- I. Introduction

- II. Une note sur les textures de lumière

- III. La vidéo

- IV. Appendice

- V. Remerciements

- Navigation

Navigation

Tutoriel précédent : rendu dans une texture

Sommaire

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…

Animation en format "vimeo" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
https://player.vimeo.com/video/24359223

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 :

color = 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

Sommaire

Tutoriel suivant : textures d'ombre