„Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.” változatai közötti eltérés
(Új oldal, tartalma: „==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ó…”) |
a (Hryghr átnevezte a(z) Grafika vizsga 20130619 lapot Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19. lapra átirányítás nélkül) |
||
(13 közbenső módosítás, amit 3 másik szerkesztő végzett, nincs mutatva) | |||
4. sor: | 4. sor: | ||
;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) | ;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) | ||
Megjegyzés: Konkrét sinus egy se volt benne (így leírva), inkább azonosságok (is) kellettek, pl.: 1 - cosa*cosa, azaz 1 - cos négyzet, ami nem más mint a sin négyzet, a sin négyzet + cos négyzet = 1 átalakításból.<br /><br /> | |||
==2. feladat== | ==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. (Adott volt a CPU program(glscale+gluLookAt+glvertex utasítások voltak főleg), meg a Vertex shader program, de csak az utóbbin változtathattunk. + Ismeretlen fragmens shader) (15pont) <br /> | |||
<br /> | |||
void VertexShader (<br /> | |||
in float4 position : POSITION,<br /> | |||
in float3 normal : NORMAL,<br /> | |||
in ... view : VIEW, //? Nem biztos<br /> | |||
uniform float4x4 MVP : state.matrix.mvp,<br /> | |||
uniform float4x4 MV : state.matrix.modelview,<br /> | |||
uniform float4x4 MVIT : state.matrix.modelview.invtrans,<br /> | |||
out float4 hposition : POSITION,<br /> | |||
out ..., <br /> | |||
out ...) {<br /> | |||
hposition = mul(MVP, position);<br /> | |||
view = mul(MV, position);<br /> | |||
cnormal = mul(MVIT, normal).xyz; //Szerintem ez nem így volt, de nem emlékszem rá, hogy mi volt itt pontosan<br /> | |||
} | |||
== Bónusz kérdések == | == Bónusz kérdések == | ||
13. sor: | 29. sor: | ||
Darabja 1 pontért a hőségre való tekintettel. | Darabja 1 pontért a hőségre való tekintettel. | ||
# | # Hatásmetszet (Talán, nem biztos.) | ||
# | # | ||
# CSG | # CSG | ||
# Z-fighting | # Z-fighting | ||
# | # | ||
[[Category:Infoalap]] |
A lap jelenlegi, 2014. január 3., 22:08-kori változata
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)
Megjegyzés: Konkrét sinus egy se volt benne (így leírva), inkább azonosságok (is) kellettek, pl.: 1 - cosa*cosa, azaz 1 - cos négyzet, ami nem más mint a sin négyzet, a sin négyzet + cos négyzet = 1 átalakításból.
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. (Adott volt a CPU program(glscale+gluLookAt+glvertex utasítások voltak főleg), meg a Vertex shader program, de csak az utóbbin változtathattunk. + Ismeretlen fragmens shader) (15pont)
void VertexShader (
in float4 position : POSITION,
in float3 normal : NORMAL,
in ... view : VIEW, //? Nem biztos
uniform float4x4 MVP : state.matrix.mvp,
uniform float4x4 MV : state.matrix.modelview,
uniform float4x4 MVIT : state.matrix.modelview.invtrans,
out float4 hposition : POSITION,
out ...,
out ...) {
hposition = mul(MVP, position);
view = mul(MV, position);
cnormal = mul(MVIT, normal).xyz; //Szerintem ez nem így volt, de nem emlékszem rá, hogy mi volt itt pontosan
}
Bónusz kérdések
Darabja 1 pontért a hőségre való tekintettel.
- Hatásmetszet (Talán, nem biztos.)
- CSG
- Z-fighting