SharpDX:加载 .obj 文件的奇怪结果
SharpDX: Strange results loading an .obj file
我在 SharpDX 中加载 .obj 文件时得到奇怪的结果。它变得半透明。我就是想不通这个问题。看起来有些面孔的法线是倒置的,但我不确定。我还尝试复制顶点并反转每个法线,但没有任何帮助。难道是我做错了绘制调用?我为场景中的每个对象绘制,然后呈现它。
经过一些测试,我认为它也可能是着色器。但是就像我已经说过的那样,我不确定。
这是着色器代码:
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 );
}
我也是着色器新手。
我解决了这个问题。 ZBuffer 未通过初始化设备的 DepthStencilView 来初始化
我在 SharpDX 中加载 .obj 文件时得到奇怪的结果。它变得半透明。我就是想不通这个问题。看起来有些面孔的法线是倒置的,但我不确定。我还尝试复制顶点并反转每个法线,但没有任何帮助。难道是我做错了绘制调用?我为场景中的每个对象绘制,然后呈现它。
经过一些测试,我认为它也可能是着色器。但是就像我已经说过的那样,我不确定。 这是着色器代码:
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 );
}
我也是着色器新手。
我解决了这个问题。 ZBuffer 未通过初始化设备的 DepthStencilView 来初始化