Skip to content

Commit

Permalink
Merge pull request #15465 from takahirox/ShaderMaterialExtensionsSeri…
Browse files Browse the repository at this point in the history
…alization

ShaderMaterial.extensions serialization
  • Loading branch information
mrdoob committed Dec 28, 2018
2 parents 7e5f396 + 05d7b55 commit cacce1a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/loaders/MaterialLoader.js
Expand Up @@ -146,6 +146,16 @@ Object.assign( MaterialLoader.prototype, {
if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader;
if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader;

if ( json.extensions !== undefined ) {

for ( var key in json.extensions ) {

material.extensions[ key ] = json.extensions[ key ];

}

}

// Deprecated

if ( json.shading !== undefined ) material.flatShading = json.shading === 1; // THREE.FlatShading
Expand Down
10 changes: 10 additions & 0 deletions src/materials/ShaderMaterial.js
Expand Up @@ -182,6 +182,16 @@ ShaderMaterial.prototype.toJSON = function ( meta ) {
data.vertexShader = this.vertexShader;
data.fragmentShader = this.fragmentShader;

var extensions = {};

for ( var key in this.extensions ) {

if ( this.extensions[ key ] === true ) extensions[ key ] = true;

}

if ( Object.keys( extensions ).length > 0 ) data.extensions = extensions;

return data;

};
Expand Down

0 comments on commit cacce1a

Please sign in to comment.