Поделиться через


Константы D3D10_SHADER

Параметры компиляции HLSL.

#define Описание
D3D10_SHADER_AVOID_FLOW_CONTROL Сообщите компилятору, чтобы не разрешать управление потоками (когда это возможно).
D3D10_SHADER_DEBUG Вставьте отладочный файл,строку/тип/сведения о символах.
D3D10_SHADER_ENABLE_STRICTNESS По умолчанию компилятор HLSL отключает строгость в устаревшем синтаксисе. Указание этого флага обеспечивает строгость, которая может не разрешать устаревший синтаксис.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY Это позволяет старым шейдерам компилироваться до целевых объектов 4_0.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT Скомпилируйте шейдер вершин для следующего самого высокого профиля шейдера. Этот параметр включает отладку (и отключает оптимизацию).
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT Компилируйте шейдер пикселей для следующего самого высокого профиля шейдера. Этот параметр включает отладку (и отключает оптимизацию).
D3D10_SHADER_IEEE_STRICTNESS Включает строгость IEEE.
D3D10_SHADER_NO_PRESHADER Отключает прешадники. Использование этого флага приведет к тому, что компилятор не извлекает статические выражения для оценки.
D3D10_SHADER_OPTIMIZATION_LEVEL0 Самый низкий уровень оптимизации. Может создавать более медленный код, но сделать это быстрее. Это может быть полезно в цикле разработки итеративного шейдера.
D3D10_SHADER_OPTIMIZATION_LEVEL1 Второй самый низкий уровень оптимизации.
D3D10_SHADER_OPTIMIZATION_LEVEL2 Второй самый высокий уровень оптимизации.
D3D10_SHADER_OPTIMIZATION_LEVEL3 Самый высокий уровень оптимизации. Будет создавать лучший возможный код, но может занять значительно больше времени, чтобы сделать это. Это будет полезно для окончательных сборок приложения, где производительность является наиболее важным фактором.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR Если не указано явно, матрицы будут упакованы в порядковый порядок ввода и вывода из шейдера.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR Если не указано явно, матрицы будут упакованы в основной порядок столбцов для входных и выходных данных шейдера. Как правило, это более эффективно, так как это позволяет выполнять умножение векторной матрицы с помощью ряда dot-products.
D3D10_SHADER_PARTIAL_PRECISION Принудительное выполнение всех вычислений с частичной точностью; это может выполняться быстрее на некотором оборудовании.
D3D10_SHADER_PREFER_FLOW_CONTROL Сообщите компилятору использовать поток-управление (когда это возможно).
D3D10_SHADER_SKIP_OPTIMIZATION Пропустить оптимизацию во время создания кода; обычно рекомендуется только для отладки.
D3D10_SHADER_SKIP_VALIDATION Не проверяйте созданный код на основе известных возможностей и ограничений. Используйте это только с шейдерами, которые были успешно скомпилированы в прошлом. Шейдеры всегда проверяются DirectX перед настройкой устройства.
D3D10_SHADER_WARNINGS_ARE_ERRORS Сообщите компилятору HLSL об обработке всех предупреждений как ошибок при компиляции кода шейдера. Для нового кода шейдера следует использовать этот параметр, чтобы устранить все предупреждения и обеспечить наименьшие возможные дефекты кода.

 

Эти константы определяются как макросы в d3d10shader.h.

Константы шейдера