mirror of
https://github.com/raysan5/raylib.git
synced 2026-04-16 12:09:10 -04:00
Update raymath.h
This commit is contained in:
@ -1264,19 +1264,21 @@ RMAPI Vector3 Vector3Refract(Vector3 v, Vector3 n, float r)
|
|||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Module Functions Definition - Vector4 math
|
// Module Functions Definition - Vector4 math
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
// Get vector zero
|
||||||
RMAPI Vector4 Vector4Zero(void)
|
RMAPI Vector4 Vector4Zero(void)
|
||||||
{
|
{
|
||||||
Vector4 result = { 0.0f, 0.0f, 0.0f, 0.0f };
|
Vector4 result = { 0.0f, 0.0f, 0.0f, 0.0f };
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get vector one
|
||||||
RMAPI Vector4 Vector4One(void)
|
RMAPI Vector4 Vector4One(void)
|
||||||
{
|
{
|
||||||
Vector4 result = { 1.0f, 1.0f, 1.0f, 1.0f };
|
Vector4 result = { 1.0f, 1.0f, 1.0f, 1.0f };
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add two vectors
|
||||||
RMAPI Vector4 Vector4Add(Vector4 v1, Vector4 v2)
|
RMAPI Vector4 Vector4Add(Vector4 v1, Vector4 v2)
|
||||||
{
|
{
|
||||||
Vector4 result = {
|
Vector4 result = {
|
||||||
@ -1288,6 +1290,7 @@ RMAPI Vector4 Vector4Add(Vector4 v1, Vector4 v2)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add value to vector components
|
||||||
RMAPI Vector4 Vector4AddValue(Vector4 v, float add)
|
RMAPI Vector4 Vector4AddValue(Vector4 v, float add)
|
||||||
{
|
{
|
||||||
Vector4 result = {
|
Vector4 result = {
|
||||||
@ -1299,6 +1302,7 @@ RMAPI Vector4 Vector4AddValue(Vector4 v, float add)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Substract vectors
|
||||||
RMAPI Vector4 Vector4Subtract(Vector4 v1, Vector4 v2)
|
RMAPI Vector4 Vector4Subtract(Vector4 v1, Vector4 v2)
|
||||||
{
|
{
|
||||||
Vector4 result = {
|
Vector4 result = {
|
||||||
@ -1310,6 +1314,7 @@ RMAPI Vector4 Vector4Subtract(Vector4 v1, Vector4 v2)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Substract value from vector components
|
||||||
RMAPI Vector4 Vector4SubtractValue(Vector4 v, float add)
|
RMAPI Vector4 Vector4SubtractValue(Vector4 v, float add)
|
||||||
{
|
{
|
||||||
Vector4 result = {
|
Vector4 result = {
|
||||||
@ -1321,18 +1326,21 @@ RMAPI Vector4 Vector4SubtractValue(Vector4 v, float add)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vector length
|
||||||
RMAPI float Vector4Length(Vector4 v)
|
RMAPI float Vector4Length(Vector4 v)
|
||||||
{
|
{
|
||||||
float result = sqrtf((v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w));
|
float result = sqrtf((v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vector square length
|
||||||
RMAPI float Vector4LengthSqr(Vector4 v)
|
RMAPI float Vector4LengthSqr(Vector4 v)
|
||||||
{
|
{
|
||||||
float result = (v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w);
|
float result = (v.x*v.x) + (v.y*v.y) + (v.z*v.z) + (v.w*v.w);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vectors dot product
|
||||||
RMAPI float Vector4DotProduct(Vector4 v1, Vector4 v2)
|
RMAPI float Vector4DotProduct(Vector4 v1, Vector4 v2)
|
||||||
{
|
{
|
||||||
float result = (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z + v1.w*v2.w);
|
float result = (v1.x*v2.x + v1.y*v2.y + v1.z*v2.z + v1.w*v2.w);
|
||||||
@ -1358,6 +1366,7 @@ RMAPI float Vector4DistanceSqr(Vector4 v1, Vector4 v2)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Scale vector components by value (multiply)
|
||||||
RMAPI Vector4 Vector4Scale(Vector4 v, float scale)
|
RMAPI Vector4 Vector4Scale(Vector4 v, float scale)
|
||||||
{
|
{
|
||||||
Vector4 result = { v.x*scale, v.y*scale, v.z*scale, v.w*scale };
|
Vector4 result = { v.x*scale, v.y*scale, v.z*scale, v.w*scale };
|
||||||
@ -1753,13 +1762,14 @@ RMAPI Matrix MatrixMultiply(Matrix left, Matrix right)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Multiply matrix components by value
|
||||||
RMAPI Matrix MatrixMultiplyValue(Matrix left, float value)
|
RMAPI Matrix MatrixMultiplyValue(Matrix left, float value)
|
||||||
{
|
{
|
||||||
Matrix result = {
|
Matrix result = {
|
||||||
left.m0 * value, left.m4 * value, left.m8 * value, left.m12 * value,
|
left.m0*value, left.m4*value, left.m8*value, left.m12*value,
|
||||||
left.m1 * value, left.m5 * value, left.m9 * value, left.m13 * value,
|
left.m1*value, left.m5*value, left.m9*value, left.m13*value,
|
||||||
left.m2 * value, left.m6 * value, left.m10 * value, left.m14 * value,
|
left.m2*value, left.m6*value, left.m10*value, left.m14*value,
|
||||||
left.m3 * value, left.m7 * value, left.m11 * value, left.m15 * value
|
left.m3*value, left.m7*value, left.m11*value, left.m15*value
|
||||||
};
|
};
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
Reference in New Issue
Block a user