SharpDX: Странные результаты при загрузке файла .obj

я получаю странные результаты при загрузке файла .obj в SharpDX. Он становится полупрозрачным. Я просто не могу понять проблему. Похоже, нормали инвертированы на некоторых гранях, но я не уверен. Я также пытался дублировать вершины и инвертировать каждую нормаль, но ничего не помогает. Может быть, я делаю неправильные вызовы отрисовки? Я рисую для каждого объекта в сцене, а затем представляю его.

Пример 1,Пример 2

После некоторого тестирования я думаю, что это также может быть шейдер. Но, как я уже сказал, я не уверен в этом. Это код шейдера:

cbuffer data :register(b0)
{
    float4x4 worldViewProj;
};

struct VS_IN
{
    float4 position : POSITION;
    float2 texcoord : TEXCOORD;
};

struct PS_IN
{
    float4 position : SV_POSITION;
    float2 texcoord : TEXCOORD;
};

//texture
Texture2D textureMap;
SamplerState textureSampler
{
    Filter = MIN_MAG_MIP_LINEAR;
    AddressU = Wrap;
    AddressV = Wrap;
};

PS_IN VS( VS_IN input)
{
    PS_IN output = (PS_IN)0;

    output.position = mul(worldViewProj,input.position);
    output.texcoord=input.texcoord;

    return output;
}

float4 PS( PS_IN input ) : SV_Target
{
    return textureMap.Sample( textureSampler, input.texcoord );
}

Также я новичок в шейдерах.


person 00noize00    schedule 11.05.2016    source источник


Ответы (1)


Я решил проблему. ZBuffer не был инициализирован путем инициализации DepthStencilView на устройстве

person 00noize00    schedule 11.05.2016