threejs-vanilla-holographic-material icon indicating copy to clipboard operation
threejs-vanilla-holographic-material copied to clipboard

Fixed Defaults for Holo. Shader's Parameters

Open Bsting118 opened this issue 1 year ago • 0 comments

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 -- image

Overall shader being too bright when using (side: THREE.DoubleSide) in new HolographicMaterial( ) constructor -- image

...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}); -- image

Bsting118 avatar Dec 23 '23 05:12 Bsting118