2016-03-23 5 views
0

fand ich einige Codes online für eine Shader dieser Zeilen enthält:Was macht der> arithmetische Operator in HLSL?

float2 preRect; 
preRect.x = (IN.uv_MainTex.x > _RectMinX) - (IN.uv_MainTex.x > _RectMaxX); 

In C-basierten Sprachen (IN.uv_MainTex.x > _RectMinX) als boolean bewerten würde, aber hier ist es, einen numerischen Wert mit dem Schwimmer preRect zuweisen.

Was macht diese Linie? & Wie macht es das?

Danke

+0

IIRC 'x> y' ist eine Abkürzung für' nimm x, wenn es größer als y ist, sonst y '. –

+0

Perfekt, danke – Absinthe

Antwort

1

Der Kommentar oben links ist falsch.

zurück (a> b) - c;

entspricht:

return (a> b 1.0f: 0.0f) - c;

+0

Danke. Da ich keine Ahnung habe, wie die Antwort lauten könnte, überlasse ich dies anderen, um abzustimmen :) – Absinthe

+0

Ich hatte Angst, dass mein Kommentar falsch ist. Daher der IIRC Disclaimer und keine Antwort von mir. :) –