From ad10ad6792681ab69ff68d074309661732b9f5cb Mon Sep 17 00:00:00 2001 From: Don McCurdy Date: Thu, 27 Feb 2020 17:41:47 -0800 Subject: [PATCH] MeshPhysicalMaterial: Clean up clearcoat code. --- examples/js/loaders/GLTFLoader.js | 10 +++------- examples/jsm/loaders/GLTFLoader.js | 10 +++------- src/materials/MeshPhysicalMaterial.js | 2 +- src/renderers/shaders/ShaderChunk.d.ts | 2 +- src/renderers/shaders/ShaderChunk.js | 4 ++-- ...ragment.glsl.js => clearcoat_pars_fragment.glsl.js} | 2 -- .../shaders/ShaderLib/meshphysical_frag.glsl.js | 2 +- 7 files changed, 11 insertions(+), 21 deletions(-) rename src/renderers/shaders/ShaderChunk/{clearcoat_normalmap_pars_fragment.glsl.js => clearcoat_pars_fragment.glsl.js} (78%) diff --git a/examples/js/loaders/GLTFLoader.js b/examples/js/loaders/GLTFLoader.js index 0a51056f4db02e..9d1e7e2ad6928a 100644 --- a/examples/js/loaders/GLTFLoader.js +++ b/examples/js/loaders/GLTFLoader.js @@ -414,7 +414,7 @@ THREE.GLTFLoader = ( function () { }; /** - * Clearcoat Material Properties Extension + * Clearcoat Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat */ @@ -2214,15 +2214,11 @@ THREE.GLTFLoader = ( function () { } - // TODO(donmccurdy): Remove this when we determine whether the extension is attached to the material, - // or to the metallicRoughness sub-object. - var matExtensions = Object.assign({}, materialDef.extensions || {}, metallicRoughness.extensions || {}); - - if ( matExtensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ] ) { + if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ] ) { var clearcoatExtension = extensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ]; materialType = clearcoatExtension.getMaterialType(); - pending.push( clearcoatExtension.extendParams( materialParams, {extensions: matExtensions}, parser ) ); + pending.push( clearcoatExtension.extendParams( materialParams, { extensions: materialExtensions }, parser ) ); } diff --git a/examples/jsm/loaders/GLTFLoader.js b/examples/jsm/loaders/GLTFLoader.js index 4fcce47cec00e3..1076e68e84f706 100644 --- a/examples/jsm/loaders/GLTFLoader.js +++ b/examples/jsm/loaders/GLTFLoader.js @@ -478,7 +478,7 @@ var GLTFLoader = ( function () { }; /** - * Clearcoat Material Properties Extension + * Clearcoat Materials Extension * * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_clearcoat */ @@ -2278,15 +2278,11 @@ var GLTFLoader = ( function () { } - // TODO(donmccurdy): Remove this when we determine whether the extension is attached to the material, - // or to the metallicRoughness sub-object. - var matExtensions = Object.assign({}, materialDef.extensions || {}, metallicRoughness.extensions || {}); - - if ( matExtensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ] ) { + if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ] ) { var clearcoatExtension = extensions[ EXTENSIONS.KHR_MATERIALS_CLEARCOAT ]; materialType = clearcoatExtension.getMaterialType(); - pending.push( clearcoatExtension.extendParams( materialParams, {extensions: matExtensions}, parser ) ); + pending.push( clearcoatExtension.extendParams( materialParams, { extensions: materialExtensions }, parser ) ); } diff --git a/src/materials/MeshPhysicalMaterial.js b/src/materials/MeshPhysicalMaterial.js index 359a5c609c8ffc..bb787ac0042420 100644 --- a/src/materials/MeshPhysicalMaterial.js +++ b/src/materials/MeshPhysicalMaterial.js @@ -8,7 +8,7 @@ import { Color } from '../math/Color.js'; * parameters = { * clearcoat: , * clearcoatMap: new THREE.Texture( ), - * clearcoatRoughness: + * clearcoatRoughness: , * clearcoatRoughnessMap: new THREE.Texture( ), * clearcoatNormalScale: , * clearcoatNormalMap: new THREE.Texture( ), diff --git a/src/renderers/shaders/ShaderChunk.d.ts b/src/renderers/shaders/ShaderChunk.d.ts index 683c4060f30c45..cd08d18bfef08b 100644 --- a/src/renderers/shaders/ShaderChunk.d.ts +++ b/src/renderers/shaders/ShaderChunk.d.ts @@ -87,7 +87,7 @@ export let ShaderChunk: { normalmap_pars_fragment: string; clearcoat_normal_fragment_begin: string; clearcoat_normal_fragment_maps: string; - clearcoat_normalmap_pars_fragment: string; + clearcoat_pars_fragment: string; packing: string; points_frag: string; points_vert: string; diff --git a/src/renderers/shaders/ShaderChunk.js b/src/renderers/shaders/ShaderChunk.js index c9f881c6c0cf93..6f1fda200dfd45 100644 --- a/src/renderers/shaders/ShaderChunk.js +++ b/src/renderers/shaders/ShaderChunk.js @@ -66,7 +66,7 @@ import normal_fragment_maps from './ShaderChunk/normal_fragment_maps.glsl.js'; import normalmap_pars_fragment from './ShaderChunk/normalmap_pars_fragment.glsl.js'; import clearcoat_normal_fragment_begin from './ShaderChunk/clearcoat_normal_fragment_begin.glsl.js'; import clearcoat_normal_fragment_maps from './ShaderChunk/clearcoat_normal_fragment_maps.glsl.js'; -import clearcoat_normalmap_pars_fragment from './ShaderChunk/clearcoat_normalmap_pars_fragment.glsl.js'; +import clearcoat_pars_fragment from './ShaderChunk/clearcoat_pars_fragment.glsl.js'; import packing from './ShaderChunk/packing.glsl.js'; import premultiplied_alpha_fragment from './ShaderChunk/premultiplied_alpha_fragment.glsl.js'; import project_vertex from './ShaderChunk/project_vertex.glsl.js'; @@ -197,7 +197,7 @@ export var ShaderChunk = { normalmap_pars_fragment: normalmap_pars_fragment, clearcoat_normal_fragment_begin: clearcoat_normal_fragment_begin, clearcoat_normal_fragment_maps: clearcoat_normal_fragment_maps, - clearcoat_normalmap_pars_fragment: clearcoat_normalmap_pars_fragment, + clearcoat_pars_fragment: clearcoat_pars_fragment, packing: packing, premultiplied_alpha_fragment: premultiplied_alpha_fragment, project_vertex: project_vertex, diff --git a/src/renderers/shaders/ShaderChunk/clearcoat_normalmap_pars_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js similarity index 78% rename from src/renderers/shaders/ShaderChunk/clearcoat_normalmap_pars_fragment.glsl.js rename to src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js index 2041ee0d945dc0..44f2157d388c39 100644 --- a/src/renderers/shaders/ShaderChunk/clearcoat_normalmap_pars_fragment.glsl.js +++ b/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js @@ -1,7 +1,5 @@ export default /* glsl */` -// TODO(donmccurdy): The first two blocks seem out of place given the filename. - #ifdef USE_CLEARCOATMAP uniform sampler2D clearcoatMap; diff --git a/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js b/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js index 9e7e8e7c0ce961..3863afe9d15ce4 100644 --- a/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshphysical_frag.glsl.js @@ -66,7 +66,7 @@ varying vec3 vViewPosition; #include #include #include -#include +#include #include #include #include