8 #include <argos3/core/utility/math/vector3.h>
9 #include <argos3/plugins/simulator/entities/light_entity.h>
10 #include <argos3/plugins/simulator/visualizations/qt-opengl/qtopengl_widget.h>
21 m_unList = glGenLists(1);
24 glNewList(m_unList, GL_COMPILE);
30 glBegin(GL_TRIANGLE_STRIP);
35 cPoint = m_fRadius * cNormal;
36 glNormal3f(cNormal.GetX(), cNormal.GetY(), cNormal.GetZ());
39 cNormal.FromSphericalCoords(1.0f, cInclination + cSlice, cAzimuth);
40 cPoint = m_fRadius * cNormal;
41 glNormal3f(cNormal.GetX(), cNormal.GetY(), cNormal.GetZ());
44 cNormal.FromSphericalCoords(1.0f, cInclination, cAzimuth + cSlice);
45 cPoint = m_fRadius * cNormal;
46 glNormal3f(cNormal.GetX(), cNormal.GetY(), cNormal.GetZ());
49 cNormal.FromSphericalCoords(1.0f, cInclination + cSlice, cAzimuth + cSlice);
50 cPoint = m_fRadius * cNormal;
51 glNormal3f(cNormal.GetX(), cNormal.GetY(), cNormal.GetZ());
66 glDeleteLists(m_unList, 1);
75 const GLfloat pfColor[] = { cColor.
GetRed() / 255.0f,
79 const GLfloat pfSpecular[] = { 0.0f, 0.0f, 0.0f, 1.0f };
80 const GLfloat pfShininess[] = { 100.0f };
81 const GLfloat pfEmission[] = { 0.0f, 0.0f, 0.0f, 1.0f };
82 glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, pfColor);
83 glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, pfSpecular);
84 glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, pfShininess);
85 glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, pfEmission);
99 m_cModel.
Draw(c_entity);
108 glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
110 glScalef(1.1, 1.1, 1.1);
111 m_cModel.
Draw(c_entity);
112 glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);