Als ich das letzte Mal versuchte, HLSL zu lernen, machte ich ein paar Shader und verstand größtenteils, was ich tat, aber ich hatte immer noch das Gefühl, im Dunkeln zu stolpern. Das meiste, was ich gelernt habe, habe ich aus verschiedenen Blog-Posts erhalten, die die Dinge nicht sehr gut erklärten.
Außerdem scheint die Dokumentation zu MSDN eher eine Funktionsreferenz zu sein.
Wo kann ich lernen, nicht nur HLSL zu schreiben, sondern auch Techniken zum Schreiben von Shadern zu erlernen?
Wenn Sie nach "Shader-Technik" suchen und nicht nur eine Sprachreferenz (lesen Sie die Frage, Leute), empfehle ich (von einfach bis fortgeschritten):
Und im Grunde genommen auch: Probieren Sie es aus und üben Sie, während Sie gleichzeitig lernen, wie die "Profis" Dinge tun. Oder wählen Sie Dinge aus, die denen ähneln, die Sie erreichen möchten, und arbeiten Sie von dort aus.
quelle
CG ist technisch nicht HLSL, aber syntaktisch sind sie praktisch identisch.
Abgesehen davon ist es ein älteres Buch, aber NVIDIA hat " The Cg Tutorial " zum Online-Lesen freigegeben. Es behandelt die Grundlagen der programmierbaren Pipeline auf sehr umfassende Weise und sollte mit minimalem Aufwand in HLSL übersetzt werden.
quelle
Wenn Sie die Ergebnisse in Echtzeit bearbeiten und anzeigen möchten, können Sie dieses einfache Silverlight-Tool verwenden
http://shazzam-tool.com/
Shazamm 1.3 - Editor & Previwer von HSLS Shaders
Was Tutorials +1 für Riemers.net betrifft, habe ich diese Serie von XNA / HLSL-Tutorials sogar noch besser gefunden.
Hier ist die Liste, Sie finden sie alle hier: http://digitalerr0r.wordpress.com/tutorials/
quelle
Ein paar Dinge fallen mir ein
quelle
Ich fand, dass Riemers.net ein sehr gutes Einführungs-Tutorial zu HLSL als Teil seiner XNA-Tutorials hat. Der Autor Riemer Grootjans hat auch das empfehlenswerte Buch XNA 3.0 Game Programming Recipes geschrieben - wenn Sie den Rezeptansatz mögen.
quelle
Ich würde vorschlagen, dass Sie das HLSL Development Cookbook lesen . Ich fand es sehr hilfreich. Insbesondere Kapitel 3.
quelle
Als ich über HLSL las, fand ich dieses Tutorial damals. Ich mochte es, da es versuchte, jeden Teil dessen zu erklären, was es tat.
quelle
Ich habe eine Reihe von Tutorials gefunden, die von einem einfachen Umgebungslicht-Shader bis hin zu Reflexionen und Toon-Shadern reichen. Jeder geht durch und erklärt jede Zeile und erklärt sogar ein bisschen Mathe:
http://rbwhitaker.wikidot.com/hlsl-tutorials
quelle
Ich bin mir nicht sicher, auf welches Shader-Modell und welche DirectX-Version Sie abzielen, empfehle jedoch das praktische Rendern und Berechnen mit Direct3D11 . Das Buch führt Sie durch alle wichtigen Details von DirectX11, seine Ressourcen, die verschiedenen Pipeline-Shader, HLSL (ein ganzes Kapitel, das diesem Thema gewidmet ist) und wie Sie mit der Implementierung von Dingen wie Partikelsystemsimulationen, Tessellierung, Bildverarbeitung und verzögertem Rendern beginnen und DirectCompute!
quelle
Ich empfehle diesen Link für Beispiele: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Für diejenigen, die sich fragen, warum ihr Code nicht funktioniert oder Sie sich nicht sicher sind, wie Sie den Shader in Ihre Pipeline integrieren können, ist dies ein guter Ort.
quelle
Für mich ist es einfacher, zuerst GLSL zu lernen, und da HLSL und GLSL ähnlich sind. Sobald Sie das gesamte Konzept, die Pipeline, die Hardware und die Funktionsweise der Inner-Shader-Sprache verstanden haben, können Sie problemlos eine andere Sprache wie HLSL oder sogar Cg verwenden.
Ich schlage GLSL vor, weil es ein sehr gutes Buch wie das orange-rote von openGL hat und für Anfänger leicht zu erlernen ist.
quelle