Fry3DX/engine/shaders/sprite.frag
Nexoniarz f3e8eca87b Fry3DX 0.4: an easy 3D modeller
Shapes with live settings, shape editing, knife and hole tools, drawing
shapes onto other objects, combining objects (add / subtract / overlap),
copies, thickness, painting with stickers and layers, a Layout tab, a
Print tab with checks, packed .fry files with autosave, export to GLB,
glTF, FBX, OBJ, 3MF, STL and PLY, folders in Layers, its own crash
screen, and a website for GitHub Pages in docs/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
2026-10-19 21:18:35 +02:00

19 lines
625 B
GLSL

#version 460
// Particles: unlit, the texture times the colour (fire, sparks, flashes added on; smoke blended).
#include "backend.glsl"
PUSH_BLOCK {
mat4 viewProj;
vec4 posSize;
vec4 color;
vec4 right;
vec4 up;
} pc;
layout(location = 0) in vec2 v_uv;
layout(location = 0) out vec4 o_color;
void main() {
vec4 t = sampleTex(floatBitsToUint(pc.up.w), v_uv);
// Block compression leaves a little alpha where there should be none; bright sprites
// would show it as a square: cut it.
float a = clamp((t.a - 0.03) / 0.97, 0.0, 1.0);
o_color = vec4(t.rgb * pc.color.rgb, a * pc.color.a);
}