„SzgGrafVizsga20120613” változatai közötti eltérés

Gabesz852 (vitalap | szerkesztései)
Gabesz852 (vitalap | szerkesztései)
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)                     //x irányú nyújtás<br/>
if (position.x == 0.0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//x irányú nyújtás<br/>
position.x = -1.0;<br/>
position.x = -1.0;<br/>
<br/>
<br/>
if (position.y == 0.0)                     //y irányú nyújtás<br/>
if (position.y == 0.0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//y irányú nyújtás<br/>
position.y = -1.0;<br/>
position.y = -1.0;<br/>
<br/>
<br/>
oPosition = position;                       //végső pozíció kiadása (erre rajzol majd)<br/>
oPosition = position;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//végső pozíció kiadása (erre rajzol majd)<br/>
posTexcoord = oPosition;                   //pozíció a fragmens shadernak<br/>
posTexcoord = oPosition;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//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/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out float4 oColor : COLOR)<br/>
{<br/>
{<br/>
float P = position.x * position.x + position.y * position.y;       //x<sup>2</sup> + y<sup>2</sup><br/>
float P = position.x * position.x + position.y * position.y;&nbsp;&nbsp;&nbsp;&nbsp;//x<sup>2</sup> + y<sup>2</sup><br/>
float innerR = 0.7 * 0.7;                                         //r<sup>2</sup><br/>
float innerR = 0.7 * 0.7;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//r<sup>2</sup><br/>
float outerR = 0.9 * 0.9;                                         //R<sup>2</sup><br/>
float outerR = 0.9 * 0.9;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//R<sup>2</sup><br/>
<br/>
<br/>
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/>
if (P >= innerR && P <= outerR)&nbsp;&nbsp;&nbsp;//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/>
A lap eredeti címe: „https://vik.wiki/SzgGrafVizsga20120613