Polygon Module of libSIMDx86
The Polygon module of libSIMDx86 gives functions to accelerate simple polygon operations.
#include <SIMDx86/polygon.h>
typedef struct SIMDx86Polygon
{
SIMDx86Vector a, b, c; /* Points of the polygon */
} SIMDx86Polygon;
void
SIMDx86Polygon_PlaneNormal(SIMDx86Vector* pNormal, const
SIMDx86Polygon* pPoly)
Calculates the normal of 'pPoly' and stores the result in 'pNormal' by the following formula:
Let D0 and D1 be vectors, and A, B, C be points on the polygon:
D0 = a - b
D1 = c – b
Normal = Cross(D0, D1)