Skip to content

Commit 66b9a6e

Browse files
GLTF Loader: use typeless RGBA format to allow UNORM/SRGB usage
1 parent 30fd20a commit 66b9a6e

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

AssetLoader/src/GLTFLoader.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ struct TextureInitData : public ObjectBase<IObject>
414414

415415
if (FmtAttribs.ComponentType != COMPONENT_TYPE_COMPRESSED)
416416
{
417-
ComputeMipLevel({Format, FineLevel.Width, FineLevel.Height,
417+
ComputeMipLevel({TypelessFormatToUnorm(Format), FineLevel.Width, FineLevel.Height,
418418
FineLevel.Data.data(), StaticCast<size_t>(FineLevel.SubResData.Stride),
419419
Level.Data.data(), StaticCast<size_t>(Level.SubResData.Stride)});
420420
}
@@ -440,7 +440,7 @@ TEXTURE_FORMAT GetModelImageDataTextureFormat(const Model::ImageData& Image)
440440
case 1: return TEX_FORMAT_R8_UNORM;
441441
case 2: return TEX_FORMAT_RG8_UNORM;
442442
case 3:
443-
case 4: return TEX_FORMAT_RGBA8_UNORM;
443+
case 4: return TEX_FORMAT_RGBA8_TYPELESS; // Use typeless format to allow UNORM/SRGB usage
444444
default:
445445
DEV_ERROR("Unsupported number of color components in gltf image: ", Image.NumComponents);
446446
return TEX_FORMAT_UNKNOWN;
@@ -890,7 +890,7 @@ Uint32 Model::AddTexture(IRenderDevice* pDevice,
890890
TexDesc.Type = RESOURCE_DIM_TEX_2D_ARRAY;
891891
TexDesc.Width = 32;
892892
TexDesc.Height = 32;
893-
TexDesc.Format = TEX_FORMAT_RGBA8_UNORM;
893+
TexDesc.Format = TEX_FORMAT_RGBA8_TYPELESS; // Use typeless format to allow UNORM/SRGB usage
894894
TexDesc.MipLevels = 1;
895895
TexDesc.Usage = USAGE_DEFAULT;
896896
TexDesc.BindFlags = BIND_SHADER_RESOURCE;

0 commit comments

Comments
 (0)