Метод ID3DXEffect::Begin

Запускает активный метод.

Синтаксис

HRESULT Begin(
  [out] UINT  *pPasses,
  [in]  DWORD Flags
);

Параметры

p Pass [out]

Тип: UINT*

Указатель на возвращаемое значение, указывающее количество проходов, необходимых для отрисовки текущего метода.

Флаги [in]

Тип: DWORD

DWORD, определяющий, сохраняется и восстанавливается ли состояние, измененное эффектом. Значение по умолчанию 0 указывает, что ID3DXEffect::Begin и ID3DXEffect::End будут сохранять и восстанавливать все состояния, измененные эффектом (включая константы пикселя и вершинного шейдера). Допустимые флаги можно просмотреть в разделе Флаги сохранения и восстановления состояния эффекта.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. В случае сбоя метода возвращается одно из следующих значений: D3DERR_INVALIDCALL D3DXERR_INVALIDDATA.

Комментарии

Приложение задает один активный метод в системе эффектов, вызывая ID3DXEffect::Begin. Система эффектов реагирует, захватывая все состояния конвейера, которые могут быть изменены методом в блоке состояний. Приложение сигнализирует о завершении метода, вызывая ID3DXEffect::End, который использует блок состояний для восстановления исходного состояния. Таким образом, система эффектов заботится о сохранении состояния, когда техника становится активной, и о восстановлении состояния после завершения метода. Если вы решили отключить эту функцию сохранения и восстановления, см. раздел D3DXFX_DONOTSAVESAMPLERSTATE.

В паре ID3DXEffect::Begin и ID3DXEffect::End приложение использует ID3DXEffect::BeginPass для задания активного прохода, ID3DXEffect::CommitChanges , если какие-либо изменения состояния произошли после активации прохода, и ID3DXEffect::EndPass для завершения активного прохода.

Требования

Требование Значение
Заголовок
D3DX9Effect.h
Библиотека
D3dx9.lib

См. также раздел

ID3DXEffect