# Renderowanie Framsticks w stylu "Wookie"

#### pliki Marka Lange dla POV-Ray'a, 2006

## Motywacja

Celem projektu bylo zbudowanie nowego modelu wizualizacji framstickow nawiazujacego do wlochatych stworzen -- Wookich z filmu gwiezdne wojny.

Tak zamodelowany styl charakteryzuje sie pokryta brazowa sierscia skora oraz owlosionymi elementami budowy.

## Wykonanie

Projekt zostal wykonany przy pomocy skryptu hairex. Skrypt sluzyl do pokrywania wlosami siatek znajdujacych sie w plikach pcm. Pliki pcm zawieraja obiekty trojwymiarowe -- kule i walce (wygenerowane w programie MeshWork) i skompresowane za pomoca skryptow mesh-compressora. Skrypt hairex pokrywa wlosami obiekty pcm z zadanymi parametrami np. dlugosc wlosow, kolor, grubosc, zagiecie itp.

[KLIKNIJ] aby obejrzeĉ rysunek: przykladowy wyglad framsticka wygenerowany za pomoca framstick-wookie.inc.

## Konfiguracja (dla tych którzy chca grzebac w pliku stylu)

Za pomoca tych zmiennych mozna kontolowac ktore czesci framsticka maja zostac pokryte wlosami:

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

Jesli chcemy pokryc wlosami dana czesc (tutaj przegub framsticka) nalezy zdefinowac obiekt (tutaj StickEnd) oraz podac parametry:

    #if (HairyStickEnd)
    /* ustawienia StickEND */
    #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 ;

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

Samo wstawienie owlosionego elementu polegalo na podmianie elementu oryginalnego:

    #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