UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SphericalHarmonicCalculator.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "HAL/UnrealMemory.h"
6#include "Math/Matrix.h"
8#include "Math/Vector2D.h"
9
10
11/*
12 Azimuth angle is measured CCW from front.
13 Elevation is 0 horizontal plane, + is above horizontal plane
14*/
15
17{
18public:
19 enum UE_DEPRECATED(5.7, "Not necessary, please use a raw index for ACN values") AmbiChanNumber
20 {
21 /* 0th-Order */ ACN_0 = 0,
22 /* 1st-Order */ ACN_1, ACN_2, ACN_3,
23 /* 2nd-Order */ ACN_4, ACN_5, ACN_6, ACN_7, ACN_8,
24 /* 3rd-Order */ ACN_9, ACN_10, ACN_11, ACN_12, ACN_13, ACN_14, ACN_15,
25 /* 4th-Order */ ACN_16, ACN_17, ACN_18, ACN_19, ACN_20, ACN_21, ACN_22, ACN_23, ACN_24,
27 };
28
29 static SIGNALPROCESSING_API void ComputeSoundfieldChannelGains(const int32 Order, const float Azimuth, const float Elevation, float* OutGains);
30 static SIGNALPROCESSING_API void ComputeSoundfieldChannelGains(const int32 Order, const float Azimuth, const float Elevation, TArrayView<float> OutGains);
31
34
35 template<typename T>
41
43 {
44 check(InOrder >= 0);
45 return (InOrder+1) * (InOrder+1);
46 }
47
49};
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define HALF_PI
Definition UnrealMathUtility.h:80
Definition SphericalHarmonicCalculator.h:17
static void AdjustUESphericalCoordinatesForAmbisonics(UE::Math::TVector2< T > &InOutVector)
Definition SphericalHarmonicCalculator.h:36
static SIGNALPROCESSING_API void NormalizeGains(TArrayView< float > Gains)
Definition SphericalHarmonicCalculator.cpp:756
static SIGNALPROCESSING_API void ComputeSoundfieldChannelGains(const int32 Order, const float Azimuth, const float Elevation, float *OutGains)
Definition SphericalHarmonicCalculator.cpp:620
static SIGNALPROCESSING_API void GenerateFirstOrderRotationMatrixGivenDegrees(const float RotXDegrees, const float RotYDegrees, const float RotZDegrees, FMatrix &OutMatrix)
Definition SphericalHarmonicCalculator.cpp:750
static int32 OrderToNumChannels(const int32 InOrder)
Definition SphericalHarmonicCalculator.h:42
static SIGNALPROCESSING_API void GenerateFirstOrderRotationMatrixGivenRadians(const float RotXRadians, const float RotYRadians, const float RotZRadians, FMatrix &OutMatrix)
Definition SphericalHarmonicCalculator.cpp:723
Definition ArrayView.h:139
Definition Vector2D.h:38