made it rotate
parent
c2b85150ed
commit
074c58231a
|
@ -22,7 +22,7 @@ use self::Camera_Movement::*;
|
||||||
|
|
||||||
// Default camera values
|
// Default camera values
|
||||||
const YAW: f32 = -90.0;
|
const YAW: f32 = -90.0;
|
||||||
const PITCH: f32 = 0.0;
|
const PITCH: f32 = -20.0;
|
||||||
const SPEED: f32 = 2.5;
|
const SPEED: f32 = 2.5;
|
||||||
const SENSITIVTY: f32 = 0.1;
|
const SENSITIVTY: f32 = 0.1;
|
||||||
const ZOOM: f32 = 45.0;
|
const ZOOM: f32 = 45.0;
|
||||||
|
|
30
src/main.rs
30
src/main.rs
|
@ -41,7 +41,7 @@ fn main() {
|
||||||
|
|
||||||
|
|
||||||
let mut camera = camera::Camera {
|
let mut camera = camera::Camera {
|
||||||
Position: Point3::new(0.0, 0.25, 1.0),
|
Position: Point3::new(0.0, 0.40, 1.0),
|
||||||
Pitch: -20.0,
|
Pitch: -20.0,
|
||||||
..camera::Camera::default()
|
..camera::Camera::default()
|
||||||
};
|
};
|
||||||
|
@ -56,14 +56,6 @@ fn main() {
|
||||||
|
|
||||||
gl::load_with(|ptr| window.get_proc_address(ptr) as *const _);
|
gl::load_with(|ptr| window.get_proc_address(ptr) as *const _);
|
||||||
|
|
||||||
unsafe{
|
|
||||||
gl::Enable(gl::DEPTH_TEST);
|
|
||||||
gl::DepthFunc(gl::LESS);
|
|
||||||
gl::Enable(gl::STENCIL_TEST);
|
|
||||||
gl::StencilFunc(gl::NOTEQUAL, 1, 0xFF);
|
|
||||||
gl::StencilOp(gl::KEEP, gl::KEEP, gl::REPLACE);
|
|
||||||
};
|
|
||||||
|
|
||||||
let (ourshader, ourModel) = unsafe {
|
let (ourshader, ourModel) = unsafe {
|
||||||
gl::Enable(gl::DEPTH_TEST);
|
gl::Enable(gl::DEPTH_TEST);
|
||||||
|
|
||||||
|
@ -78,19 +70,21 @@ fn main() {
|
||||||
|
|
||||||
let projection: Matrix4<f32> = perspective(Deg(45.0), SCR_WIDTH as f32/ SCR_HEIGHT as f32, 0.1, 100.0);
|
let projection: Matrix4<f32> = perspective(Deg(45.0), SCR_WIDTH as f32/ SCR_HEIGHT as f32, 0.1, 100.0);
|
||||||
println!("entering main loop");
|
println!("entering main loop");
|
||||||
|
|
||||||
|
unsafe {gl::StencilOp(gl::KEEP, gl::KEEP, gl::REPLACE);}
|
||||||
while !window.should_close() {
|
while !window.should_close() {
|
||||||
let currentFrame = glfw.get_time() as f32;
|
let currentFrame = glfw.get_time() as f32;
|
||||||
deltaTime = currentFrame - lastFrame;
|
deltaTime = currentFrame - lastFrame;
|
||||||
lastFrame = currentFrame;
|
lastFrame = currentFrame;
|
||||||
|
|
||||||
process_events(&events, &mut firstMouse, &mut lastX, &mut lastY, &mut camera);
|
|
||||||
|
|
||||||
processInput(&mut window, deltaTime, &mut camera);
|
processInput(&mut window, deltaTime, &mut camera);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
|
gl::Enable(gl::DEPTH_TEST);
|
||||||
gl::Clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT | gl::STENCIL_BUFFER_BIT);
|
gl::Clear(gl::COLOR_BUFFER_BIT | gl::DEPTH_BUFFER_BIT | gl::STENCIL_BUFFER_BIT);
|
||||||
gl::ClearColor(1.0, 1.0, 1.0, 1.0);
|
gl::ClearColor(0.0, 0.0, 0.0, 0.0);
|
||||||
|
|
||||||
|
// outline
|
||||||
|
|
||||||
ourshader.Use();
|
ourshader.Use();
|
||||||
let Projection: Matrix4<f32> = perspective(Deg(camera.Zoom), SCR_WIDTH as f32 / SCR_HEIGHT as f32, 0.1, 100.0);
|
let Projection: Matrix4<f32> = perspective(Deg(camera.Zoom), SCR_WIDTH as f32 / SCR_HEIGHT as f32, 0.1, 100.0);
|
||||||
|
@ -99,14 +93,13 @@ fn main() {
|
||||||
ourshader.setMat4(&CString::new("view").unwrap(), &view);
|
ourshader.setMat4(&CString::new("view").unwrap(), &view);
|
||||||
|
|
||||||
|
|
||||||
let mut model = Matrix4::<f32>::from_translation(vec3(0.0, -0.3, 0.0));
|
//let mut model = Matrix4::<f32>::from_translation(vec3(0.0, -0.3, 0.0));
|
||||||
|
let mut model: Matrix4<f32> = Matrix4::from_axis_angle(vec3(0.0, -1.0, 0.0).normalize(),
|
||||||
|
cgmath::Rad(glfw.get_time() as f32));
|
||||||
model = model * Matrix4::from_scale(0.2);
|
model = model * Matrix4::from_scale(0.2);
|
||||||
ourshader.setMat4(&CString::new("model").unwrap(), &model);
|
ourshader.setMat4(&CString::new("model").unwrap(), &model);
|
||||||
gl::StencilFunc(gl::NOTEQUAL, 1, 0xFF);
|
|
||||||
gl::StencilMask(0x00);
|
|
||||||
//gl::Disable(gl::DEPTH_TEST);
|
|
||||||
ourModel.Draw(&ourshader);
|
ourModel.Draw(&ourshader);
|
||||||
gl::Enable(gl::DEPTH_TEST);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +116,7 @@ fn main() {
|
||||||
if window.get_key(Key::Escape) == Action::Press {
|
if window.get_key(Key::Escape) == Action::Press {
|
||||||
window.set_should_close(true)
|
window.set_should_close(true)
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
if window.get_key(Key::W) == Action::Press {
|
if window.get_key(Key::W) == Action::Press {
|
||||||
camera.ProcessKeyboard(camera::Camera_Movement::FORWARD, deltaTime);
|
camera.ProcessKeyboard(camera::Camera_Movement::FORWARD, deltaTime);
|
||||||
}
|
}
|
||||||
|
@ -136,6 +129,7 @@ fn main() {
|
||||||
if window.get_key(Key::D) == Action::Press {
|
if window.get_key(Key::D) == Action::Press {
|
||||||
camera.ProcessKeyboard(camera::Camera_Movement::RIGHT, deltaTime);
|
camera.ProcessKeyboard(camera::Camera_Movement::RIGHT, deltaTime);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
fn process_events(events: &Receiver<(f64, glfw::WindowEvent)>,
|
fn process_events(events: &Receiver<(f64, glfw::WindowEvent)>,
|
||||||
|
|
Loading…
Reference in New Issue