gpt4 book ai didi

shader - DirectX 11 什么是着色器资源 View

转载 作者:行者123 更新时间:2023-12-04 00:05:43 62 4
gpt4 key购买 nike

阅读书籍:“Practical Rendering and Computation with Direct3D 11”,并在线查找定义:https://docs.microsoft.com/en-us/windows/uwp/graphics-concepts/shader-resource-view--srv-

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

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

什么是着色器资源 View ?在什么情况下您会使用着色器资源 View ?最重要的是,您如何使用着色器资源 View ?

我假设你可以在你的 HLSL 代码中使用这个资源,但在书中我还没有看到一个关于如何做到这一点的例子,以及它用于视频游戏引擎的通用方式。

谢谢!

最佳答案

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

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

  • 资源(即图像位)如 ID3DxxTexture1D , ID3DxxTexture2D , 和 ID3DxxTexture3D
  • 用法的语义是 ID3DxxShaderResourceView用于在着色器中读取纹理 - 或 - ID3D10RenderTargetView用于渲染到纹理。

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

    您可能会在 MSDN 上找到较旧的文档。有帮助。

    You should take a look at the DirectX Tool Kit tutorials

    关于shader - DirectX 11 什么是着色器资源 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46493782/

    62 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com