Explorar o código

WebXR: Allows near and far clipping to be set

P. Douglas Reeder %!s(int64=5) %!d(string=hai) anos
pai
achega
18ebaba839
Modificáronse 2 ficheiros con 13 adicións e 1 borrados
  1. 1 0
      src/renderers/webxr/WebXRManager.d.ts
  2. 12 1
      src/renderers/webxr/WebXRManager.js

+ 1 - 0
src/renderers/webxr/WebXRManager.d.ts

@@ -11,6 +11,7 @@ export class WebXRManager {
 	setReferenceSpaceType( value: string ): void;
 	getSession(): any;
 	setSession( value: any ): void;
+	setCameraClipping( camera: Camera ): void;
 	getCamera( camera: Camera ): Camera;
 	isPresenting: () => boolean;
 	setAnimationLoop( callback: Function ): void;

+ 12 - 1
src/renderers/webxr/WebXRManager.js

@@ -164,7 +164,11 @@ function WebXRManager( renderer, gl ) {
 			// eslint-disable-next-line no-undef
 			var baseLayer = new XRWebGLLayer( session, gl, layerInit );
 
-			session.updateRenderState( { baseLayer: baseLayer } );
+			session.updateRenderState( {
+				depthNear: cameraVR.near,
+				depthFar: cameraVR.far,
+				baseLayer: baseLayer
+			} );
 
 			session.requestReferenceSpace( referenceSpaceType ).then( onRequestReferenceSpace );
 
@@ -299,6 +303,13 @@ function WebXRManager( renderer, gl ) {
 
 	}
 
+	this.setCameraClipping = function ( camera ) {
+
+		cameraVR.near = cameraR.near = cameraL.near = camera.near;
+		cameraVR.far = cameraR.far = cameraL.far = camera.far;
+
+	};
+
 	this.getCamera = function ( camera ) {
 
 		var parent = camera.parent;