Monday, April 14, 2008

Meer renderings probleempjes opgelost

Het probleem dat ik in mijn vorige post aanhaalde van de theta waarden die te groot werden bleek zich zelfs op 2 waarden voor te doen.


a) De ThetaOut (dus de hoek tussen de normaal in een vertex en de viewvector) ging van nul tot Pi ipv nul tot 90° zoals we zouden wensen Dit is opgelost door wanneer de z waarde van de view vector kleiner dan nul is Pi af te trekken.

b) De theta waarden die gebruikt worden om de environmentmap te samplen werd soms groter dan Pi aangezien de ยต waarden er bij moeten opgeteld worden voor beide gaussfuncties. En aangezien de theta waarden zelf al tussen 0 en Pi liggen ligt het voor de hand dat als we hierbij waarden gaan optellen deze buiten het interval terecht kunnen komen. De oplossing hiervoor is gewoon modulo Pi te doen bij wijze van spreken aangezien het image in theta de hele cirkel beschrijft. (rechterkant van het image loopt dus over in de linkerkant).

Het resultaat van deze aanpassingen staat hieronder. Het is zichtbaar nog niet echt correct, het probleem met het inlezen van het texture blijft zich voor doen.
Op aanraden van mijn begeleider heb ik ook het formaat van het in te lezen texture veranderd van GL_HALF_FLOAT_NV naar GL_FLOAT (en alle halfs ook eerst geconverteerd naar floats uiteraard) Dit blijkt echter nog geen oplossing te zijn voor het probleem met het inlezen van het texture. Ik zoek uiteraard naarstig verder.

Toevoeging: inhoudstafel

No comments: