【发布时间】:2016-08-25 08:22:09
【问题描述】:
假设我有以下内容:
Texture2D texture : register(t0);
SamplerState sampler : register(s0);
export float4 Sample(float2 uv) { return texture.Sample(sampler, uv); }
export float4 Multiply(float4 lhs, float4 rhs) { return lhs * rhs; }
我可以使用这样的着色器库和着色器链接来实现Multiply(Sample_0(uv), Sample_1(uv)),其中Sample_n 是重新映射为使用纹理和采样器寄存器n 的Sample 方法的一个实例(因此每个调用都对自己的纹理进行采样)?
问题在于 API 在 ID3D11ModuleInstance 上公开了资源重新映射,但 ID3D11FunctionLinkingGraph::CallFunction 函数将 ID3D11Module 作为参数,所以我看不出两个不同的调用如何与两个不同的模块实例相关联相同的模块,但有不同的重映射。
【问题讨论】:
标签: hlsl direct3d11