Compare commits
2 Commits
a40ba66209
...
c31e7cb1ec
| Author | SHA1 | Date | |
|---|---|---|---|
| c31e7cb1ec | |||
| 0e32467b24 |
|
|
@ -30,11 +30,11 @@ impl<S: Copy> DragCtl<S> {
|
||||||
pub fn on_button(&mut self, pos: Vec2, state: ElementState) {
|
pub fn on_button(&mut self, pos: Vec2, state: ElementState) {
|
||||||
match state {
|
match state {
|
||||||
ElementState::Pressed => {
|
ElementState::Pressed => {
|
||||||
assert!(self.ctl.is_none());
|
if self.ctl.is_none() {
|
||||||
self.ctl = Some((pos, self.state));
|
self.ctl = Some((pos, self.state));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
ElementState::Released => {
|
ElementState::Released => {
|
||||||
assert!(self.ctl.is_some());
|
|
||||||
self.ctl = None;
|
self.ctl = None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -60,23 +60,35 @@ fn main() {
|
||||||
let indices = glium::index::NoIndices(glium::index::PrimitiveType::LineLoop);
|
let indices = glium::index::NoIndices(glium::index::PrimitiveType::LineLoop);
|
||||||
let shape = vec![
|
let shape = vec![
|
||||||
Vertex {
|
Vertex {
|
||||||
position: [-1., 0., 4.],
|
position: [0., 0., 0.],
|
||||||
},
|
},
|
||||||
Vertex {
|
Vertex {
|
||||||
position: [0., -1., 4.],
|
position: [1., 0., 0.],
|
||||||
},
|
},
|
||||||
Vertex {
|
Vertex {
|
||||||
position: [1., 0., 4.],
|
position: [0., 0., 0.],
|
||||||
},
|
},
|
||||||
Vertex {
|
Vertex {
|
||||||
position: [0., 1., 4.],
|
position: [0., 1., 0.],
|
||||||
|
},
|
||||||
|
Vertex {
|
||||||
|
position: [0., 0., 0.],
|
||||||
|
},
|
||||||
|
Vertex {
|
||||||
|
position: [0., 0., 1.],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
let vertex_buffer = VertexBuffer::new(&display, &shape).unwrap();
|
let vertex_buffer = VertexBuffer::new(&display, &shape).unwrap();
|
||||||
|
|
||||||
|
let rot = Quat::from_euler(
|
||||||
|
glam::EulerRot::YXZ,
|
||||||
|
std::f32::consts::FRAC_PI_4,
|
||||||
|
std::f32::consts::FRAC_PI_6,
|
||||||
|
0.,
|
||||||
|
);
|
||||||
let mut cur_pos = vec2(0., 0.);
|
let mut cur_pos = vec2(0., 0.);
|
||||||
let mut cam_pos = DragCtl::new(Vec3::ZERO);
|
let mut cam_pos = DragCtl::new(rot * vec3(0., 0., 4.));
|
||||||
let mut cam_rot = DragCtl::new(Quat::IDENTITY);
|
let mut cam_rot = DragCtl::new(rot.inverse());
|
||||||
|
|
||||||
#[allow(deprecated)]
|
#[allow(deprecated)]
|
||||||
event_loop
|
event_loop
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,6 @@ in vec3 position;
|
||||||
out vec3 vertex_color;
|
out vec3 vertex_color;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vertex_color = color;
|
vertex_color = position;
|
||||||
gl_Position = mvp * vec4(position, 1.0);
|
gl_Position = mvp * vec4(position, 1.0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user