Справочник по стандартным заметкам и семантике DirectX
Стандартные заметки и семантики (DXSAS) предоставляют метод использования шейдеров стандартным способом, который позволяет шейдерам использоваться с инструментами, приложениями и игровыми двигателями. DXSAS определяет набор семантик и заметок, которые присоединены к значениям и параметрам эффекта ведущего приложения для использования эффектов. Чтобы эти заметки и семантики были полезны, они должны быть реализованы как в основном приложении, так и в файле эффекта. В этом документе описывается стандарт DXSAS, который использует возможности DirectX Effect Framework для предоставления приложений и инструментов совместного использования эффектов DirectX (fx-файлов) программным способом, а также для разработки взаимодействия с пользовательским интерфейсом.
Фоновые сведения
Стандартные заметки и семантики предназначены для привязки эффектов и параметров X-файла к значениям приложения. Платформа эффектов D3DX (или эффекты) инкапсулирует состояние отрисовки. Инкапсулируя состояние отрисовки (включая состояние вершины, текстуры и обработки пикселей) в эффекте, можно создать библиотеку эффектов, охватывающих широкий спектр вариантов отрисовки. Это может включать такие параметры, как отрисовка на различных типах оборудования или отрисовка с помощью единого или многопроходного смешивания. Дополнительные сведения о платформе эффектов см. в справочнике по эффекту. DXSAS строится на основе этой платформы, что позволяет обеспечить более согласованный интерфейс для разработчиков. После инкапсулирования настройки отрисовки стандарт DXSAS позволяет разработчику эффектов предоставлять намерение параметров эффекта с помощью заметок. Эти заметки затем можно прочитать любым ведущим приложением или инструментом (а не только тем, который был разработан для использования эффекта), который соответствует стандарту, понять, как использовать эффект в том, как было разработано.
Стандартизация набора семантики эффектов и заметок, которые поддерживают приложения, позволяют авторам эффектов создавать эффекты, которые можно использовать в нескольких проектах и, таким образом, способствовать более широкому сообществу пользователей эффектов. Стандарт DXSAS делает файлы читаемыми разработчиками, обмениваются между инструментами и позволяют разработчикам использовать сторонние средства для разработки эффектов для их конвейера.
В этом документе описывается стандарт DXSAS, который использует заметки для выражения намерения параметров эффекта, а также определения коллекции значений ведущего приложения, которые хост-приложения согласны сделать доступными для эффекта.
Эффекты разработки с помощью стандартных заметок и семантики
Как видно на следующей схеме, стандарт DXSAS требует заметок в файле эффекта, а также ведущего приложения, которое следует рекомендациям, описанным здесь для работы с файлом.
схема
Ведущее приложение должно реализовать логику пользовательского интерфейса и среду узла. Чтобы реализовать эффекты, совместимые с DXSAS, ознакомьтесь со следующими разделами:
- глобальный параметр определяет сведения, относящиеся к эффекту, например версии или автор эффекта.
- привязка данных определяет коллекцию параметров (а также их тип и структуру), которые могут использоваться эффектом, который может быть задан ведущим приложением, предоставляемым эффектами.
- Чтобы связать элемент управления пользовательским интерфейсом с параметром эффекта, используйте заметки пользовательского интерфейса. К этим заметкам относятся: SasUiMax, SasUiMin, SasUiSteps, SasUiStepsPowerи SasUiStride.
- Чтобы инициализировать параметр эффекта с данными, содержащимися во внешнем файле, используйте заметку о инициализации параметров.
- Когда данные передаются между ведущим приложением и эффектом (или наоборот), приведение и преобразование будут возникать, когда типы не совпадают. В этом разделе описывается, как данные записываются при разных типах источника и целевых типов. Кроме того, используйте ParameterValueModifiers для изменения того, как хост-приложение должно интерпретировать данные из параметра эффекта. К этим заметкам относятся: SasNormalize и SasUnits.
Конфиденциальность регистра
Все идентификаторы, семантики и значения заметок не учитывают регистр. Имена заметок (не значения) чувствительны к регистру. Имена заметок распознаются системой эффектов D3DX, поэтому имена заметок SAS также являются.
Связанные разделы