简单着色器的精灵界面

我一直在寻找任何例子很长一段时间,我不能得到任何工作(从例子)。 我曾尝试使用顶点/像素着色器,效果文件,但它们对渲染没有任何影响。 我正在使用看似简单的着色器(为红色添加一个值,或者完全删除一个颜色)。 这使我相信设置/渲染着色器的代码无法正常工作。 几乎每个例子都是基于非基于sprite的渲染,但我不知道是否重要(我无法find任何信息)。

很多论坛post/答案指向不再存在的网站。

我想得到一个简单的着色器的概念certificate,特别是对整个渲染的屏幕做任何事情。

我使用的技术是C ++ Directx 9 Sprite接口。 任何帮助/正确的方向链接表示赞赏。

先谢谢了!

这是我用来将预先构建的HUD纹理推送到完整显示窗口的着色器。 我编译它使用VS_4_0和PS_4_0configuration文件,我不知道将与DX9正常工作。 我用这个着色器的网格是一个从(-1,-1,0)到(1,1,0)的简单四边形(注意Z的零点 – 没有涉及的深度… -1到1范围映射到屏幕的角落,(0,0)在中间)。 如果您在编译DX9(VS3 / PS3)时遇到问题,则问题很可能是SV_POSITION和SV_TARGET语义。 这个着色器也是用来configurationalpha混合的,但没有理由不能混合使用。

 struct VS_IN {float4 pos:POSITION;  float2 tex:TEXCOORD;  };  struct PS_IN {float4 pos:SV_POSITION;  float2 tex:TEXCOORD;  };  Texture2D图片;  SamplerState pictureSampler;  PS_IN VS(VS_INinput){PS_IN输出=(PS_IN)0;  output.pos = input.pos;  output.tex = input.tex; 返回输出;  (PS_INinput):SV_Target {return picture.Sample(pictureSampler,input.tex);  }