Использование DirectX 11 в Unity 4

Использование DirectX 11 в Unity 4Unity 4 вводит возможность использования графического API DirectX 11, со всеми ожидаемыми возможностями: вычисляемые и тесселяционные шейдеры, шейдерная модель 5.0 и т. д.

Включение DirectX 11

Чтобы включить DirectX 11 для сборок вашей игры и для редактора, установите параметр “Use DX11” в Player Settings. После редактирования нужно перезагрузить Unity, чтобы изменения вступили в силу.

Помните, что DirectX 11 требует ОС Windows Vista или более позднюю версию. Также требуется GPU уровня DX10 (предпочтительно уровня DX11). Когда Unity запущено в режиме DX11, заголовок окна будет содержать “<DX11>” в конце.

Графические эффекты с поддержкой DX11

  • эффект Depth of Field (оптимизированный разброс (splatting) текстур Боке)
  • эффект Noise and Grain (образцы шума высокого качества)
  • эффект Motion Blur (фильтр восстановления высокого качества)

Вычислительные шейдеры

Вычислительные шейдеры позволяют вам использовать GPU как процессор с массовым параллелизмом. Для получения более детальной информации изучите Вычислительные шейдеры .

Тесселяционные и геометрические шейдеры

Поверхностные шейдеры (surface shaders) поддерживают простую тесселяцию и смещение (displacement). См. Тесселяция поверхностных шейдеров .

В процессе написания вручную шейдерных программ. вы можете использовать все возможности DX11 shader model 5.0, включая geometry, hull и domain шейдеры

Поверхностные шейдеры и DX11

На данном этапе некоторые операции при компиляции поверхностных шейдеров не “понимают” специфичного синтаксиса DX11 HLSL, а значит при использовании таких возможностей HLSL как структурированные буферы (StructuredBuffers), RWTextures и прочий не DX9 синтаксис, нужно вставить его специальный (для DX11) макрос препроцессора. Для более подробной информации изучите Особенности различных платформ

Примеры DirectX 11

Следующие скриншоты показывают примеры того, что возможно с DirectX 11.

Объемный взрыв на этих кадрах отрендерен с использованием raymarching, что становится возможным с shader model 5.0. К тому же, поскольку генерируются значения глубины(depth), мы можем использовать графические эффекты, которые работают с глубиной (depth),например, depth of field или motion blur. Волосы на этом кадре сделаны с помощью DirectX 11 тесселяционных и геометрических ( tessellation & geometry) шейдеров. Каждый волос генерируется и анимируется динамически. Шейдер базируется на модели предложенной Kajiya-Kai, что позволяет достичь большей реалистичности в области diffuse и specular. Как и в примере с волосами, мех на тапочках также основан на генерации шерстинок, которые “растут” из незамысловатого меша (base mesh) тапочек. Эффект размытия на этом изображении (также известный как Bokeh ) основан на разбросе (splatting) текстуры поверх очень ярких пикселей. Такой подход позволяет достичь крайне правдоподобного результата, особенно, когда используется в связке с технологией HDR rendering. Преувеличенное размытие похожее на предыдущий скриншот. Можно добиться используя новый эффект Depth of Field

This entry was posted in DirectX and tagged , , , . Bookmark the <a href="https://directxnew.ru/ispolzovanie-directx-11-v-unity-4/" title="Permalink to Использование DirectX 11 в Unity 4" rel="bookmark">permalink</a>.

Comments are closed.