Version: Unity 6.0 (6000.0)
언어 : 한국어
셰이더 모델 또는 GPU 기능이 필요하도록 셰이더 설정
컴퓨트 셰이더

그래픽스 API 또는 플랫폼이 필요하도록 셰이더 설정

일부 #pragma 지시문은 특정 그래픽스 API 및 플랫폼을 타게팅할 수 있는 파라미터를 받습니다. 이 페이지는 해당 지시문 사용에 대한 정보를 포함하고 유효한 파라미터 값 목록을 제공합니다.

그래픽스 API 포함 또는 제외

기본적으로 Unity는 현재 빌드 타겟의 목록에 있는 각 그래픽스 API에 대한 모든 셰이더 프로그램을 컴파일합니다. 특정 그래픽스 API에 대해서만 특정 셰이더 프로그램을 컴파일해야 할 때도 있습니다. 예를 들어 모든 플랫폼에서 지원되지 않는 기능을 사용하는 경우가 있습니다.

특정 API에 대해서만 셰이더 프로그램을 컴파일하려면 #pragma only_renderers 지시문을 사용하십시오. 공백으로 구분된 여러 값을 전달할 수 있습니다.

이 예제는 Metal과 Vulkan만을 위해 셰이더를 컴파일하는 방법을 나타냅니다.

#pragma only_renderers metal vulkan

특정 컴파일러의 컴파일에서 셰이더 코드를 제외하려면 #pragma exclude_renderers 지시문을 사용하십시오. 공백으로 구분된 여러 값을 전달할 수 있습니다.

이 예제는 Metal과 Vulkan을 위한 컴파일에서 셰이더를 제외하는 방법을 나타냅니다.

#pragma exclude_renderers metal vulkan

특정 그래픽스 API용 그래픽스 티어를 위한 셰이더 배리언트 생성

빌트인 렌더 파이프라인에서 Unity는 그래픽스 티어에 해당하는 셰이더 배리언트를 생성할 수 있습니다. 필요한 경우 Unity가 이러한 배리언트를 강제로 생성할 수도 있습니다.

이를 수행하려면 #pragma hardware_tier_variants 프리 프로세서 지시문을 사용하고 티어 셰이더 배리언트를 생성할 그래픽스 API를 지정하십시오.

예를 들어, 다음은 Unity에 Metal을 위한 티어 셰이더 배리언트를 컴파일하도록 명령합니다.

#pragma hardware_tier_variants metal

유효한 파라미터 값 리스트

지원되는 값은 다음과 같습니다.

설명
d3d11 DirectX 11 기능 레벨 10 이상, DirectX 12
glcore OpenGL 3.x, OpenGL 4.x
gles3 OpenGL ES 3.x, WebGL 2.0
metal iOS 또는 Mac용 Metal
ps4 PlayStation®4
ps5 PlayStation®5
switch Nintendo Switch™
vulkan Vulkan
xboxseries Xbox Series S X

추가 리소스

셰이더 모델 또는 GPU 기능이 필요하도록 셰이더 설정
컴퓨트 셰이더