初始化纹理

你能在创建纹理的时候初始化,或者创建后填充数据。这篇文章将展示怎么初始化不同类型的纹理。

Default类型纹理:

Default为最常用的纹理类型,这个纹理用D3D11_USAGE_DEFAULT类型创建。你能用下面两种方法之一初始化纹理:

  • 调用ID3D11Device::CreateTexture2D方法并且给pInitialData变量指定数据。
  • 调用ID3D11Device::CreateTexture2D方法创建纹理之后,调用ID3D11DeviceContext::UpdateSubresource方法填充纹理数据。

Dynamic类型纹理:

此纹理用D3D11_USAGE_DYNAMIC类型创建,填充这个纹理数据方法如下:

  1. 通过调用ID3D11DeviceContext::Map方法并且指定D3D11_MAP_WRITE_DISCARD标志获取纹理数据内存指针。
  2. 写入数据到内存指针指向的地址。
  3. 当你写完数据调用ID3D11DeviceContext::Unmap方法。

Staging类型纹理:

此纹理用D3D11_USAGE_STAGING类型创建,填充这个纹理数据方法如下:

1.通过调用ID3D11DeviceContext::Map方法并且指定D3D11_MAP_WRITE标志获取纹理数据内存指针。

2.写入数据到内存指针指向的地址。

3.当你写完数据调用ID3D11DeviceContext::Unmap方法。

一个Staging类型的纹理可以作为ID3D11DeviceContext::CopyResource或者ID3D11DeviceContext::CopySubresourceRegion的源目标对象来填充defaut和dynamic类型的纹理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值