Ета цветовая фигня была в шейдере:
float4 PositionPS(VertexShaderOutput input) : COLOR0
{
return float4(input.texC, 1.0f);
}
Теперь все ровно:
float4 PositionPS(VertexShaderOutput input) : COLOR0
{
return float4(1.0f, 1.0f, 1.0f, 0.1f);
}
Ну теперь самое сложное. Надо написать новую технику в шейдере, чтоб она привязывала каждий слой текстуры с файла к соотвецтвующему полигону...
Есть неплохой пример:
How To: Create Custom Texture Effects
Етот кусок кода привязывает текстуру к всем граням куба:
// This code would go between a device BeginScene-EndScene block.
effect.Begin();
foreach (EffectPass pass in effect.CurrentTechnique.Passes)
{
pass.Begin();
GraphicsDevice.DrawIndexedPrimitives(
PrimitiveType.TriangleList,
0,
0,
cubeVertices.Length,
0,
12
);
pass.End();
}
effect.End();
Но мне нужно привязывать каждому полигону соответствующую текстуру с RAW файла.
Вопрос:
1. Как добыть тексуры с файла для каждого полигона?
2. Как привязать каждому полигону отдельную текстуру?