From c40d00ad2ae41ee15b8118df1ef86073b98ebb0f Mon Sep 17 00:00:00 2001 From: Brian Peiris <brianpeiris@gmail.com> Date: Thu, 1 Nov 2018 21:31:30 -0700 Subject: [PATCH] Fix effect shader for MobileStandardMaterial --- src/materials/MobileStandardMaterial.js | 5 +++++ src/utils/media-utils.js | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/materials/MobileStandardMaterial.js b/src/materials/MobileStandardMaterial.js index aa9e10de1..10657605f 100644 --- a/src/materials/MobileStandardMaterial.js +++ b/src/materials/MobileStandardMaterial.js @@ -74,6 +74,8 @@ void main() { `; export default class MobileStandardMaterial extends THREE.ShaderMaterial { + type = "MobileStandardMaterial"; + isMobileStandardMaterial = true; static fromStandardMaterial(material) { const parameters = { vertexShader: VERTEX_SHADER, @@ -107,4 +109,7 @@ export default class MobileStandardMaterial extends THREE.ShaderMaterial { return mobileMaterial; } + clone() { + return MobileStandardMaterial.fromStandardMaterial(this); + } } diff --git a/src/utils/media-utils.js b/src/utils/media-utils.js index 7db272e7e..a002e8868 100644 --- a/src/utils/media-utils.js +++ b/src/utils/media-utils.js @@ -142,12 +142,13 @@ export const addMedia = (src, template, contentOrigin, resolve = false, resize = export function injectCustomShaderChunks(obj) { const vertexRegex = /\bskinning_vertex\b/; const fragRegex = /\bgl_FragColor\b/; + const validMaterials = ["MeshStandardMaterial", "MeshBasicMaterial", "MobileStandardMaterial"]; const materialsSeen = new Set(); const shaderUniforms = []; obj.traverse(object => { - if (!object.material || !["MeshStandardMaterial", "MeshBasicMaterial"].includes(object.material.type)) { + if (!object.material || !validMaterials.includes(object.material.type)) { return; } object.material = object.material.clone(); -- GitLab