A última vez que tentei aprender HLSL, fiz alguns shaders e principalmente entendi o que estava fazendo, mas ainda sentia que estava tropeçando no escuro. A maior parte do que aprendi recebi de várias postagens no blog que não explicavam muito bem as coisas.
Além disso, a documentação no MSDN parece ser mais uma referência de função.
Onde posso aprender não apenas a escrever HLSL, mas também aprender técnicas para escrever shaders?
Se o que você procura é "técnica de sombreador", em vez de mera referência de linguagem (leia a pergunta, pessoal), eu recomendo (do fácil ao avançado):
E basicamente: experimente e pratique, enquanto absorve como os "profissionais" fazem as coisas. Ou escolha coisas semelhantes ao que você está tentando alcançar e trabalhe a partir daí.
fonte
Cg não é tecnicamente HLSL, mas sintaticamente eles são praticamente idênticos.
Dito isto, é um livro mais antigo, mas a NVIDIA tornou o " The Cg Tutorial " gratuito para leitura on-line. Ele cobre os conceitos básicos do pipeline programável de uma maneira muito abrangente e deve ser traduzido para HLSL com o mínimo esforço.
fonte
Se você deseja editar e ver os resultados em tempo real, pode usar esta ferramenta simples do Silverlight
http://shazzam-tool.com/
Shazamm 1.3 - Editor e Previwer de HSLS Shaders
Quanto aos tutoriais +1 para o Riemers.net, mas também achei essa série de tutoriais XNA / HLSL ainda melhor.
Aqui está a lista, você encontrará todos aqui: http://digitalerr0r.wordpress.com/tutorials/
fonte
Algumas coisas vêm à mente
fonte
Descobri que o Riemers.net tem um ótimo tutorial introdutório sobre HLSL como parte de seus tutoriais sobre XNA. O autor, Riemer Grootjans, também escreveu o livro recomendável XNA 3.0 Game Programming Recipes - se você gosta da abordagem da receita.
fonte
Eu sugiro que você verifique o HLSL Development Cookbook , achei muito útil. Especialmente o capítulo 3.
fonte
Quando eu estava lendo sobre o HLSL , encontrei este tutorial no passado. Eu gostei desde que ele tentou explicar cada parte do que estava fazendo.
fonte
Encontrei uma série de tutoriais que vão desde um sombreador básico de luz ambiente até reflexões e toon shaders. Cada um deles explica e explica todas as linhas e até explica um pouco da matemática:
http://rbwhitaker.wikidot.com/hlsl-tutorials
fonte
Não tenho certeza de qual modelo de shader e versão do DirectX você está alvejando, mas eu recomendo Renderização prática e computação com o Direct3D11 . O livro mostra todos os detalhes do DirectX11, seus recursos, todos os diferentes shaders de pipeline, HLSL (um capítulo inteiro dedicado a isso) e como começar a implementar coisas como simulações de sistemas de partículas, mosaico, processamento de imagem, renderização adiada e DirectCompute!
fonte
Eu recomendo este link para exemplos: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Para aqueles que se perguntam por que o código deles não funciona, ou se você está confuso sobre como incorporar o sombreador ao seu pipeline, este é um bom lugar para você.
fonte
para mim, é mais fácil aprender o GLSL primeiro, e como o HLSL e o GLSL são semelhantes. Depois de entender todo o conceito, o pipeline, o hardware e como a linguagem do shader interno funciona, é fácil usar outra linguagem, como HLSL ou mesmo Cg.
Eu proponho o GLSL porque ele tem um livro muito bom, como o laranja e o vermelho do openGL, e é fácil de aprender para iniciantes.
fonte