#define C0(U,r,blur) smoothstep(r, r - blur, length(U) )
float C1(vec2 U, float r, float blur)
{return C0(U,r,blur);}
макрос C0 и функция C1 дают разный результат при вызове, как это возможно?
результат разный в том что одна(C1) дажет 0(нель) там где другая(C1) дает 1(еденицу)
пример вызова
C1( U, .03 * 5., .003 * 5.); //тут 0
C0( U, .03 * 5., .003 * 5.); //тут 1
это нвидия-компилятор-C
убедиться можно тут(работает только в линуксе, из браузера) https://www.shadertoy.com/view/WdX3zX
как можно было так написать компилятор, чтоб он так делал, кто знает?