Cao.
1)
Zasto je D3DX_PI * 0.5f ?
Hmm... Matematika ti nije bas najbolja strana.
D3DX_PI je PI u matematici.
PI = 3.141592653589 itd Predstavlja ugao u radijanima.
Ugao u stepenima se dobija kada se ugao u radijanima pomnozi sa 180 i podeli sa 3.1415... to jest sa PI.
Znaci PI*180/PI = 180 stepeni a PI*0.5f je u stvari (PI/2)*180/PI = 90 stepeni!
2)
D3DXMatrixLookAtLH:
D3DXMATRIX* D3DXMatrixLookAtLH(
D3DXMATRIX* pOut,
const D3DXVECTOR3* pEye,
const D3DXVECTOR3* pAt,
const D3DXVECTOR3* pUp
);
pOut - "popunjava" rezultujucu matricu
pEye - Vektor koji definise gde se nalazi "oko" kamere
pAt - Vektor koji definise gde je uperen vektor kamere
pUp - Vektor koji je obicno (0, 1, 0) i oznacava orijentaciju kamere. (0, 1, 0) znaci da je gornji deo kamere po y osi. Nisam bas nesto ovo objasnio ali neka te ovaj parametar ne zamara i neka bude (0, 1, 0).
D3DXMatrixPerspectiveFovLH:
D3DXMATRIX* D3DXMatrixPerspectiveFovLH(
D3DXMATRIX* pOut,
float fovy,
float aspect,
float zn,
float zf
);
Ako si neki put radio u 3D MAX-u video si opcije za kameru 30mm, 50mm, 200mm itd. E to je FOV ( koji je parametar ove f-je - fovy). FOV - Field of View i on je u radijanima ( oni su ti sada malo jasniji ).
aspect je odnos izmedju duzine i sirine ekrana. NPR bioskopski ekran je 16:9 i njegov aspect je 16/9 = 1.777. Ekran rezolucije 800*600: njegov aspect je 800/600 = 1.333. Experimentisi sa ovim vrednostima i dobijaces suzenje slike ili tako nesto.
zn - near clip-plane:
zf - far clip-plane:
Scena ima svoju dubinu relativno na kameru. Sve sto je izmedju vrednosti zn i zf ce se renderovati. NPR: Napravis sferu i zadas koj koordinate (0, 0, 100). Ako stavis zn = 1.0f i zf = 200 sfera je u opsegu kamere i bice renderovana ali ako stavis za poziciju sfere (0, 0, 1000) ona se nece renderovati. Pogledaj malo SDK help ako ti knjiga ne pomaze mada bi mogao da mi kazes gde si nabavio knjigu.
Pixel po pixel ... Out of memory!
EOF