diff options
| author | Ray <[email protected]> | 2021-03-17 19:18:53 +0100 |
|---|---|---|
| committer | Ray <[email protected]> | 2021-03-17 19:18:53 +0100 |
| commit | 4aee0ea194970ba6e050aea1add9f4f598c2ddde (patch) | |
| tree | cca9aae2e16b1c77b37384c8b6512087fa123ae5 /examples/web/shaders/shaders_hot_reloading.data | |
| parent | 9ab5e45031a38b5fbc32a2f28a429edf5ccbfc27 (diff) | |
| download | raylib.com-4aee0ea194970ba6e050aea1add9f4f598c2ddde.tar.gz raylib.com-4aee0ea194970ba6e050aea1add9f4f598c2ddde.zip | |
Reviewed some examples for web
Diffstat (limited to 'examples/web/shaders/shaders_hot_reloading.data')
| -rw-r--r-- | examples/web/shaders/shaders_hot_reloading.data | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/web/shaders/shaders_hot_reloading.data b/examples/web/shaders/shaders_hot_reloading.data new file mode 100644 index 0000000..eda00ae --- /dev/null +++ b/examples/web/shaders/shaders_hot_reloading.data @@ -0,0 +1,39 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; // Texture coordinates (sampler2D) +varying vec4 fragColor; // Tint color + +// Uniform inputs +uniform vec2 resolution; // Viewport resolution (in pixels) +uniform vec2 mouse; // Mouse pixel xy coordinates +uniform float time; // Total run time (in secods) + +// Draw circle +vec4 DrawCircle(vec2 fragCoord, vec2 position, float radius, vec3 color) +{ + float d = length(position - fragCoord) - radius; + float t = clamp(d, 0.0, 1.0); + return vec4(color, 1.0 - t); +} + +void main() +{ + vec2 fragCoord = gl_FragCoord.xy; + vec2 position = vec2(mouse.x, resolution.y - mouse.y); + float radius = 40.0; + + // Draw background layer + vec4 colorA = vec4(0.2,0.2,0.8, 1.0); + vec4 colorB = vec4(1.0,0.7,0.2, 1.0); + vec4 layer1 = mix(colorA, colorB, abs(sin(time*0.1))); + + // Draw circle layer + vec3 color = vec3(0.9, 0.16, 0.21); + vec4 layer2 = DrawCircle(fragCoord, position, radius, color); + + // Blend the two layers + gl_FragColor = mix(layer1, layer2, layer2.a); +} |
