„Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.” változatai közötti eltérés

A VIK Wikiből
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)
 
(11 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 memóriaterület", ami pont a három állapot (state.matrix.mvp, state.matrix.modelview, state.modelview.intrans) é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.<br />
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 />
<br />
...<br />
 
uniform float4x4 MVP : state.matrix.mvp<br />
void VertexShader (<br />
uniform float4x4 MV : state.matrix.modelview<br />
in float4 position : POSITION,<br />
uniform float4x4 MVIT : state.matrix.modelview.invtrans<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 />
hposition = mul(MVP, position);<br />
float4 cp = mul(MV, position);<br />
view = mul(MV, position);<br />
cnormal = mul(MVIT, normal).xyz;<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 ==
22. 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.

  1. Hatásmetszet (Talán, nem biztos.)
  2. CSG
  3. Z-fighting