컴파일러 대상 지정
D3DCompile, D3DCompile2 또는 D3DCompileFromFile 함수를 호출할 때 컴파일할 셰이더 대상(셰이더 기능 집합)을 지정해야 합니다. 이 항목에서는 D3DCompile* 함수 및 HLSL 컴파일러가 지원하는 다양한 프로필의 대상을 나열합니다.
- Direct3D 11.0 및 11.1 기능 수준
- Direct3D 10.1 기능 수준
- Direct3D 10.0 기능 수준
- Direct3D 9.1, 9.2 및 9.3 기능 수준
- 레거시 Direct3D 9 셰이더 모델 3.0
- 레거시 Direct3D 9 셰이더 모델 2.0
- 레거시 Direct3D 9 셰이더 모델 1.x
- 레거시 효과
- 참고
- 관련 항목
Direct3D 11.0 및 11.1 기능 수준
다음은 Direct3D 11.0 및 11.1 기능 수준이 지원하는 셰이더 대상입니다.
대상 | 설명 |
---|---|
cs_5_0 | DirectCompute 5.0(컴퓨팅 셰이더) |
ds_5_0 | 도메인 셰이더 |
gs_5_0 | 기하 도형 셰이더 |
hs_5_0 | 헐 셰이더 |
ps_5_0 | 픽셀 셰이더 |
vs_5_0 | 꼭짓점 셰이더 |
Direct3D 10.1 기능 수준
다음은 Direct3D 10.1 기능 수준이 지원하는 셰이더 대상입니다.
대상 | 설명 |
---|---|
cs_4_1 | DirectCompute 4.1(컴퓨팅 셰이더)¹ |
gs_4_1 | 기하 도형 셰이더 |
ps_4_1 | 픽셀 셰이더 |
vs_4_1 | 꼭짓점 셰이더 |
Direct3D 10.0 기능 수준
다음은 Direct3D 10.0 기능 수준이 지원하는 셰이더 대상입니다.
대상 | 설명 |
---|---|
cs_4_0 | DirectCompute 4.0(컴퓨팅 셰이더)¹ |
gs_4_0 | 기하 도형 셰이더 |
ps_4_0 | 픽셀 셰이더 |
vs_4_0 | 꼭짓점 셰이더 |
Direct3D 9.1, 9.2 및 9.3 기능 수준
다음은 Direct3D 9.1, 9.2 및 9.3 기능 수준이 지원하는 셰이더 대상입니다.
참고
*_4_0_level_9_x HLSL 셰이더 프로필을 사용하는 경우 셰이더 모델 2.x 프로필을 암시적으로 사용하여 Direct3D 9 가능 하드웨어를 지원합니다. 셰이더 모델 2.x 프로필은 셰이더 모델 4.x 이상 프로필보다 더 제한된 흐름 제어 동작을 지원합니다.
대상 | 설명 |
---|---|
ps_4_0_level_9_1 | 9.1 및 9.2용 픽셀 셰이더(ps_2_0와 유사한 제한)
|
ps_4_0_level_9_3 | 9.3용 픽셀 셰이더(추가 셰이더 기능이 있는 ps_2_x²와 유사한 제한)
|
vs_4_0_level_9_1 | 9.1 및 9.2용 꼭짓점 셰이더(vs_2_0와 유사)
|
vs_4_0_level_9_3 | 9.3용 꼭짓점 셰이더(추가 셰이더 기능 및 인스턴싱이 있는 vs_2_a²와 유사)
|
레거시 Direct3D 9 셰이더 모델 3.0
레거시 Direct3D 9 셰이더 모델 3.0³의 셰이더 대상은 다음과 같습니다.
대상 | 설명 |
---|---|
ps_3_0 | 픽셀 셰이더 3.0 |
ps_3_sw | 픽셀 셰이더 3.0(소프트웨어) |
vs_3_0 | 꼭짓점 셰이더 3.0 |
vs_3_sw | 꼭짓점 셰이더 3.0(소프트웨어) |
레거시 Direct3D 9 셰이더 모델 2.0
레거시 Direct3D 9 셰이더 모델 2.0³의 셰이더 대상은 다음과 같습니다.
대상 | 설명 |
---|---|
ps_2_0 | 픽셀 셰이더 2.0 |
ps_2_a | 픽셀 셰이더 2a |
ps_2_b | 픽셀 셰이더 2b |
ps_2_sw | 픽셀 셰이더 2.0 소프트웨어 |
vs_2_0 | 꼭짓점 셰이더 2.0 |
vs_2_a | 꼭짓점 셰이더 2a |
vs_2_sw | 꼭짓점 셰이더 2.0 소프트웨어 |
레거시 Direct3D 9 셰이더 모델 1.x
레거시 Direct3D 9 셰이더 모델 1.x⁴의 셰이더 대상은 다음과 같습니다.
대상 | 설명 |
---|---|
tx_1_0 | 레거시 D3DX9⁵ 함수 D3DXCreateTextureShader 및 D3DXFillTextureTX가 사용하는 텍스처 셰이더 프로필 |
vs_1_1 | 꼭짓점 셰이더 1.1 |
레거시 효과
다음은 레거시 효과의 효과 대상입니다.
대상 | 설명 |
---|---|
fx_2_0 | D3DX9⁵의 Direct3D 9 효과(FX) |
fx_4_0 | D3DX10⁵의 Direct3D 10.0 효과(FX) |
fx_4_1 | D3DX10⁵의 Direct3D 10.1 효과(FX) |
fx_5_0 | Direct3D 11⁵ 효과(FX) |
참고
다음은 이전 섹션에서 참조하는 몇 가지 참고 사항입니다.
- 기능 수준 10.0 및 10.1 디바이스는 필요에 따라 DirectCompute를 지원할 수 있습니다. 지원을 확인하려면 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS와 함께 ID3D11Device::CheckFeatureSuppor를 사용하세요.
- 기능 수준 9.3에는 레거시 Direct3D 9 셰이더 모델 3.0의 요구 사항을 준수하는 하드웨어가 효과적으로 필요하지만 이 기능 수준은 vs_3_0 또는 ps_3_0 대상을 사용하지 않습니다.
- Direct3D 9 API가 있는 레거시 Direct3D 9 셰이더 모델만 사용합니다. 대신 Direct3D 10.x 및 11.x API가 있는 9.x 프로필을 사용하세요.
- 현재 HLSL 셰이더 D3DCompile* 함수는 레거시 1.x 픽셀 셰이더를 지원하지 않습니다. 이러한 대상을 지원하는 HLSL의 마지막 버전은 2006년 10월에 릴리스된 DirectX SDK의 D3DX9였습니다.
- D3DX 및 DirectX SDK의 모든 버전은 더 이상 사용되지 않습니다. 자세한 내용은 DirectX SDK 위치를 참조하세요.
관련 항목