Working redraw and movement

This commit is contained in:
Piotr 2020-09-22 20:38:01 +02:00
parent 30e118e81e
commit f5f4c7b761
3 changed files with 10 additions and 27 deletions

View File

@ -7,11 +7,11 @@ use image::DynamicImage::*;
use image::GenericImage; use image::GenericImage;
use image::*; use image::*;
pub unsafe fn loadTexture(path: &str) -> u32 { pub unsafe fn load_texture(path: &str) -> u32 {
println!("Loading texture from path: {}", path); println!("Loading texture from path: {}", path);
let mut textureID = 0; let mut id = 0;
gl::GenTextures(1, &mut textureID); gl::GenTextures(1, &mut id);
let img = image::open(&Path::new(path)).expect("Texture failed to load"); let img = image::open(&Path::new(path)).expect("Texture failed to load");
let format = match img { let format = match img {
ImageLuma8(_) => gl::RED, ImageLuma8(_) => gl::RED,
@ -24,7 +24,7 @@ pub unsafe fn loadTexture(path: &str) -> u32 {
let data = img.raw_pixels(); let data = img.raw_pixels();
let dim = img.dimensions(); let dim = img.dimensions();
gl::BindTexture(gl::TEXTURE_2D, textureID); gl::BindTexture(gl::TEXTURE_2D, id);
gl::TexImage2D( gl::TexImage2D(
gl::TEXTURE_2D, gl::TEXTURE_2D,
0, 0,
@ -47,11 +47,11 @@ pub unsafe fn loadTexture(path: &str) -> u32 {
); );
gl::TexParameteri(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR as i32); gl::TexParameteri(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR as i32);
textureID id
} }
pub unsafe fn loadTextureFromDir(filename: &str, directory: &str) -> u32 { pub unsafe fn load_texture_from_dir(filename: &str, directory: &str) -> u32 {
let fullpath = format!("{}/{}", directory, filename); let fullpath = format!("{}/{}", directory, filename);
loadTexture(&fullpath) load_texture(&fullpath)
} }

View File

@ -27,19 +27,6 @@ mod shader;
mod model; mod model;
mod mesh; mod mesh;
const CUBES_POS: [Vector3<f32>; 10] = [
vec3(0.0, 0.0, 0.0),
vec3(2.0, 5.0, -15.0),
vec3(-1.5, -2.2, -2.5),
vec3(-3.8, -2.0, -12.3),
vec3(2.4, -0.4, -3.5),
vec3(-1.7, 3.0, -7.5),
vec3(1.3, -2.0, -2.5),
vec3(1.5, 2.0, -2.5),
vec3(1.5, 0.2, -1.5),
vec3(-1.3, 1.0, -1.5),
];
pub fn main() { pub fn main() {
setup_panic!(); setup_panic!();
let mut camera = Camera { let mut camera = Camera {
@ -107,8 +94,7 @@ pub fn main() {
let (r, g, b) = (0.188, 0.22, 0.235); let (r, g, b) = (0.188, 0.22, 0.235);
let delta_time = 0.3; let delta_time = 0.3;
events_loop.run(move |event, _, control_flow| { events_loop.run(move |event, _, control_flow| {
println!("{:?}", event); *control_flow = ControlFlow::Poll;
*control_flow = ControlFlow::Wait;
match event { match event {
Event::LoopDestroyed => return, Event::LoopDestroyed => return,
@ -142,13 +128,10 @@ pub fn main() {
_ => (), _ => (),
} }
println!("{:?}", input); println!("{:?}", input);
println!("{:?}", input);
println!("{:?}", input);
println!("{:?}", input);
} }
_ => (), _ => (),
}, },
Event::RedrawRequested(_) => { Event::MainEventsCleared => {
unsafe{gl::ClearColor(r, g, b, 1.0); unsafe{gl::ClearColor(r, g, b, 1.0);
gl::Clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT); gl::Clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT);
// don't forget to enable shader before setting uniforms // don't forget to enable shader before setting uniforms

View File

@ -108,7 +108,7 @@ impl Model {
} }
let texture = Texture { let texture = Texture {
id: unsafe { loadTextureFromDir(path, &self.directory) }, id: unsafe { load_texture_from_dir(path, &self.directory) },
type_: typeName.into(), type_: typeName.into(),
path: path.into() path: path.into()
}; };