Scene:: Scene()
Konstruktor razreda za opis scene. Nastavi zacetno barvo ozadja, utez pomembnosti zarka, velikost zaokrozitvene napake in najvecjo globino rekurzivnega sledenja zarku.
Scene::~ Scene()
Destruktor razreda zbrise vse alocirane objekte (primitivi, luci).
unsigned char* Scene::Screen ()
Ta metoda generira primarne zarke, ki se rekurzivno odbijajo in lomijo do predpisanega maksimalnega stevila. Rezultat se zapisuje v linearni RGB pomnilnik, ki ga po koncanem sledenju metoda tudi vrne v obliki vektorja nepredznacenih trojic bytov RGB. Uporabnik mora po uporabi sam sprostiti vrnjeni vektor.
int Scene::Shadow( vec3& rayDir, double tMax)
Testira obstoj sencnega zarka iz rayOrg v smeri rayDir. Ce svetloba ni blokirana, vrne 1, sicer je zarek v senci in zato vrne 0. Pri ugotavljanju sencnih zarkov je potrebno za izbrano smer preveriti prav vse objekte, ali obstaja presek. Ker se lahko luc nahaja tudi v notranjosti objektov ali pa obstajajo objekti tudi za lucjo, se z argumentom tMax omeji najvecja dolzina testiranega zarka. tMax torej predstavlja razdaljo od rayOrg do testne luci v smeri rayDir.
int Scene::Trace(int depth, double weight, vec3& rayOrg,
\
RGBColor& color)
Osnovna rekurzivna rutina, ki sledi zarku od izhodisca rayOrg v smeri rayDir. Maksimalno stevilo odbojev in prehodov se kontrolira z depth. Akumulirani prispevek sekundarnih zarkov je podan z weight. Izracunana barva zarka se vrne z vektorjem color. Metoda zdruzuje sencenje tocke po Phongovi metodi in generiranje rekurzivnih zarkov za odbito in prepusceno svetlobo.
void Scene::Describe()
Opise lastnosti scene. Na cerr izpise vsebujoce objekte, lokacije luci in parametre gledanja. Uporablja se pri testiranju in kontroli s stikalom -d pri zagonu programa.