gpt4 book ai didi

c# - SharpDx 获取 Texture2D、SamplerState 的 Shader 变量名称

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:28 25 4
gpt4 key购买 nike

我想知道是否可以获取 Texture2D 和 SamplerState 的变量名称。我知道我可以通过效果框架获得这些。但我正在寻找一种没有这个框架的方法。就像使用 Constantbuffers (ShaderReflection) 的方式一样。我想像这样制作 HLSL 代码

   Texture2D tex0;
Texture2D bg;

有谁知道我如何在没有 EffectsFramework 的情况下访问变量名?

最佳答案

这里很简单,首先编译你的着色器以获得字节码。

然后创建一个ShaderReflection实例

byte[] yourbytecode;
SharpDX.D3DCompiler.ShaderReflection sr;
sr = new ShaderReflection(yourbytecode);

查找绑定(bind)了多少资源:

int ResourceCount = sr.Description.BoundResources;

然后获取有关它的详细信息:

InputBindingDescription desc = sr.GetResourceBindingDescription(index);

它包含名称、维度和其他有用的数据。

关于c# - SharpDx 获取 Texture2D、SamplerState 的 Shader 变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17190507/

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