Формат кода шейдера
Команда для создания пиксельного или вершинного шейдера состоит из группы кодов шейдеров. Эти коды указывают драйверу, как создать шейдер. Формат токенов в коде каждого шейдера определяет его уникальность. Маркер кода шейдера — это DWORD с определенным форматом.
Среда выполнения DirectX3D проверяет код шейдера перед передачей кода драйверу. Когда код шейдера поступает в драйвер, драйвер может интерпретировать код, так как формат кода является допустимым. Драйвер считывает маркеры кода шейдера для интерпретации кода.
Каждый отдельный код шейдера отформатирован с помощью общего макета маркера. Первый маркер должен быть маркером версии. Маркер версии предоставляет номер версии кода, а также определяет, является ли код для пиксельного или вершинного шейдера. Содержимое шейдера следует маркеру версии и состоит из различных маркеров инструкций, возможно, перемешанных с маркерами комментариев и пробелами. В зависимости от точной операции, которую указывает маркер инструкции, маркеры меток, конечных параметров и исходных параметров также могут быть частью содержимого шейдера и следовать маркеру инструкции. Например, если маркер инструкции указывает инструкцию ADD, драйвер определяет, что один маркер назначения и два исходных параметров следуют за маркером инструкции. Конечный маркер завершает код шейдера.
Инструкции по настройке (например, D3DSIO_DCL и D3DSIO_DEF) содержат маркеры в уникальном формате.
Каждая инструкция шейдера содержит определенный формат маркера. В разделе Коды операций шейдера описывается формат маркера для каждой инструкции шейдера.
Инструкции шейдера начинаются с основной инструкции и заканчиваются D3DSIO_RET или D3DSIO_END инструкцией. Подпрограммы следуют инструкциям D3DSIO_RET.
Дополнительные сведения об операциях, которые можно указать в маркерах инструкций, см. в справочнике по пиксельным шейдерам и справочнике по вершинным шейдерам в последней документации по пакету SDK DirectX.
Требования
Доступно в Windows Vista и более поздних версиях операционных систем Windows.