阅读本书:“使用 Direct3D 11 进行实际渲染和计算”,并在线查找定义:https : //docs.microsoft.com/en-us/windows/uwp/graphics-concepts/shader-resource-view-- srv-
我仍然对 ID3D11ShaderResourceView 是什么感到困惑。
请记住,我正在学习 DirectX 11 来创建视频游戏。考虑到这一点 ...
什么是着色器资源视图?在什么情况下您会使用着色器资源视图?最重要的是,您如何使用着色器资源视图?
我假设你可以在你的 HLSL 代码中使用这个资源,但在书中我还没有看到一个关于如何做到这一点的例子,以及它用于视频游戏引擎的通用方式。
谢谢!
在旧版本如的Direct3D 9,你必须为单一的界面,例如IDirect3DTexture9,IDirect3DCubeTexture9或者IDirect3DVolumeTexture9这两种封装的图像位本身和使用情况的预期语义。这具有特殊的逻辑,使其也可以用作渲染目标。
在 Direct3D 10 中,这被分为两个元素:
资源(即,图像比特)等ID3DxxTexture1D,ID3DxxTexture2D和ID3DxxTexture3D
使用语义要么ID3DxxShaderResourceView是用于读取着色器中的纹理,要么ID3D10RenderTargetView是用于渲染纹理。
较新设计的优点是您可以拥有单个ID3DxxTexture2D资源并在使用它进行渲染时拥有 SRV,而在将其用作渲染纹理时拥有 RTV。您可以将立方体贴图视为数组大小为 6 的 2D 纹理。
您可能会发现MSDN上的旧文档很有帮助。
你应该看看DirectX Tool Kit 教程
| 归档时间: |
|
| 查看次数: |
4293 次 |
| 最近记录: |