|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : février 2006 Messages : 336 ![]() |
Bonjour,
J'ai développé les shadow maps dans mon petit moteur 3D en OpenGL. Tout se passe bien sauf que les bords de mes ombres bougent légèrements quand ma caméra bouge. Voici une image trouvé sur Internet qui représente bien le problème: http://i.msdn.microsoft.com/dynimg/IC340455.jpg J'ai lu plusieurs fois sur Internet que la solution à ce problème était de créer une matrice de translation afin de lire le bon pixel (valeur entière) sur la shadow map. J'ai donc implémenté ceci: Code :
Code :
Une idée ? Peut-on utiliser n'importe quel point de départ comme je le fais (0.0, 0.0, -0.2, 1.0) ? Merci d'avance. |
||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : septembre 2008 Messages : 108 ![]() |
C'est un problème récurrent en ce qui concerne les shadow maps, tu as plusieurs types de problèmes comme les shadow acne, le peter panning et dans ton cas le shadow aliasing.
Ton problème est du à une différence de taille de texel lorsque tu fais la projection de la light view à la camera view. Pour régler le problème de nombreux algos on étés inventés comme le PCF (percentage closer filtering) qui font un echantillonage des texel proches et en font la moyenne pour smoother les edges. Augmenter la résolution de la shadow map contribue également à régler le problème mais il y a diminution des performances, ensuite c'est à toi de voir ! |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() ![]() Emmanuel DelogetDéveloppeur informatique Inscription : septembre 2007 Messages : 1 826 ![]() |
Citation:
__________________
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...] Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi. Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça. Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas. Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com