Функция D3DXSHEvalSphericalLight (D3dx9math.h)
Оценивает сферический свет и возвращает спектральные данные сферической гармонии (SH).
Примечание
Библиотека служебных программ D3DX (D3DX 9, D3DX 10 и D3DX 11) устарела и не поддерживается для приложений Магазина Windows.
Примечание
Вместо этой функции рекомендуется использовать функцию библиотеки "Математика сферических гармоник " XMSHEvalSphericalLight.
Синтаксис
HRESULT D3DXSHEvalSphericalLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pPos,
_In_ FLOAT Radius,
_In_ FLOAT RIntensity,
_In_ FLOAT GIntensity,
_In_ FLOAT BIntensity,
_Out_ FLOAT *pROut,
_Out_ FLOAT *pGOut,
_Out_ FLOAT *pBOut
);
Параметры
-
Порядок [в]
-
Тип: UINT
Порядок оценки SH. Должен находиться в диапазоне D3DXSH_MINORDER для D3DXSH_MAXORDER включительно. При вычислении создаются коэффициенты Order². Степень оценки — Order - 1.
-
pPos [in]
-
Тип: const D3DXVECTOR3*
Указатель на положение света.
-
Radius [in]
-
Тип: FLOAT
Радиус сферического источника света.
-
RIntensity [in]
-
Тип: FLOAT
Красная интенсивность света.
-
GIntensity [in]
-
Тип: FLOAT
Зеленая интенсивность света.
-
BIntensity [in]
-
Тип: FLOAT
Синяя интенсивность света.
-
pROut [out]
-
Тип: FLOAT*
Указатель на выходной вектор SH для красного компонента.
-
pGOut [out]
-
Тип: FLOAT*
Указатель на выходной вектор SH для зеленого компонента.
-
pBOut [out]
-
Тип: FLOAT*
Указатель на выходной вектор SH для синего компонента.
Возвращаемое значение
Тип: HRESULT
Если функция выполняется успешно, возвращаемое значение будет D3D_OK. Если функция завершается сбоем, возвращаемое значение может быть следующим: D3DERR_INVALIDCALL.
Комментарии
Оценивает сферический свет и возвращает спектральные данные SH. Нет нормализации интенсивности света, как для направленного света, поэтому следует проявлять осторожность при указании интенсивности. Будет вычислено три спектральные выборки; PROut будет возвращен, в то время как pGOut и pBOut могут быть возвращены.
На шаре с радиусом единицы измерения, как показано на следующем рисунке, направление можно указать просто с помощью теты, угла относительно оси Z в правом направлении и phi, угла от z.
В следующих уравнениях показана связь между декартовыми (x, y, z) и сферическими координатами (theta, phi) на сфере единиц измерения. Угол тета меняется в диапазоне от 0 до 2 пи, а phi — от 0 до пи.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел