mirror of
https://github.com/quantum5/punyverse.git
synced 2025-04-24 13:11:57 -04:00
Fixup: specular lighting.
This commit is contained in:
parent
800ef38f19
commit
692d2f42c8
|
@ -356,10 +356,10 @@ class SphericalBody(Body):
|
|||
shader.uniform_bool('u_planet.hasSpecular', self.specular_texture)
|
||||
if self.specular_texture:
|
||||
glActiveTexture(GL_TEXTURE2)
|
||||
glBindTexture(GL_TEXTURE_2D, self.emission_texture)
|
||||
glBindTexture(GL_TEXTURE_2D, self.specular_texture)
|
||||
shader.uniform_texture('u_planet.specularMap', 2)
|
||||
shader.uniform_vec3('u_planet.specular', 2, 2, 2)
|
||||
shader.uniform_float('u_planet.shininess', 5)
|
||||
shader.uniform_vec3('u_planet.specular', 1, 1, 1)
|
||||
shader.uniform_float('u_planet.shininess', 10)
|
||||
else:
|
||||
shader.uniform_vec3('u_planet.specular', 0, 0, 0)
|
||||
shader.uniform_float('u_planet.shininess', 0)
|
||||
|
|
|
@ -47,7 +47,7 @@ void main() {
|
|||
vec3 ambient = u_planet.ambient * u_sun.ambient * diffuse;
|
||||
diffuse *= u_planet.diffuse * u_sun.diffuse * diffuseIntensity;
|
||||
emission *= u_planet.emission * (1 - min(diffuseIntensity * 2, 1));
|
||||
specular *= u_planet.specular * u_sun.specular * max(shininess, 0);
|
||||
specular *= u_planet.specular * u_sun.specular * max(shininess, 0) * diffuseIntensity;
|
||||
|
||||
gl_FragColor = vec4((ambient + diffuse + emission + specular) * u_sun.intensity, 1);
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ class World(object):
|
|||
shader = self.activate_shader('planet')
|
||||
shader.uniform_vec3('u_sun.ambient', 0.1, 0.1, 0.1)
|
||||
shader.uniform_vec3('u_sun.diffuse', 1, 1, 1)
|
||||
shader.uniform_vec3('u_sun.specular', 1, 1, 1)
|
||||
shader.uniform_vec3('u_sun.specular', 0.5, 0.5, 0.5)
|
||||
shader.uniform_vec3('u_sun.position', 0, 0, 0)
|
||||
shader.uniform_float('u_sun.intensity', 1)
|
||||
self.activate_shader(None)
|
||||
|
|
Loading…
Reference in a new issue