Advanced water rendering

In 2017 I was asked to make a dirt water shader. I put together all the ideas that came to my mind in order to make it realistic. The list of features are:

  1. – Underwater pixels blurred according to depth
  2. – Moss creating volumetric shadows
  3. – Surface lighting using Subsurface scattering
  4. – Optical dispersion (aka chromatic aberration) depending on depth
  5. – Underwater volumetric shadows (used Fog Volume 3 for that)
  6. – Consistency of every effect at variable resolutions, distances and FOV values.
  7. – Surface normals animation using the flow map technique
  8. – Moss patches with variable height. Some percentage of them are on the surface and the other under surface

Subsurface Scattering for Unity

I developed a SSS plugin that is available on the asset store

Blurred transparency (new in 1.7 February 2021)

Eyes (new in 1.6 May 2020):


Marble Chess

Marble floor:



Cloth Shader for Unity

Cloth shading is a topic I have revisited over time. In January 2015 I have decided to release it to the Unity community as a Shader Forge graph at the asset store. I would be happy to see it used in your games. As you may see in the screens and video, you will be able to emulate key lighting behaviours of a wide range of fabric surfaces, from rough fabric such as towel or carpet, to silk or velvet.


Unite 2014

In 2014 I made two demos for Unity Technologies, both shown at Unite 2014. First one was a car rendering project, for which I have developed a layered shader to model car paint features. It consists of a metallic base, lacquer layer and one more layer on top for dirtiness.

I made this environment and material switcher app to test the shader under many different lighting situations.

Then I was asked to polish my skin rendering system for ADN. This project was also supported by Unity. I spent one month working on it at home. Once it was ready to rock, I went to Paris to meet ADN guys and get the demo done. It was an unforgettable and pleasant experience.




After some years using Lee’s scan, I had the feeling that it was time to switch to another model. It wasn’t easy to find a good one so I decided to start zBrush and see what happened. I’d never tried to model a face before so it was a long process. And finally, Dave was born.

Unity – Car Rendering


Unity – Skin (Texture Space Diffusion)

Texture space diffusion for Unity.



Advanced Techniques for Realistic Real-Time Skin Rendering
Real-Time Approximations to Subsurface Scattering


UDK – Car Paint


Earth Rendering

Two nights of shading networks in UDK.