Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.

A VIK Wikiből
A lap korábbi változatát látod, amilyen Kmute90 (vitalap | szerkesztései) 2013. június 19., 13:26-kor történt szerkesztése után volt. (→‎2. feladat)

1. feladat

Adott volt egy C++ kód, ami a visszaverődést, beletörést és a Fresnel függvényt valósította meg a Snellius-Descartes törvény alapján.

Módosítsa a kódot úgy, hogy a S-D helyett egy Donatellácska-Győzike törvényt használjon, ami annyiban tér el a S-D-től, hogy minden sin helyett cos áll. (15p)

2. feladat

Vertex shaderes feladat. Adott egy kódrészlet, "meghibásodott az a memóriaterület", ami pont a három állapot (state.matrix.mvp, state.matrix.modelview, state.modelview.invtrans) értékét tárolja, alakítsuk át a kódot úgy, hogy az értékük nélkül is ugyan azt a képet kapjuk.

...
uniform float4x4 MVP : state.matrix.mvp
uniform float4x4 MV : state.matrix.modelview
uniform float4x4 MVIT : state.matrix.modelview.invtrans
...
hposition = mul(MVP, position);
float4 cp = mul(MV, position);
cnormal = mul(MVIT, normal).xyz;
...

Bónusz kérdések

Darabja 1 pontért a hőségre való tekintettel.

  1. CSG
  2. Z-fighting