9#ifndef __SKY_FLOAT3_H__
10#define __SKY_FLOAT3_H__
17# define M_PI_F (3.1415926535897932f)
20# define M_PI_2_F (1.5707963267948966f)
23# define M_2PI_F (6.2831853071795864f)
35 explicit float3(
float value) : x(value), y(value),
z(value) {}
37 explicit float3(
int value) : x(value), y(value),
z(value) {}
39 float3(
float x,
float y,
float z) : x{x}, y{y},
z{
z} {}
41 operator const float *()
const
53 return {a.
x *
b, a.y *
b, a.z *
b};
58 return {a.
x *
b, a.y *
b, a.z *
b};
63 return {a.
x -
b.x, a.y -
b.y, a.z -
b.z};
68 return {-a.
x, -a.y, -a.z};
73 return x * x + y * y +
z *
z;
83 return (a -
b).length();
88 return {a.
x +
b.x, a.y +
b.y, a.z +
b.z};
100 return {a.
x *
b.x, a.y *
b.y, a.z *
b.z};
116 return a.x *
b.x + a.y *
b.y + a.z *
b.z;
136 return f.
x + f.
y + f.
z;
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
local_group_size(16, 16) .push_constant(Type b
draw_view in_light_buf[] float
float len_squared(float3 f)
float3 make_float3(float x, float y, float z)
float dot(const float3 &a, const float3 &b)
float reduce_add(float3 f)
float distance(const float3 &a, const float3 &b)
friend float3 operator*(const float3 &a, float b)
friend float3 operator-(const float3 &a, const float3 &b)
float3(float x, float y, float z)
void operator+=(const float3 &b)
float length_squared() const
friend float3 operator+(const float3 &a, const float3 &b)
float3(const float(*ptr)[3])
static float distance(const float3 &a, const float3 &b)
friend float3 operator*(const float3 &a, const float3 &b)
friend float3 operator-(const float3 &a)
friend float3 operator*(float b, const float3 &a)