|
@@ -266,6 +266,7 @@ THREE.ShaderChunk = {
|
|
|
|
|
|
"uniform vec3 ambient;",
|
|
|
"uniform vec3 diffuse;",
|
|
|
+ "uniform vec3 emissive;",
|
|
|
|
|
|
"uniform vec3 ambientLightColor;",
|
|
|
|
|
@@ -294,11 +295,11 @@ THREE.ShaderChunk = {
|
|
|
|
|
|
lights_lambert_vertex: [
|
|
|
|
|
|
- "vLightFront = vec3( 0.0 );",
|
|
|
+ "vLightFront = vec3( emissive );",
|
|
|
|
|
|
"#ifdef DOUBLE_SIDED",
|
|
|
|
|
|
- "vLightBack = vec3( 0.0 );",
|
|
|
+ "vLightBack = vec3( emissive );",
|
|
|
|
|
|
"#endif",
|
|
|
|
|
@@ -663,11 +664,11 @@ THREE.ShaderChunk = {
|
|
|
|
|
|
"#ifdef METAL",
|
|
|
|
|
|
- "gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * ambient + totalSpecular );",
|
|
|
+ "gl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );",
|
|
|
|
|
|
"#else",
|
|
|
|
|
|
- "gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * ambient ) + totalSpecular;",
|
|
|
+ "gl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;",
|
|
|
|
|
|
"#endif"
|
|
|
|
|
@@ -1387,6 +1388,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
{
|
|
|
"ambient" : { type: "c", value: new THREE.Color( 0x050505 ) },
|
|
|
+ "emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
|
|
|
"wrapRGB" : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) }
|
|
|
}
|
|
|
|
|
@@ -1501,6 +1503,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
{
|
|
|
"ambient" : { type: "c", value: new THREE.Color( 0x050505 ) },
|
|
|
+ "emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
|
|
|
"specular" : { type: "c", value: new THREE.Color( 0x111111 ) },
|
|
|
"shininess": { type: "f", value: 30 },
|
|
|
"wrapRGB" : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) }
|
|
@@ -1559,6 +1562,7 @@ THREE.ShaderLib = {
|
|
|
"uniform float opacity;",
|
|
|
|
|
|
"uniform vec3 ambient;",
|
|
|
+ "uniform vec3 emissive;",
|
|
|
"uniform vec3 specular;",
|
|
|
"uniform float shininess;",
|
|
|
|