Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| shader:start [2025/05/28 09:52] – [Circle] mh | shader:start [2025/06/02 21:23] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 94: | Line 94: | ||
| This behavior can lead to unexpected behaviors and colors in certain regions where multiple subtractions/ | This behavior can lead to unexpected behaviors and colors in certain regions where multiple subtractions/ | ||
| + | |||
| + | ==== Rectangle ==== | ||
| + | |||
| + | To draw a rectangle we can use a function that draws bands using **'' | ||
| + | |||
| + | The band function would look like this | ||
| + | |||
| + | <code glsl> | ||
| + | float drawBand(float t, float start, float end, float blur){ | ||
| + | float step1 = smoothstep(start-blur, | ||
| + | float step2 = smoothstep(end+blur, | ||
| + | | ||
| + | return step1*step2; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Then get a rectangle by calling this function twice on the x and y : | ||
| + | |||
| + | <code glsl> | ||
| + | float mask = 0.; | ||
| + | float b = .01; | ||
| + | | ||
| + | mask = drawBand(uv.x, | ||
| + | mask *= drawBand(uv.y, | ||
| + | </ | ||
| ==== Adding Color ==== | ==== Adding Color ==== | ||