Метод 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.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел