浏览代码

feat(loaders): Add CompressedCubeTexture (#26369)

Don McCurdy 2 年之前
父节点
当前提交
4a7c2417ab
共有 3 个文件被更改,包括 22 次插入4 次删除
  1. 2 4
      examples/jsm/loaders/KTX2Loader.js
  2. 1 0
      src/Three.js
  3. 19 0
      src/textures/CompressedCubeTexture.js

+ 2 - 4
examples/jsm/loaders/KTX2Loader.js

@@ -14,6 +14,7 @@
 import {
 	CompressedTexture,
 	CompressedArrayTexture,
+	CompressedCubeTexture,
 	Data3DTexture,
 	DataTexture,
 	FileLoader,
@@ -261,10 +262,7 @@ class KTX2Loader extends Loader {
 
 		if ( container.faceCount === 6 ) {
 
-			texture = new CompressedTexture();
-			texture.image = faces;
-			texture.format = format;
-			texture.type = UnsignedByteType;
+			texture = new CompressedCubeTexture( faces, format, UnsignedByteType );
 
 		} else {
 

+ 1 - 0
src/Three.js

@@ -34,6 +34,7 @@ export { DataArrayTexture } from './textures/DataArrayTexture.js';
 export { Data3DTexture } from './textures/Data3DTexture.js';
 export { CompressedTexture } from './textures/CompressedTexture.js';
 export { CompressedArrayTexture } from './textures/CompressedArrayTexture.js';
+export { CompressedCubeTexture } from './textures/CompressedCubeTexture.js';
 export { CubeTexture } from './textures/CubeTexture.js';
 export { CanvasTexture } from './textures/CanvasTexture.js';
 export { DepthTexture } from './textures/DepthTexture.js';

+ 19 - 0
src/textures/CompressedCubeTexture.js

@@ -0,0 +1,19 @@
+import { CubeReflectionMapping } from '../constants.js';
+import { CompressedTexture } from './CompressedTexture.js';
+
+class CompressedCubeTexture extends CompressedTexture {
+
+	constructor( images, format, type ) {
+
+		super( undefined, images[ 0 ].width, images[ 0 ].height, format, type, CubeReflectionMapping );
+
+		this.isCompressedCubeTexture = true;
+		this.isCubeTexture = true;
+
+		this.image = images;
+
+	}
+
+}
+
+export { CompressedCubeTexture };