셰이더 모델 및 셰이더 프로필
DirectX용 상위 수준 음영 언어는 일련의 셰이더 모델을 구현합니다. HLSL을 사용하여 Direct3D 파이프라인에 대한 C와 유사한 프로그래밍 가능 셰이더를 만들 수 있습니다. 각 셰이더 모델은 모델 이전의 기능을 기반으로 하여 더 적은 제한으로 더 많은 기능을 구현합니다.
셰이더 모델 1은 DirectX 8에서 시작되었으며 어셈블리 수준 및 C와 유사한 지침을 포함했습니다. 이 모델에는 초기 프로그래밍 가능한 셰이더 하드웨어로 인해 많은 제한 사항이 있습니다. 셰이더 모델 2와 3은 명령 수에 따라 크게 확장되었으며 상수 셰이더가 사용할 수 있습니다. 셰이더 모델 1보다 훨씬 강력하지만 여전히 첫 번째 셰이더 모델의 기존 제한 사항 중 일부를 전달합니다.
Windows Vista부터 셰이더 모델 4는 완전히 다시 디자인되었습니다. 컴퓨터의 하드웨어 제약 조건 내에서 무제한 명령 및 상수, 텍스처 샘플링을 더 깨끗하고 효율적으로 만드는 템플릿 개체가 있으며 셰이더 모델의 제한 사항이 가장 적습니다. 그러나 Windows Vista 이상 운영 체제에서만 사용할 수 있는 Windows 드라이버 모델이 필요합니다.
셰이더 프로필
셰이더 프로필은 셰이더를 컴파일하는 대상입니다. 이 표에는 각 셰이더 모델에서 지원하는 셰이더 프로필이 나열되어 있습니다.
셰이더 모델 | 셰이더 프로필 |
---|---|
셰이더 모델 1 | vs_1_1 |
셰이더 모델 2 | ps_2_0, ps_2_x, vs_2_0, vs_2_x, ps_4_0_level_9_0, ps_4_0_level_9_1, ps_4_0_level_9_3, vs_4_0_level_9_0, vs_4_0_level_9_1, vs_4_0_level_9_3, lib_4_0_level_9_1, lib_4_0_level_9_3 |
셰이더 모델 3 | ps_3_0, vs_3_0 |
셰이더 모델 4 | cs_4_0, gs_4_0, ps_4_0, vs_4_0, cs_4_1, gs_4_1, ps_4_1, vs_4_1, lib_4_0, lib_4_1 |
셰이더 모델 5 | cs_5_0, ds_5_0, gs_5_0, hs_5_0, ps_5_0, vs_5_0, lib_5_0(셰이더 모델 4.0에서 gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0 및 vs_4_1 도입되었지만 셰이더 모델 5는 구조적 버퍼 및 바이트 주소 버퍼에 대한 이러한 셰이더 프로필에 지원을 추가합니다. |
셰이더 모델 6 | cs_6_0, ds_6_0, gs_6_0, hs_6_0, ps_6_0, vs_6_0, lib_6_0 |
Direct3D 9와 Direct3D 10의 차이점:
- Direct3D 9에는 셰이더 모델 1, 2 및 3이 도입되었습니다.
- Direct3D 10에 도입된 셰이더 모델 4.
- Direct3D 10.1에 셰이더 모델 4.1이 도입되었습니다.
효과 프로필
효과 프로필은 효과/셰이더를 컴파일하는 대상입니다. 이 표에는 각 버전의 Direct3D에서 지원하는 효과 프로필이 나와 있습니다.
Direct3D 9와 Direct3D 10의 차이점:
- Direct3D 9에는 fx_1_0 및 fx_2_0 효과 프레임워크 프로필이 도입되었습니다.
- Direct3D 10에 도입된 효과 프레임워크 프로필 fx_4_0.
- Direct3D 10.1에서는 효과 프레임워크 프로필 fx_4_1 도입되었습니다.
- Direct3D 11에서는 효과 프레임워크 프로필 fx_5_0 도입되었습니다.
메모
이러한 레거시 효과 프로필은 더 이상 사용되지 않습니다.
관련 항목
-
HLSL 대한 참조