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


Метод ID3DXEffect::SetRawValue

Задайте непрерывный диапазон констант шейдера с копией памяти.

Синтаксис

HRESULT SetRawValue(
  [in] D3DXHANDLE Handle,
  [in] void       *pData,
  [in] DWORD      OffsetInBytes,
  [in] DWORD      Bytes
);

Параметры

Дескриптор [в]

Тип: D3DXHANDLE

Обработка заданного значения или имени значения, передаваемого в виде строки. Передача дескриптора более эффективна. См. раздел Дескрипторы (Direct3D 9).

pData [in]

Тип: void*

Указатель на буфер, содержащий заданные данные. SetRawValue проверяет наличие допустимой памяти, но не проверяет допустимые данные.

OffsetInBytes [in]

Тип: DWORD

Число байтов между началом данных эффекта и началом заданных констант эффекта.

Байты [in]

Тип: DWORD

Размер устанавливаемого буфера в байтах.

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

Тип: HRESULT

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

Комментарии

SetRawValue — это очень быстрый способ установки констант эффекта, так как он выполняет копирование памяти без выполнения проверки или преобразования данных (например, преобразование матрицы с основными строками в матрицу столбца). Используйте SetRawValue, чтобы задать ряд констант непрерывного эффекта. Например, можно задать массив из двадцати матриц с 20 вызовами ID3DXBaseEffect::SetMatrix или с помощью одного setRawValue.

Ожидается, что все значения будут иметь значение matrix4x4s или float4s, а все матрицы должны находиться в основном столбце. Значения int или float приведения к float4; Поэтому настоятельно рекомендуется использовать SetRawValue только с данными float4 или matrix4x4.

Требования

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

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

ID3DXEffect