Getting started to use Shadertoy to learn and practice GLSL. Here are the first few examples I’ve been playing around. Also got the shaders embedded in my blog page. Here I documented some of my exploration about the website and some best-practice.
I’ve been working on this famous book about physics based rendering technique(PBR). It is a huge book that covers nearly everything about PBR from theories (physics/mathematics/computer science) to code implementation of the whole system. I am going to post my reading/researching notes on the blog just for tracking progress as well as future reference.
Just came across this Gem when browsing cat videos on Youtube. After watching it I decided to run through the case by myself on my mac to see how a C program is working under the hood. I also want to be a bit geeky this time - just use Vim to write raw C program, and use command line to compile the program and also run the executable. Everything in the terminal.
MatCap (Material Capture) shader uses an image of a sphere as a view-space environment map. It’s very cheap and looks great when the camera doesn’t rotate. It is widely used in 3D sculpting software (like Zbrush) to preview meshes.
Phong shading model is one of the most classic realistic shading models. It captures the basic features of a lit object using a very concise and straightforward theory. It matches people’s observation in daily life, and also easy to describe using math. Therefore, Phong shading model is always used as the base for other artistic shading effects to be built on.
When learning and practicing shader programming for Unity, I found the Cg Wiki website extremely benevolent on getting a well-rounded understanding of how to shade an object step by step. Apart from the magic configuration parts(Shader Properties/Passes/Tags etc.) of a typical Unity shader, the main function-related part of the shader only lies between CGPROGRAM and ENDCG. According to my practice, I believe Cg Wiki and Unity Shader Reference can cover almost all the basic tricks of Unity shader programming. ;)
My first water shader exploration in unity started with trying to make the water surface waving. This required mesh manipulation through shader or scripts. By playing around it, I got to know more about what other effects I can try, and above is a little side-achievement – a nice low poly water effect.