2016-03-23 18 views
0

Bu satırları içeren bir shader için çevrimiçi bazı kod bulundu:HLSL'de> aritmetik operatörü ne yapar?

(IN.uv_MainTex.x > _RectMinX) boolean olarak değerlendirirsiniz ama burada şamandıra preRect için sayısal bir değer atama oluyor C tabanlı dilde
float2 preRect; 
preRect.x = (IN.uv_MainTex.x > _RectMinX) - (IN.uv_MainTex.x > _RectMaxX); 

.

Bu satır & yapıyor ne yapıyor?

Teşekkürler

+0

IIRC 'x> y', y'den büyükse x 'i almak için bir kısa yoldur, aksi halde y'. –

+0

Mükemmel, teşekkürler – Absinthe

cevap

1

Yukarıdaki yorum yanlış.

dönüş (a> b) - c;

dönüş (? A> b 1.0f: 0.0f)

eşdeğerdir - c;

+0

Teşekkürler. Cevabın ne olabileceğini bildiğimden beri bunu oy vermek için başkalarına bırakacağım :) – Absinthe

+0

Yanlış yorumumdan korkuyordum. Bu nedenle IIRC sorumluluk reddi ve benden cevap yok. :) –