2016-05-11 24 views
0

Ich bekomme seltsame Ergebnisse beim Laden einer .obj-Datei in SharpDX. Es wird halbtransparent. Ich kann das Problem einfach nicht herausfinden. Es sieht so aus, als ob die Normalen bei manchen Gesichtern umgekehrt sind, aber ich bin mir nicht sicher. Ich habe auch versucht, die Scheitelpunkte zu duplizieren und umgekehrt, aber nichts hilft. Könnte es sein, dass ich falsche Zeichenrufe mache? Ich zeichne für jedes Objekt in der Szene und danach präsentiere ich es.SharpDX: Strange Ergebnisse Laden einer .obj-Datei

Example 1, Example 2

Nach einigen Tests, ich denke, es auch der Shader sein könnte. Aber wie ich schon sagte, bin ich mir da nicht sicher. Dies ist der Shadercode:

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); 
} 

: Ich bin auch zu Shader.

Antwort

0

Ich löste das Problem. Der ZBuffer wurde nicht initialisiert, indem eine DepthStencilView zum Gerät

initialisiert wurde