Прямые X 11 зубчатые края

Я создаю небольшой игровой движок в Direct X 11, который работает отлично, но я заметил, что 3D-объекты, а также 2D-объекты кажутся очень грубыми по краям при рендеринге. Ранее я пришел из Direct X 9, и этой проблемы там не было. Мне было интересно, как я могу правильно включить сглаживание или какую-то мультисэмплинг, чтобы мои текстуры не выходили с неровными краями.

swapChainDesc.SampleDesc.Count = 2;
swapChainDesc.SampleDesc.Quality = 0;

depthBufferDesc.SampleDesc.Count = 2;
depthBufferDesc.SampleDesc.Quality = 0;

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

0

Решение

В дополнение к включению счетчика выборок MSAA для цели рендеринга цепочки обмена, буфера глубины / трафарета и использования правильных значений для связанных представлений (D3D11_TEX2DMS_RTV, D3D11_DSV_DIMENSION_TEXTURE2DMS), вам нужно на самом деле установить D3D11_RASTERIZER_DESC.MultisampleEnable TRUE в ваших состояниях растеризатора:

CD3D11_RASTERIZER_DESC rastDesc(D3D11_FILL_SOLID, D3D11_CULL_NONE, FALSE,
D3D11_DEFAULT_DEPTH_BIAS, D3D11_DEFAULT_DEPTH_BIAS_CLAMP,
D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS, TRUE, FALSE,
TRUE /*this is MSAA enable*/, FALSE);

Увидеть Простой рендеринг урок для Набор инструментов DirectX для более подробного примера.

С Direct3D Feature Level 10.1 или выше аппаратное обеспечение будет поддерживать 4x MSAA. Аппаратное обеспечение Direct3D Feature Level 11.0 или выше будет поддерживать 4x и 8x MSAA. Все должны поддерживать 2x MSAA.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]