feature/imgui-sdl
points-test
|
Last change
on this file since db06984 was db06984, checked in by Dmitry Portnoy <dmp1488@…>, 7 years ago |
|
Create a particle system that will later be used to render exploding asteroids
|
-
Property mode
set to
100644
|
|
File size:
537 bytes
|
| Rev | Line | |
|---|
| [db06984] | 1 | #version 410 core
|
|---|
| 2 |
|
|---|
| 3 | uniform float elapsed_system_time;
|
|---|
| 4 |
|
|---|
| 5 | layout (location = 0) in vec3 v_i; // initial velocity
|
|---|
| 6 | layout (location = 1) in float start_time;
|
|---|
| 7 |
|
|---|
| 8 | out float opacity;
|
|---|
| 9 |
|
|---|
| 10 | void main() {
|
|---|
| 11 | float t = elapsed_system_time - start_time;
|
|---|
| 12 | t = mod(t, 3.0); // allow time to loop around so particle emitter keeps going
|
|---|
| 13 |
|
|---|
| 14 | vec3 p = vec3(0.0, 0.0, 0.0);
|
|---|
| 15 | vec3 a = vec3(0.0, -1.0, 0.0); // gravity
|
|---|
| 16 | p += v_i * t + 0.5 * a * t * t;
|
|---|
| 17 |
|
|---|
| 18 | opacity = 1.0 - (t / 3.0);
|
|---|
| 19 |
|
|---|
| 20 | gl_Position = vec4(p, 1.0);
|
|---|
| 21 | gl_PointSize = 15.0; // size in pixels
|
|---|
| 22 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.