Показать сообщение отдельно
Старый 17.03.2011, 15:42   #19
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Volume Rendering на XNA (Texture3D)

Ета цветовая фигня была в шейдере:
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. Как привязать каждому полигону отдельную текстуру?
Миниатюры
Нажмите на изображение для увеличения
Название: capture0.jpg
Просмотров: 1682
Размер:	103.6 Кб
ID:	12995  Нажмите на изображение для увеличения
Название: capture1.jpg
Просмотров: 1773
Размер:	55.9 Кб
ID:	12996  
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием