void LinearGeometry::renderFaces(float alpha, Appearance& appearance) { glBegin(GL_TRIANGLES); _register = appearance.getFaceColor(); glColor4f(_register[0], _register[1], _register[2], _register[3] * alpha * appearance.getModifierAlpha()); int number = getNumberTriangles(); float*** triangles = getTriangles(); for (int i = 0; i < number; i++) { _register = triangles[i][0]; glVertex3f(_register[0], _register[1], _register[2]); _register = triangles[i][1]; glVertex3f(_register[0], _register[1], _register[2]); _register = triangles[i][2]; glVertex3f(_register[0], _register[1], _register[2]); } glEnd(); glBegin(GL_QUADS); number = getNumberQuads(); float*** quads = getQuads(); for (int i = 0; i < number; i++) { _register = quads[i][0]; glVertex3f(_register[0], _register[1], _register[2]); _register = quads[i][1]; glVertex3f(_register[0], _register[1], _register[2]); _register = quads[i][2]; glVertex3f(_register[0], _register[1], _register[2]); _register = quads[i][3]; glVertex3f(_register[0], _register[1], _register[2]); } glEnd(); }
void LinearGeometry::renderEdges(float alpha, Appearance& appearance) { glBegin(GL_LINES); _register = appearance.getEdgeColor(); glColor4f(_register[0], _register[1], _register[2], _register[3] * alpha * appearance.getModifierAlpha()); int numberEdges = getNumberEdges(); float*** edges = getEdges(); for (int i = 0; i < numberEdges; i++) { _register = edges[i][0]; glVertex3f(_register[0], _register[1], _register[2]); _register = edges[i][1]; glVertex3f(_register[0], _register[1], _register[2]); } glEnd(); }