INF359 course assignment 01

By Goran Mohammed Zangana, spring 2009

Non-photorealistic (cartoon)

Grayscale component used for finding Intensity[0 1], and then a certain color maped for a certain intensity value.

Non-photorealistic (cool-to-warm)

Initializing cool to blue and warm to yellow, and then using:
Shaded color = cool * (1.0 - Diffuse) + warm * Diffuse

Non-photorealistic (stiplling)

I don't know!! meanwhile I tried to implement coll-to-warm such as described in this paper (A Non-Photorealistic Lighting Model For Automatic Technical Illustration),
so I got the above (stippling?).

Line drawing (non-uniform countor thickness)

Drawimg the voxeles, which have Dot product of the Normal and View vectors less than 0.5

Line drawin (uniform countor thickness)

I tried to implement the one described in the paper (Style transfer Functions for Illustrative Volume Rendering),
however it seems that, it does not give us wanted result, therefor I put the code here:
float n1Dotn2 = abs(dot(vecNormal,vecNormal2));
float kv = n1Dotn2/fUnitStep;
float t = 2.7;
float co = sqrt(t*kv*(2.0-t*kv));
if ( NormalDotView <= co )
vecSampleColor = vec4(0.0,0.0,0.0, 1.0);
vecSampleColor = vec4(1.0,1.0,1.0, 1.0);
vecRayColor += vecSampleColor;