Skip to content

Commit cacce1a

Browse files
authored
Merge pull request #15465 from takahirox/ShaderMaterialExtensionsSerialization
ShaderMaterial.extensions serialization
2 parents 7e5f396 + 05d7b55 commit cacce1a

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/loaders/MaterialLoader.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,16 @@ Object.assign( MaterialLoader.prototype, {
146146
if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader;
147147
if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader;
148148

149+
if ( json.extensions !== undefined ) {
150+
151+
for ( var key in json.extensions ) {
152+
153+
material.extensions[ key ] = json.extensions[ key ];
154+
155+
}
156+
157+
}
158+
149159
// Deprecated
150160

151161
if ( json.shading !== undefined ) material.flatShading = json.shading === 1; // THREE.FlatShading

src/materials/ShaderMaterial.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ ShaderMaterial.prototype.toJSON = function ( meta ) {
182182
data.vertexShader = this.vertexShader;
183183
data.fragmentShader = this.fragmentShader;
184184

185+
var extensions = {};
186+
187+
for ( var key in this.extensions ) {
188+
189+
if ( this.extensions[ key ] === true ) extensions[ key ] = true;
190+
191+
}
192+
193+
if ( Object.keys( extensions ).length > 0 ) data.extensions = extensions;
194+
185195
return data;
186196

187197
};

0 commit comments

Comments
 (0)