12345678910111213141516171819202122232425262728293031323334 |
- #version 300 es
- uniform float timeDelta;
- // Particles state
- in vec3 position;
- in float age;
- in float life;
- in vec3 velocity;
- // Output
- out vec3 outPosition;
- out float outAge;
- out float outLife;
- out vec3 outVelocity;
- void main() {
- if (age >= life) {
- // Create the particle at origin
- outPosition = vec3(0, 0, 0);
- // Age and life
- outAge = 0.0;
- outLife = life;
- // Initial velocity
- outVelocity = vec3(0, 1, 0);
- } else {
- outPosition = position + velocity * timeDelta;
- outAge = age + timeDelta;
- outLife = life;
- outVelocity = velocity;
- }
- }
|