未验证 提交 0d65db25 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #16172 from takahirox/GLTFLoaderMinorCleanups

GLTFLoader minor clean up
......@@ -368,26 +368,26 @@ THREE.GLTFLoader = ( function () {
*
* PR: https://github.com/KhronosGroup/glTF/pull/1163
*/
function GLTFMaterialsUnlitExtension( json ) {
function GLTFMaterialsUnlitExtension() {
this.name = EXTENSIONS.KHR_MATERIALS_UNLIT;
}
GLTFMaterialsUnlitExtension.prototype.getMaterialType = function ( material ) {
GLTFMaterialsUnlitExtension.prototype.getMaterialType = function () {
return THREE.MeshBasicMaterial;
};
GLTFMaterialsUnlitExtension.prototype.extendParams = function ( materialParams, material, parser ) {
GLTFMaterialsUnlitExtension.prototype.extendParams = function ( materialParams, materialDef, parser ) {
var pending = [];
materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 );
materialParams.opacity = 1.0;
var metallicRoughness = material.pbrMetallicRoughness;
var metallicRoughness = materialDef.pbrMetallicRoughness;
if ( metallicRoughness ) {
......@@ -563,7 +563,7 @@ THREE.GLTFLoader = ( function () {
*
* Specification:
*/
function GLTFTextureTransformExtension( json ) {
function GLTFTextureTransformExtension() {
this.name = EXTENSIONS.KHR_TEXTURE_TRANSFORM;
......@@ -646,9 +646,9 @@ THREE.GLTFLoader = ( function () {
},
extendParams: function ( params, material, parser ) {
extendParams: function ( materialParams, materialDef, parser ) {
var pbrSpecularGlossiness = material.extensions[ this.name ];
var pbrSpecularGlossiness = materialDef.extensions[ this.name ];
var shader = THREE.ShaderLib[ 'standard' ];
......@@ -711,13 +711,13 @@ THREE.GLTFLoader = ( function () {
uniforms.specularMap = { value: null };
uniforms.glossinessMap = { value: null };
params.vertexShader = shader.vertexShader;
params.fragmentShader = fragmentShader;
params.uniforms = uniforms;
params.defines = { 'STANDARD': '' };
materialParams.vertexShader = shader.vertexShader;
materialParams.fragmentShader = fragmentShader;
materialParams.uniforms = uniforms;
materialParams.defines = { 'STANDARD': '' };
params.color = new THREE.Color( 1.0, 1.0, 1.0 );
params.opacity = 1.0;
materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 );
materialParams.opacity = 1.0;
var pending = [];
......@@ -725,32 +725,32 @@ THREE.GLTFLoader = ( function () {
var array = pbrSpecularGlossiness.diffuseFactor;
params.color.fromArray( array );
params.opacity = array[ 3 ];
materialParams.color.fromArray( array );
materialParams.opacity = array[ 3 ];
}
if ( pbrSpecularGlossiness.diffuseTexture !== undefined ) {
pending.push( parser.assignTexture( params, 'map', pbrSpecularGlossiness.diffuseTexture ) );
pending.push( parser.assignTexture( materialParams, 'map', pbrSpecularGlossiness.diffuseTexture ) );
}
params.emissive = new THREE.Color( 0.0, 0.0, 0.0 );
params.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0;
params.specular = new THREE.Color( 1.0, 1.0, 1.0 );
materialParams.emissive = new THREE.Color( 0.0, 0.0, 0.0 );
materialParams.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0;
materialParams.specular = new THREE.Color( 1.0, 1.0, 1.0 );
if ( Array.isArray( pbrSpecularGlossiness.specularFactor ) ) {
params.specular.fromArray( pbrSpecularGlossiness.specularFactor );
materialParams.specular.fromArray( pbrSpecularGlossiness.specularFactor );
}
if ( pbrSpecularGlossiness.specularGlossinessTexture !== undefined ) {
var specGlossMapDef = pbrSpecularGlossiness.specularGlossinessTexture;
pending.push( parser.assignTexture( params, 'glossinessMap', specGlossMapDef ) );
pending.push( parser.assignTexture( params, 'specularMap', specGlossMapDef ) );
pending.push( parser.assignTexture( materialParams, 'glossinessMap', specGlossMapDef ) );
pending.push( parser.assignTexture( materialParams, 'specularMap', specGlossMapDef ) );
}
......@@ -793,6 +793,7 @@ THREE.GLTFLoader = ( function () {
material.bumpScale = 1;
material.normalMap = params.normalMap === undefined ? null : params.normalMap;
if ( params.normalScale ) material.normalScale = params.normalScale;
material.displacementMap = null;
......@@ -2285,13 +2286,13 @@ THREE.GLTFLoader = ( function () {
if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] ) {
var sgExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ];
materialType = sgExtension.getMaterialType( materialDef );
materialType = sgExtension.getMaterialType();
pending.push( sgExtension.extendParams( materialParams, materialDef, parser ) );
} else if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ] ) {
var kmuExtension = extensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ];
materialType = kmuExtension.getMaterialType( materialDef );
materialType = kmuExtension.getMaterialType();
pending.push( kmuExtension.extendParams( materialParams, materialDef, parser ) );
} else {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册