2
0
Эх сурвалжийг харах

Load mipmaps when updating texture

Ben Adams 12 жил өмнө
parent
commit
4cba7d2396

+ 14 - 1
src/renderers/WebGLRenderer.js

@@ -6635,7 +6635,20 @@ THREE.WebGLRenderer = function ( parameters ) {
 
 			} else {
 
-				_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, glFormat, glType, texture.image );
+				var mipmap, mipmaps = texture.mipmaps;
+				if (mipmaps && isImagePowerOfTwo) {
+					// pre generated mipmaped regular texture
+					for (var i = 0, il = mipmaps.length; i < il; i++) {
+						mipmap = mipmaps[i];
+						_gl.texImage2D(_gl.TEXTURE_2D, i, glFormat, glFormat, glType, mipmap);
+					}
+					texture.generateMipmaps = false;
+				}
+				else
+				{
+					// regular texture
+					_gl.texImage2D( _gl.TEXTURE_2D, 0, glFormat, glFormat, glType, texture.image );
+				}
 
 			}