Указание целевых объектов компилятора
При вызове функции D3DCompile, D3DCompile2 или 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 | Эффекты (FX) для Direct3D 9 в D3DX9⁵ |
fx_4_0 | Эффекты (FX) для Direct3D 10.0 в D3DX10⁵ |
fx_4_1 | Эффекты (FX) для Direct3D 10.1 в D3DX10⁵ |
fx_5_0 | Эффекты (FX) для Direct3D 11⁵ |
Примечания
Ниже приведены некоторые примечания, которые относятся к предыдущим разделам:
- Устройства с уровнями компонентов 10.0 и 10.1 при необходимости могут поддерживать DirectCompute. Чтобы проверить поддержку, используйте ID3D11Device::CheckFeatureSupport с D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS.
- Уровень компонентов 9.3 фактически требует оборудования, которое соответствует требованиям к устаревшей модели шейдера Direct3D 9 3.0, но этот уровень компонентов не использует целевые объекты vs_3_0 или ps_3_0.
- Используйте только устаревшие модели шейдеров Direct3D 9 с API Direct3D 9. Вместо этого используйте профили 9.x с API Direct3D 10.x и 11.x.
- Текущие функции D3DCompile* шейдера HLSL не поддерживают устаревшие пиксельные шейдеры 1.x. Последней версией HLSL для поддержки этих целей был D3DX9 в выпуске пакета SDK DirectX за октябрь 2006 г.
- Все версии D3DX и пакета SDK для DirectX являются устаревшими. Дополнительные сведения см. в разделе Где находится пакет SDK для DirectX?.
Связанные темы