Рисовать 3d модель в XNA 4.0? - PullRequest
2 голосов
/ 16 октября 2011

Я рисую несколько моделей со следующим кодом для настройки состояний рендеринга:

GraphicsDevice.BlendState = BlendState.Opaque;
GraphicsDevice.DepthStencilState = DepthStencilState.Default;
GraphicsDevice.RasterizerState = RasterizerState.CullCounterClockwise;
GraphicsDevice.SamplerStates[0] = SamplerState.LinearWrap;

Некоторые модели отображаются не правильно.Если я изменю одну строку кода:

GraphicsDevice.DepthStencilState = DepthStencilState.DepthRead;

Теперь другие не будут работать правильно.Я использовал 2 кода с каждым сегментом кода, но он все еще не работает.

Как я могу исправить эту проблему рендеринга?


Скриншоты:

Сначала я рисую землю, затем модели «дороги».

Верх: http://i.stack.imgur.com/xH8qp.png

Когда я меняю угол наклона камеры ...: http://i.stack.imgur.com/Nbw3m.png

1 Ответ

3 голосов
/ 17 октября 2011

Ваша проблема выглядит как Z-Fighting , проблема, которая возникает из-за попытки рендерить 2 или более полигонов на одинаковом расстоянии от камеры.

При рисовании моделей выможет отключить Z-буфер.DepthStencilState.None

...