„SzgGrafVizsga20120613” változatai közötti eltérés
| 22. sor: | 22. sor: | ||
Egy megoldás, amely közel jó eredményt ad:<br/> | Egy megoldás, amely közel jó eredményt ad:<br/> | ||
Csúcspont árnyaló:<br/> | '''Csúcspont árnyaló:'''<br/> | ||
void vertex(in float4 position : POSITION,<br/> | void vertex(in float4 position : POSITION,<br/> | ||
| 28. sor: | 28. sor: | ||
out float4 posTexcoord : TEXCOORD0)<br/> | out float4 posTexcoord : TEXCOORD0)<br/> | ||
{<br/> | {<br/> | ||
if (position.x == 0.0) | if (position.x == 0.0) //x irányú nyújtás<br/> | ||
position.x = -1.0;<br/> | position.x = -1.0;<br/> | ||
<br/> | <br/> | ||
if (position.y == 0.0) | if (position.y == 0.0) //y irányú nyújtás<br/> | ||
position.y = -1.0;<br/> | position.y = -1.0;<br/> | ||
<br/> | <br/> | ||
oPosition = position; | oPosition = position; //végső pozíció kiadása (erre rajzol majd)<br/> | ||
posTexcoord = oPosition; | posTexcoord = oPosition; //pozíció a fragmens shadernak<br/> | ||
}<br/> | }<br/> | ||
<br/> | <br/> | ||
Képpont árnyaló:<br/> | '''Képpont árnyaló:'''<br/> | ||
<br/> | <br/> | ||
void fragment(in float4 position : TEXCOORD0,<br/> | void fragment(in float4 position : TEXCOORD0,<br/> | ||
out float4 oColor : COLOR)<br/> | |||
{<br/> | {<br/> | ||
float P = position.x * position.x + position.y * position.y; | float P = position.x * position.x + position.y * position.y; //x<sup>2</sup> + y<sup>2</sup><br/> | ||
float innerR = 0.7 * 0.7; | float innerR = 0.7 * 0.7; //r<sup>2</sup><br/> | ||
float outerR = 0.9 * 0.9; | float outerR = 0.9 * 0.9; //R<sup>2</sup><br/> | ||
<br/> | <br/> | ||
if (P >= innerR && P <= outerR) | if (P >= innerR && P <= outerR) //a pontnak az r sugarú körön kívül és az R sugarú körön belül kell lennie<br/> | ||
oColor = float4(1, 1, 1, 1);<br/> | oColor = float4(1, 1, 1, 1);<br/> | ||
else<br/> | else<br/> | ||