Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "tango-gl/circle.h"
00018
00019 namespace tango_gl {
00020 Circle::Circle(float radius, int resolution) : Mesh(GL_TRIANGLE_FAN){
00021 SetShader();
00022 std::vector<GLfloat> vertices;
00023 vertices.reserve(3 * (resolution + 2));
00024 vertices.push_back(0);
00025 vertices.push_back(0);
00026 vertices.push_back(0);
00027 float delta_theta = M_PI * 2.0f / static_cast<float>(resolution);
00028 for (int i = resolution; i >= 0; i--) {
00029 float theta = delta_theta * static_cast<float>(i);
00030 vertices.push_back(cos(theta) * radius);
00031 vertices.push_back(0);
00032 vertices.push_back(sin(theta) * radius);
00033 }
00034 SetVertices(vertices);
00035 }
00036 }