Defines | |
| #define | macroAbsoluteValue(x) (((x) < 0) ? -(x) : (x)) |
| #define | macroRoundedValue(a) floor((a)+0.5) |
| #define | macroSignOfValue(a) (((a)<0) ? -1 : (a)>0 ? 1 : 0) |
| #define | macroSquaredValue(a) ((a)*(a)) |
| #define | macroLerp(kStart, kEnd, kInterpolant) ((kStart)+(((kEnd)-(kStart))*(kInterpolant))) |
| #define | macroVector2Op1(v1, op1, v2) |
| #define | macroVector2Op2(v1, op1, v2, op2, v3) |
| #define | macroVector2Op2Scalar(v1, op1, v2, op2, kScalar) |
| #define | macroVector2Op3Scalar(v1, op1, v2, op2, v3, op3, kScalar) |
| #define | macroVector3Op1(v1, op1, v2) |
| #define | macroVector3Op2(v1, op1, v2, op2, v3) |
| #define | macroVector3Op2Scalar(v1, op1, v2, op2, kScalar) |
| #define | macroVector3Op3Scalar(v1, op1, v2, op2, v3, op3, kScalar) |
| #define | macroVector4Op1(v1, op1, v2) |
| #define | macroVector4Op2(v1, op1, v2, op2, v3) |
| #define | macroVector4Op2Scalar(v1, op1, v2, op2, kScalar) |
| #define | macroVector4Op3Scalar(v1, op1, v2, op2, v3, op3, kScalar) |
| #define | macroMultiplyVector4ByAffineRowTfm(kV, kM, result) |
| #define macroAbsoluteValue | ( | x | ) | (((x) < 0) ? -(x) : (x)) |
| #define macroLerp | ( | kStart, | |||
| kEnd, | |||||
| kInterpolant | ) | ((kStart)+(((kEnd)-(kStart))*(kInterpolant))) |
| #define macroMultiplyVector4ByAffineRowTfm | ( | kV, | |||
| kM, | |||||
| result | ) |
{ \
(result).x = (kV)(0)*kM(0,0) + (kV)(1)*kM(1,0) + (kV)(2)*kM(2,0) + (kV)(3)*kM(3,0); \
(result).y = (kV)(0)*kM(0,1) + (kV)(1)*kM(1,1) + (kV)(2)*kM(2,1) + (kV)(3)*kM(3,1); \
(result).z = (kV)(0)*kM(0,2) + (kV)(1)*kM(1,2) + (kV)(2)*kM(2,2) + (kV)(3)*kM(3,2); \
(result).w = (kV)(0)*kM(0,3) + (kV)(1)*kM(1,3) + (kV)(2)*kM(2,3) + (kV)(3)*kM(3,3); \
}
| #define macroRoundedValue | ( | a | ) | floor((a)+0.5) |
| #define macroSignOfValue | ( | a | ) | (((a)<0) ? -1 : (a)>0 ? 1 : 0) |
| #define macroSquaredValue | ( | a | ) | ((a)*(a)) |
| #define macroVector2Op1 | ( | v1, | |||
| op1, | |||||
| v2 | ) |
{ \
v1.x op1 v2.x; \
v1.y op1 v2.y; \
}
| #define macroVector2Op2 | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3 | ) |
{ \
v1.x op1 v2.x op2 v3.x; \
v1.y op1 v2.y op2 v3.y; \
}
| #define macroVector2Op2Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 kScalar; \
v1.y op1 v2.y op2 kScalar; \
}
| #define macroVector2Op3Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3, | |||||
| op3, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 v3.x op3 kScalar; \
v1.y op1 v2.y op2 v3.y op3 kScalar; \
}
| #define macroVector3Op1 | ( | v1, | |||
| op1, | |||||
| v2 | ) |
{ \
v1.x op1 v2.x; \
v1.y op1 v2.y; \
v1.z op1 v2.z; \
}
| #define macroVector3Op2 | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3 | ) |
{ \
v1.x op1 v2.x op2 v3.x; \
v1.y op1 v2.y op2 v3.y; \
v1.z op1 v2.z op2 v3.z; \
}
| #define macroVector3Op2Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 kScalar; \
v1.y op1 v2.y op2 kScalar; \
v1.z op1 v2.z op2 kScalar; \
}
| #define macroVector3Op3Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3, | |||||
| op3, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 v3.x op3 kScalar; \
v1.y op1 v2.y op2 v3.y op3 kScalar; \
v1.z op1 v2.z op2 v3.z op3 kScalar; \
}
| #define macroVector4Op1 | ( | v1, | |||
| op1, | |||||
| v2 | ) |
{ \
v1.x op1 v2.x; \
v1.y op1 v2.y; \
v1.z op1 v2.z; \
v1.w op1 v2.w; \
}
| #define macroVector4Op2 | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3 | ) |
{ \
v1.x op1 v2.x op2 v3.x; \
v1.y op1 v2.y op2 v3.y; \
v1.z op1 v2.z op2 v3.z; \
v1.w op1 v2.w op2 v3.w; \
}
| #define macroVector4Op2Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 kScalar; \
v1.y op1 v2.y op2 kScalar; \
v1.z op1 v2.z op2 kScalar; \
v1.w op1 v2.w op2 kScalar; \
}
| #define macroVector4Op3Scalar | ( | v1, | |||
| op1, | |||||
| v2, | |||||
| op2, | |||||
| v3, | |||||
| op3, | |||||
| kScalar | ) |
{ \
v1.x op1 v2.x op2 v3.x op3 kScalar; \
v1.y op1 v2.y op2 v3.y op3 kScalar; \
v1.z op1 v2.z op2 v3.z op3 kScalar; \
v1.w op1 v2.w op2 v3.w op3 kScalar; \
}
1.6.3