mirror of https://github.com/Leinnan/doppler.git
Working redraw and movement
This commit is contained in:
parent
30e118e81e
commit
f5f4c7b761
|
|
@ -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)
|
||||||
}
|
}
|
||||||
21
src/main.rs
21
src/main.rs
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue