Vertex et Pixel Shader,faut-il débuter? [MeNoob]

Coucou tout le monde,
Voila,mon petit trip pour l’instant,c’est Morrowind,tout le temps,tout les jours,non partez pas,je crois bien etre dans le bon Forum.

J’ai vu sur 2-3 forums,que l’on pouvait crée ses propres shader a Morrowind,Il y a un projet d’herbe animé en temps réel qui traine sur un site.

J’ai trouvé les fichiers utiliser par Morrowind,ce sont des fichier Pso et Vso (Apparement “Vertex Shader Object”,et “Pixel Shader Object” si je suis pas trop con.),mais comme je n’y connais pas grand chose en Programmation(euh mes dernières experiences…du Basic sur Cpc464) je me demandais si:

1)Il y avait moyen d’editer ses fichiers
2)Si c’etait possible de se mettre a faire des shader quand on est un noob totale en prog.
3)Si oui,vous auriez des site interessant,avec des exemples de Shader,etc…?

http://www.gamedev.net/columns/hardcore/dxshader1/  est le seul article interessant que j’ai pu trouver.Si vous en avez d’autre dans le genre je suis preneur.

Merci a tous.

Les vso et pso sont normalement des fichiers objet donc pas vraiment compréhensibles pour un humain (à moins d’être un as de la décompilation. C’est donc plus que chaud pour les éditer. Il est par contre possible (avec “quelques contraintes”) de les remplacer par d’autres shaders “équivalents”. Tout le problème vient de “l’équivalence”. Pour qu’un vertex shader fonctionne correctement, le moteur doit lui fournir des paramêtres en entrée (constantes et vertex stream). Un pixel shader, lui, utilise les données retournées par le vertex shader comme paramètres d’entrée. Tout le problème réside donc dans l’identification des constantes et le contenu du vertex stream (Position, Normal, Tangent, Binormal, Couleur, etc…). Donc, à moins d’avoir une doc sur les shaders utilisés par le jeu ou beaucoup de temps à perdre, moi, je ne me lancerai pas dans une telle entreprise.
Maintenant, quant à ton idée d’apprendre à écrir des shaders, je crois que tu vas devoir passer par une longue phase d’apprentissage. Il est essentiel de comprendre le fonctionnement des GPU et des API 3D (OpenGL ou Direct3D) avant de se lancer dans la bataille. Et connaitre un langage de programmation moderne (tel que le C++ ou le C#) me parait plus que recommandé.

Voilà, j’espère que tu as une petite idée de l’ampleur du boulot qui t’attend.

Ok,merci pour les conseil,mais je suis tétu ,et j’ai décider de m’accrocher,en plus j’ai bcp de temps a perdre…

Le Sujet me passione vraiment,j’en rêve la nuit maintenant…

Voila,pour décompiler les fichier Object,j’ai trouver.

Maintenant,j’ai des fichiers psh et vsh,apparement ce sont les fichier utiliser pour crée des Shader avec Direct X.

Les Shader sont aux normes de Direct x 8.0 si je ne me trompe, pixel et vertex Shader 1.1.

En voila un exemple:

def c4, 0.0f, 0.0f, 1.0f, 1.0f
def c2, 0.5f, 0.5f, 0.0f, 0.0f
def c1, 1.0f, 1.0f, 0.0f, 0.0f
def c3, 0.0f, 0.0f, 1.0f, 0.0f
tex t0
tex t1
tex t2
tex t3
sub_x4 r0.a, t0, t1
mul t0.rgb, r0.a, c5

  • sub_x4 r1.a, t3, t2
    mad r0, r1.a, c6, t0
    add_x2 r0, r0, r0
    add r0, r0, c2
    add r0, r0, c3

Existe t’il un bon outil pour visualiser un shader?

J’ai pu trouver Shader Studio,mais il n’y a plus de suivi de ce prog,et l’aide est inexistante.

Dommage il avait l’air bien fait,et l’on pouvait crée des shaders en Wysiwig,si un équivalent existe,n’hesitez pas.

Pour ce qui est d’avoir la doc sur les Shader du jeu,est-ce important?
Vu que ce sont,apparement,des shader fait avec le Sdk de Direct-X,et qu’il est possible d’en crée de nouveau dans Morrowind,ca j’en suis certain,pour l’avoir vu.

En ce qui concerne l’apprentissage,effectivement,ca risque d’etre long,mais comme je le disais plus haut,le sujet me passione vraiment.

Voila,je te remercie Sebastien,si tu a de bonnes adresses a me faire partager sur les Shader,je suis preneur.

Salut a toi,

Il existe RenderMonkey de Ati, NVBrowser de nvidia (que tu trouvera dans la partie developer des sites ouaib respectifs) ou le très récent ShaderWorks (http://www.shaderworks.com/).

Ces trois outils sont gratuits (les prochaines version de SW devraient être payantes) et possèdent des fonctionnalitées équivalentes.

La complexité des exemples fournis grimpe assez vite en flèche mais je te conseille de t’accrocher, ca vaut le coup.

Pour l’instant je préfère RenderMonkey à NVBrowser, mais je viens a peine de découvrir ShaderWorks ce matin, donc … la suite en fin de semaine 

Tu peux en effet éditer ces shaders et modifier leur contenu. Le problème, c’est que si tu ne sais pas ce qu’ils attendent en entrée, il faudra que tu le devine toi même à partir des shaders existants.

Autre chose, modifier juste les shaders ne te permettra PAS de tout faire. En effet, les shaders ne peuvent qu’appliquer un traitement à des données fournies par le moteur, mais pas générer de nouvelles données.

Bref, je crainds que tu ne sois obligé de voir un peu plus loin que “juste” les shaders eux mêmes…

Tks Grumly,je vais jeter un oeil a tout ca,ca a l’air effectivement pas mal ShaderWorks,un peu hardcore pour moi,mais pas mal du tout.

Tuo,c’est pas sympa de briser mes reves les plus fou comme ca ,héhéh,non mais plus sérieusement,c’est ce que je redoutais aussi,ca risque de ne pas etre a ma portée,m’en fous,je continuerais,j’ai trouvé un nouveau joujou avec les Shaders et ca a l’air bien marrant.
Merci a tous,et si j’arrive a un truc un jour,je vous le ferais savoir.