rotation works (but is messy!)

This commit is contained in:
Brandon Thomas committed 2020-08-22 05:01:48 -04:00
1 parent fb297ecd1b
commit ce7c409259
2 files changed
+12 -8

No files matched your search

+10 -6
View File
@@ -52,14 +52,18 @@ impl PositionableObject {
}
pub fn draw(&self, model_transform_id: Uniform) {
let mut transformation = Matrix4::identity();
transformation.append_nonuniform_scaling_mut(&self.scale);
transformation.append_translation_mut(&self.translation);
let mut transformation = Matrix4::identity();
let rotation = Matrix4::from_euler_angles(self.rotation.x, self.rotation.y, self.rotation.z);
//println!("matrix: {:?}", transformation);
//println!("translation: {:?}", &self.translation);
transformation.append_nonuniform_scaling_mut(&self.scale);
transformation = transformation * rotation;
transformation.append_translation_mut(&self.translation);
let mat_ptr = transformation.as_ptr();
//println!("matrix: {:?}", transformation);
//println!("translation: {:?}", &self.translation);
let mat_ptr = transformation.as_ptr();
unsafe {
gl::UniformMatrix4fv(model_transform_id.id(), 1, gl::FALSE, mat_ptr);
+2 -2
View File
@@ -324,8 +324,8 @@ impl PointCloudRenderer {
let mut positionable_object = PositionableObject::new(renderable_object);
positionable_object.translate(0.0, 0.0, 5.0);
positionable_object.rotate(180.0, 0.0, 50.0);
positionable_object.translate(0.0, 0.0, 15.0);
positionable_object.rotate(10.0, 8.0, 50.0);
positionable_object.scale(2.0, 1.0, 0.5);
self.renderable_object = Some(positionable_object);