La dernière fois que j'ai essayé d'apprendre HLSL, j'ai fait quelques shaders et j'ai surtout compris ce que je faisais, mais j'avais toujours l'impression de trébucher dans le noir. La plupart de ce que j'ai appris m'a été fourni par divers articles de blog qui n'expliquaient pas très bien les choses.
En outre, la documentation sur MSDN semble être davantage une référence de fonction.
Où puis-je apprendre à écrire non seulement HLSL, mais aussi à apprendre des techniques pour écrire des shaders?
Si ce que vous recherchez est une "technique de shader", plutôt qu'une simple référence de langage (lisez la question, les gens), je recommande (de facile à avancé):
Et fondamentalement, soit: Essayez des choses et pratiquez, tout en absorbant la façon dont les «pros» font les choses. Ou choisissez des choses qui sont similaires à ce que vous essayez d'atteindre et travaillez à partir de là.
la source
Cg n'est pas techniquement HLSL, mais syntaxiquement ils sont pratiquement identiques.
Cela dit, c'est un livre plus ancien, mais NVIDIA a rendu " The Cg Tutorial " gratuit à lire en ligne. Il couvre les bases du pipeline programmable d'une manière très complète, et tout cela devrait se traduire en HLSL avec un minimum d'effort.
la source
Si vous souhaitez modifier et voir les résultats en temps réel, vous pouvez utiliser ce simple outil Silverlight
http://shazzam-tool.com/
Shazamm 1.3 - Éditeur et prévenu des HSLS Shaders
En ce qui concerne les tutoriels +1 pour Riemers.net, mais j'ai également trouvé cette série de tutoriels XNA / HLSL encore meilleure.
Voici la liste, vous les trouverez tous ici: http://digitalerr0r.wordpress.com/tutorials/
la source
Quelques choses me viennent à l'esprit
la source
J'ai trouvé que Riemers.net avait un très bon tutoriel d'introduction sur HLSL dans le cadre de ses tutoriels XNA. L'auteur, Riemer Grootjans, a également écrit le livre recommandable XNA 3.0 Game Programming Recipes - si vous aimez l'approche des recettes.
la source
Je vous suggère de vérifier le livre de recettes de développement HLSL , je l'ai trouvé très utile. Surtout le chapitre 3.
la source
Quand je lisais sur HLSL, j'ai trouvé ce tutoriel dans la journée. Je l'ai aimé car il a essayé d'expliquer chaque partie de ce qu'il faisait.
la source
J'ai trouvé une série de tutoriels qui vont d'un shader de lumière ambiante de base aux réflexions et aux shaders toon. Chacun passe par et explique chaque ligne et explique même un peu les mathématiques:
http://rbwhitaker.wikidot.com/hlsl-tutorials
la source
Je ne sais pas quel modèle de shader et quelle version DirectX vous ciblez, mais je recommande fortement le rendu et le calcul pratiques avec Direct3D11 . Le livre vous guide à travers tous les détails de DirectX11, ses ressources, tous les différents shaders de pipeline, HLSL (un chapitre entier consacré à cela), et comment commencer à implémenter des choses comme les simulations de systèmes de particules, la tessellation, le traitement d'image, le rendu différé et DirectCompute!
la source
Je recommande ce lien pour des exemples: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Pour ceux qui se demandent pourquoi leur code ne fonctionnera pas, ou si vous ne savez pas comment incorporer le shader dans votre pipeline, c'est un bon endroit où aller.
la source
pour moi, c'est plus facile d'apprendre GLSL d'abord, et puisque HLSL et GLSL sont similaires. une fois que vous avez compris tout le concept, le pipeline, le matériel et le fonctionnement du langage de shader interne, il vous est facile d'utiliser un autre langage tel que HLSL ou même Cg.
Je propose GLSL car il a un très bon livre comme le livre orange et rouge d'OpenGL et c'est facile à apprendre pour les débutants.
la source