VertexShader中使用tex2D是异常的吗

VertexShader中使用tex2D是错误的吗?
void VS(float4 vPos:POSITION,
float2 vUV:TEXCOORD0,
out float4 oPos:POSITION,
out float3 oColor:COLOR0)

{
  oPos=mul(vPos,g_wvp);
  oColor=tex2D(g_sam,vUV).xyz;//因为需要,在这里取纹理的值,但这里就会出错,
}
编译的时候就会提示" Buffer Too Small"的错误。

是不是vs里面不能使用tex2D?

------解决方案--------------------
帮你置顶
------解决方案--------------------
VS里采样纹理用的不是 tex2D 指令
而且必须是 SM3.0 以后