so basicly, you diffuse reflect, then add a little which counts for the unmodulated light (boost) then you multiply the whole thing until it sets in right.
you sample illumination 64 times out of the hemisphere of the pixel… itll be a little aliasy like that, but itll work.
its a 3 part process… its scattered diffuse + blurred masked/modulated reflection + blurred pure reflection.
you have a 3 dimensional blur on the scatterer, when doing skin, not rocks, make sure you blur rgb separately, its a great way to add a 3 dimensional channel effect. its artistic. then, at some angle weighting you clamp off the reflection at whatever blur level you want. you use the reflection vector, then just check how close you are to it, with the illumination sample you are using. 100% dry doesnt clamp off a single sample. (for rocks)
Havent thought about fresnel or snell or any wavelength based collisions yet, and its a little too much for a little man at this stage, im not a physicist, im just a game programmer.
then your game will look like a cheap vray… 64 rays a pixel, one bounce, you can sneak a short second bounce in, if you make your first bounce a hard shadow only, then soften from there.
so you adjust your scatter, then adjust your dry wet ratio for the reflection. (mirror is completely wet) and itll be a mean shader for some wizywig cg characters, sculpted with a realistic material.
(the blurry bits look the best.)
Edited by rouncer, 29 March 2014 - 09:58 AM.