Я создал простое приложение DirectX, которое отображает поле вершин. Вершины визуализируются как это (если смотреть сверху):DirectX: «просмотреть» полигоны
|\|\|\|\|
|\|\|\|\|
Каждый треугольник визуализируется как это:
1
|\
2 3
Что должно означать, что многоугольник против часовой стрелки, а не быть оказаны, но она есть. В любом случае, если смотреть сверху, это идеальный вариант.
Однако, если смотреть с другого уровня, некоторые полигоны являются прозрачными, и вы можете видеть геометрию за ними. Я выделил некоторые места, где это происходит.
Я думаю, что это некоторые из основных проблем начинающих. Что мне не хватает? Мое описание Растеризатор таково:
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
};
Это то же самое с FillMode.Solid. Я понял, что я просто пропустил буфер глубины трафарета. Но спасибо за информацию в любом случае. –
Хорошо, похоже, что вы хотели иметь эффект удаления скрытой линии. Даже с буфером глубины-трафарета вы будете «видеть» полигоны. – Stringer