Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0e62a6d83 | |||
| f7fcc2359b |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,7 +3,5 @@
|
|||||||
*.pdf
|
*.pdf
|
||||||
*.html
|
*.html
|
||||||
source.zip
|
source.zip
|
||||||
|
|
||||||
.aider*
|
|
||||||
flake.lock
|
flake.lock
|
||||||
|
|
||||||
|
|||||||
@@ -149,14 +149,18 @@ unsafe fn draw_scene(node: &scene_graph::SceneNode, transform_loc: i32, normal_l
|
|||||||
let mvp = view_projection * new_transform;
|
let mvp = view_projection * new_transform;
|
||||||
gl::UniformMatrix4fv(transform_loc, 1, gl::FALSE, mvp.as_ptr());
|
gl::UniformMatrix4fv(transform_loc, 1, gl::FALSE, mvp.as_ptr());
|
||||||
let nm4 = glm::transpose(&glm::inverse(&new_transform));
|
let nm4 = glm::transpose(&glm::inverse(&new_transform));
|
||||||
let normal_matrix = glm::mat3(&nm4);
|
let normal_matrix = glm::mat3(
|
||||||
|
nm4[(0,0)], nm4[(0,1)], nm4[(0,2)],
|
||||||
|
nm4[(1,0)], nm4[(1,1)], nm4[(1,2)],
|
||||||
|
nm4[(2,0)], nm4[(2,1)], nm4[(2,2)],
|
||||||
|
);
|
||||||
gl::UniformMatrix3fv(normal_loc, 1, gl::FALSE, normal_matrix.as_ptr());
|
gl::UniformMatrix3fv(normal_loc, 1, gl::FALSE, normal_matrix.as_ptr());
|
||||||
gl::BindVertexArray(node.vao_id);
|
gl::BindVertexArray(node.vao_id);
|
||||||
gl::DrawElements(gl::TRIANGLES, node.index_count, gl::UNSIGNED_INT, ptr::null());
|
gl::DrawElements(gl::TRIANGLES, node.index_count, gl::UNSIGNED_INT, ptr::null());
|
||||||
}
|
}
|
||||||
// Recurse to children
|
// Recurse to children
|
||||||
for &child in &node.children {
|
for &child in &node.children {
|
||||||
draw_scene(&*child, transform_loc, view_projection, &new_transform);
|
draw_scene(&*child, transform_loc, normal_loc, view_projection, &new_transform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user