Ostatnim razem, gdy próbowałem nauczyć się HLSL, zrobiłem kilka shaderów i głównie rozumiałem, co robię, ale nadal czułem się, jakbym się potykał w ciemności. Większość tego, czego się nauczyłem, pochodzi z różnych postów na blogu, które nie wyjaśniały dobrze rzeczy.
Ponadto dokumentacja MSDN wydaje się być bardziej odniesieniem do funkcji.
Gdzie mogę nauczyć się nie tylko pisać HLSL, ale także nauczyć się technik pisania shaderów?
Jeśli szukasz „techniki cieniowania”, a nie tylko odniesienia do języka (przeczytaj pytanie, ludzie), polecam (od łatwego do zaawansowanego):
I w gruncie rzeczy albo: wypróbuj i przećwicz wszystko, jednocześnie absorbując sposób, w jaki robią to „profesjonaliści”. Lub wybierz i wybierz rzeczy, które są podobne do tego, co próbujesz osiągnąć i stamtąd.
źródło
Cg nie jest technicznie HLSL, ale pod względem składniowym są one praktycznie identyczne.
Powiedziawszy to, jest to starsza książka, ale NVIDIA udostępniła „ The Cg Tutorial ” za darmo do czytania online. Obejmuje on podstawy programowalnego potoku w bardzo kompleksowy sposób i wszystko powinno przełożyć się na HLSL przy minimalnym wysiłku.
źródło
Jeśli chcesz edytować i wyświetlać wyniki w czasie rzeczywistym, możesz użyć tego prostego narzędzia Silverlight
http://shazzam-tool.com/
Shazamm 1.3 - Redaktor i prezenter HSLS Shaders
Jeśli chodzi o samouczki +1 dla Riemers.net, to również ta seria samouczków XNA / HLSL była jeszcze lepsza.
Oto lista, znajdziesz je wszystkie tutaj: http://digitalerr0r.wordpress.com/tutorials/
źródło
Przychodzi mi na myśl kilka rzeczy
źródło
Odkryłem, że Riemers.net ma bardzo dobry samouczek wprowadzający na temat HLSL w ramach samouczków XNA. Autor, Riemer Grootjans, napisał również godną polecenia książkę XNA 3.0 Game Programming Recipes - jeśli podoba ci się podejście do przepisu.
źródło
Sugerowałbym, żebyś sprawdził HLSL Development Cookbook , uważam, że jest bardzo pomocny. Zwłaszcza rozdział 3.
źródło
Kiedy czytałem o HLSL , znalazłem ten samouczek w ciągu dnia. Podobało mi się, ponieważ starał się wyjaśnić każdą część tego, co robił.
źródło
Znalazłem serię samouczków, które zaczynają się od podstawowego shadera światła otaczającego aż po odbicia i toadery. Każdy przechodzi i wyjaśnia każdą linię, a nawet wyjaśnia trochę matematyki:
http://rbwhitaker.wikidot.com/hlsl-tutorials
źródło
Nie jestem pewien, jaki model modułu cieniującego i wersji DirectX jest docelowy, ale bardzo polecam praktyczne renderowanie i obliczenia w Direct3D11 . Książka poprowadzi Cię przez wszystkie drobiazgowe szczegóły DirectX11, jej zasoby, wszystkie różne shadery potoków, HLSL (cały rozdział poświęcony temu zagadnieniu) oraz jak rozpocząć wdrażanie takich rzeczy, jak symulacje układu cząstek, teselacja, przetwarzanie obrazu, odroczone renderowanie i DirectCompute!
źródło
Polecam ten link dla przykładów: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Dla tych, którzy zastanawiają się, dlaczego ich kod nie działa, lub jeśli nie masz pewności, jak włączyć moduł cieniujący do swojego potoku, jest to dobre miejsce.
źródło
dla mnie łatwiej jest nauczyć się GLSL, a ponieważ HLSL i GLSL są podobne. gdy zrozumiesz całą koncepcję, potok, sprzęt i sposób działania wewnętrznego modułu cieniującego, możesz łatwo użyć innego języka, takiego jak HLSL lub nawet Cg.
Proponuję GLSL, ponieważ ma bardzo dobrą książkę, taką jak pomarańczowo-czerwona księga openGL i jest łatwa do nauczenia dla początkujących.
źródło