@@ -164,6 +164,32 @@ float mix (float x, float y, float a) BUILTIN;
164164closure color mix (closure color x , closure color y , float a ) { return x * (1 - a ) + y * a ; }
165165closure color mix (closure color x , closure color y , color a ) { return x * (1 - a ) + y * a ; }
166166
167+ #if 0
168+ normal unmix (normal x , normal y , normal a ) { return (a - x ) / (y - x ); }
169+ normal unmix (normal x , normal y , float a ) { return (a - x ) / (y - x ); }
170+ vector unmix (vector x , vector y , vector a ) { return (a - x ) / (y - x ); }
171+ vector unmix (vector x , vector y , float a ) { return (a - x ) / (y - x ); }
172+ point unmix (point x , point y , point a ) { return (a - x ) / (y - x ); }
173+ point unmix (point x , point y , float a ) { return (a - x ) / (y - x ); }
174+ color unmix (color x , color y , color a ) { return (a - x ) / (y - x ); }
175+ color unmix (color x , color y , float a ) { return (a - x ) / (y - x ); }
176+ float unmix (float x , float y , float a ) { return (a - x ) / (y - x ); }
177+ #else
178+ normal unmix (normal x , normal y , normal a ) BUILTIN ;
179+ normal unmix (normal x , normal y , float a ) BUILTIN ;
180+ vector unmix (vector x , vector y , vector a ) BUILTIN ;
181+ vector unmix (vector x , vector y , float a ) BUILTIN ;
182+ point unmix (point x , point y , point a ) BUILTIN ;
183+ point unmix (point x , point y , float a ) BUILTIN ;
184+ color unmix (color x , color y , color a ) BUILTIN ;
185+ color unmix (color x , color y , float a ) BUILTIN ;
186+ float unmix (float x , float y , float a ) BUILTIN ;
187+ #endif
188+ closure color unmix (closure color x , closure color y , float a ) { return (a - x ) / (y - x ); }
189+ closure color unmix (closure color x , closure color y , color a ) { return (a - x ) / (y - x ); }
190+
191+ // TODO: ADD REMAP FROM MIX AND UNMIX
192+
167193normal select (normal x , normal y , normal cond ) BUILTIN ;
168194vector select (vector x , vector y , vector cond ) BUILTIN ;
169195point select (point x , point y , point cond ) BUILTIN ;
0 commit comments