您能在顶点着色器中对纹理进行采样吗?

bob*_*obo 5 hlsl direct3d11

在着色器模型 3.0 中,我很确定这是否定的,我还是想问这个,

在着色器模型 5.0 中,您可以在顶点着色器中对纹理进行采样吗?

如果我想为每个顶点提供大量补充信息,我有哪些选择?

编辑:显然可以进行顶点纹理提取,如此处所示但是当我在 hlsl 着色器模型 5 程序中尝试它时,出现错误

错误 X4532:无法将表达式映射到 vs_5_0 指令集

bob*_*obo 5

是的,在 Shader Model 5.0 中,在任何对象上使用运算符 [ unint2 ],从顶点着色器采样纹理非常容易Texture2D

例如,着色器模型 5 hlsl 程序中的tex0一个对象是:Texture2D

Texture2D tex0 : register( t0 );

// in a vertex shader program
uint2 pos_xy = { 0, 1 } ;
texelColor = tex0[ pos_xy ] ;
Run Code Online (Sandbox Code Playgroud)