void Camera::setup(int resx, int resy, double from[3]
double at[3], double up[3], double angleU,
double angleV, double hither )
Nastavi parametre kamere. Locljivost filma je podana z resx
in resy. Polozaj kamere je podan z vektorjem . Tocka
v katero je kamera usmerjena je podana z vektorjem
. Zavrtitev
kamere okoli osi lec je podana z vektorjem
, ki ni nujno
normiran in ni potrebno, da je pravokoten na os lec (from -- at).
Vektor up podaja smer koordinate y ( v) na filmu. Kot
zaznavanja kamere v smeri koordinat filma u in v se
doloca s spremenljivkama angleU in angleV. Oddaljenost
filma od izhodisca kamere je dolocena s hither. Ker
pa je locljivost filma definirana v tockah (resx, resy),
oddaljenost hither nima vpliva na sistem gledanja.
void Camera::Describe(int indent)
Izpise lastnosti kamere. Te so: polozaj, smer projekcije, vektorja u in v na filmu, locljivost in maksimalne koordinate (u,v).
vec3 Camera::pointToRay( vec2& p)
Ta metoda vrne normirano smer vektorja, ce gledamo na izbrano tocko na filmu kamere, ki je v mejah locljivosti filma. Koordinate p so v rastrskih enotah, vendar lahko izberemo tudi dele velikosti rastra, kar je uporabno pri "supersamplingu". Izhodisce zarka dobimo z getPosition() kamere.