Bonjour à vous tous :-).
Voilà, je m'intérèsse à présent aux ombres, et le shadow mapping me semble le plus simple à mettre en place, seulement voilà, j'ai quelques petits soucis, mais rien de bien méchant, ne vous inquiétez pas.
J'utilise donc un array de texture (GL_TEXTURE_2D_ARRAY) contenant 6 textures.
J'effectue le rendu comme suis :
Je prend ma matrice de projection de lumière (du pur hazard alors si c'est pas une bonne idée, dîtes le moi).
Projection = perspective(90, 1, 1, 10000);
Je bind ma shadowMap0 ( pui 1 2 3 4 5) a mon FBO (avec glframebuffertexture2Dlayer).
je place ma caméra à l'endroit de la lumière, et pour le point que l'on regarde, en fonction de la shadowMap sélectionné, j'ajoute vec(1, 0 ,0) ou vec(0, 1, 0) etc jusque vec(0, 0, -1). En gros les vecteurs +x +y +z -x -y -z, et enfin, j'utilise le vecteur 0 1 0 pour le vecteur "up"
j'effectue mon rendu en entier dans la depth map, et je passe a la texture suivante le tout 6 fois (6 depthMap).
Ensuite comme tout le monde, pour le rendu "normal", j'applique a mon "in_Vertex" la matrice (bias * projLight * viewLight * modelMatrice) patati patata, je retire 0.0005 a ma coordonnée selon z pour évité le pattern de Moiré et puis voilà.
Seulement voilà, lorsque la caméra de ma lumière est dirigée vers le bas, j'ai un problème, est ce à cause du fait que ma caméra de lumière sois "presque colinéaire" au vecteur up ? Est ce à cause de ma configuration de perspective? Je précise que ma depthMap est correct quand même...
Merci de votre aide et de me donner vos avis sur ma méthode.







Répondre avec citation






Partager