J'ai créé une application DirectX simple qui rend un champ de sommets. Vertex sont rendus comme celui-ci (si on la regarde du haut):DirectX: polygones "voir à travers"
|\|\|\|\|
|\|\|\|\|
Chaque triangle est rendu comme ceci:
1
|\
2 3
Ce qui devrait signifier que le polygone est anti-horaire et ne pas être rendu, mais il est. Quoi qu'il en soit, vu de haut, l'avion est parfait.
Cependant, vu d'un autre niveau, certains polygones sont en quelque sorte transparents et vous pouvez voir la géométrie derrière eux. J'ai mis en évidence une partie de l'endroit où cela se passe. Je pense que c'est l'un des problèmes de base des débutants. Qu'est-ce que je rate? Ma description de tramage est tel:
new RasterizerStateDescription
{
CullMode = CullMode.Front,
IsAntialiasedLineEnabled = true,
IsMultisampleEnabled = true,
IsDepthClipEnabled = true,
IsFrontCounterclockwise = false,
IsScissorEnabled = true,
DepthBias = 1,
DepthBiasClamp = 1000.0f,
FillMode = FillMode.Wireframe,
SlopeScaledDepthBias = 1.0f
};
C'est la même chose avec FillMode.Solid. J'ai pensé que je manquais juste un tampon de profondeur de pochoir. Mais merci pour l'info quand même. –
Ok, il me semble que vous vouliez avoir un effet de suppression de ligne cachée. Même avec un tampon de profondeur-pochoir, vous verrez des polygones. – Stringer