threejs-vanilla-holographic-material
threejs-vanilla-holographic-material copied to clipboard
Fixed Defaults for Holo. Shader's Parameters
Upon using the original shader on one of my JSON object models, a simple ceiling light whose geometry requires both sides of its faces to be shaded, the result was either the inner face being omitted from the shader by default or the overall shader being too bright when specifying the (side: THREE.DoubleSide)
parameter.
The fix to this was revising the default values assigned to each of the shader's parameters, most notably the blending
parameter's following code: from this.blending = (parameters.blendMode !== undefined) ? parameters.blendMode : AdditiveBlending;
to this.blending = (parameters.blendMode !== undefined) ? parameters.blendMode : NormalBlending;
.
To visualize this fix, see below screenshots of the BEFORE...:
Inner face of ceiling lamp being omitted from the shader --
Overall shader being too bright when using (side: THREE.DoubleSide)
in new HolographicMaterial( )
constructor --
...And the AFTER (with the fixes in this Pull-Request):
Result of final fixes applied in this PR, given the code, const holoMaterial = new HolographicMaterial({hologramColor: '#ed3434', depthTest: true, enableBlinking: false, side:THREE.DoubleSide});
--