Version: 5.3 (switch to 5.4b)
Уровни детализации (только для Unity Pro)
OpenGL Core Details

DirectX 11 and OpenGL Core

Unity has ability to use DirectX 11 and OpenGL Core graphics APIs, with all the goodies that you expect from them: compute shaders, tessellation shaders, shader model 5.0 and so on.

Включение DirectX 11

This option is on by default (i.e. on Windows, your games and editor will try to use DX11, and fall back to DX9 when not available). To enable DirectX 11 for your game builds and the editor, set “Use DX11” option in Player Settings.

NOTE: DX11 requires Windows Vista or later and at least a DX10-level GPU (preferably DX11-level). Unity editor window title has “<DX11>” at the end when it is actually running in DX11 mode.

Enabling OpenGL Core

This option is on by default for Mac and Linux (i.e. on these platforms, your games and editor will use OpenGL Core.

You can enable OpenGL Core on windows and make it default, by going to the Player Settings, unchecking “Auto Graphics API for Windows”, and adding OpenGL Core to the list. You can then drag OpenGL Core to the top of the list if you would like it to be the default.

Enabling OpenGL Core for Windows
Enabling OpenGL Core for Windows

NOTE: OpenGL Core minimum requirements:*

  • Mac OS X 10.8 (OpenGL 3.2), MacOSX 10.9 (OpenGL 3.2 to 4.1)
  • Windows with NVIDIA since 2006 (GeForce 8), AMD since 2006 (Radeon HD 2000), Intel since 2012 (HD 4000 / IvyBridge) (OpenGL 3.2 to OpenGL 4.5).
  • Linux (OpenGL 3.2 to OpenGL 4.5).

Image Effects that can take advantage of DX11 / OpenGL Core

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

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

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

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

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

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

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

Примеры

The following screenshots show examples of what becomes possible with DirectX 11 / OpenGL Core.

Объемный взрыв на этих кадрах отрендерен с использованием raymarching, что становится возможным с shader model 5.0. К тому же, поскольку генерируются значения глубины(depth), мы можем использовать графические эффекты, которые работают с глубиной (depth),например, depth of field или motion blur.
Объемный взрыв на этих кадрах отрендерен с использованием raymarching, что становится возможным с shader model 5.0. К тому же, поскольку генерируются значения глубины(depth), мы можем использовать графические эффекты, которые работают с глубиной (depth),например, depth of field или motion blur.
The hair in this shot is implemented via tessellation & geometry shaders to dynamically generate and animate individual strings of hair. Shading is based on a model proposed by Kajiya-Kai that enables a more believable diffuse and specular behaviour.
The hair in this shot is implemented via tessellation & geometry shaders to dynamically generate and animate individual strings of hair. Shading is based on a model proposed by Kajiya-Kai that enables a more believable diffuse and specular behaviour.
Как и в примере с волосами, мех на тапочках также основан на генерации шерстинок, которые растут из незамысловатого меша (base mesh) тапочек.
Как и в примере с волосами, мех на тапочках также основан на генерации шерстинок, которые “растут” из незамысловатого меша (base mesh) тапочек.
Эффект размытия на этом изображении (также известный как <span class="doc-prop">Bokeh</span>) основан на разбросе (splatting) текстуры поверх очень ярких пикселей. Такой подход позволяет достичь крайне правдоподобного результата, особенно, когда используется в связке с технологией HDR rendering.
Эффект размытия на этом изображении (также известный как Bokeh) основан на разбросе (splatting) текстуры поверх очень ярких пикселей. Такой подход позволяет достичь крайне правдоподобного результата, особенно, когда используется в связке с технологией HDR rendering.
Exaggerated lens blur similar to the screenshot above. This is a possible result using the new Depth of Field effect
Exaggerated lens blur similar to the screenshot above. This is a possible result using the new Depth of Field effect
Уровни детализации (только для Unity Pro)
OpenGL Core Details