From 21edd2596ff657fc2de61e8848e74cf3c5c9ef01 Mon Sep 17 00:00:00 2001 From: grm Date: Fri, 13 Mar 2026 22:05:58 +0200 Subject: not sure --- src/shader.comp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/shader.comp (limited to 'src/shader.comp') diff --git a/src/shader.comp b/src/shader.comp new file mode 100644 index 0000000..0e89702 --- /dev/null +++ b/src/shader.comp @@ -0,0 +1,34 @@ +// -*- mode: glsl;-*- +#version 450 + +layout (binding = 0) uniform ParameterUBO { + float deltaTime; +} ubo; + +struct Particle { + vec2 position; + vec2 velocity; + vec4 color; +}; + +layout(std140, binding = 1) readonly buffer ParticleSSBOIn { + Particle particlesIn[ ]; +}; + +layout(std140, binding = 2) buffer ParticleSSBOOut { + Particle particlesOut[ ]; +}; + +layout (local_size_x = 256, local_size_y = 1, local_size_z = 1) in; + +void main() +{ + uint index = gl_GlobalInvocationID.x; + + Particle particleIn = particlesIn[index]; + + particlesOut[index].position = particleIn.position + particleIn.velocity.xy * ubo.deltaTime; + particlesOut[index].velocity = particleIn.velocity; + particlesOut[index].color = particleIn.color; +} + -- cgit v1.2.3