几天来,我一直在努力寻找任何资源来帮助我使用高级着色器语言和DirectX 9托管库编写一个简单的辉光/模糊着色器。
我要做的就是
CustomVertex.TransformedColored
顶点绘制为简单的线条,然后由HLSL效果模糊/发光。
我已经在网上搜索了大约三天,得到了一些结果,但我只是找不到真正好的教程或例子。我对HLSL有一个基本的了解,但是我对它的理解还不足以理解如何编写这个着色器(我也读过3本DirectX书籍中的HLSL一章)。
以下是一些(节略)代码:
CustomVertex.TransformedColored[] glowVertices = new CustomVertex.TransformedColored[4];
glowVertices[0] = new CustomVertex.TransformedColored(random.Next(this.render.Width), random.Next(this.render.Height), 1, 1, Color.Cyan.ToArgb());
glowVertices[1] = new CustomVertex.TransformedColored(random.Next(this.render.Width), random.Next(this.render.Height), 1, 1, Color.Blue.ToArgb());
glowVertices[2] = new CustomVertex.TransformedColored(random.Next(this.render.Width), random.Next(this.render.Height), 1, 1, Color.Cyan.ToArgb());
glowVertices[3] = new CustomVertex.TransformedColored(random.Next(this.render.Width), random.Next(this.render.Height), 1, 1, Color.Blue.ToArgb());
this.device.BeginScene();
int passes = this.glowEffect.Begin(0);
for (int i = 0; i < passes; i++)
{
this.glowEffect.BeginPass(i);
this.device.DrawUserPrimitives(PrimitiveType.LineStrip, glowVertices.Length - 1, glowVertices);
this.glowEffect.EndPass();
}
this.glowEffect.End();
this.device.EndScene();
我想我并不是很想在HLSL的某个特定部分寻求帮助,考虑到我需要发布的问题和代码的数量,我只是在寻找一些帮助查找资源!