Real-time Ice Shader Development

I developed some shaders with Cg in Unity3D free for my specialist project. Here is the final result:

final

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.

brdf22D BRDF Shader

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.

Advertisements

One thought on “Real-time Ice Shader Development

  1. That’s impressive mate, it’s funny how because Unity Free wouldn’t let you use FBOs we went in two opposite directions – you went much more in depth in the actual shader calculations, while I scrutinized efficient use of OpenGL extensions with relatively simple shaders. If you wanted maybe we should write a technical paper together for our major in 2014/15? 😉

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s