디테일 수준(Level Of Detail)(LOD)
OpenGL 코어 세부 정보(OpenGL Core Details)

DirectX 11 및 OpenGL Core(DirectX 11 and OpenGL Core)

Unity는 DirectX 11(DX11) 및 OpenGL Core 그래픽스 API를 지원합니다. 이 페이지에서는 이들 API 사용 방법을 설명합니다.

DirectX 11 활성화

DirectX 11는 Windows에서는 디폴트로 활성화됩니다. 게임과 Unity 에디터에서는 DX11을 사용하며 DX11을 사용할 수 없으면 DX9로 폴백합니다.

게임 빌드 및 에디터를 위해 DirectX 11를 활성화하거나 비활성화하려면 Edit > Project Settings > Player 로 이동하여 플레이어 설정을 열어야 합니다. Other Settings 를 이동하여 Auto Graphics API for Windows 를 선택 해제해야 합니다. 패널이 표시되면 Direct3D11 을 선택하고 빼기(-) 버튼을 클릭하여 제거하거나 더하기(+) 버튼을 클릭하고 리스트에서 Direct3D11 을 선택하여 추가해야 합니다.

Graphics APIs for Windows 리스트에 Direct3D11 추가
Graphics APIs for Windows 리스트에 Direct3D11 추가

Direct3D11을 리스트에 추가한 후 위와 아래로 드래그하여 그래픽스 API가 선택되는 우선 순위를 정의할 수 있습니다. Unity 에디터와 플레이어는 리스트 상단의 항목이 디폴트가 되며 그 다음의 각 항목을 나열된 순서로 폴백 옵션으로 사용합니다.

주의: DX11에는 Windows Vista 이후 버전과 최소한 DX10 급 GPU(DX11 급을 추천)가 필요합니다. DX11 모드에서 실행할 때는 Unity 에디터 창 타이틀에 <DX11> 이 나타납니다.

OpenGL Core 활성화

OpenGL Core는 Mac과 Linux에서는 디폴트로 활성화됩니다. 게임과 Unity 에디터는 이 플랫폼에서 OpenGL Core를 사용합니다.

Windows에서 OpenGL Core를 활성화하고 디폴트로 설정하려면 Edit > Project Settings > Player 로 이동하여 플레이어 설정을 열어야 합니다. Other Settings 를 이동하여 Auto Graphics API for Windows 를 선택 해제해야 합니다. 패널이 표시되면 더하기(+) 버튼을 클릭하고 리스트에서 OpenGL Core 를 선택하여 추가해야 합니다.

Graphics APIs for Windows 리스트에 OpenGL Core 추가
Graphics APIs for Windows 리스트에 OpenGL Core 추가

OpenGL Core에는 다음과 같은 최소 요구 사항이 있습니다.

  • Mac OS X 10.8(OpenGL 3.2), MacOSX 10.9(OpenGL 3.2 ~ 4.1)
  • 2006년 이후 NVIDIA가 있는 Windows(GeForce 8), 2006년 이후 AMD(Radeon HD 2000), 2012년 이후 Intel(HD 4000 / IvyBridge)(OpenGL 3.2 ~ OpenGL 4.5)
  • Linux(OpenGL 3.2 ~ OpenGL 4.5)

컴퓨트 셰이더(Compute Shaders)

컴퓨트 셰이더를 사용하면 GPU를 병렬 프로세서로 사용할 수 있습니다. 자세한 내용은 컴퓨트 셰이더 문서를 참조하십시오.

테셀레이션 및 지오메트리 셰이더(Tessellation & Geometry Shaders)

표면 셰이더는 간단한 테셀레이션 및 디스플레이스먼트를 지원합니다. 자세한 내용은 표면 셰이더 테셀레이션 페이지를 참조하십시오.

수동으로 셰이더 프로그램을 작성할 때 지오메트리, 헐 및 도메인 셰이더를 포함한 DX11 Shader Model 5.0 기능을 온전히 사용할 수 있습니다.

표면 셰이더(Surface Shaders)와 DX11

표면 셰이더 컴파일 파이프라인의 일부는 DX11 특유의 HLSL 구문을 이해하지 못합니다. 따라서 StructuredBuffers, RWTextures 및 기타 non-DX 9 구문 같은 HLSL 기능을 사용할 때는 DX11 전용 전처리 매크로로 래핑해야 합니다. 자세한 내용은 플랫폼 별 차이 문서를 참조하십시오.

DX11 및 OpenGL Core와 제대로 작동하는 이미지 이펙트(Image Effects that work well with DX11 and OpenGL Core)

예제

다음 스크린샷은 DirectX 11과 OpenGL Core로 무엇을 달성할 수 있는지 보여줍니다.

이 스크린샷에 표현된 폭발은 Shader Model 5.0으로 가능해진 레이마칭을 활용해 렌더링된 것입니다. 또한 뎁스값을 생성하고 업데이트하면서 피사계심도나 모션 블러 등 뎁스 기반의 이미지 이펙트와 완벽하게 호환됩니다.

이 샷에서 머리카락은 테셀레이션 지오메트리 셰이더로 구현되어 한올, 한올 동적으로 만들고 애니메이션화했습니다. 셰이딩은 보다 그럴듯한 디퓨즈와 스페큘러 동작을 활성화하는 Kajiya-Kai가 제안한 모델을 기초로 했습니다.

위의 머리카락 기법과 유사합니다. 슬리퍼의 털 역시 단순한 기본 슬리퍼 메시에서 비롯된 지오메트리의 생성에 기초하고 있습니다.

위 이미지의 블러 효과는(Bokeh 라고도 알려져 있음) 매우 밝은 픽셀 위 텍스처의 스탬핑을 기반으로 합니다. 특히 HDR 렌더링과 함께 사용했을 때 매우 사실적인 카메라 렌즈 블러를 만들어낼 수 있습니다.

이 이미지는 과장된 렌즈 블러를 보여줍니다. 이는 새로운 피사계심도 효과를 사용한 경우 가능한 결과입니다.

디테일 수준(Level Of Detail)(LOD)
OpenGL 코어 세부 정보(OpenGL Core Details)