explosions make light now.

This commit is contained in:
Andreas Ortmann 2016-10-03 10:47:02 +02:00
parent 544282dd84
commit fc2d4c5028
7 changed files with 81 additions and 13 deletions

View file

@ -10,6 +10,10 @@ uniform vec3 materialColor;
uniform int materialKind;
uniform int materialSeed;
uniform int explLightsNum;
uniform vec3 explLightsPos[10];
uniform float explLightsIntensities[10];
void main()
{
vec3 Eye = normalize(-vertex);
@ -27,7 +31,31 @@ void main()
vec3 color = materialColor;
color = max(vec3(0.0), min(vec3(1.0), color));
vec3 IDiffuse = vec3(color) * lightColor * max(dot(normal, lightDirection), 0.0);
//vec3 light = lightColor * max(dot(normal, lightDirection), 0.0);
vec3 light = vec3(0.0);
int i;
for (i=0; i<explLightsNum; i++) {
vec3 explLightColor = vec3(1.0, 0.8, 0.3);
vec3 diff = vertex - explLightsPos[i];
float l = 10.0*length(diff);
float dir = max(0.0, -dot(normal, diff));
float dp = max(0.0, 1.0-l);
float intensity = 10.0;
if (dp == 0.0) {
intensity *= dir;
} else {
intensity *= dp;
}
intensity /= 1.0 + 0.5*l*l;
light += intensity * pow(explLightsIntensities[i], 2.0) * explLightColor;
}
light = max(vec3(0.0), light);
vec3 IDiffuse = vec3(color) * light;
// TODO make instensity/exponent as parameter
//vec3 ISpecular = lightColor * 5.0 * pow(max(dot(Reflected, Eye), 0.0), 2.0);

View file

@ -1,5 +1,4 @@
#version 120
varying vec3 position;
varying vec2 vertex;
varying vec3 velocity;
varying float decay;

View file

@ -14,7 +14,6 @@ varying float decay;
varying vec3 velocity;
varying vec2 vertex;
varying float explCenterDist;
varying vec3 position;
uniform float aspectRatio;
@ -47,7 +46,6 @@ void main()
vertex = base.xy;
velocity = in_velocity;
position = in_position;
explCenterDist = length(explCenter - offset);
}