Показать сообщение отдельно
Старый 27.03.2011, 00:33   #6
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Рисование примитивов XNA

Благодарю тебя PAX за хорошие советы!

Дело в том что я на ету полигональную сетку буду клеить 3Д текстуру, так как метод предложеный в VolumeRayCasting_101 - 202 мне не подходит. А с полигональной сеткой работает:
Нажмите на изображение для увеличения
Название: Image_1.jpg
Просмотров: 1341
Размер:	47.0 Кб
ID:	13119Нажмите на изображение для увеличения
Название: Image_2.jpg
Просмотров: 1257
Размер:	46.2 Кб
ID:	13120
Код шейдера выглядит:
float4x4 WorldViewProj;

texture3D Volume;

sampler3D SVolume = sampler_state
{
	Texture = <Volume>;
	MinFilter = LINEAR;
	MagFilter = LINEAR;
	MipFilter = LINEAR;
};

struct VS_INPUT
{
    float4 Position : POSITION0;
    float2 TexCoord : TEXCOORD0;
};

struct VS_OUTPUT
{
    float4 Position : POSITION0;
    float2 TexCoord : TEXCOORD0;
    float4 pos : TEXCOORD1;
};

VS_OUTPUT PositionVS(VS_INPUT input)
{
    VS_OUTPUT output;
	
    output.Position = mul(input.Position, WorldViewProj);
    output.TexCoord = input.TexCoord;
    output.pos = input.Position;

    return output;
}

float4 PixelShaderFunction(VS_OUTPUT input) : COLOR0
{
    float4 outColor = tex3D(SVolume,input.pos);

    return outColor * float4(1,1,1,0.2f);
}

technique BasicView
{
    pass Pass1
    {
        // TODO: set renderstates here.

        VertexShader = compile vs_1_1 PositionVS();
        PixelShader = compile ps_1_1 PixelShaderFunction();
    }
}
Но ети проблемы с отрисовкой полигонов меня затормозили
...Если камеру опустить пониже:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 1279
Размер:	31.5 Кб
ID:	13122
Видно неудавшиеся попытки отрисоватса следующим слоям после первого... А ето никуда не годится!
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием