Как я могу изменить базовый метод рисования XNA для рендеринга вершин (точек)? - PullRequest
1 голос
/ 08 сентября 2011

Я следовал документации MSDN о том, как визуализировать модель с базовым эффектом .

Что аккуратно. Я могу изменить отображение для отображения в каркасной модели, добавив следующую строку в пример кода перед двойным циклом метода DrawModel:

GraphicsDevice.RasterizerState = WIREFRAME_RASTERIZER_STATE;

Где я инициализировал WIREFRAME_RASTERIZER_STATE в конструкторе как

RasterizerState WIREFRAME_RASTERIZER_STATE = new RasterizerState() { CullMode = CullMode.None, FillMode = FillMode.WireFrame };

Есть ли такое же простое добавление / модификация, которую я могу сделать для отображения просто вершин в импортированной модели? Насколько я понимаю, режим каркаса говорит XNA визуализировать линии вместо треугольников, но, к сожалению, метод RasterizerState, который я использовал выше, не имеет режима заполнения, который отображает только вершины (это SOLID или WIREFRAME).

Учитывая, что большая часть функций draw скрыта в примере MSDN, я надеялся, что кто-нибудь может подсказать мне, как просто визуализировать точки, не соединяя их.

1 Ответ

2 голосов
/ 08 сентября 2011

FillMode.Point был удален в XNA 4.0. Это сообщение в блоге описывает причину и предоставляет обходные пути.

В вашей ситуации вы, вероятно, обнаружите, что вам нужно обработать данные модели, чтобы сгенерировать фактические треугольники для рендеринга вместо точек.

...