Skip to content

Commit 4882ea3

Browse files
committed
Clean up glow shader
1 parent e80a1e4 commit 4882ea3

File tree

2 files changed

+16
-40
lines changed

2 files changed

+16
-40
lines changed
File renamed without changes.

my_glow_shader.hlsl

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -41,27 +41,6 @@ VertDataOut VSDefault(VertDataIn v_in)
4141
return vert_out;
4242
}
4343

44-
float3 sdCircle(float2 uv, float r, float2 offset) {
45-
46-
float x = uv.x - offset.x,
47-
y = uv.y - offset.y;
48-
return length(float2(x,y)) - r;
49-
}
50-
51-
float2 toPolar(float2 cartesian){
52-
float cdistance = length(cartesian);
53-
float angle = atan2(cartesian.y, cartesian.x);
54-
return float2(angle / 3.14159265, cdistance);
55-
}
56-
57-
float2 rotate(float2 samplePosition, float rotation){
58-
const float PI = 3.14159;
59-
float angle = rotation * PI * 2 * -1;
60-
float sine, cosine;
61-
sincos(angle, sine, cosine);
62-
return float2(cosine * samplePosition.x + sine * samplePosition.y, cosine * samplePosition.y - sine * samplePosition.x);
63-
}
64-
6544
float sdBox(float2 p, float2 b )
6645
{
6746
float2 d = abs(p)-b;
@@ -100,12 +79,9 @@ float opOnionTri(float2 p,float r, float cr)
10079
return abs(sdEquilateralTriangle(p,cr)) - r;
10180
}
10281

103-
float3 drawScene2(float2 uv,float4 bg) {
104-
float3 outer_col = float3(r1,g1,b1);
105-
float3 inner_col = float3(r2,g2,b2);
82+
float drawScene2(float2 uv) {
10683
float cr = rsize;
10784
float res;
108-
float2 uv2 = toPolar(uv);
10985

11086
if (idsd>0.0) {
11187
res = sdEquilateralTriangle(uv,cr);
@@ -123,25 +99,25 @@ float3 drawScene2(float2 uv,float4 bg) {
12399
}
124100

125101
res = smoothstep(0.,cr*0.4,res);
126-
float inner_blur = smoothstep(0.0,0.06,2.0 * abs(res));
127-
outer_col = lerp(inner_col, outer_col, inner_blur);
128-
outer_col = lerp(outer_col,bg.rgb,res);
129-
return outer_col;
130-
102+
return res;
131103
}
132104

133105
float4 PassThrough(VertDataOut v_in) : TARGET
134106
{
135-
float2 uv = v_in.uv;
136-
float4 orig = image.Sample(textureSampler, uv);
137-
uv -= 0.5;
138-
float2 mousePos = float2(mouse_x,mouse_y);
139-
uv -= mousePos - 0.5;
140-
float aspect_ratio = float(width)/float(height);
141-
uv.x *= aspect_ratio;
142-
//uv =rotate(uv,toPolar(mousePos).y-itime*.25);
143-
float3 col = drawScene2(uv,orig);
144-
return float4(col,1.0);
107+
float3 outer_col = float3(r1,g1,b1);
108+
float3 inner_col = float3(r2,g2,b2);
109+
float2 uv = v_in.uv;
110+
float4 orig = image.Sample(textureSampler, uv);
111+
uv -= 0.5;
112+
float2 mousePos = float2(mouse_x,mouse_y);
113+
uv -= mousePos - 0.5;
114+
float aspect_ratio = float(width)/float(height);
115+
uv.x *= aspect_ratio;
116+
float res = drawScene2(uv);
117+
float inner_blur = smoothstep(0.0,0.06,2.0 * abs(res));
118+
outer_col = saturate(lerp(inner_col, outer_col, inner_blur));
119+
outer_col = lerp(outer_col,orig.rgb,res);
120+
return float4(outer_col,1.0);
145121
}
146122

147123
technique Draw

0 commit comments

Comments
 (0)