diff --git a/examples/jsm/loaders/KTX2Loader.js b/examples/jsm/loaders/KTX2Loader.js index db8c62948ab4e6..78e1b2a3961a39 100644 --- a/examples/jsm/loaders/KTX2Loader.js +++ b/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 { diff --git a/src/Three.js b/src/Three.js index 0773a037ca7b1f..42efdc3200490d 100644 --- a/src/Three.js +++ b/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'; diff --git a/src/textures/CompressedCubeTexture.js b/src/textures/CompressedCubeTexture.js new file mode 100644 index 00000000000000..3d076ff2058c0f --- /dev/null +++ b/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 };