From 8c254dff15db22b2b716f24f061b50c9d8e299a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Tue, 13 Feb 2018 14:25:08 +0100 Subject: [PATCH] Use normals in glut render --- render/GlutRender.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/render/GlutRender.cpp b/render/GlutRender.cpp index cedf0c5..4e8742c 100644 --- a/render/GlutRender.cpp +++ b/render/GlutRender.cpp @@ -78,7 +78,7 @@ void GlutRender::reshape(int wid, int hei) { gluPerspective(45.0f, aspect, 0.1f, 100.0f); } -void GlutRender::display_mesh(const Mesh& mesh) const { +void GlutRender::display_mesh(Mesh& mesh) const { const Point& mesh_center = mesh.get_center(); const std::vector& points = mesh.get_vertices(); @@ -88,10 +88,15 @@ void GlutRender::display_mesh(const Mesh& mesh) const { Point p0 = face.pt(0, points) + mesh_center, p1 = face.pt(1, points) + mesh_center, p2 = face.pt(2, points) + mesh_center; + Point n0 = mesh.get_normal(face[0]), + n1 = mesh.get_normal(face[1]), + n2 = mesh.get_normal(face[2]); + glColor3f(rand_color(), rand_color(), rand_color()); - glVertex3f(p0[0], p0[1], p0[2]); - glVertex3f(p1[0], p1[1], p1[2]); - glVertex3f(p2[0], p2[1], p2[2]); + + glNormal3f(n0[0], n0[1], n0[2]); glVertex3f(p0[0], p0[1], p0[2]); + glNormal3f(n1[0], n1[1], n1[2]); glVertex3f(p1[0], p1[1], p1[2]); + glNormal3f(n2[0], n2[1], n2[2]); glVertex3f(p2[0], p2[1], p2[2]); } glEnd(); }