|
@@ -14,6 +14,7 @@ THREE.ShaderLib = {
|
|
|
uniforms: THREE.UniformsUtils.merge( [
|
|
|
|
|
|
THREE.UniformsLib[ "common" ],
|
|
|
+ THREE.UniformsLib[ "aomap" ],
|
|
|
THREE.UniformsLib[ "fog" ],
|
|
|
THREE.UniformsLib[ "shadowmap" ]
|
|
|
|
|
@@ -70,6 +71,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "uv2_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphamap_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "aomap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "envmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
|
|
@@ -78,8 +80,9 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
- " vec3 outgoingLight = vec3( 0.0 );", // outgoing light does not have an alpha, the surface does
|
|
|
+ " vec3 outgoingLight = vec3( 0.0 );",
|
|
|
" vec4 diffuseColor = vec4( diffuse, opacity );",
|
|
|
+ " vec3 totalAmbientLight = vec3( 1.0 );", // hardwired
|
|
|
|
|
|
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_fragment" ],
|
|
@@ -87,8 +90,9 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "alphamap_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphatest_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "aomap_fragment" ],
|
|
|
|
|
|
- " outgoingLight = diffuseColor.rgb;", // simple shader
|
|
|
+ " outgoingLight = diffuseColor.rgb * totalAmbientLight;", // simple shader
|
|
|
|
|
|
THREE.ShaderChunk[ "envmap_fragment" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_fragment" ], // TODO: Shadows on an otherwise unlit surface doesn't make sense.
|