Artist trying to learn Shaders - Input Appreciated!

Hey all,

So I have been working as an artist in the industry for a while now, and have just recently got a hold of Unity for my own personal projects. Although I do consider myself a somewhat technically minded artist (I have worked with both ShaderFX and Mental Mill, as well as done a little scripting), I don’t know where to start when it comes to developing my own shaders, espcially for unity using ShaderLab. I’ve realized that there’s just no way to create shaders for Unity using a node based editor, so I’m going to have to bite the bullet and just learn how to write them from scratch.

I have read through the “Getting Started” tutorials in the Unity manual regarding ShaderLab, but feel I need a little more guidance. My questions are these:

What is the best language to learn (CG, HLSL) that will allow me to work with Unity’s shaders.

What is the best reference for learning to write shaders for an artist.

If I wrote my own CG or HLSL shader, what is required to then convert it into a ShaderLab shader?

I have been looking at purchasing this DVD series from Ben Cloward : http://www.cg-academy.net/es_catalog/product_info.php?products_id=64

which I have heard is very nicely aimed at artists. However, I do see that it’s about working in HLSL, and from what I understand so far, CG is more in line to what ShaderLab uses.

Anyways, any guidance and community expertise would be much appreciated. Cheers!

-Bartek

Unity has its own high level shader language called ShaderLab, but the low level stuff has to be in Cg. Basically, you just embed a bit of Cg inline in the ShaderLab code whenever you need it.

I have just recently begun working with shaders, and have already made a lot, both completely new ones, but also just taking existing inbuild shaders, and added what I needed (specularity on water for instance, and vertex color/alpha support on all the common inbuild shaders).

It has been a great ride so far, and actually been easier than ever expected.
I read the book “The Cg Tutorial” which a friend of mine had. The book is free online. It made me really “understand” (read: scratch the surface of) what goes on inside the rendering pipeline, which made it possible for me to begin thinking creativly about how to do stuff, instead of just pasting code around.

Cg is definitely the way to go…!