Framsticks "Wookie" rendering style

for POV-Ray by Marek Lange, 2006

Motivation

The motivation was to develop a rendering style for Framsticks inspired by the Star Wars Wookie hairy creatures. Framsticks' skin is covered with brown hair, other elements of Framsticks' body are also hairy.

Approach

The 'hairex' script was used to add hair to meshes from pcm files. These files contain 3D objects (spheres, cylinders that were generated by the MeshWork program) and compressed with the mesh-compressor scripts. The 'hairex' script is used to apply hair to those pcm objects. Parameters like hair length, color, thickness, rotation can be provided.

[CLICK] to see a picture: sample Framsticks rendered using the framstick-wookie.inc style file.

Configuration (if you want to modify the style file)

These variables define which elements of the body are hairy.

#declare HairyStickEnd = 1;
#declare HairyGreenBall = 1;
#declare HairyReceptT = 1;
#declare HairyMuscle = 1;
#declare HairySpeedMuscle = 1;
#declare HairyStick = 1;
#declare HairySmallStick = 1;

If you want some element (here: stick end) to be hairy, define the corresponding object (here: StickEnd) and provide hair parameters.

#if (HairyStickEnd)
/* StickEND properties */
#declare apply_hair_materials_to_mesh = true;
#declare hair_pattern_pigment = pigment {bozo color_map {[0 SemiSweetChoc ] [1 MediumWood]}}
#declare hair_length = 0.1;
#declare hair_thickness = 0.005;
#declare hair_patch_size = 0.01;
#declare hair_objects_per_triangle = 10;
//#declare air_patch_turb=0.9;
#declare hair_rotate_to_surface = true;
#declare hair_arc = 0.025 ;

/* STICKEND declaration*/
#declare StickEnd = object {read_mesh ("sfera2.pcm")};
#end

Adding a hairy element to the scene was achieved by replacing the original definition:

#if (HairyStickEnd)
object { StickEnd translate <0,-0.145,0> scale <1,1,1> }
#else
sphere { <0,0,0>,0.15
texture
{
pigment { color StickRGB }
normal { bumps 1.5*field_p_fr scale 0.01 }
finish { phong (1-field_p_fr) }
}
}
#end