o.position = (0, 0, 0, 0);
if (i.texCoords.x > 0){o.position.x += i.binormal.y;} else{o.position.x -= i.binormal.y;}
if (i.texCoords.y > 0){o.position.y += i.binormal.y;} else{o.position.y -= i.binormal.y;}
|
бранчинг (ифы) медленная штука, а в шейдерах очень медленная.
может как-то так?
o.position.xy += sign(i.texCoords.xy) * i.binormal.xy;