Bonjour tout le monde !
Je cherche un bon tuto sur le shadow mapping pour Direct3D.
J'aimerais en trouver un clair et complet. L'anglais ne me gène pas.
J'ai beau "googlé" je ne trouve pas...
Merci d'avance pour les réponses !
@+
Bonjour tout le monde !
Je cherche un bon tuto sur le shadow mapping pour Direct3D.
J'aimerais en trouver un clair et complet. L'anglais ne me gène pas.
J'ai beau "googlé" je ne trouve pas...
Merci d'avance pour les réponses !
@+
Coucou,
voila:
http://www.gamedev.net/columns/hardc...ow/default.asp
Amuse toi bien
Salut !
Je suis peut-être un peu embêtant, mais n'est-ce pas possible sans les shaders ?
Merci pour les (futures) réponses !
@+
Bonjours a vous tous.
Je viens à la suite de ce vieux post.
Je suis en train de bricoler des fonctions 3D pour mon petit jeux, c'est en DirectX.
Je suis comme Razmott, j'aimerais bien savoir si quelqu'un a un lien vers un
exemple de shadows mapping, simple, sans shader.
J'ai arppenté le web, sans rien trouver de bien abordable pour ce qui me concerne.
Est-ce que quelqu'un a depuis un petit lien pour nous ?
Merci d'avance...
http://developer.nvidia.com/object/h...map_paper.html
Bien entendu les shadowmaps ne nécessitent pas de shaders (sur les cartes Nvidia uniquement néanmoins). Mais c'est comme ça que tous les exemples sont donnés parce que c'est ce que les cartes graphiques supportent depuis l'an 2001 et c'est comme ça que les jeux sont écrits. Bref si vous devez supporter le fixed function pipeline c'est que vous savez ce que vous faites (plus personne n'écrit de tutorials pour dx7 parce que c'est mort).
Comme dit dans la doc que j'ai cité, rien n'empeche d'utiliser la même logique dans des "texture stage states" dans le style dx7. En gros vous appliquez les mêmes opérations : lecture dans une texture avec la troisième coordonnée qui contient la valeur de Z à comparer et multiplication de cette valeur (entre 0 pour shadow et 1 pour éclairé) par la valeur de l'éclairage diffus.
Attention aussi, quelques détails ont changé depuis l'écriture de cette doc pour D3D. Notamment les shadowmaps ne sont plus "projectives par défaut" (division de s,t,r par q). Si vous voulez cette propriété il vous faut spécifier le flag "D3DTTFF_PROJECTED" dans les TEXTURETRANSFORMFLAGS. De plus la valeur z/w est normalisée (en [0..1] à la place de [0..2^bitdepth-1]). Cela s'applique aussi bien pour le fixed function pipeline que pour les shaders. Et pour les applications D3D9. Vous pouvez télécharger l'exemple hardware shadow maps ici (il utilise les shaders aussi..) :
http://developer.download.nvidia.com...s/samples.html
LeGreg
Excellent lien. Voila bien de la matière à travailler. J'ai plus qu'a m'y mettre.
Merci
tous les exemples semble employer des shaders...
C'est si dur que cela un petit sample de shadows mapping sans ces put... de shaders ...
Bonjour blitzfan.
Pourquoi tiens-tu absolument à ne pas utiliser de "shaders" ?
Même si j'emploie DirectX9c, je ne suis pas un bulbe en prog 3D encore, et m'attaquer à la prog
3D via les shader, tout en comprenant parfaitement ce que je fais bien sûr (pas de repompage bête et
méchant je veux dire), me parait très prématuré.
Mon petit projet passe donc uniquement pour le moment par le pipeline fixe, et il y a déjà de la matière à
travailler, c'est le moins que l'on puisse dire. (sous DX7 à la limite, quite à adapter, ça je peux encore faire).
Je voulais tout simplement implenter un petit system de shadow mapping, simple et instructif
pour moi. J'ai bien concience qu'aujourd'hui points de salut sans shader (surtout je pense en terme d'opti),
mais comme je l'ai dis plus haut, c'est pas pour moi dans l'immédiat, même si cela viendra par la suite.
Concernant le shadows mapping, il doit bien exister quelque part un ou deux code mettant en oeuvre cette
technique juste par le pipeline fixe, à l'ancienne si je puis dire.
Le DXSDK (le tout premier) fournis un exemple de shadows volume mais pas de shadows mapping,
malheureusement.Donc je cherche, et je cherche encore...
Ok.
Et pour la technique proposée par Le Greg, ça ne convient pas à ta situation ?
PS: utiliser un shader n'enlève rien à la compréhension de la technique, d'ailleurs si tu l'appliques version sofware, ce seront les mêmes multiplications... le même code mais sans les boucles.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager