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


Глобальный параметр

Каждый эффект, соответствующий DXSAS, должен определять как минимум один параметр глобального эффекта с глобальной семантикой. Глобальный параметр также может использовать одну или несколько необязательных заметок. Синтаксис выглядит следующим образом:

int VariableName : SasGlobal
<
    SasVersion 
    [OptionalAnnotations]
>;

где:

  • VariableName — это имя текстовой строковой переменной ASCII, указанное пользователем.
  • SasGlobal — это семантический ключевое слово, определяющий этот параметр как глобальный параметр DXSAS.
  • SasVersion — это единственная обязательная заметка.
  • Необязательные варианты могут включать следующее:

SasVersion

Единственная обязательная заметка — SasVersion. Он объявляется следующим образом:

int3 SasVersion = { major, minor, revision };

где:

  • major указывает основной выпуск DXSAS. Основные выпуски DXSAS могут содержать радикальные изменения в наборе определенных семантик и заметок. Семантику и заметки можно добавлять и удалять, и, как правило, обратная совместимость с предыдущими выпусками не гарантируется.
  • minor указывает дополнительный выпуск SAS. Дополнительные выпуски DXSAS могут включать добавление новой семантики или заметок. Кроме того, семантика и заметки могут быть помечены как устаревшие в стандарте DXSAS. Нерекомендуемая семантика и заметки по-прежнему должны поддерживаться ведущим приложением, но при использовании такой семантики или заметки могут выдаваться диагностические предупреждения. Дополнительные выпуски обратно совместимы с предыдущими выпусками.
  • revision обозначает редакцию DXSAS. Редакции DXSAS существуют только в качестве средства для исправления ошибок, устранения неоднозначности и уточнения стандарта. Редакции стандарта обратно совместимы с предыдущими выпусками.

Текущая версия — 1.0.0. Для этой заметки нет значения по умолчанию.

SasEffectAuthor

Объявляется пользователь, создавший эффект. Он объявляется следующим образом:

string SasEffectAuthor = "value";

где значение — это строка, идентифицирующая автора эффекта. Значением по умолчанию является пустая строка.

SasEffectAuthoringSoftware

При этом объявляется программное обеспечение, на которое был создан эффект. Он объявляется следующим образом:

string SasEffectAuthoringSoftware = "value";

где значение — это строка, идентифицирующая программное обеспечение для создания эффекта. Значением по умолчанию является пустая строка.

SasEffectCategory

Объявляется категория эффекта. Он объявляется следующим образом:

string SasEffectCategory = "value";

где значение — это строка, идентифицирующая категорию эффекта. Значением по умолчанию является пустая строка. Категория выражается через значение, похожее на путь, используя косую черту в качестве разделителя. Эффекты могут относиться только к одной категории, так как нет синтаксиса для выражения включения в несколько путей в одном значении SasEffectCategory. Значение этой заметки не обрабатывается ведущим приложением как с учетом регистра.

SasEffectCompany

Объявляется компания, создающая эффект. Он объявляется следующим образом:

string SasEffectCompany = "value";

где значение — это строка, идентифицирующая имя компании, которой принадлежит эффект. Значением по умолчанию является пустая строка.

SasEffectDescription

Это описывает эффект. Он объявляется следующим образом:

string SasEffectDescription = "value";

где значение — это строка, описывающая эффект. Значением по умолчанию является пустая строка.

SasEffectHelp

Это строка справки, которая может отображаться для пользователя при каждом запросе справки по связанному эффекту. Он объявляется следующим образом:

string SasEffectHelp = "value";

где значение — это строка, которая может отображаться, если пользователь запросит справку. Значением по умолчанию является пустая строка.

SasEffectRevision

Эта заметка позволяет средствам и пользователям записывать номер редакции связанного файла эффекта. Например, пользователи могут вставлять соответствующие ключевые слова в значение этой заметки, чтобы вызвать подстановку ключевое слово в своем любимом программном обеспечении управления редакциями. Он объявляется следующим образом:

string SasEffectRevision = "value";

где значение — это строка, идентифицирующая редакцию эффекта. Значением по умолчанию является пустая строка.

Примеры

Ниже приведен пример, в котором используется только одна обязательная заметка:

int gp : SasGlobal
<
  int3 SasVersion = {1,0,0};
>;

Ниже приведен пример использования обязательной заметки и нескольких необязательных заметок:

int gp : SasGlobal
<
  int3 SasVersion = {1,0,0};
  string SasEffectAuthor = "Mike's Shader";
  string SasEffectAuthoringSoftware = "fxe 2.5.4";
  string SasEffectCategory = "/surface/procedural/wood";
  string SasEffectCompany = "Microsoft Corporation";
  string SasEffectDescription = "Renders an irridescent surface.";
  string SasEffectHelp = "For more information, see https://somelocation/skin.htm";    
  string SasEffectRevision = "$Revision$";  
>;

Справочник по стандартным заметкам и семантике DirectX