Version: Unity 6.0 (6000.0)
언어 : 한국어
HLSL pragma 지시문 레퍼런스
HLSL pragma require 커맨드 레퍼런스

HLSL pragma target 커맨드 레퍼런스

다음은 Unity가 사용하는 셰이더 모델의 목록과, 각 셰이더 모델에 해당하는 #pragma require 값의 조합입니다.

참고: Unity의 셰이더 모델은 DirextX 셰이더 모델 및 OpenGL 버전 요구 사항과 비슷하나, 정확히 상응하지는 않습니다. 설명을 잘 읽고 그 차이점을 이해하십시오.

설명 지원 동등한 #pragma require
2.0 DirectX 셰이더 모델 2.0과 동등합니다.

연산 및 텍스처 지침 수가 제한됩니다(인터폴레이터 8개, 버텍스 텍스처 샘플링 없음, 프래그먼트 셰이더에 도함수 없음, 명시적 LOD 텍스처 샘플링 없음).
Unity가 지원하는 모든 플랫폼에서 작동합니다. 해당 없음
2.5 3.0과 거의 동일하지만, 인터폴레이터가 8개뿐이며 명시적인 LOD 텍스처 샘플링이 없습니다. DirectX 11 기능 레벨 9+
OpenGL 3.2+
Vulkan
Metal
derivatives
3.0 DirectX 셰이더 모델 3.0과 동등합니다.

.
DirectX 11 기능 레벨 10+
OpenGL 3.2+
OpenGL ES 3.0+
Vulkan
Metal
2.5의 모든 항목 +
interpolators10 samplelod fragcoord
3.5 OpenGL ES 3.0과 동등합니다.

DirectX 11 기능 레벨 10+
OpenGL 3.2+
OpenGL ES 3+
Vulkan
Metal
3.0의 모든 항목 +
interpolators15 mrt4 integers 2darray instancing
4.0 DirectX 셰이더 모델 4.0과 동등하지만 8개의 MRT를 지원할 필요는 없습니다. DirectX 11 기능 레벨 10+
Desktop OpenGL 3.x
OpenGL ES 3.1
OpenGL ES 3.1 + AEP(Android Extension Pack)
OpenGL 3.2+
Vulkan
Metal(지오메트리 단계가 정의되지 않은 경우)
3.5의 모든 항목 +
geometry
gl4.1 OpenGL 4.1과 동등합니다. Desktop OpenGL 4.1
셰이더 모델 4.0 + macOS 10.9 기능과 일치하는 테셀레이션
4.0의 모든 항목 +
cubearray tesshw tessellation msaatex
4.5 OpenGL ES 3.1과 동등합니다. DirectX 11 기능 레벨 11+
OpenGL 4.3+
OpenGL ES 3.1
Vulkan
Metal
3.5의 모든 항목 +
compute randomwrite msaatex
4.6 OpenGL 4.1과 동등합니다.

Mac에서 지원되는 가장 높은 OpenGL 레벨입니다.
DirectX 11 기능 레벨 11+
OpenGL 4.1+
OpenGL ES 3.1 + AEP
Vulkan
Metal(지오메트리 단계가 정의되지 않고 헐(hull) 또는 도메인 단계가 정의되지 않은 경우)
4.0의 모든 항목 +
cubearray tesshw tessellation msaatex
5.0 DirectX 셰이더 모델 5.0과 동등하지만 32개의 인터폴레이터 또는 큐브맵 배열을 지원할 필요는 없습니다. DirectX 11 기능 레벨 11+
Desktop OpenGL >= 4.2
OpenGL 4.3+
OpenGL ES 3.1 + AEP
Vulkan
Metal(지오메트리 단계가 정의되지 않고 헐(hull) 또는 도메인 단계가 정의되지 않은 경우)
4.0의 모든 항목 +
compute randomwrite msaatex tesshw tessellation

콘솔 플랫폼의 셰이더 모델 지원에 대한 내용은 각 플랫폼의 문서를 참조하십시오.

참고:

  • DirectX 정의에서 셰이더 모델 4.0은 mrt8을 포함하고 셰이더 모델 5.0은 interpolators32cubearray를 포함합니다. Unity는 광범위한 호환성을 위해 이러한 기능을 포함하지 않습니다. 이러한 기능이 필요한 경우 #pragma require 지시문을 사용하십시오.
  • geometry를 필요로 하는 타겟을 사용하지만 셰이더가 지오메트리 단계를 정의하지 않는 경우, Unity는 컴파일 시 요구 사항 목록에서 geometry를 제거합니다.
  • tessellation을 필요로 하는 타겟을 사용하지만 셰이더가 헐 또는 도메인 단계를 정의하지 않는 경우, Unity는 컴파일 시 요구 사항 목록에서 tessellation을 제거합니다.
HLSL pragma 지시문 레퍼런스
HLSL pragma require 커맨드 레퍼런스