start rewriting mesh code in zig
This commit is contained in:
parent
5a76cdcd13
commit
6f1eb16a30
14 changed files with 47357 additions and 40 deletions
40
src/lib_helpers/raylib_helper.zig
Normal file
40
src/lib_helpers/raylib_helper.zig
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
pub const raylib = @cImport({
|
||||
@cInclude("raylib.h");
|
||||
@cInclude("raymath.h");
|
||||
});
|
||||
|
||||
pub const v3 = struct {
|
||||
pub inline fn new(x: f32, y: f32, z: f32) raylib.Vector3 {
|
||||
return raylib.Vector3{ .x = x, .y = y, .z = z };
|
||||
}
|
||||
pub inline fn newShifted(x: f32, y: f32, z: f32, comptime d: comptime_int) raylib.Vector3 {
|
||||
if (d % 3 == 0) {
|
||||
return new(x, y, z);
|
||||
} else if (d % 3 == 1) {
|
||||
return new(y, z, x);
|
||||
} else if (d % 3 == 2) {
|
||||
return new(z, x, y);
|
||||
}
|
||||
}
|
||||
pub inline fn add(a: raylib.Vector3, b: raylib.Vector3) raylib.Vector3 {
|
||||
return raylib.Vector3Add(a, b);
|
||||
}
|
||||
pub inline fn sub(a: raylib.Vector3, b: raylib.Vector3) raylib.Vector3 {
|
||||
return raylib.Vector3Subtract(a, b);
|
||||
}
|
||||
pub inline fn neg(a: raylib.Vector3) raylib.Vector3 {
|
||||
return raylib.Vector3Negate(a);
|
||||
}
|
||||
pub inline fn scl(a: raylib.Vector3, b: f32) raylib.Vector3 {
|
||||
return raylib.Vector3Scale(a, b);
|
||||
}
|
||||
pub inline fn nor(a: raylib.Vector3) raylib.Vector3 {
|
||||
return raylib.Vector3Normalize(a);
|
||||
}
|
||||
pub inline fn cross(a: raylib.Vector3, b: raylib.Vector3) raylib.Vector3 {
|
||||
return raylib.Vector3CrossProduct(a, b);
|
||||
}
|
||||
pub inline fn rotate(vec: raylib.Vector3, axis: raylib.Vector3, angle: f32) raylib.Vector3 {
|
||||
return raylib.Vector3RotateByAxisAngle(vec, axis, angle);
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue