Pārlūkot izejas kodu

Add scaling factor for webvr render size

  Oculus browser is reporting a smaller width/height than actual resolution.  Because of this we lose sharpness.  I'm adding a scaling factor so users can adjust it.
Josh Patterson 7 gadi atpakaļ
vecāks
revīzija
463855d075

+ 3 - 2
src/renderers/webvr/WebVRManager.js

@@ -64,8 +64,8 @@ function WebVRManager( renderer ) {
 		if ( isPresenting() ) {
 
 			var eyeParameters = device.getEyeParameters( 'left' );
-			var renderWidth = eyeParameters.renderWidth;
-			var renderHeight = eyeParameters.renderHeight;
+			var renderWidth = eyeParameters.renderWidth * scope.framebufferScaleFactor;
+			var renderHeight = eyeParameters.renderHeight * scope.framebufferScaleFactor;
 
 			currentPixelRatio = renderer.getPixelRatio();
 			currentSize = renderer.getSize();
@@ -193,6 +193,7 @@ function WebVRManager( renderer ) {
 		return controller;
 
 	};
+	this.framebufferScaleFactor = 1.0;
 
 	this.getDevice = function () {
 

+ 2 - 1
src/renderers/webvr/WebXRManager.js

@@ -46,6 +46,7 @@ function WebXRManager( renderer ) {
 	//
 
 	this.enabled = false;
+	this.framebufferScaleFactor = 1.0;
 
 	this.getController = function ( id ) {
 
@@ -111,7 +112,7 @@ function WebXRManager( renderer ) {
 			session.addEventListener( 'selectend', onSessionEvent );
 			session.addEventListener( 'end', onSessionEnd );
 
-			session.baseLayer = new XRWebGLLayer( session, gl );
+			session.baseLayer = new XRWebGLLayer( session, gl, { framebufferScaleFactor: this.framebufferScaleFactor } );
 			session.requestFrameOfReference( frameOfReferenceType ).then( function ( value ) {
 
 				frameOfReference = value;