LOD
OpenGL コア詳細

DirectX 11 and OpenGL Core

Unity supports DirectX 11 (DX11) and OpenGL Core graphics APIs. This page details how to use them.

Enabling DirectX 11

DirectX 11 is enabled by default on Windows. Your games and the Unity Editor use DX11, and fall back to DX9 when DX11 is not available.

To enable or disable DirectX 11 for your game builds and the Editor, go to Edit > Project Settings > Player to open the Player Settings. Navigate to Other Settings and un-check Auto Graphics API for Windows. In the panel that appears, select Direct3D11 and click the minus (-) button to remove it, or click the plus (+) button and choose Direct3D11 from the list to add it.

Adding Direct3D11 to the Graphics APIs for Windows list
Adding Direct3D11 to the Graphics APIs for Windows list

When you have added Direct3D11 to the list, you can change the priority it has over other graphics APIs. To do this, click and drag the list item up and down using your mouse. The Unity Editor and Player uses the item at the top of the list as the default. The Editor and Player use the others in the list as a fallback, in list order.

注意 *DX11 を使用するには、少なくとも Windows Vista かそれ以降で、少なくとも DX10 レベル (できれば DX11 レベル) の GPU が必要です。DX11 モードで作動している場合は、Unity エディターウィンドウのタイトルの後ろに <DX11> と表示されます。

Enabling Metal

Metal is enabled by default on Mac when you use the supported Mac OS X release. Unsupported releases use OpenGL Core. Metal for Mac first appeared in Mac OS X 10.11.0, however early versions had some issues. Therefore, make sure you disable Metal support for these versions. To ensure you do not face issues, update to the latest OS possible:

  • Mac OS X 10.11.6 (last release for Mac OS X 10.11 El Capitan)
  • Mac OS X 10.12 or later (improved compute and tessellation support)

Enabling OpenGL Core

OpenGL Core is enabled by default on Mac and Linux. Your games and the Unity Editor use OpenGL Core on these platforms.

To enable OpenGL Core on Windows and make it the default, go to Edit > Project Settings > Player to open the Player Settings. Navigate to Other Settings and un-check Auto Graphics API for Windows. In the panel that appears, click the plus (+) button and choose OpenGLCore from the list to add it.

Adding OpenGLCore to the Graphics APIs for Windows list
Adding OpenGLCore to the Graphics APIs for Windows list

OpenGL Core has the following 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)

Compute Shaders

Compute Shaders allow you to use the GPU as a parallel processor. See documentation on Compute Shaders for more information.

Tessellation & Geometry Shaders

Surface Shaders have support for simple tessellation and displacement. See documentation on Surface Shader Tessellation for more information.

When you manually write a Shader program, you can use the full set of DX11 Shader model 5.0 features- including Geometry, Hull and Domain Shaders.

Surface Shaders and DX11

Some parts of the Surface Shader compilation pipeline do not understand DX11-specific HLSL syntax, so if you’re using HLSL features like StructuredBuffers, RWTextures and other non-DX9 syntax, you need to wrap it into a DX11-only preprocessor macro. See documentation on Platform-specific differences for more information.

The following screenshots show examples of what you can achieve with DirectX 11 and OpenGL Core.

The volumetric explosion in the above shots is rendered using raymarching, which becomes plausible with Shader Model 5.0. Moreover, as it generates and updates depth values, it becomes fully compatible with depth-based Image Effects such as Depth of Field or Motion Blur.

The hair in the above shot is implemented via tessellation and geometry Shaders to dynamically generate and animate individual strands of hair. Shading is based on a model proposed by Kajiya-Kai that enables a more believable diffuse and specular behaviour.

Similar to the hair technique shown in the previous image, the fur on this pair of slippers is also based on generating geometry emitted from a simple base slippers Mesh.

The blur effect in the image above (known as Bokeh) is based on stamping a Texture on top of very bright pixels. This creates very believable camera lens blurs, especially when used in conjunction with HDR rendering.

This image shows an exaggerated lens blur. This is a possible result of using the Depth of Field effect.


  • 2018–03–20 編集レビュー を行って修正されたページ
  • Tessellation for Metal added in 2018.1 NewIn20181
LOD
OpenGL コア詳細