From e1427735ddec872bdd4ccfabf73cf74cd29e3a8d Mon Sep 17 00:00:00 2001 From: "Mr.doob" Date: Wed, 28 Oct 2015 09:43:25 -0400 Subject: [PATCH] MaterialLoader: Add roughness/metalness support. --- src/loaders/MaterialLoader.js | 2 ++ src/materials/Material.js | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/loaders/MaterialLoader.js b/src/loaders/MaterialLoader.js index 10008e7167..777f4703d7 100644 --- a/src/loaders/MaterialLoader.js +++ b/src/loaders/MaterialLoader.js @@ -60,6 +60,8 @@ THREE.MaterialLoader.prototype = { if ( json.name !== undefined ) material.name = json.name; if ( json.color !== undefined ) material.color.setHex( json.color ); + if ( json.roughness !== undefined ) material.roughness = json.roughness; + if ( json.metalness !== undefined ) material.metalness = json.metalness; if ( json.emissive !== undefined ) material.emissive.setHex( json.emissive ); if ( json.specular !== undefined ) material.specular.setHex( json.specular ); if ( json.shininess !== undefined ) material.shininess = json.shininess; diff --git a/src/materials/Material.js b/src/materials/Material.js index 64377d887b..ba9fde71d8 100644 --- a/src/materials/Material.js +++ b/src/materials/Material.js @@ -140,6 +140,10 @@ THREE.Material.prototype = { if ( this.name !== '' ) data.name = this.name; if ( this.color instanceof THREE.Color ) data.color = this.color.getHex(); + + if ( this.roughness !== 0.5 ) data.roughness = this.roughness; + if ( this.metalness > 0 ) data.metalness = this.metalness; + if ( this.emissive instanceof THREE.Color ) data.emissive = this.emissive.getHex(); if ( this.specular instanceof THREE.Color ) data.specular = this.specular.getHex(); if ( this.shininess !== undefined ) data.shininess = this.shininess; -- GitLab