我一直在掙扎了好幾天找到任何資源來幫我寫使用高級着色語言和DirectX 9託管庫一個簡單的光芒/模糊着色器。簡單的HLSL閃爍/模糊效果的DirectX9
所有我需要做的是有畫成簡單的線條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的特定部分的幫助下,給定的問題的數量,我將不得不代碼的數量發佈我真的只是尋找一些幫助尋找資源!
是的,我想我不太清楚。我意識到你所說的一切,我把紋理渲染成紋理,將它應用到四邊形,並用我的HLSL渲染四邊形。我想我正在尋找的是與之相伴隨的HLSL方面。 感謝Bloom Sample,我會研究它:) – tbridge 2010-11-23 00:24:46