я получаю странные результаты при загрузке файла .obj в SharpDX. Он становится полупрозрачным. Я просто не могу понять проблему. Похоже, нормали инвертированы на некоторых гранях, но я не уверен. Я также пытался дублировать вершины и инвертировать каждую нормаль, но ничего не помогает. Может быть, я делаю неправильные вызовы отрисовки? Я рисую для каждого объекта в сцене, а затем представляю его.
После некоторого тестирования я думаю, что это также может быть шейдер. Но, как я уже сказал, я не уверен в этом. Это код шейдера:
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 );
}
Также я новичок в шейдерах.