salut, petite question ..
auriez vous un tuto ou un exemple de comment faire du bump mapping sur une IDirect3DTexture9, sans utiliser de pixel shader.
merci d'avance ...
Version imprimable
salut, petite question ..
auriez vous un tuto ou un exemple de comment faire du bump mapping sur une IDirect3DTexture9, sans utiliser de pixel shader.
merci d'avance ...
http://developer.nvidia.com/page/home
LeGreg
Voir aussi les exemples du SDK, en particulier le Dot3 bump mapping qui a le bon gout de fonctionner sur des cartes relativement "anciennes". ( R7000 et GF2MX par exemple )
Oui j'ai déjà fait avec le DOT PRODUCT 3 mais le problème (ou c'est moi qui m'y prend mal ...), je n'arrive pas a faire le multi texturing convenablement ...
j'arrive a faire la heightmap, je le SetTexture(0,..), et ensuite quand je set ma texture 1 (qui est la texture normal de mon objet), et bien, ca ne marche pas bien ..., l'effet de bump mapping est bien réalisé, mais niveau texture c'est pas correct ..., c'est presque comme si je ne mettais pas de SetTexture(1,...).
Sans doute est-ce un problème au niveau des TextureStageState, mais je vois pas trop ...
voici un pti screenshot pour vous donner une idée :
http://cssoft.free.fr/earth.png
vous voyez, c'est presque comme si j'appliquais pas la texture normal de la planète ...
Si tu nous donnais les textures stage states que tu appliques
ça nous serait tout de meme Vachement plus facile de t'aider, tu vois..
LeGreg
volontier :
Device->SetRenderState(D3DRS_TEXTUREFACTOR, vec_to_rgb(light));
Device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3);
Device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
Device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_TFACTOR);
Device->SetTextureStageState(1, D3DTSS_COLOROP, D3DTOP_MODULATE);
Device->SetTextureStageState(1, D3DTSS_COLORARG1, D3DTA_TEXTURE);
Device->SetTextureStageState(1, D3DTSS_COLORARG2, D3DTA_CURRENT);
il ne faut pas oublier d'assigner les textures coordonnées au deuxieme stage de texture.
Je suppose que la diffuse map (couleur) a le meme mapping que ta normal map (bump)
donc setTextureStageState(1,texcoordindex, 0);
LeGreg
oui, merci, c'était bien ça.