فهرست منبع

Fixed deferred renderer for retina displays

Patched WebGLDeferredRenderer to work with native rather than virtual pixels.
Charlotte Gore 11 سال پیش
والد
کامیت
6beea8cb73
1فایلهای تغییر یافته به همراه13 افزوده شده و 4 حذف شده
  1. 13 4
      examples/js/renderers/WebGLDeferredRenderer.js

+ 13 - 4
examples/js/renderers/WebGLDeferredRenderer.js

@@ -7,13 +7,22 @@ THREE.WebGLDeferredRenderer = function ( parameters ) {
 
 	var _this = this;
 
-	var fullWidth = parameters.width !== undefined ? parameters.width : 800;
-	var fullHeight = parameters.height !== undefined ? parameters.height : 600;
+	var pixelWidth = parameters.width !== undefined ? parameters.width : 800;
+	var pixelHeight = parameters.height !== undefined ? parameters.height : 600;
 	var currentScale = parameters.scale !== undefined ? parameters.scale : 1;
-
+    
+	var devicePixelRatio = parameters.devicePixelRatio !== undefined
+		? parameters.devicePixelRatio
+			: self.devicePixelRatio !== undefined
+				? self.devicePixelRatio
+				: 1;
+
+	var fullWidth = pixelWidth * devicePixelRatio;
+	var fullHeight = pixelHeight * devicePixelRatio;
+	
 	var scaledWidth = Math.floor( currentScale * fullWidth );
 	var scaledHeight = Math.floor( currentScale * fullHeight );
-
+	
 	var brightness = parameters.brightness !== undefined ? parameters.brightness : 1;
 	var tonemapping = parameters.tonemapping !== undefined ? parameters.tonemapping : THREE.SimpleOperator;
 	var antialias = parameters.antialias !== undefined ? parameters.antialias : false;