diff options
Diffstat (limited to 'bindgen/rust/celeritas-sys')
-rw-r--r-- | bindgen/rust/celeritas-sys/build.rs | 29 | ||||
-rw-r--r-- | bindgen/rust/celeritas-sys/src/lib.rs | 254 |
2 files changed, 133 insertions, 150 deletions
diff --git a/bindgen/rust/celeritas-sys/build.rs b/bindgen/rust/celeritas-sys/build.rs index f0a1d36..24b1d85 100644 --- a/bindgen/rust/celeritas-sys/build.rs +++ b/bindgen/rust/celeritas-sys/build.rs @@ -43,14 +43,10 @@ impl ParseCallbacks for AdditionalDerives { } fn main() { - /* */ - - // Tell cargo to look for shared libraries in the specified directory // TODO: we need to look based on OS - // println!("cargo:rustc-link-search=../../build/windows/x64/debug"); - let static_lib_path = - "/Users/josh/code/CodenameVentus/deps/celeritas-core/build/macosx/arm64/debug".to_string(); + // Tell cargo to look for shared libraries in the specified directory + let static_lib_path = "/home/joshua/repos/cel-core3/build".to_string(); // let static_lib_path = std::env::var("CELERITAS_CORE_LIB") // .unwrap_or("../../../build/macosx/arm64/debug".to_string()); @@ -58,9 +54,8 @@ fn main() { // Tell cargo to tell rustc to link the system bzip2 // shared library. - println!("cargo:rustc-link-lib=core_static"); - println!("cargo:rustc-link-lib=glfw3"); - // TODO: ^ use our locally compiled glfw + println!("cargo:rustc-link-lib=dylib=celeritas"); + println!("cargo:rustc-link-lib=glfw"); // The bindgen::Builder is the main entry point // to bindgen, and lets you build up options for @@ -68,19 +63,7 @@ fn main() { let bindings = bindgen::Builder::default() // The input header we would like to generate // bindings for. - .header("../../../include/amalgamation.h") - // -- our code - .clang_arg("-I../../../src") - .clang_arg("-I../../../src/core") - .clang_arg("-I../../../src/maths") - .clang_arg("-I../../../src/render") - .clang_arg("-I../../../src/platform") - .clang_arg("-I../../../src/ral") - .clang_arg("-I../../../src/ral/backends/opengl") - .clang_arg("-I../../../src/resources") - .clang_arg("-I../../../src/std") - .clang_arg("-I../../../src/std/containers") - .clang_arg("-I../../../src/systems") + .header("../../../include/celeritas.h") // -- dependencies .clang_arg("-I../../../deps/cgltf") .clang_arg("-I../../../deps/glfw-3.3.8/include/GLFW") @@ -92,7 +75,7 @@ fn main() { // Tell cargo to invalidate the built crate whenever any of the // included header files changed. .rustified_enum("GPU_TextureType") - .rustified_enum("GPU_TextureFormat") + // .rustified_enum("GPU_TextureFormat") .parse_callbacks(Box::new(bindgen::CargoCallbacks::new())) .parse_callbacks(Box::new(AdditionalDerives)) // Finish the builder and generate the bindings. diff --git a/bindgen/rust/celeritas-sys/src/lib.rs b/bindgen/rust/celeritas-sys/src/lib.rs index 048e9f7..9ea3e47 100644 --- a/bindgen/rust/celeritas-sys/src/lib.rs +++ b/bindgen/rust/celeritas-sys/src/lib.rs @@ -6,101 +6,101 @@ use serde::{Deserialize, Serialize}; include!(concat!(env!("OUT_DIR"), "/bindings.rs")); -// --- Conversions -pub mod conversions { - use crate::{Mat4, Vec3, Vec4}; +// // --- Conversions +// pub mod conversions { +// use crate::{Mat4, Vec3, Vec4}; - impl From<Vec3> for glam::Vec3 { - fn from(v: Vec3) -> Self { - Self { - x: v.x, - y: v.y, - z: v.z, - } - } - } - impl From<glam::Vec3> for Vec3 { - fn from(v: glam::Vec3) -> Self { - Self { - x: v.x, - y: v.y, - z: v.z, - } - } - } +// impl From<Vec3> for glam::Vec3 { +// fn from(v: Vec3) -> Self { +// Self { +// x: v.x, +// y: v.y, +// z: v.z, +// } +// } +// } +// impl From<glam::Vec3> for Vec3 { +// fn from(v: glam::Vec3) -> Self { +// Self { +// x: v.x, +// y: v.y, +// z: v.z, +// } +// } +// } - impl From<Vec4> for glam::Vec4 { - fn from(v: Vec4) -> Self { - Self::new(v.x, v.y, v.z, v.w) - } - } - impl From<glam::Vec4> for Vec4 { - fn from(v: glam::Vec4) -> Self { - Vec4 { - x: v.x, - y: v.y, - z: v.z, - w: v.w, - } - } - } +// impl From<Vec4> for glam::Vec4 { +// fn from(v: Vec4) -> Self { +// Self::new(v.x, v.y, v.z, v.w) +// } +// } +// impl From<glam::Vec4> for Vec4 { +// fn from(v: glam::Vec4) -> Self { +// Vec4 { +// x: v.x, +// y: v.y, +// z: v.z, +// w: v.w, +// } +// } +// } - impl From<Mat4> for glam::Mat4 { - fn from(m: Mat4) -> Self { - Self { - x_axis: glam::Vec4::new(m.data[0], m.data[1], m.data[2], m.data[3]), - y_axis: glam::Vec4::new(m.data[4], m.data[5], m.data[6], m.data[7]), - z_axis: glam::Vec4::new(m.data[8], m.data[9], m.data[10], m.data[11]), - w_axis: glam::Vec4::new(m.data[12], m.data[13], m.data[14], m.data[15]), - } - } - } - impl From<glam::Mat4> for Mat4 { - fn from(m: glam::Mat4) -> Self { - let mut slf = Self { data: [0.0; 16] }; - m.write_cols_to_slice(&mut slf.data); - slf - } - } -} +// impl From<Mat4> for glam::Mat4 { +// fn from(m: Mat4) -> Self { +// Self { +// x_axis: glam::Vec4::new(m.data[0], m.data[1], m.data[2], m.data[3]), +// y_axis: glam::Vec4::new(m.data[4], m.data[5], m.data[6], m.data[7]), +// z_axis: glam::Vec4::new(m.data[8], m.data[9], m.data[10], m.data[11]), +// w_axis: glam::Vec4::new(m.data[12], m.data[13], m.data[14], m.data[15]), +// } +// } +// } +// impl From<glam::Mat4> for Mat4 { +// fn from(m: glam::Mat4) -> Self { +// let mut slf = Self { data: [0.0; 16] }; +// m.write_cols_to_slice(&mut slf.data); +// slf +// } +// } +// } -impl Transform { - #[inline] - pub fn identity() -> Self { - Self { - position: Vec3 { - x: 0., - y: 0., - z: 0., - }, - rotation: Vec4 { - x: 0., - y: 0., - z: 0., - w: 1.0, - }, - scale: Vec3 { - x: 1., - y: 1., - z: 1., - }, - is_dirty: true, - } - } -} +// impl Transform { +// #[inline] +// pub fn identity() -> Self { +// Self { +// position: Vec3 { +// x: 0., +// y: 0., +// z: 0., +// }, +// rotation: Vec4 { +// x: 0., +// y: 0., +// z: 0., +// w: 1.0, +// }, +// scale: Vec3 { +// x: 1., +// y: 1., +// z: 1., +// }, +// is_dirty: true, +// } +// } +// } -impl Vec3 { - pub const ZERO: Self = Vec3 { - x: 0., - y: 0., - z: 0., - }; - pub const ONE: Self = Vec3 { - x: 1., - y: 1., - z: 1., - }; -} +// impl Vec3 { +// pub const ZERO: Self = Vec3 { +// x: 0., +// y: 0., +// z: 0., +// }; +// pub const ONE: Self = Vec3 { +// x: 1., +// y: 1., +// z: 1., +// }; +// } impl Default for ShaderBinding { fn default() -> Self { @@ -118,43 +118,43 @@ impl Default for ShaderBinding { } } -impl Default for Camera { - fn default() -> Self { - let camera_pos = Vec3 { - x: 18.9, - y: 10.6, - z: 11.6, - }; - let camera_front = Vec3 { - x: -0.6, - y: -0.2, - z: -0.7, - }; +// impl Default for Camera { +// fn default() -> Self { +// let camera_pos = Vec3 { +// x: 18.9, +// y: 10.6, +// z: 11.6, +// }; +// let camera_front = Vec3 { +// x: -0.6, +// y: -0.2, +// z: -0.7, +// }; - unsafe { - Camera_Create( - camera_pos, - camera_front, - Vec3 { - x: 0.0, - y: 1.0, - z: 0.0, - }, - 45.0, - ) - } - } -} +// unsafe { +// Camera_Create( +// camera_pos, +// camera_front, +// Vec3 { +// x: 0.0, +// y: 1.0, +// z: 0.0, +// }, +// 45.0, +// ) +// } +// } +// } -// -- fat pointer string type +// // -- fat pointer string type -impl Str8 { - pub fn from_str(s: &str) -> Self { - let s = s.to_owned(); - let s = s.leak(); // TODO: a better way than just leaking string memory :P - Self { - buf: s.as_mut_ptr(), - len: 0, - } - } -} +// impl Str8 { +// pub fn from_str(s: &str) -> Self { +// let s = s.to_owned(); +// let s = s.leak(); // TODO: a better way than just leaking string memory :P +// Self { +// buf: s.as_mut_ptr(), +// len: 0, +// } +// } +// } |