瀏覽代碼

Added vec3Lerp.

Branimir Karadžić 10 年之前
父節點
當前提交
289914931d
共有 1 個文件被更改,包括 19 次插入0 次删除
  1. 19 0
      include/bx/fpumath.h

+ 19 - 0
include/bx/fpumath.h

@@ -89,6 +89,11 @@ namespace bx
 		return fabsf(_a);
 		return fabsf(_a);
 	}
 	}
 
 
+	inline float fsq(float _a)
+	{
+		return _a * _a;
+	}
+
 	inline float fsqrt(float _a)
 	inline float fsqrt(float _a)
 	{
 	{
 		return sqrtf(_a);
 		return sqrtf(_a);
@@ -206,6 +211,20 @@ namespace bx
 		return fsqrt(vec3Dot(_a, _a) );
 		return fsqrt(vec3Dot(_a, _a) );
 	}
 	}
 
 
+	inline void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, float _t)
+	{
+		_result[0] = flerp(_a[0], _b[0], _t);
+		_result[1] = flerp(_a[1], _b[1], _t);
+		_result[2] = flerp(_a[2], _b[2], _t);
+	}
+
+	inline void vec3Lerp(float* __restrict _result, const float* __restrict _a, const float* __restrict _b, const float* __restrict _c)
+	{
+		_result[0] = flerp(_a[0], _b[0], _c[0]);
+		_result[1] = flerp(_a[1], _b[1], _c[1]);
+		_result[2] = flerp(_a[2], _b[2], _c[2]);
+	}
+
 	inline float vec3Norm(float* __restrict _result, const float* __restrict _a)
 	inline float vec3Norm(float* __restrict _result, const float* __restrict _a)
 	{
 	{
 		const float len = vec3Length(_a);
 		const float len = vec3Length(_a);