| #version 310 es |
| |
| struct Simulation { |
| uint i; |
| uint pad; |
| uint pad_1; |
| uint pad_2; |
| }; |
| |
| struct Particle { |
| vec3 position[8]; |
| float lifetime; |
| uint pad; |
| uint pad_1; |
| uint pad_2; |
| vec4 color; |
| vec3 velocity; |
| uint pad_3; |
| }; |
| |
| layout(binding = 3, std430) buffer Particles_ssbo { |
| Particle p[]; |
| } particles; |
| |
| layout(binding = 4, std140) uniform sim_block_ubo { |
| Simulation inner; |
| } sim; |
| |
| void tint_symbol() { |
| Particle particle = particles.p[0]; |
| particle.position[sim.inner.i] = particle.position[sim.inner.i]; |
| } |
| |
| layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; |
| void main() { |
| tint_symbol(); |
| return; |
| } |