// use std::{ // ffi::CString, // ptr::{self, addr_of_mut}, // }; // use celeritas::*; // unsafe fn run_game() { // // init // let p: *mut GLFWwindow = ptr::null_mut(); // Core_Bringup(p); // let core = get_global_core(); // let glfw_window_ptr = Core_GetGlfwWindowPtr(core); // // cam pos: 18.871811 10.658584 11.643305 cam frontL -0.644326 -0.209243 -0.735569 // 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, // }; // let camera = Camera_Create( // camera_pos, // camera_front, // Vec3 { // x: 0.0, // y: 1.0, // z: 0.0, // }, // 45.0, // ); // SetCamera(camera); // let mut cube_geo = Geo_CreateCuboid(f32x3 { // x: 2.0, // y: 2.0, // z: 2.0, // }); // let mut crate_mesh = Mesh_Create(addr_of_mut!(cube_geo), false); // let albedo_map = TextureLoadFromFile( // CString::new("assets/demo/crate/Wood_Crate_001_basecolor.jpg") // .unwrap() // .as_ptr() as *const i8, // ); // let roughness_map = TextureLoadFromFile( // CString::new("assets/demo/crate/Wood_Crate_001_roughness.jpg") // .unwrap() // .as_ptr() as *const i8, // ); // let normal_map = TextureLoadFromFile( // CString::new("assets/demo/crate/Wood_Crate_001_normal.jpg") // .unwrap() // .as_ptr() as *const i8, // ); // let ao_map = TextureLoadFromFile( // CString::new("assets/demo/crate/Wood_Crate_001_ambientOcclusion.jpg") // .unwrap() // .as_ptr() as *const i8, // ); // let name: [i8; 64] = [0; 64]; // let mut crate_mat = Material { // name: name, // kind: 0, // param_albedo: Vec3 { // x: 0.0, // y: 0.0, // z: 0.0, // }, // param_metallic: 0.0, // param_roughness: 0.0, // param_ao: 0.0, // pbr_albedo_map: albedo_map, // pbr_normal_map: normal_map, // metal_roughness_combined: true, // pbr_metallic_map: TextureHandle { raw: 99999 }, // pbr_roughness_map: roughness_map, // pbr_ao_map: ao_map, // }; // let crate_renderent = RenderEnt { // mesh: addr_of_mut!(crate_mesh), // material: addr_of_mut!(crate_mat), // affine: mat4_ident(), // casts_shadows: true, // }; // let mut render_entities: [RenderEnt; 1] = [crate_renderent]; // // main loop // while !ShouldExit() { // Frame_Begin(); // Render_RenderEntities(render_entities.as_mut_ptr(), render_entities.len()); // Frame_End(); // } // } fn main() { println!("Running from Rust!"); // unsafe { // run_game(); // } }