提交 037d33b6 编写于 作者: T Takahiro

Revert "Rename specular2 with specular of MeshStandardMaterialSG"

This reverts commit 8053b6f9.
上级 63c7cdee
......@@ -7,11 +7,11 @@ import { Color } from '../math/Color';
*
* parameters = {
* glossiness: <float>,
* specular: <hex>,
* specular2: <hex>,
*
* glossinessMap: new THREE.Texture( <Image> ),
*
* specularMap: new THREE.Texture( <Image> ),
* specular2Map: new THREE.Texture( <Image> ),
* }
*/
......@@ -24,11 +24,11 @@ function MeshStandardMaterialSG( parameters ) {
this.type = 'MeshStandardMaterialSG';
this.glossiness = 0.5;
this.specular = new Color( 0x111111 );
this.specular2 = new Color ( 0x000000 );
this.glossinessMap = null;
this.specularMap = null;
this.specular2Map = null;
this.setValues( parameters );
......@@ -46,11 +46,11 @@ MeshStandardMaterialSG.prototype.copy = function ( source ) {
this.defines[ 'STANDARD_SG' ] = '';
this.glossiness = source.glossiness;
this.specular.copy( source.specular );
this.speculars.copy( source.specular2 );
this.glossinessMap = source.glossinessMap;
this.specularMap = source.specularMap;
this.specular2Map = source.specular2Map;
return this;
......
......@@ -2201,7 +2201,7 @@ function WebGLRenderer( parameters ) {
function refreshUniformsStandardSG( uniforms, material ) {
uniforms.glossiness.value = material.roughness;
uniforms.specular.value.copy( material.specular );
uniforms.specular2.value.copy( material.specular2 );
if ( material.glossinessMap ) {
......@@ -2209,9 +2209,9 @@ function WebGLRenderer( parameters ) {
}
if ( material.specularMap ) {
if ( material.specular2Map ) {
uniforms.specularMap.value = material.specularMap;
uniforms.specular2Map.value = material.specular2Map;
}
......
......@@ -77,6 +77,8 @@ import skinning_vertex from './ShaderChunk/skinning_vertex.glsl';
import skinnormal_vertex from './ShaderChunk/skinnormal_vertex.glsl';
import specularmap_fragment from './ShaderChunk/specularmap_fragment.glsl';
import specularmap_pars_fragment from './ShaderChunk/specularmap_pars_fragment.glsl';
import specular2map_fragment from './ShaderChunk/specular2map_fragment.glsl';
import specular2map_pars_fragment from './ShaderChunk/specular2map_pars_fragment.glsl';
import tonemapping_fragment from './ShaderChunk/tonemapping_fragment.glsl';
import tonemapping_pars_fragment from './ShaderChunk/tonemapping_pars_fragment.glsl';
import uv_pars_fragment from './ShaderChunk/uv_pars_fragment.glsl';
......@@ -192,6 +194,8 @@ export var ShaderChunk = {
skinnormal_vertex: skinnormal_vertex,
specularmap_fragment: specularmap_fragment,
specularmap_pars_fragment: specularmap_pars_fragment,
specular2map_fragment: specular2map_fragment,
specular2map_pars_fragment: specular2map_pars_fragment,
tonemapping_fragment: tonemapping_fragment,
tonemapping_pars_fragment: tonemapping_pars_fragment,
uv_pars_fragment: uv_pars_fragment,
......
......@@ -3,7 +3,7 @@ PhysicalMaterial material;
#ifdef STANDARD_SG
material.diffuseColor = diffuseColor.rgb;
material.specularRoughness = clamp( 1.0 - glossinessFactor, 0.04, 1.0 );
material.specularColor = specularFactor.rgb;
material.specularColor = specular2Factor.rgb;
#else
material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
material.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );
......
vec3 specular2Factor = specular2;
#ifdef USE_SPECULAR2MAP
vec4 texelSpecular2 = texture2D( specular2Map, vUv );
// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture
specular2Factor *= texelSpecular2.rgb;
#endif
\ No newline at end of file
#ifdef USE_SPECULAR2MAP
uniform sampler2D specular2Map;
#endif
\ No newline at end of file
#ifdef STANDARD_SG
vec3 specularFactor = specular;
float specularStrength;
#ifdef USE_SPECULARMAP
#ifdef USE_SPECULARMAP
vec4 texelSpecular = texture2D( specularMap, vUv );
vec4 texelSpecular = texture2D( specularMap, vUv );
specularStrength = texelSpecular.r;
// reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture
specularFactor *= texelSpecular.rgb;
#endif
#else
float specularStrength;
#ifdef USE_SPECULARMAP
vec4 texelSpecular = texture2D( specularMap, vUv );
specularStrength = texelSpecular.r;
#else
specularStrength = 1.0;
specularStrength = 1.0;
#endif
#endif
\ No newline at end of file
......@@ -83,6 +83,7 @@ var ShaderLib = {
UniformsLib.roughnessmap,
UniformsLib.metalnessmap,
UniformsLib.glossinessmap,
UniformsLib.specular2map,
UniformsLib.fog,
UniformsLib.lights,
{
......@@ -90,7 +91,7 @@ var ShaderLib = {
roughness: { value: 0.5 },
metalness: { value: 0.5 },
glossiness: { value: 0.5 },
specular: { value: new Color( 0x111111 ) },
specular2: { value: new Color( 0x000000 ) },
envMapIntensity: { value: 1 } // temporary
}
] ),
......
......@@ -5,7 +5,7 @@ uniform vec3 emissive;
#ifdef STANDARD_SG
uniform float glossiness;
uniform vec3 specular;
uniform vec3 specular2;
#else
uniform float roughness;
uniform float metalness;
......@@ -48,7 +48,7 @@ varying vec3 vViewPosition;
#ifdef STANDARD_SG
#include <glossinessmap_pars_fragment>
#include <specularmap_pars_fragment>
#include <specular2map_pars_fragment>
#else
#include <roughnessmap_pars_fragment>
#include <metalnessmap_pars_fragment>
......@@ -70,10 +70,11 @@ void main() {
#include <color_fragment>
#include <alphamap_fragment>
#include <alphatest_fragment>
#include <specularmap_fragment>
#ifdef STANDARD_SG
#include <glossinessmap_fragment>
#include <specularmap_fragment>
#include <specular2map_fragment>
#else
#include <roughnessmap_fragment>
#include <metalnessmap_fragment>
......
......@@ -17,6 +17,7 @@ varying vec3 vViewPosition;
#include <morphtarget_pars_vertex>
#include <skinning_pars_vertex>
#include <shadowmap_pars_vertex>
#include <specularmap_pars_fragment>
#include <logdepthbuf_pars_vertex>
#include <clipping_planes_pars_vertex>
......
......@@ -93,6 +93,12 @@ var UniformsLib = {
},
specular2map: {
specular2Map: { value: null }
},
fog: {
fogDensity: { value: 0.00025 },
......
......@@ -339,6 +339,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
parameters.glossinessMap ? '#define USE_GLOSSINESSMAP' : '',
parameters.specular2Map ? '#define USE_SPECULAR2MAP' : '',
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
parameters.vertexColors ? '#define USE_COLOR' : '',
......@@ -447,6 +448,7 @@ function WebGLProgram( renderer, code, material, parameters ) {
parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '',
parameters.metalnessMap ? '#define USE_METALNESSMAP' : '',
parameters.glossinessMap ? '#define USE_GLOSSINESSMAP' : '',
parameters.specular2Map ? '#define USE_SPECULAR2MAP' : '',
parameters.alphaMap ? '#define USE_ALPHAMAP' : '',
parameters.vertexColors ? '#define USE_COLOR' : '',
......
......@@ -27,7 +27,7 @@ function WebGLPrograms( renderer, capabilities ) {
var parameterNames = [
"precision", "supportsVertexTextures", "map", "mapEncoding", "envMap", "envMapMode", "envMapEncoding",
"lightMap", "aoMap", "emissiveMap", "emissiveMapEncoding", "bumpMap", "normalMap", "displacementMap", "specularMap",
"roughnessMap", "metalnessMap", "gradientMap", "glossinessMap",
"roughnessMap", "metalnessMap", "gradientMap", "glossinessMap", "specular2Map",
"alphaMap", "combine", "vertexColors", "fog", "useFog", "fogExp",
"flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning",
"maxBones", "useVertexTexture", "morphTargets", "morphNormals",
......@@ -151,6 +151,7 @@ function WebGLPrograms( renderer, capabilities ) {
roughnessMap: !! material.roughnessMap,
metalnessMap: !! material.metalnessMap,
glossinessMap: !! material.glossinessMap,
specular2Map: !! material.specular2Map,
specularMap: !! material.specularMap,
alphaMap: !! material.alphaMap,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册