diff --git a/src/materials/LineBasicMaterial.js b/src/materials/LineBasicMaterial.js index 3fcc700cc45f9719b8c111d73a33602bb1ffc952..06fd3bbd6b381b78b0f5ff228c3d5d96d73cddac 100644 --- a/src/materials/LineBasicMaterial.js +++ b/src/materials/LineBasicMaterial.js @@ -24,6 +24,7 @@ THREE.LineBasicMaterial = function ( parameters ) { this.linecap = 'round'; this.linejoin = 'round'; + this.lights = false; this.setValues( parameters ); diff --git a/src/materials/LineDashedMaterial.js b/src/materials/LineDashedMaterial.js index 5d4450524bcf6f852b730b13c7a959cb91c506d2..26b2e304cbfd3012e15e078e9f947a65c46547a8 100644 --- a/src/materials/LineDashedMaterial.js +++ b/src/materials/LineDashedMaterial.js @@ -27,6 +27,8 @@ THREE.LineDashedMaterial = function ( parameters ) { this.dashSize = 3; this.gapSize = 1; + this.lights = false; + this.setValues( parameters ); }; diff --git a/src/materials/Material.js b/src/materials/Material.js index ddde13ee735506017cf53a312339da5b4150f85c..57896b1f121bab0d8bda6ab69fc09f8d07022bf1 100644 --- a/src/materials/Material.js +++ b/src/materials/Material.js @@ -13,6 +13,7 @@ THREE.Material = function () { this.type = 'Material'; this.fog = true; + this.lights = true; this.blending = THREE.NormalBlending; this.side = THREE.FrontSide; @@ -249,6 +250,7 @@ THREE.Material.prototype = { this.name = source.name; this.fog = source.fog; + this.lights = source.lights; this.blending = source.blending; this.side = source.side; diff --git a/src/materials/MeshBasicMaterial.js b/src/materials/MeshBasicMaterial.js index 5aca2fba385a750e6ac2c684d87dd1744351a3a1..ef1dd3ab9358c5cdb09a6d5931acacb46095825c 100644 --- a/src/materials/MeshBasicMaterial.js +++ b/src/materials/MeshBasicMaterial.js @@ -61,6 +61,8 @@ THREE.MeshBasicMaterial = function ( parameters ) { this.skinning = false; this.morphTargets = false; + this.lights = false; + this.setValues( parameters ); }; diff --git a/src/materials/MeshDepthMaterial.js b/src/materials/MeshDepthMaterial.js index 662b642f4f1e207c0189b488efe882b6485b5598..0813dc2a563fa72464e02ea5b540158c2e5e2d96 100644 --- a/src/materials/MeshDepthMaterial.js +++ b/src/materials/MeshDepthMaterial.js @@ -44,6 +44,7 @@ THREE.MeshDepthMaterial = function ( parameters ) { this.wireframeLinewidth = 1; this.fog = false; + this.lights = false; this.setValues( parameters ); diff --git a/src/materials/MeshNormalMaterial.js b/src/materials/MeshNormalMaterial.js index 58a26f42bf74682acccd68655c9e6dec09069985..d85582ef8ef3d837527317f97e8651a781ca72f4 100644 --- a/src/materials/MeshNormalMaterial.js +++ b/src/materials/MeshNormalMaterial.js @@ -19,6 +19,7 @@ THREE.MeshNormalMaterial = function ( parameters ) { this.wireframeLinewidth = 1; this.fog = false; + this.lights = false; this.morphTargets = false; this.setValues( parameters ); diff --git a/src/materials/PointsMaterial.js b/src/materials/PointsMaterial.js index 173b1bf4e41ac9ccd09b2d70109b8180282a6b75..c036dbe7465b8dc1b5f31491c513e543bc4dc5a2 100644 --- a/src/materials/PointsMaterial.js +++ b/src/materials/PointsMaterial.js @@ -25,6 +25,8 @@ THREE.PointsMaterial = function ( parameters ) { this.size = 1; this.sizeAttenuation = true; + this.lights = false; + this.setValues( parameters ); }; diff --git a/src/materials/ShaderMaterial.js b/src/materials/ShaderMaterial.js index c2c76b956a24e26c821b03b5bdea2ee5d91567d9..19afeda665d90c580d94fd9ea4c2c5dd7c3e2cad 100644 --- a/src/materials/ShaderMaterial.js +++ b/src/materials/ShaderMaterial.js @@ -41,7 +41,6 @@ THREE.ShaderMaterial = function ( parameters ) { this.clipping = false; // set to use user-defined clipping planes this.skinning = false; // set to use skinning attribute streams - this.morphTargets = false; // set to use morph targets this.morphNormals = false; // set to use morph normals diff --git a/src/materials/SpriteMaterial.js b/src/materials/SpriteMaterial.js index 1cdd542d2c8fce1c4a10dc426d22cca3815989d7..e56c1947ca53e92f7121d2d44d6f6f405fc4da3f 100644 --- a/src/materials/SpriteMaterial.js +++ b/src/materials/SpriteMaterial.js @@ -23,6 +23,7 @@ THREE.SpriteMaterial = function ( parameters ) { this.rotation = 0; this.fog = false; + this.lights = false; this.setValues( parameters ); diff --git a/src/renderers/WebGLRenderer.js b/src/renderers/WebGLRenderer.js index 0ba17261b815f38e45e71d0034786ba4f66fbeef..cd05d1fae67e7713f68d44a315695d68fc956705 100644 --- a/src/renderers/WebGLRenderer.js +++ b/src/renderers/WebGLRenderer.js @@ -1653,10 +1653,7 @@ THREE.WebGLRenderer = function ( parameters ) { } - if ( material instanceof THREE.MeshPhongMaterial || - material instanceof THREE.MeshLambertMaterial || - material instanceof THREE.MeshStandardMaterial || - material.lights ) { + if ( material.lights ) { // store the light setup it was created for @@ -1886,10 +1883,7 @@ THREE.WebGLRenderer = function ( parameters ) { if ( refreshMaterial ) { - if ( material instanceof THREE.MeshPhongMaterial || - material instanceof THREE.MeshLambertMaterial || - material instanceof THREE.MeshStandardMaterial || - material.lights ) { + if ( material.lights ) { // the current material requires lighting info