From e441294d029dee0c73a80a943936c117fd5eb56c Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Sat, 14 Nov 2015 15:06:59 +0100 Subject: First try with GL_TRIANGLE_STRIPS --- src/glsphere.cpp | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) (limited to 'src/glsphere.cpp') diff --git a/src/glsphere.cpp b/src/glsphere.cpp index d77ef95..8b68b7c 100644 --- a/src/glsphere.cpp +++ b/src/glsphere.cpp @@ -21,23 +21,35 @@ void GLSphere::makeSurface(QVector *pointContainer, m_firstPoint = m_points->size(); for (int slice = 1; slice < m_slices; slice += 2) - { - m_points->append(GLPoint(northpol, n0, t0, GLColorRgba::clMagenta)); - - for (int stack = 1; stack < m_stacks; stack++) { - m_points->append(GLPoint(calculatePoint(2 * M_PI * slice / m_slices, - stack * M_PI / m_stacks), n0, t0, - m_color)); + m_points->append(GLPoint(northpol, n0, t0, GLColorRgba::clMagenta)); - m_points->append(GLPoint(calculatePoint(2 * M_PI * (slice - 1) / m_slices, - stack * M_PI / m_stacks), n0, t0, - m_color)); + for (int stack = 1; stack < m_stacks; stack++) + { + m_points->append(GLPoint(calculatePoint(2 * M_PI * slice / m_slices, + stack * M_PI / m_stacks), n0, t0, + m_color)); - } + m_points->append(GLPoint(calculatePoint(2 * M_PI * (slice - 1) / m_slices, + stack * M_PI / m_stacks), n0, t0, + m_color)); + + } + + m_points->append(GLPoint(southpol, n0, t0, GLColorRgba::clMagenta)); - m_points->append(GLPoint(southpol, n0, t0, GLColorRgba::clMagenta)); - } + for (int stack = m_stacks - 1; stack > 1; stack--) + { + m_points->append(GLPoint(calculatePoint(2 * M_PI * slice / m_slices, + stack * M_PI / m_stacks), n0, t0, + m_color)); + + m_points->append(GLPoint(calculatePoint(2 * M_PI * (slice + 1) / m_slices, + stack * M_PI / m_stacks), n0, t0, + m_color)); + + } + } m_nextPoint = m_points->size(); } -- cgit v1.2.3-70-g09d2