От дни се боря да намеря някакви ресурси, които да ми помогнат да напиша прост шейдър за светене/замъгляване, използвайки High Level Shader Language и DirectX 9 Managed Libraries.
Всичко, което трябва да направя, е масив от CustomVertex.TransformedColored
върхове, начертани като прости линии и след това замъглени/светещи от HLSL ефекта.
Търсих в интернет от около три дни с някои резултати, но просто не мога да намеря наистина добър урок или пример. Имам основни познания за HLSL, но не го разбирам достатъчно, за да разбера как да напиша този шейдър (също прочетох главата за HLSL в 3 книги за DirectX).
Ето малко (съкратен) код:
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, предвид броя на въпросите и количеството код, който трябва да публикувам, наистина просто търся помощ за намиране на ресурси!