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


Функция D3DXSHMultiply2 (D3DX10Math.h)

Примечание

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

Примечание

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

Вычисляет произведение двух сферических функций гармоник (f и g). Обе функции имеют порядок N = 2.

Синтаксис

FLOAT* D3DXSHMultiply2(
  _In_       FLOAT *pOut,
  _In_ const FLOAT *pF,
  _In_ const FLOAT *pG
);

Параметры

pOut [in]

Тип: FLOAT*

Указатель на выходные коэффициенты SH — базисная функция Ylm хранится в l² + m + l. Порядок N определяет длину массива, где всегда должны быть коэффициенты N².

pF [in]

Тип: const FLOAT*

Входные коэффициенты SH для первой функции.

pG [in]

Тип: const FLOAT*

Второй набор входных коэффициентов SH.

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

Тип: FLOAT*

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

Комментарии

Произведение двух функций SH порядка N = 2 создает функцию SH порядка 2 × N - 1 = 3, но результаты усекаются. Это означает, что продукт коммутирует ( f × g = g × f ), но не связывает ( f × (g × h) ≠ ( f × g) × h ).

Эта функция использует следующее уравнение:

pOut[i] = int(y_i(s) * f(s) * g(s))

где y_i является базисной функцией ith SH, а где f(s) и g(s) используют следующую функцию SH:

sum_i(y_i(s)*c_i)

Требования

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

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

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