فهرست منبع

Require target Vector2 in WebGLRenderer getSize() methods

WestLangley 6 سال پیش
والد
کامیت
fb7d230d31
4فایلهای تغییر یافته به همراه8 افزوده شده و 5 حذف شده
  1. 2 1
      examples/js/objects/Reflector.js
  2. 2 1
      examples/js/objects/Refractor.js
  3. 1 1
      src/renderers/WebGLRenderer.d.ts
  4. 3 2
      src/renderers/webvr/WebVRManager.js

+ 2 - 1
examples/js/objects/Reflector.js

@@ -33,6 +33,7 @@ THREE.Reflector = function ( geometry, options ) {
 	var view = new THREE.Vector3();
 	var view = new THREE.Vector3();
 	var target = new THREE.Vector3();
 	var target = new THREE.Vector3();
 	var q = new THREE.Vector4();
 	var q = new THREE.Vector4();
+	var size = new THREE.Vector2();
 
 
 	var textureMatrix = new THREE.Matrix4();
 	var textureMatrix = new THREE.Matrix4();
 	var virtualCamera = new THREE.PerspectiveCamera();
 	var virtualCamera = new THREE.PerspectiveCamera();
@@ -173,7 +174,7 @@ THREE.Reflector = function ( geometry, options ) {
 
 
 		if ( bounds !== undefined ) {
 		if ( bounds !== undefined ) {
 
 
-			var size = renderer.getSize();
+			renderer.getSize( size );
 			var pixelRatio = renderer.getPixelRatio();
 			var pixelRatio = renderer.getPixelRatio();
 
 
 			viewport.x = bounds.x * size.width * pixelRatio;
 			viewport.x = bounds.x * size.width * pixelRatio;

+ 2 - 1
examples/js/objects/Refractor.js

@@ -187,6 +187,7 @@ THREE.Refractor = function ( geometry, options ) {
 	var render = ( function () {
 	var render = ( function () {
 
 
 		var viewport = new THREE.Vector4();
 		var viewport = new THREE.Vector4();
+		var size = new THREE.Vector2();
 
 
 		return function render( renderer, scene, camera ) {
 		return function render( renderer, scene, camera ) {
 
 
@@ -211,7 +212,7 @@ THREE.Refractor = function ( geometry, options ) {
 
 
 			if ( bounds !== undefined ) {
 			if ( bounds !== undefined ) {
 
 
-				var size = renderer.getSize();
+				renderer.getSize( size );
 				var pixelRatio = renderer.getPixelRatio();
 				var pixelRatio = renderer.getPixelRatio();
 
 
 				viewport.x = bounds.x * size.width * pixelRatio;
 				viewport.x = bounds.x * size.width * pixelRatio;

+ 1 - 1
src/renderers/WebGLRenderer.d.ts

@@ -206,7 +206,7 @@ export class WebGLRenderer implements Renderer {
   getDrawingBufferSize(): { width: number; height: number };
   getDrawingBufferSize(): { width: number; height: number };
   setDrawingBufferSize(width: number, height: number, pixelRatio: number): void;
   setDrawingBufferSize(width: number, height: number, pixelRatio: number): void;
 
 
-  getSize(): { width: number; height: number };
+  getSize(target: Vector2): Vector2;
 
 
   /**
   /**
    * Resizes the output canvas to (width, height), and also sets the viewport to fit that size, starting in (0, 0).
    * Resizes the output canvas to (width, height), and also sets the viewport to fit that size, starting in (0, 0).

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

@@ -4,6 +4,7 @@
 
 
 import { Group } from '../../objects/Group.js';
 import { Group } from '../../objects/Group.js';
 import { Matrix4 } from '../../math/Matrix4.js';
 import { Matrix4 } from '../../math/Matrix4.js';
+import { Vector2 } from '../../math/Vector2.js';
 import { Vector3 } from '../../math/Vector3.js';
 import { Vector3 } from '../../math/Vector3.js';
 import { Vector4 } from '../../math/Vector4.js';
 import { Vector4 } from '../../math/Vector4.js';
 import { Quaternion } from '../../math/Quaternion.js';
 import { Quaternion } from '../../math/Quaternion.js';
@@ -60,7 +61,7 @@ function WebVRManager( renderer ) {
 
 
 	}
 	}
 
 
-	var currentSize, currentPixelRatio;
+	var currentSize = new Vector2(), currentPixelRatio;
 
 
 	function onVRDisplayPresentChange() {
 	function onVRDisplayPresentChange() {
 
 
@@ -71,7 +72,7 @@ function WebVRManager( renderer ) {
 			var renderHeight = eyeParameters.renderHeight * framebufferScaleFactor;
 			var renderHeight = eyeParameters.renderHeight * framebufferScaleFactor;
 
 
 			currentPixelRatio = renderer.getPixelRatio();
 			currentPixelRatio = renderer.getPixelRatio();
-			currentSize = renderer.getSize();
+			renderer.getSize( currentSize );
 
 
 			renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );
 			renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );