diff options
Diffstat (limited to 'src/shaders/stars.vert')
| -rw-r--r-- | src/shaders/stars.vert | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/shaders/stars.vert b/src/shaders/stars.vert new file mode 100644 index 0000000..8737482 --- /dev/null +++ b/src/shaders/stars.vert @@ -0,0 +1,30 @@ +precision highp float; +attribute vec3 stars; +uniform float time; +uniform float world_x; +uniform float world_y; +uniform float world_x_period; +uniform float world_y_period; +uniform vec4 lamp1; +uniform vec4 lamp2; +uniform vec4 lamp3; +uniform vec4 lamp4; +uniform vec4 lamp5; +uniform vec4 lamp6; +uniform vec4 lamp7; +uniform vec4 lamp8; +uniform mat4 MV; +uniform mat4 P; +void main() { + float world_x_off = mod(world_x, world_x_period); + float world_y_off = mod(world_y, world_y_period); + vec4 pos = P * MV * vec4(stars.x - world_x_off, stars.y - world_y_off, -0.1, 1.0); + gl_Position = pos; + float intensity = sin(stars.z + time) * cos(time) + 1.; + /* + if(distance(pos.xyz, lamp1.xyz) < 80.) + intensity = 0.; + */ + gl_PointSize = pow(intensity, 2.) * stars.z * 0.3; + //gl_PointSize = distance(pos.xyz, lamp1.xyz); +} |
