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 기능이 필요하도록 셰이더 설정
컴퓨트 셰이더