January 28, 2010

NPR shading implementation (color distortion + cel shading)

NPR shading   
Tool: ATI Rendermonkey
Language: HLSL
These technique takes me 5 passes to finish it. And some passes need to be improved.
Pass 0: Cel shading
Pass 1: Color distortion
Pass 2: Normal
Pass 3: image based ink shading
Pass 4: Combination (Final)
As you can see, the technique includes three common shading, Cel, Color Distortion, and normal based ink.
The feature is the color distortion:

The idea of this shading is simple:
first the color has to be changed from RGB to HSV.
Then, sample one pixels from two special texture, and compare their value.
If their differential is bigger than X, the S and V of HSV value of the mapping pixel on rendertagart should be the average of the two sampling pixels.
However, my way to transform the color space has some problems
these step still needs to be improved

0 意見: