DX11在纹理上添加一个简单的黑盒子

时间:2016-06-21 10:40:23

标签: directx-11

我想在纹理上添加一个简单的黑盒子(如:effect)(ID3D11ShaderResourceView),在DX11中有一种简单的方法吗?不想写阴影来做。

1 个答案:

答案 0 :(得分:0)

嗯,你要做的事实上是“以编程方式初始化纹理”。来自D3D POV的纹理只不过是具有明确定义的布局的内存片段。通常,您可以创建纹理资源,从纹理文件中读取数据(例如* .BMP),将数据放入纹理中,然后将其提供给管道进行采样。

在您的情况下,您还需要一个额外的步骤:

  1. 使用D3D11_USAGE_DEFAULT或D3D11_USAGE_DYNAMIC标志创建纹理资源 - 这样您就可以从CPU访问它
  2. 将颜色贴图读取到纹理
  3. 根据所选类型,将数据添加到初始数据或地图/取消地图并添加数据(根据您的数据,我的意思是用黑色覆盖图像的每个边缘)
  4. 这也可以用于“生成”纹理,例如棋盘格或云。

    您可以找到所需的所有信息here