|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2009 Messages : 42 ![]() |
bonjour a tous j'aimerais savoir comment faire pour debuger mes shaders. Ils m'arrive souvent de rester bloqué une journée entière et que rien ne s'affiche et j'aimerais bien pouvoir observer le comportement de mes shaders pour comprendre d'où viennes mes erreurs.
Je voudrais savoir quels outils existent pour cela. ps: j'utilise directx11 et le shader model 5.0 |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() ![]() |
Citation:
http://developer.nvidia.com/nvidia-parallel-nsight Ceci dit si ces outils sont pratiques ce sont surtout pour des problèmes "avancés", avant qu'ils n'existent il y a la bonne vieille méthode de partir de quelque chose qui marche et trouver de manière systématique à partir de quand tu as introduit quelque chose qui a fait que ça ne marche pas.
__________________
Mon site web | Mon blog | Mes photos | Groupe USA > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM > presse la touche caps lock, stp > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA |
|
|
10
|
|
|
#3 | |||
|
Invité régulier
![]() Inscription : août 2009 Messages : 42 ![]() |
Citation:
ici par exemple j'ai un shader qui a pour but de "smoother" un mesh, j'ai démaré d'un shader qui fonctionne je n'ai chagé que le domain shader : Domain shader voici la seule ligne que j'ai changé : Code :
output.positionWS = uv.y * (inputPatch[0].position * uv.x + inputPatch[1].position * (1 - uv.x)) + (1 - uv.y) * (inputPatch[3].position * uv.x + inputPatch[2].position * (1 - uv.x)); Code :
output.positionWS = caluculateUVSpline( inputPatch[0].position, inputPatch[1].position, inputPatch[3].position, inputPatch[2].position, inputPatch[0].normal, inputPatch[1].normal, inputPatch[3].normal, inputPatch[2].normal, uv.x, uv.y); Code :
et là, ça fonctionne très bien ! je ne comprend pas d'où vient mon erreur ce serais génial si je pouvais analisé ligne par ligne la valeur des variables .... PS: je sais qu'il y a certaines parties qui ne sont pas très optimisées mais j’essaie d’abord de faire fonctionner ce shader je m'occuperais après des performances |
|||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : février 2006 Messages : 1 395 ![]() |
à première vue, je dirai qu'il faut faire doublement attention aux casts implicites de fxc, ie, si a une place on a besoin d'un float alors on ajoute le suffixe pour les floats, etc.
donc par exemple il ne faut pas mettre U / 100 mais U / 100.0f . ça évite bien souvent des surprises. et pour être sur de ce que fait le shader, il faut regarder le code en assembleur en sortie du compilateur, ça permet d'identifier par exemple des casts non souhaités ou autre. |
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : août 2009 Messages : 42 ![]() |
merci pour la réponse
Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
ben regarde les videos et installe le logiciel, il est disponible gratuitement.
__________________
Mon site web | Mon blog | Mes photos | Groupe USA > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM > presse la touche caps lock, stp > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA |
|
00
|
Copyright © 2000-2012 - www.developpez.com