DirectX 11什么是着色器资源视图

迈克5050

阅读本书:“使用Direct3D 11进行实用的渲染和计算”,并在线查找定义:https//docs.microsoft.com/zh-cn/windows/uwp/graphics-concepts/shader-resource-view-- srv-

我仍然对ID3D11ShaderResourceView是什么感到困惑。

请记住,我正在学习DirectX 11来创建视频游戏。考虑到这一点 ...

什么是着色器资源视图?在什么情况下,您将使用“着色器资源视图”?最重要的是,如何使用着色器资源视图?

我假设您可以在HLSL代码中使用此资源,但是在书中,我还没有看到有关如何执行此操作以及如何将其用于视频游戏引擎的示例。

谢谢!

查克·沃尔本

在较旧的版本(如Direct3D 9)中,您只有一个接口(如IDirect3DTexture9,)IDirect3DCubeTexture9,或IDirect3DVolumeTexture9同时封装了图像位本身和预期的使用语义。这具有特殊的逻辑,以使其也可以作为渲染目标。

在Direct3D 10中,这分为两个元素:

  • 资源(即,图像比特)等ID3DxxTexture1DID3DxxTexture2DID3DxxTexture3D

  • 使用的语义可以ID3DxxShaderResourceView是用于在着色器中读取纹理的aID3D10RenderTargetView或用于呈现为纹理的-。

较新设计的优点是,您可以拥有一个ID3DxxTexture2D资源,并在使用它进行渲染时具有SRV,而在将其用作渲染纹理时具有RTV。您可以将立方体贴图视为数组大小为6的2D纹理。

您可能会发现MSDN上的旧文档很有帮助。

您应该看一下DirectX Tool Kit教程

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章