셰이더 모델과 셰이더 프로필
DirectX용 고급 셰이딩 언어는 일련의 셰이더 모델을 구현합니다. HLSL를 사용하여 Direct3D 파이프라인을 위해 C 스타일의 프로그래밍 가능한 셰이더를 만들 수 있습니다. 각 셰이더 모델은 이전 모델의 기능을 기반으로 빌드되어 더 적은 제한으로 더 많은 기능을 구현합니다.
셰이더 모델 1은 DirectX 8로 시작했으며 어셈블리 수준 및 C와 유사한 명령을 포함했습니다. 이 모델에는 초기 프로그래밍 가능한 셰이더 하드웨어로 인해 많은 제한이 있습니다. 셰이더 모델 2와 3은 명령의 수와 셰이더가 사용할 수 있는 상수를 크게 확장했습니다. 셰이더 모델 1보다 훨씬 강력하지만 여전히 첫 번째 셰이더 모델의 기존 제한 사항 중 일부가 있습니다.
Windows Vista부터 셰이더 모델 4는 완전히 재설계되었습니다. 무제한 명령과 상수(컴퓨터의 하드웨어 제약 조건 내에서)를 허용하고, 텍스처 샘플링을 보다 깨끗하고 효율적으로 만들기 위한 템플릿 개체가 있으며, 셰이더 모델의 제한이 가장 적습니다. 그러나 Windows Vista(또는 그 이상) 운영 체제에서만 사용할 수 있는 Windows Driver Model이 필요합니다.
셰이더 프로필
셰이더 프로필은 셰이더를 컴파일하기 위한 대상입니다. 이 표에는 각 셰이더 모델에서 지원하는 셰이더 프로필이 나열되어 있습니다.
셰이더 모델 | 셰이더 프로필 |
---|---|
셰이더 모델 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(gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0 및 vs_4_1이 셰이더 모델 4.0에 도입되었지만 셰이더 모델 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 도입되었습니다.
참고
이러한 레거시 효과 프로필은 더 이상 사용되지 않습니다.