Skip to content

Commit 21b7a67

Browse files
alxbilgerhugtalbot
andauthored
[Sofa.GL] Implement missing overload (#5522)
Co-authored-by: Hugo <hugo.talbot@sofa-framework.org>
1 parent 99ecb16 commit 21b7a67

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

Sofa/GL/src/sofa/gl/DrawToolGL.cpp

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -351,17 +351,24 @@ void DrawToolGL::drawTriangles(const std::vector<Vec3> &points, const std::vecto
351351
void DrawToolGL::drawTriangles(const std::vector<Vec3> &points,
352352
const std::vector< type::Vec3i > &index,
353353
const std::vector<Vec3> &normal,
354-
const std::vector<type::RGBAColor>& colour)
354+
const std::vector<type::RGBAColor>& colors)
355355
{
356-
//todo !
357-
SOFA_UNUSED(points);
358-
SOFA_UNUSED(index);
359-
SOFA_UNUSED(normal);
360-
SOFA_UNUSED(colour);
356+
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
357+
glEnable(GL_COLOR_MATERIAL);
358+
setMaterial(colors[0]);
359+
glBegin(GL_TRIANGLES);
360+
{
361+
for (std::size_t i=0; i<index.size(); ++i)
362+
{
363+
internalDrawTriangle(points[ index[i][0] ],points[ index[i][1] ],points[ index[i][2] ],
364+
normal[i],
365+
colors[3*i+0],colors[3*i+1],colors[3*i+2]);
366+
}
367+
} glEnd();
368+
glDisable(GL_COLOR_MATERIAL);
369+
resetMaterial(colors[0]);
361370
}
362371

363-
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
364-
365372
void DrawToolGL::drawTriangles(const std::vector<Vec3> &points,
366373
const std::vector<Vec3> &normal, const std::vector< type::RGBAColor > &color)
367374
{

Sofa/GL/src/sofa/gl/DrawToolGL.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class SOFA_GL_API DrawToolGL : public helper::visual::DrawTool
8181
virtual void drawTriangles(const std::vector<type::Vec3> &points,
8282
const std::vector< type::Vec3i > &index,
8383
const std::vector<type::Vec3> &normal,
84-
const std::vector<type::RGBAColor>& color) override;
84+
const std::vector<type::RGBAColor>& colors) override;
8585
virtual void drawTriangles(const std::vector<type::Vec3> &points,
8686
const std::vector<type::Vec3> &normal,
8787
const std::vector< type::RGBAColor > &color) override;

0 commit comments

Comments
 (0)