|
|
@@ -28,6 +28,10 @@ import {
|
|
|
RGB_ETC2_Format,
|
|
|
RGB_PVRTC_4BPPV1_Format,
|
|
|
RGB_S3TC_DXT1_Format,
|
|
|
+ SIGNED_RED_GREEN_RGTC2_Format,
|
|
|
+ SIGNED_RED_RGTC1_Format,
|
|
|
+ RED_GREEN_RGTC2_Format,
|
|
|
+ RED_RGTC1_Format,
|
|
|
RGBFormat,
|
|
|
RGFormat,
|
|
|
RedFormat,
|
|
|
@@ -58,6 +62,8 @@ import {
|
|
|
VK_FORMAT_BC1_RGB_UNORM_BLOCK,
|
|
|
VK_FORMAT_BC3_SRGB_BLOCK,
|
|
|
VK_FORMAT_BC3_UNORM_BLOCK,
|
|
|
+ VK_FORMAT_BC4_SNORM_BLOCK,
|
|
|
+ VK_FORMAT_BC4_UNORM_BLOCK,
|
|
|
VK_FORMAT_BC5_SNORM_BLOCK,
|
|
|
VK_FORMAT_BC5_UNORM_BLOCK,
|
|
|
VK_FORMAT_BC7_SRGB_BLOCK,
|
|
|
@@ -931,25 +937,25 @@ const UNCOMPRESSED_FORMATS = new Set( [ RGBAFormat, RGBFormat, RGFormat, RedForm
|
|
|
const FORMAT_MAP = {
|
|
|
|
|
|
[ VK_FORMAT_R32G32B32A32_SFLOAT ]: RGBAFormat,
|
|
|
- [ VK_FORMAT_R16G16B16A16_SFLOAT ]: RGBAFormat,
|
|
|
- [ VK_FORMAT_R8G8B8A8_UNORM ]: RGBAFormat,
|
|
|
- [ VK_FORMAT_R8G8B8A8_SRGB ]: RGBAFormat,
|
|
|
-
|
|
|
[ VK_FORMAT_R32G32_SFLOAT ]: RGFormat,
|
|
|
- [ VK_FORMAT_R16G16_SFLOAT ]: RGFormat,
|
|
|
- [ VK_FORMAT_R8G8_UNORM ]: RGFormat,
|
|
|
- [ VK_FORMAT_R8G8_SRGB ]: RGFormat,
|
|
|
-
|
|
|
[ VK_FORMAT_R32_SFLOAT ]: RedFormat,
|
|
|
+
|
|
|
+ [ VK_FORMAT_R16G16B16A16_SFLOAT ]: RGBAFormat,
|
|
|
+ [ VK_FORMAT_R16G16_SFLOAT ]: RGFormat,
|
|
|
[ VK_FORMAT_R16_SFLOAT ]: RedFormat,
|
|
|
+
|
|
|
+ [ VK_FORMAT_R8G8B8A8_SRGB ]: RGBAFormat,
|
|
|
+ [ VK_FORMAT_R8G8B8A8_UNORM ]: RGBAFormat,
|
|
|
+ [ VK_FORMAT_R8G8_SRGB ]: RGFormat,
|
|
|
+ [ VK_FORMAT_R8G8_UNORM ]: RGFormat,
|
|
|
[ VK_FORMAT_R8_SRGB ]: RedFormat,
|
|
|
[ VK_FORMAT_R8_UNORM ]: RedFormat,
|
|
|
|
|
|
[ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 ]: RGBFormat,
|
|
|
[ VK_FORMAT_B10G11R11_UFLOAT_PACK32 ]: RGBFormat,
|
|
|
|
|
|
- [ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK ]: RGB_ETC2_Format,
|
|
|
[ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK ]: RGBA_ETC2_EAC_Format,
|
|
|
+ [ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK ]: RGB_ETC2_Format,
|
|
|
|
|
|
[ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT ]: RGBA_ASTC_4x4_Format,
|
|
|
[ VK_FORMAT_ASTC_4x4_SRGB_BLOCK ]: RGBA_ASTC_4x4_Format,
|
|
|
@@ -958,16 +964,19 @@ const FORMAT_MAP = {
|
|
|
[ VK_FORMAT_ASTC_6x6_SRGB_BLOCK ]: RGBA_ASTC_6x6_Format,
|
|
|
[ VK_FORMAT_ASTC_6x6_UNORM_BLOCK ]: RGBA_ASTC_6x6_Format,
|
|
|
|
|
|
- [ VK_FORMAT_BC1_RGBA_UNORM_BLOCK ]: RGBA_S3TC_DXT1_Format,
|
|
|
[ VK_FORMAT_BC1_RGBA_SRGB_BLOCK ]: RGBA_S3TC_DXT1_Format,
|
|
|
- [ VK_FORMAT_BC1_RGB_UNORM_BLOCK ]: RGB_S3TC_DXT1_Format,
|
|
|
+ [ VK_FORMAT_BC1_RGBA_UNORM_BLOCK ]: RGBA_S3TC_DXT1_Format,
|
|
|
[ VK_FORMAT_BC1_RGB_SRGB_BLOCK ]: RGB_S3TC_DXT1_Format,
|
|
|
+ [ VK_FORMAT_BC1_RGB_UNORM_BLOCK ]: RGB_S3TC_DXT1_Format,
|
|
|
|
|
|
[ VK_FORMAT_BC3_SRGB_BLOCK ]: RGBA_S3TC_DXT3_Format,
|
|
|
[ VK_FORMAT_BC3_UNORM_BLOCK ]: RGBA_S3TC_DXT3_Format,
|
|
|
|
|
|
- [ VK_FORMAT_BC5_SNORM_BLOCK ]: RGBA_S3TC_DXT5_Format,
|
|
|
- [ VK_FORMAT_BC5_UNORM_BLOCK ]: RGBA_S3TC_DXT5_Format,
|
|
|
+ [ VK_FORMAT_BC4_SNORM_BLOCK ]: SIGNED_RED_RGTC1_Format,
|
|
|
+ [ VK_FORMAT_BC4_UNORM_BLOCK ]: RED_RGTC1_Format,
|
|
|
+
|
|
|
+ [ VK_FORMAT_BC5_SNORM_BLOCK ]: SIGNED_RED_GREEN_RGTC2_Format,
|
|
|
+ [ VK_FORMAT_BC5_UNORM_BLOCK ]: RED_GREEN_RGTC2_Format,
|
|
|
|
|
|
[ VK_FORMAT_BC7_SRGB_BLOCK ]: RGBA_BPTC_Format,
|
|
|
[ VK_FORMAT_BC7_UNORM_BLOCK ]: RGBA_BPTC_Format,
|
|
|
@@ -977,31 +986,50 @@ const FORMAT_MAP = {
|
|
|
const TYPE_MAP = {
|
|
|
|
|
|
[ VK_FORMAT_R32G32B32A32_SFLOAT ]: FloatType,
|
|
|
- [ VK_FORMAT_R16G16B16A16_SFLOAT ]: HalfFloatType,
|
|
|
- [ VK_FORMAT_R8G8B8A8_UNORM ]: UnsignedByteType,
|
|
|
- [ VK_FORMAT_R8G8B8A8_SRGB ]: UnsignedByteType,
|
|
|
-
|
|
|
[ VK_FORMAT_R32G32_SFLOAT ]: FloatType,
|
|
|
- [ VK_FORMAT_R16G16_SFLOAT ]: HalfFloatType,
|
|
|
- [ VK_FORMAT_R8G8_UNORM ]: UnsignedByteType,
|
|
|
- [ VK_FORMAT_R8G8_SRGB ]: UnsignedByteType,
|
|
|
-
|
|
|
[ VK_FORMAT_R32_SFLOAT ]: FloatType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_R16G16B16A16_SFLOAT ]: HalfFloatType,
|
|
|
+ [ VK_FORMAT_R16G16_SFLOAT ]: HalfFloatType,
|
|
|
[ VK_FORMAT_R16_SFLOAT ]: HalfFloatType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_R8G8B8A8_SRGB ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_R8G8B8A8_UNORM ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_R8G8_SRGB ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_R8G8_UNORM ]: UnsignedByteType,
|
|
|
[ VK_FORMAT_R8_SRGB ]: UnsignedByteType,
|
|
|
[ VK_FORMAT_R8_UNORM ]: UnsignedByteType,
|
|
|
|
|
|
[ VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 ]: UnsignedInt5999Type,
|
|
|
[ VK_FORMAT_B10G11R11_UFLOAT_PACK32 ]: UnsignedInt101111Type,
|
|
|
|
|
|
- [ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
[ VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
|
|
|
[ VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT ]: HalfFloatType,
|
|
|
+ [ VK_FORMAT_ASTC_4x4_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_ASTC_4x4_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
[ VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT ]: HalfFloatType,
|
|
|
[ VK_FORMAT_ASTC_6x6_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
[ VK_FORMAT_ASTC_6x6_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
|
|
|
+ [ VK_FORMAT_BC1_RGBA_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC1_RGBA_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC1_RGB_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC1_RGB_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_BC3_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC3_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_BC4_SNORM_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC4_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_BC5_SNORM_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC5_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+
|
|
|
+ [ VK_FORMAT_BC7_SRGB_BLOCK ]: UnsignedByteType,
|
|
|
+ [ VK_FORMAT_BC7_UNORM_BLOCK ]: UnsignedByteType,
|
|
|
+
|
|
|
};
|
|
|
|
|
|
async function createRawTexture( container ) {
|
|
|
@@ -1014,6 +1042,13 @@ async function createRawTexture( container ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // TODO: Merge the TYPE_MAP warning into the thrown error above, after r190.
|
|
|
+ if ( TYPE_MAP[ vkFormat ] === undefined ) {
|
|
|
+
|
|
|
+ console.warn( 'THREE.KTX2Loader: Missing ".type" for vkFormat: ' + vkFormat );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//
|
|
|
|
|
|
let zstd;
|