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


Функция D3DXSHEvalDirection (D3dx9math.h)

Примечание

Библиотека служебных программ D3DX (D3DX 9, D3DX 10 и D3DX 11) устарела и не поддерживается для приложений Магазина Windows.

Примечание

Вместо этой функции рекомендуется использовать функцию XMSHEvalDirection библиотеки "Математика сферических гармоник".

Оценивает базовые функции сферической гармонии (SH) из вектора направления ввода.

Синтаксис

FLOAT* D3DXSHEvalDirection(
  _Out_       FLOAT       *pOut,
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir
);

Параметры

POut [out]

Тип: FLOAT*

Указатель на коэффициенты вывода сферической гармонии (SH). При вычислении создаются коэффициенты Order². См. заметки.

Порядок [в]

Тип: UINT

Порядок оценки SH. Должен находиться в диапазоне D3DXSH_MINORDER для D3DXSH_MAXORDER включительно. При вычислении создаются коэффициенты Order². Степень оценки — Order - 1.

pDir [in]

Тип: const D3DXVECTOR3*

(x, y, z) вектор направления, в котором вычисляются базовые функции SH. Должен быть нормализован. См. заметки.

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

Тип: FLOAT*

Указатель на выходные коэффициенты SH. См. заметки.

Комментарии

Каждый коэффициент базисной функции Ylm хранится в расположении памяти l² + m + l, где:

  • l — это степень базисной функции.
  • m является базовым индексом функции для заданного значения l и находится в диапазоне от -l до l включительно.

На шаре с радиусом единицы измерения, как показано на следующем рисунке, направление можно указать просто с помощью теты, угла относительно оси Z в правом направлении и phi, угла от z.

иллюстрация сферы с радиусом единицы измерения

В следующих уравнениях показана связь между декартовыми (x, y, z) и сферическими координатами (theta, phi) на сфере единиц измерения. Угол тета меняется в диапазоне от 0 до 2 пи, а phi — от 0 до пи.

уравнения связи между декартовой и сферической координатами

Требования

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

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

Математические функции

Предварительно вычисляемая передача radiance (Direct3D 9)