La última vez que intenté aprender HLSL, hice algunos sombreadores y entendí principalmente lo que estaba haciendo, pero aún sentía que estaba tropezando en la oscuridad. La mayoría de lo que aprendí lo obtuve de varias publicaciones de blog que no explicaban muy bien las cosas.
Además, la documentación en MSDN parece ser más una referencia de función.
¿Dónde puedo aprender no solo a escribir HLSL, sino también a aprender técnicas para escribir sombreadores?
Si lo que busca es "técnica de sombreado", en lugar de una mera referencia del lenguaje (lea la pregunta, personas), le recomiendo (de fácil a avanzado):
Y básicamente, ya sea: probar cosas y practicar, todo mientras absorbe cómo los "profesionales" hacen las cosas. O elija y elija cosas que sean similares a lo que está tratando de lograr y trabaje desde allí.
fuente
Cg no es técnicamente HLSL, pero sintácticamente son prácticamente idénticos.
Dicho esto, es un libro antiguo, pero NVIDIA ha hecho que " The Cg Tutorial " sea gratuito para leer en línea. Cubre los conceptos básicos de la canalización programable de una manera muy completa, y todo debería traducirse a HLSL con un mínimo esfuerzo.
fuente
Si desea editar y ver los resultados en tiempo real, puede usar esta sencilla herramienta de Silverlight
http://shazzam-tool.com/
Shazamm 1.3 - Editor y editor de sombreadores HSLS
En cuanto a los tutoriales +1 para Riemers.net, pero también encontré esta serie de tutoriales XNA / HLSL aún mejor.
Aquí está la lista, los encontrará todos aquí: http://digitalerr0r.wordpress.com/tutorials/
fuente
Algunas cosas me vienen a la mente
fuente
Encontré que Riemers.net tiene un muy buen tutorial introductorio sobre HLSL como parte de sus tutoriales XNA. El autor, Riemer Grootjans, también escribió el recomendable libro XNA 3.0 Game Programming Recipes , si te gusta el enfoque de la receta.
fuente
Le sugiero que consulte el libro de cocina de desarrollo de HLSL , me pareció muy útil. Especialmente el capítulo 3.
fuente
Cuando estaba leyendo sobre HLSL , encontré este tutorial en el pasado. Me gustó ya que trató de explicar cada parte de lo que estaba haciendo.
fuente
Encontré una serie de tutoriales que van desde un sombreador de luz ambiental básico hasta reflectores y sombreadores de toon. Cada uno pasa y explica cada línea e incluso explica algunas de las matemáticas un poco:
http://rbwhitaker.wikidot.com/hlsl-tutorials
fuente
No estoy seguro de a qué modelo de sombreador y versión de DirectX está apuntando, pero recomiendo el procesamiento y la computación prácticos con Direct3D11 . El libro lo guía a través de todos los detalles esenciales de DirectX11, sus recursos, todos los sombreadores de tubería diferentes, HLSL (un capítulo completo dedicado a esto) y cómo comenzar a implementar cosas como simulaciones de sistemas de partículas, teselación, procesamiento de imágenes, renderizado diferido y DirectCompute!
fuente
Recomiendo este enlace para ver ejemplos: http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
Para aquellos que se preguntan por qué su código no funcionará, o si están confundidos sobre cómo incorporar el sombreador en su tubería, este es un buen lugar para ir.
fuente
para mí es más fácil aprender GLSL primero, y dado que HLSL y GLSL son similares. Una vez que comprenda todo el concepto, la tubería, el hardware y cómo funciona el lenguaje interno del sombreador, es fácil para usted usar otro idioma como HLSL o incluso Cg.
Propongo GLSL porque tiene un libro muy bueno como el libro naranja y rojo de openGL y es fácil de aprender para principiantes.
fuente