12 lines
392 B
C++
12 lines
392 B
C++
#pragma once
|
|
|
|
|
|
namespace M3D_Internal {
|
|
inline M3D_VECTOR M3D_PTransform(M3D_VECTOR Plane, M3D_VECTOR Rotation, M3D_VECTOR Translation) noexcept {
|
|
M3D_VECTOR vNormal = M3D_V3Rotate(Plane, Rotation);
|
|
M3D_VECTOR vD = M3D_V4Subtract(M3D_V4SplatW(Plane), M3D_V3Dot(vNormal, Translation));
|
|
vNormal = M3D_V4SetW(vNormal, M3D_V4GetW(vD));
|
|
|
|
return vNormal;
|
|
}
|
|
} |