DirectX12纹理格式

DirectX12纹理格式

2D 纹理(2D texture)是一种由数据元素构成的矩阵,

纹理数据格式

纹理只能存储DXGI_FORMAT枚举类型中描述的特定格式的数据元素

  • DXGI_FORMAT_R32G32B32_FLOAT:每个元素由3个32位浮点数分量构成 RGB各32位
  • DXGI_FORMAT_R16G16B16A16_UNORM:每个元素由4个16位分量构成,每个分量都被映射到[0, 1]区间。RGBA各16位
  • DXGI_FORMAT_R32G32_UINT:每个元素由2个32位无符号整数分量构成。RG各32位
  • DXGI_FORMAT_R8G8B8A8_UNORM:每个元素由4个8位无符号分量构成,每个分量都被映射到[0, 1]区间。RGBA各8位
  • DXGI_FORMAT_R8G8B8A8_SNORM:每个元素由4个8位有符号分量构成,每个分量都被映射到[-1, 1]区间。
  • DXGI_FORMAT_R8G8B8A8_SINT:每个元素由4个8位有符号整数分量构成,每个分量都被映射到[-128, 127]区间。
  • DXGI_FORMAT_R8G8B8A8_UINT:每个元素由4个8位无符号整数分量构成,每个分量都被映射到[0, 255]区间。
  • DXGI_FORMAT_R16G16B16A16_TYPELESS:无类型格式保留的是由4个16位分量组成的元素,但并没有指出数据的具体类型。我们仅用它来预留内存,待纹理被绑定到渲染流水线再具体解释它的数据类型。

用途

  • 用途之一是存储2D图像数据,这种情况下,纹理中每个元素存储的都是一个像素的颜色

  • 法线贴图(normal mapping),纹理内的每个元素存储的就是一个3D 向量。
    例如,格式DXGI_FORMAT_R32G32B32_FLOAT中含有3个浮点数分量,因此可以利用坐标格式为浮点数的方式存储任意3D向量。

纹理的mipmap层级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值