Skip to content

Commit a43bb47

Browse files
authored
set shadow depth material side to double (#4950)
1 parent 807241a commit a43bb47

File tree

1 file changed

+4
-1
lines changed
  • packages/model-viewer/src/three-components

1 file changed

+4
-1
lines changed

packages/model-viewer/src/three-components/Shadow.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* limitations under the License.
1414
*/
1515

16-
import {BackSide, Box3, Material, Mesh, MeshBasicMaterial, MeshDepthMaterial, Object3D, OrthographicCamera, PlaneGeometry, RenderTargetOptions, RGBAFormat, Scene, ShaderMaterial, Vector3, WebGLRenderer, WebGLRenderTarget} from 'three';
16+
import {BackSide, DoubleSide, Box3, Material, Mesh, MeshBasicMaterial, MeshDepthMaterial, Object3D, OrthographicCamera, PlaneGeometry, RenderTargetOptions, RGBAFormat, Scene, ShaderMaterial, Vector3, WebGLRenderer, WebGLRenderTarget} from 'three';
1717
import {HorizontalBlurShader} from 'three/examples/jsm/shaders/HorizontalBlurShader.js';
1818
import {VerticalBlurShader} from 'three/examples/jsm/shaders/VerticalBlurShader.js';
1919
import {lerp} from 'three/src/math/MathUtils.js';
@@ -107,6 +107,9 @@ export class Shadow extends Object3D {
107107
'gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );',
108108
'gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * opacity );');
109109
};
110+
// Render both sides, back sides face the light source and
111+
// front sides supply depth information for soft shadows
112+
this.depthMaterial.side = DoubleSide;
110113

111114
this.horizontalBlurMaterial.depthTest = false;
112115
this.verticalBlurMaterial.depthTest = false;

0 commit comments

Comments
 (0)