3DVF Network :
ico_magazine
Magazine
ico_boutique
Boutique
ico_cgjobs
Portail Emploi
ico_upload
Hébergement d'image
blogs
Blogs
ico_progiss
Progiss
ico_social
Social
Login Membre :
blogs
Login
?
Join
space
space
  FORUM 3DVF
  3D
  Temps réel

  normal mapping temps réel

 

corentin3D Work In Progress : Ulwaen et 18 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

normal mapping temps réel

n°4708
afanissiev

Posté le 02-06-2008 à 10:15:53  profilanswer
 

bon j'ai commencé une démo sous nova 2008
 
http://www.studio-namo.biz.st/images/test.exe
 
par contre là directx reste un gros mystère pour moi :
pourquoi ces coupures entre les uv dès que j'applique la normal map?? même avec une normal map neutre toute bleue les coupures apparaissent... (surtout sur le visage). cet effet n'est pourtant pas présent sur les shaders précal de 3ds max... je ne comprend pas... quelqu'un peut m'aider?

(Publicité)
n°4713
afanissiev

Posté le 02-06-2008 à 14:59:26  profilanswer
 

après quelques tests/recherches j'en conclus qu'il s'agit d'un problème de "normales d'UVs". Mais à priori on en peut pas éditer ces normales d'UVs depuis 3ds max. Quelqu'un sait comment faire?

n°4714
nobrainnob​rain
pilier de bar de 3dvf
Posté le 02-06-2008 à 15:18:03  profilanswer
 

normales d'UV ?? tu veux dire que c'est les coordonnées des normales générées qui sont selon un mauvais repère ?
 
ça m'étonnerai pas qu'il existe un utilitaire pour changer ça, ça se code en 20 minutes avec des cures-dents dans les yeux

n°4715
afanissiev

Posté le 02-06-2008 à 15:50:00  profilanswer
 

bin en fait pour le rendu en directx, apparemment le moteur superpose les normales des uv (pour determiner le sens à afficher je suppose) puis rajoute la normal map par dessus... ce qui créé un artéfact sur les "seams"  
 
bin à priori la solution est là, sauf que je sais pas du tout comment marche ce truc... http://developer.nvidia.com/object/NVMeshMender.html  
 
et surtout impossible de le télécharger, ça veut pas... ça marche chez vous?

n°4716
clanker
Posté le 02-06-2008 à 15:57:34  profilanswer
 

C'est un peu ennuyeux que les coupures apparaissent mm avec une normal map neutre. Sinon, j'aurais eu tendance à dire que ton shader nova ne bosse pas dans le même repère que ta normal map (l'axe y flippé ptet)
Il n'y a pas de standard dans la génération et l'utilisation des normal map, chaque soft fait ça un peu à sa sauce. Regarde si il y a une option dans ton shader pour flipper  les valeurs de la normal map selon un axe, sinon, il faut générer la normal map avec d'autres options.
Peut-être que nova pete le smoothing selon les uv à l'export, ça je sais pas, et là, je vois pas ce que tu pourrais faire =)


Message édité par clanker le 02-06-2008 à 16:01:53
n°4717
afanissiev

Posté le 02-06-2008 à 16:21:13  profilanswer
 

merci clanker pour tes conseils mais oui j'ai bien testé de flipper ma normal map dans tous les sens et ça fait pareil. Si je converti ma normal map en local space, le problème disparait, mais comme c'est un modèle skinné ça ne pourrra pas fonctionner.
 
nova est WYSIWYG (What You See Is What You Get): j'ai quasiment le même rendu dans le viewport 3ds et dans le moteur final et il ne fait pas peter les smoothing groups. Mais l'outil de Nvidia a l'air de pouvoir règler ce problème. je teste dès que possible.


Message édité par afanissiev le 02-06-2008 à 16:23:08
n°4718
afanissiev

Posté le 02-06-2008 à 16:41:45  profilanswer
 

découverte :  
 
c'est en fait un bug de 3dsmax :
 
encore du nouveau mais là je desespère :  
 
http://bcloward.blogspot.com/2005/ [...] max-8.html
 
mais pas règlé depuis la version 8. donc c'est triste pour moi...
 
mais :
 
"If I transform the eye vector and light vector to world space in the vetex shader instead and then transform the tangent space normal map to world space in the pixel shader (doing all math in world space instead of tangent space), the issue goes away."
 
si j'arrive à comprendre ce qui se dit là dedans, j'aurai règlé mon problème! hahaha sauf que c'est un peu compliqué!! help!

n°4719
clanker
Posté le 02-06-2008 à 18:01:01  profilanswer
 

Moué enfin ça c'est un pb dans le viewport de max, pas celui de nova,non ? J'ai pas de pb de normal dans virtools, et y a pleins de gens qui font des exports vers d'autres moteurs sans soucis quand mm.

n°4724
afanissiev

Posté le 03-06-2008 à 09:32:15  profilanswer
 

oui Clanker mais comme je l'ai dit plus haut, Nova est WYSIWYG donc même rendu dans le viewport 3ds et dans Nova! ce bug se retrouve donc dans Nova.
 
mais  
 
HAhAHhAhAhA!!
 
j'ai trouvé une gruge vachement plus simple pour mon problème car j'y comprenais vraiment rien à son système à l'autre gus sur son blog là.
 
donc j'ai modifié mon shader en rajoutant un canal de texture que j'ai appellé "uv seams correction" dans lequel je met un masque noir et blanc (64*64pixels) qui determine quand utiliser les normales de la normal map et quand prendre les normales du modèle 3d. je vais peut-être faire une version vertex color pour que ce soit plus optimisé.
 
bref ça marche, je suis super content, ouf mon petit projet est sauvé.
 


Aller à :
Ajouter une réponse
  FORUM 3DVF
  3D
  Temps réel

  normal mapping temps réel

 

Haut de page
space
space
space
A Propos | Contact
Copyright © 2000-2012 3DVF. Tous droits réservés. | Infogérance serveur | tracker
space