@bloopjs/toodle / backends/webgl2/glsl/quad.glsl / defaultFragmentShader
Variable: defaultFragmentShader
constdefaultFragmentShader: "#version 300 es\nprecision highp float;\nprecision highp sampler2DArray;\n\n// Engine uniforms\nuniform vec2 u_resolution;\n\n// Texture array sampler\nuniform sampler2DArray u_textureArray;\n\n// Inputs from vertex shader\nin vec4 v_uv; // xy = atlas uv, zw = original uv\nin vec4 v_tint;\nflat in int v_atlasIndex;\n\n// Output color\nout vec4 fragColor;\n\nvoid main() {\n vec2 atlasUv = v_uv.xy;\n vec2 originalUv = v_uv.zw;\n\n if (v_atlasIndex == 1000) {\n // Rectangle - return solid color\n fragColor = vec4(1.0, 1.0, 1.0, 1.0) * v_tint;\n } else if (v_atlasIndex == 1001) {\n // Circle\n float edgeWidth = 4.0 / max(u_resolution.x, u_resolution.y);\n float centerDistance = 2.0 * distance(vec2(0.5, 0.5), originalUv);\n float alpha = 1.0 - smoothstep(1.0 - edgeWidth, 1.0 + edgeWidth, centerDistance);\n fragColor = vec4(v_tint.rgb, alpha * v_tint.a);\n } else {\n // Texture - sample from texture array\n vec4 color = texture(u_textureArray, vec3(atlasUv, float(v_atlasIndex)));\n fragColor = color * v_tint;\n }\n}\n" =fragmentShader
Defined in: backends/webgl2/glsl/quad.glsl.ts:114
Alias for users who want to extend the default shader