Terakhir kali saya mencoba belajar HLSL, saya membuat beberapa bayangan dan kebanyakan mengerti apa yang saya lakukan, tetapi saya masih merasa seperti tersandung dalam kegelapan. Sebagian besar yang saya pelajari saya dapatkan dari berbagai posting blog yang tidak menjelaskan dengan baik.
Juga, dokumentasi pada MSDN tampaknya lebih merupakan referensi fungsi.
Di mana saya bisa belajar untuk tidak hanya menulis HLSL, tetapi belajar teknik untuk menulis shader?
Jika apa yang Anda kejar adalah "teknik shader", alih-alih hanya referensi bahasa (baca pertanyaannya, orang-orang), saya sarankan (dari mudah ke lanjutan):
Dan pada dasarnya baik: Cobalah hal-hal dan berlatih, sambil menyerap bagaimana "pro" melakukan sesuatu. Atau pilih dan pilih hal-hal yang mirip dengan apa yang ingin Anda capai dan hasilkan dari sana.
sumber
Cg secara teknis bukan HLSL, tetapi secara sintaksis keduanya hampir identik.
Karena itu, ini adalah buku yang lebih tua, tetapi NVIDIA telah membuat " The Cg Tutorial " gratis untuk dibaca secara online. Ini mencakup dasar-dasar pipa yang dapat diprogram dengan cara yang sangat komprehensif, dan semuanya harus diterjemahkan ke HLSL dengan upaya minimal.
sumber
Jika Anda ingin mengedit dan melihat hasilnya secara langsung, Anda dapat menggunakan alat Silverlight sederhana ini
http://shazzam-tool.com/
Shazamm 1.3 - Editor & Previwer HSLS Shaders
Adapun tutorial +1 untuk Riemers.net tetapi saya juga menemukan seri tutorial XNA / HLSL ini lebih baik.
Inilah daftarnya, Anda akan menemukan semuanya di sini: http://digitalerr0r.wordpress.com/tutorials/
sumber
Beberapa hal terlintas di benak saya
sumber
Saya menemukan Riemers.net memiliki tutorial pengantar yang sangat bagus tentang HLSL sebagai bagian dari tutorial XNA-nya. Penulis, Riemer Grootjans, juga menulis buku yang direkomendasikan XNA 3.0 Game Programming Recipes - jika Anda menyukai pendekatan resep.
sumber
Saya sarankan Anda memeriksa Buku Pegangan Pengembangan HLSL , saya merasa sangat membantu. Terutama bab 3.
sumber
Ketika saya membaca tentang HLSL saya menemukan tutorial ini kembali pada hari itu. Saya menyukainya karena ia berusaha menjelaskan setiap bagian dari apa yang dilakukannya.
sumber
Saya menemukan serangkaian tutorial yang beralih dari shader cahaya ambient dasar sampai ke bayangan dan toon shader. Masing-masing melewati dan menjelaskan setiap baris dan bahkan menjelaskan beberapa matematika sedikit:
http://rbwhitaker.wikidot.com/hlsl-tutorials
sumber
Tidak yakin apa model shader dan versi DirectX yang Anda targetkan, tetapi saya sangat merekomendasikan Rendering Praktis dan Komputasi dengan Direct3D11 . Buku ini memandu Anda melalui semua rincian penting DirectX11, sumber dayanya, semua shader pipa yang berbeda, HLSL (seluruh bab yang didedikasikan untuk ini), dan bagaimana memulai mengimplementasikan hal-hal seperti simulasi sistem partikel, tessellation, pemrosesan gambar, rendering yang ditangguhkan , dan DirectCompute!
sumber
Saya merekomendasikan tautan ini untuk contoh: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Bagi mereka yang bertanya-tanya mengapa kode mereka tidak berfungsi, atau jika Anda bingung tentang cara memasukkan shader ke dalam pipa Anda, ini adalah tempat yang baik untuk pergi.
sumber
bagi saya lebih mudah untuk mempelajari GLSL terlebih dahulu, dan karena HLSL dan GLSL serupa. setelah Anda memahami keseluruhan konsep, saluran pipa, perangkat keras, dan cara kerja bahasa shader dalam, mudah bagi Anda untuk menggunakan bahasa lain seperti HLSL atau bahkan Cg.
Saya mengusulkan GLSL karena memiliki buku yang sangat bagus seperti buku openGL oranye dan merah dan mudah dipelajari untuk pemula.
sumber