2023-01-06 22:17:42 +00:00
|
|
|
#import gradient
|
|
|
|
|
|
|
|
override fn gradient::find_t(focal_point: f32, uv: vec2<f32>) -> f32 {
|
2023-01-28 23:09:08 +00:00
|
|
|
var t = uv.x;
|
|
|
|
#if gradient_repeat_mode == 1
|
|
|
|
// Mirror
|
|
|
|
if( t < 0.0 ) {
|
|
|
|
t = -t;
|
|
|
|
}
|
|
|
|
if ( (i32(t) & 1) == 0 ) {
|
|
|
|
t = fract(t);
|
|
|
|
} else {
|
|
|
|
t = 1.0 - fract(t);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#if gradient_repeat_mode == 2
|
|
|
|
// Repeat
|
|
|
|
t = fract(t);
|
|
|
|
#endif
|
|
|
|
#if gradient_repeat_mode == 3
|
|
|
|
// Clamp
|
|
|
|
t = clamp(t, 0.0, 1.0);
|
|
|
|
#endif
|
|
|
|
return t;
|
2023-01-06 22:17:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@vertex
|
2023-01-20 21:12:48 +00:00
|
|
|
fn main_vertex(in: gradient::GradientVertexInput) -> gradient::VertexOutput {
|
2023-01-06 22:17:42 +00:00
|
|
|
return gradient::main_vertex(in);
|
|
|
|
}
|
|
|
|
|
|
|
|
@fragment
|
|
|
|
fn main_fragment(in: gradient::VertexOutput) -> @location(0) vec4<f32> {
|
|
|
|
return gradient::main_fragment(in);
|
2022-12-25 00:20:57 +00:00
|
|
|
}
|