Parcourir la source

fixed copyFramebufferToTexture

Emmett Lalish il y a 5 ans
Parent
commit
d75919bba4
2 fichiers modifiés avec 6 ajouts et 2 suppressions
  1. 3 0
      src/renderers/WebGLRenderer.d.ts
  2. 3 2
      src/renderers/WebGLRenderer.js

+ 3 - 0
src/renderers/WebGLRenderer.d.ts

@@ -19,6 +19,7 @@ import { WebVRManager } from '../renderers/webvr/WebVRManager';
 import { RenderTarget } from './webgl/WebGLRenderLists';
 import { Geometry } from './../core/Geometry';
 import { BufferGeometry } from './../core/BufferGeometry';
+import { Texture } from '../textures/Texture';
 
 export interface Renderer {
 	domElement: HTMLCanvasElement;
@@ -396,6 +397,8 @@ export class WebGLRenderer implements Renderer {
 		activeCubeFaceIndex?: number
 	): void;
 
+	copyFramebufferToTexture( position: Vector2, texture: Texture, level: number ): void;
+
 	/**
 	 * @deprecated
 	 */

+ 3 - 2
src/renderers/WebGLRenderer.js

@@ -2719,8 +2719,9 @@ function WebGLRenderer( parameters ) {
 
 	this.copyFramebufferToTexture = function ( position, texture, level ) {
 
-		var width = texture.image.width;
-		var height = texture.image.height;
+		var levelScale = Math.pow( 2, -1.0 * level );
+		var width = texture.image.width * levelScale;
+		var height = texture.image.height * levelScale;
 		var glFormat = utils.convert( texture.format );
 
 		textures.setTexture2D( texture, 0 );