|
@@ -2092,7 +2092,7 @@ THREE.GLTFLoader = ( function () {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- var alphaMode = materialDef.alphaMode;
|
|
|
|
|
|
+ var alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE;
|
|
|
|
|
|
if ( alphaMode === ALPHA_MODES.BLEND ) {
|
|
if ( alphaMode === ALPHA_MODES.BLEND ) {
|
|
|
|
|
|
@@ -2101,9 +2101,21 @@ THREE.GLTFLoader = ( function () {
|
|
// See: https://github.com/mrdoob/three.js/issues/17706
|
|
// See: https://github.com/mrdoob/three.js/issues/17706
|
|
materialParams.depthWrite = false;
|
|
materialParams.depthWrite = false;
|
|
|
|
|
|
- } else if ( alphaMode === ALPHA_MODES.MASK ) {
|
|
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ materialParams.transparent = false;
|
|
|
|
+
|
|
|
|
+ if ( alphaMode === ALPHA_MODES.MASK ) {
|
|
|
|
+
|
|
|
|
+ materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5;
|
|
|
|
|
|
- materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5;
|
|
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ // for ALPHA_MODES.OPAQUE, we use a negative alphaTest value to enable alphaTesting,
|
|
|
|
+ // causing the test to always be passed, but also replacing any alpha value with 1.0.
|
|
|
|
+ materialParams.alphaTest = - 0.5;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|