I developed some shaders with Cg in Unity3D free for my specialist project. Here is the final result:
I enjoyed this project, as I got to do lots of research into technical papers and books on topics around real-time shader development – from parallel programming in CUDA to Pixar’s physically-based rendering to Maths and Physics text books to the game engines in use for the upcoming PS4. In fact I probably read over 1000 pages and wrote under 1000 lines, including various experiments along the way.
I implemented the shaders in Unity 3D free using the Cg language. All models and textures were created in 3ds Max, Zbrush and XNormal, apart from Unity’s internal terrain system and stock cube maps.
Unfortunately, I was unable to implement a lot of features that I wanted to (sub-surface scattering, self-shadowing) because Unity Free does not allow render to texture. I might have chosen a different engine at the beginning had I known this. Otherwise, Unity was a great tool, very easy to pick up, with excellent support.