Files
XCEngine/docs/api/rhi/texture/texture.md

2.7 KiB

RHITexture

命名空间: XCEngine::RHI

类型: class (abstract)

描述: GPU 纹理资源抽象接口,用于管理 1D、2D、3D 纹理和立方体贴图等 GPU 资源。

公共方法

方法 描述
GetWidth 获取纹理宽度
GetHeight 获取纹理高度
GetDepth 获取纹理深度
GetMipLevels 获取 Mip 级别数量
GetFormat 获取纹理格式
GetTextureType 获取纹理类型
GetState 获取资源状态
SetState 设置资源状态
Shutdown 关闭并释放资源
GetNativeHandle 获取原生句柄
GetName 获取资源名称
SetName 设置资源名称

纹理类型 (TextureType)

枚举值 描述
TextureType::Texture1D 1D 纹理
TextureType::Texture2D 2D 纹理
TextureType::Texture2DArray 2D 纹理数组
TextureType::Texture3D 3D 纹理(体积纹理)
TextureType::TextureCube 立方体贴图
TextureType::TextureCubeArray 立方体贴图数组

纹理格式 (Format)

格式 描述
Format::Unknown 未知格式
Format::R8_UNorm 单通道 8 位归一化
Format::R8G8_UNorm 双通道 8 位归一化
Format::R8G8B8A8_UNorm 四通道 8 位归一化
Format::R16G16B16A16_Float 四通道 16 位浮点
Format::R32G32B32A32_Float 四通道 32 位浮点
Format::R16_Float 单通道 16 位浮点
Format::R32_Float 单通道 32 位浮点
Format::D16_UNorm 16 位深度
Format::D24_UNorm_S8_UInt 24 位深度 + 8 位模板
Format::D32_Float 32 位深度
Format::BC1_UNorm BC1 压缩 (DXT1)
Format::BC2_UNorm BC2 压缩 (DXT2/3)
Format::BC3_UNorm BC3 压缩 (DXT4/5)
Format::BC4_UNorm BC4 压缩
Format::BC5_UNorm BC5 压缩
Format::BC6H_UF16 BC6H 压缩 (UF16)
Format::BC7_UNorm BC7 高质量压缩
Format::R32G32B32A32_UInt 四通道 32 位无符号整数
Format::R32_UInt 单通道 32 位无符号整数

使用示例

TextureDesc desc;
desc.width = 1024;
desc.height = 1024;
desc.format = (uint32_t)Format::R8G8B8A8_UNorm;
desc.textureType = (uint32_t)TextureType::Texture2D;

RHITexture* texture = device->CreateTexture(desc);
texture->SetState(ResourceStates::PixelShaderResource);
texture->Shutdown();

相关文档