Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Список функций, доступных в Direct3D 10, приведен здесь. На этой странице перечислены функции Direct3D 9, которые больше не поддерживаются в Direct3D 10.
Самыми большими изменениями функций в Direct3D 10 являются:
- Direct3D 10 больше не поддерживает преобразование фиксированной функции и конвейер освещения.
- Direct3D 10 больше не поддерживает смешиватель текстур фиксированной функции (иногда называемый шейдером пикселей фиксированной функции).
- Direct3D 10 реализует новые правила растеризации, которые проще и более чисты, чем устаревшие правила GDI, реализованные в Direct3D 9. Например, элемент управления last-pixel для строк больше не поддерживается.
Ниже приведен полный список функций Direct3D 9, которые устарели в Direct3D 10.
Альфа-смесь. Альфа-смесь теперь запрограммирована независимо от цветовой смешивания. Direct3D 10 добавляет переключатель альфа-blend-enable, который включен по умолчанию. Дополнительные сведения см. в разделе "Объекты состояния" (Direct3D 10).
Альфа-тест. Альфа-тест — это поведение пикселей фиксированной функции для Direct3D 9. Альфа-тест перемещается в программируемые шейдеры пикселей для Direct3D 10 и выше. Сведения о эмулации функциональных возможностей альфа-теста Direct3D 9 в Direct3D 10 и более поздних версиях см. в примере FixedFuncEMU в пакете SDK DirectX (июнь 2010 г.).
Параметры режима смешивания. BOTHSRCALPHA был удален из D3D10_BLEND, так как он является избыточным с BOTHINVSRCALPHA. Дополнительные сведения см. в D3D10_BLEND .
Форматы сжатия блоков. В Direct3D 10 не существует различий между предварительно умноженными альфа-буквами или не премультируемыми альфа-файлами. Эти форматы Direct3D 9 сопоставляются с этими форматами Direct3D 10:
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2,DXT3 BC2* DXT4,DXT5 BC3* Дополнительные сведения см. в разделе "Сжатие блоков" (Direct3D 10 ).
Клип плоскостей. Вместо использования плоскостей клипов Direct3D 10 реализует расстояния клипа и расстояния супления, причем до 8 компонентов каждый из них не более 2 элементов атрибутов вершины. Дополнительные сведения см. в разделе "Семантика" (DirectX HLSL). Пример FixedFuncEMU содержит пример эмулирования плоскостей клипов в Direct3D 10.
Dithering. Direct3D 10 не поддерживает запись дитерированных данных в целевой объект отрисовки.
Преобразование фиксированной функции и конвейер освещения недоступны. Вместо этого необходимо использовать шейдеры. Дополнительные сведения см. в разделе "Этапы шейдера" (Direct3D 10).
Смешиватель текстур фиксированной функции (также называемый шейдером пикселей фиксированной функции). Вместо этого необходимо использовать шейдеры. Дополнительные сведения см. в разделе "Этапы шейдера" (Direct3D 10).
Режимы заливки изменились. Direct3D 10 реализует режимы заливки твердых и проводных кадров. D3DFILLMODE точка удалена, при необходимости используйте шейдер геометрии для эмуляции режима точки. Пример FixedFuncEMU содержит пример эмулирования D3DFILLMODE точки в Direct3D 10. Дополнительные сведения см. в разделе D3D10_FILL_MODE и этапов шейдера (Direct3D 10 ).
Форматы. Оборудование может использовать форматы, предоставляемые API. Форматы светимости больше не реализуются.
Фильтрация mipmap. Удален параметр выбора режима без фильтра. Вместо этого используйте текстуру только с одним mip-изображением или задайте для состояния примера MaxLOD значение 0. Дополнительные сведения см. в разделе "Объекты состояния" (Direct3D 10).
Палитры. Вместо этого приложения должны использовать зависимые текстуры.
Модели шейдера пикселей и вершин: 1_x, 2_x и 3_0. Direct3D 10 поддерживает модель шейдера 4. Дополнительные сведения см. в модели шейдера 4 .
Спрайты точек. Вместо этого используйте шейдер геометрии. Дополнительные сведения см. в разделе "Этапы шейдера" (Direct3D 10).
Правила растеризации. Устаревшие правила растеризации строк GDI заменяются более чистыми, более простыми правилами. Элемент управления last-pixel для строк больше не поддерживается. Дополнительные сведения см. в правилах растеризации (Direct3D 10 ).
Режимы оттенка. D3DSHADEMODE (которая поддерживает плоскую,гуруд/фонг-заливку) была удалена. Direct3D 10 реализует два модификатора интерполяций для выходных данных вершинного шейдера. Пример FixedFuncEMU см. в примере эмулирования режимов Direct3D 9 gouraud и плоских шейдеров в Direct3D 10.
Инструкция texldp. Приложение должно реализовать проецированную нагрузку текстуры с дополнительными операторами HLSL. Дополнительные сведения см. в справочнике по HLSL . Пример FixedFuncEMU содержит пример эмулирования texldp в Direct3D 10.
Состояние стадии текстуры (D3DTSS_TEXCOORDINDEX) текстуры (TCI) больше не поддерживается.
Вентиляторы треугольников. Приложение должно преобразовать существующие вентиляторы треугольников в списки треугольников или полосы треугольников. Чтобы эмулировать некоторые поведения с помощью DrawPrimitive в старых API, попробуйте использовать DrawIndexed в Direct3D 10. Дополнительные сведения см. в статье "Примитивные топологии" (Direct3D 10).
Буферизация W. Поддержка оборудования не гарантируется; Рекомендуется, чтобы вместо этого приложение использовало буферы глубины высокой точности. Дополнительные сведения см. в статье о настройке функций Depth-Stencil (Direct3D 10 ).
Режимы упаковки (оболочка координат текстуры). Оболочка адресов текстуры (например, оболочка, зеркальное отображение, зажим и т. д.) по-прежнему существует. См. D3D10_SAMPLER_DESC и D3D10_TEXTURE_ADDRESS_MODE.
Связанные темы