Tom's Guide > Forum > Programmation > Initialisation aux Shaders avec DirectX

Initialisation aux Shaders avec DirectX

Forum Programmation : Initialisation aux Shaders avec DirectX

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Voilà, ça fait un petit temps que je me documente sur le sujet, j'aimerai me lancer dans les shaders (pixel et vertex shaders) sous DirectX en C/C++ pour la réalisation d'un jeu.

Le code pour implémenter ça dans mon programme me semble simple par contre je n'ai pas trouvé de tutorial pour apprendre le language des shaders...

Avec DirectX on peut utilier le HLSL (Hight-Level Shader Language) ou un language du type assembleur. J'en déduit que l'assembleur est plus laborieux mais plus performant et plus complet (corrigés-moi si je me trompe), c'est celui que je voudrais utiliser.

Pour le HLSL il y a pas mal de documentation mais je cherche un bon cours sur l'assembleur, j'ai quelque bases en assembleur mais je n'ai jamais programmé pour un GPU.

Voilà donc si quelqu'un sait où je peux trouver ça ou connais bien la différence entre les languages, merci!

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Bonjour,

Tu peu trouver ici des cours et une FAQ assembleur.
En particulier celui ci est pas mal : Le célèbre tutoriel PCASM du Dr Paul Carter traduit en français

Sinon à part cela je serais à ta place je ne ferais pas d'assembleur mais du C++, tu peu voir les tutoriels DirectX

Répondre à Zharnt

Merci beaucoup, mais ce que je recherchais c'était un cours sur la programmation de shaders en assembleur.

Sinon effectivement je suis en C++, mais dans mon code je demande à la carte graphique de charger un programme qui peut être compilé soit à partir de l'assembleur ou d'un langage évolué de type C. Et je manque d'avis quand aux avantages de l'un ou l'autre donc je juge par moi même et je choisi le langage assembleur qui ne me fait pas peur.

Voici le genre de code que donne un shader en ASM (on constate des instruction différentes de l'ASM pour CPU):

Code :
  1. ; A simple pixel shader
  2. ; This uses the ps 2.0 instruction set and registers
  3. ps_2_0
  4. ;
  5. ; Declare the s0 register to be the sampler for stage 0
  6. dcl_2d s0
  7. ; Declare t0 to have 2D texture coordinates
  8. ; from stage 0. These are the interpolated
  9. ; texture coordinates.
  10. dcl t0.xy
  11. ; Sample the texture at stage 0 into the r1 temporary register
  12. texld r1, t0, s0
  13. ; move r1 to the output register
  14. mov oC0, r1



Voilà sinon ici ils disent que les différences de performance ne sont pas notable apparement:

http://www.gamedev.net/community/f [...] _id=459190

Répondre à molotov2

Bien sûr ça ne change pas grand chose puisque c'est la carte qui fait le gros du travail. :)

Sinon, tu as toujours les mauvaises doc du msdn. :)
http://msdn.microsoft.com/en-us/li [...] S.85).aspx
http://msdn.microsoft.com/en-us/li [...] S.85).aspx

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

En effet elle est pas terrible cette doc, je cherche un cours où ils expliquent bien les différentes instructions et les registres en assembleur pour GPU.

Répondre à molotov2
Tom's Guide > Forum > Programmation > Initialisation aux Shaders avec DirectX
Aller à :

Il y a 2413 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens