Function overload check cleanup. Added if statement to parsing.
This commit is contained in:
39
test/colorful_circle.ink
Normal file
39
test/colorful_circle.ink
Normal file
@@ -0,0 +1,39 @@
|
||||
prop :: properties {
|
||||
time : float @time;
|
||||
resolution : float2 @resolution;
|
||||
}
|
||||
|
||||
vertex main :: (pos : float3 @position) -> float4 @position {
|
||||
return float4(pos, 1.0);
|
||||
}
|
||||
|
||||
pixel main :: (pos : float4 @outposition) -> float4 @target {
|
||||
p := float2(2.0 * pos.x - prop.resolution.x, 2.0 * pos.y - prop.resolution.y) / prop.resolution.y;
|
||||
tau := 3.1415926535 * 2.0;
|
||||
a := atan(p.x, p.y);
|
||||
r := length(p) * 0.75;
|
||||
|
||||
uv := float2(a / tau, r);
|
||||
|
||||
x_col := (uv.x - (p.time / 3.0)) * 3.0;
|
||||
x_col = mod(x_col, 3.0);
|
||||
hor_colour := float3(0.25, 0.25, 0.25);
|
||||
|
||||
if x_col < 1.0 {
|
||||
horColour.r += 1.0 - xCol;
|
||||
horColour.g += xCol;
|
||||
} else if x_col < 2.0 {
|
||||
xCol -= 1.0;
|
||||
horColour.g += 1.0 - xCol;
|
||||
horColour.b += xCol;
|
||||
} else {
|
||||
x_col -= 2.0;
|
||||
hor_colour.b += 1.0 - x_col;
|
||||
hor_colour.r += x_col;
|
||||
}
|
||||
|
||||
uv = (2.0 * uv) - 1.0;
|
||||
beam_width = (0.7+0.5*cos(uv.x*10.0*tau*0.15*clamp(floor(5.0 + 10.0*cos(iTime)), 0.0, 10.0))) * abs(1.0 / (30.0 * uv.y));
|
||||
hor_beam = float3(beam_width);
|
||||
result := float4(((hor_beam) * hor_colour), 1.0);
|
||||
}
|
||||
Reference in New Issue
Block a user