Skip to content
Snippets Groups Projects
Verified Commit df203e1f authored by Robotka István Adrián's avatar Robotka István Adrián
Browse files

ahhhhhhh2

parent e209b0a0
No related branches found
No related tags found
No related merge requests found
...@@ -263,9 +263,11 @@ class Triangulated : public Drawable { ...@@ -263,9 +263,11 @@ class Triangulated : public Drawable {
} }
public: public:
explicit Triangulated(std::vector<vec2> points) : remainingVertices(points) { Triangulated() = default;
explicit Triangulated(std::vector<vec2> points) : remainingVertices(std::move(points)) {
vertices.reserve(remainingVertices.size() * 3); vertices.reserve(remainingVertices.size() * 3);
triangulate(); //triangulate();
}; };
void triangulate() { void triangulate() {
...@@ -295,23 +297,20 @@ public: ...@@ -295,23 +297,20 @@ public:
class SiriusTriangle : public Drawable { class SiriusTriangle : public Drawable {
std::vector<Point> points; std::vector<Point> points;
std::vector<Triangulated> triangulated; Triangulated triangulated;
public: public:
int n = 0; int n = 0;
SiriusTriangle() = default;
void addPoint(vec2 p) { void addPoint(vec2 p) {
n++; n++;
points.push_back(p); points.emplace_back(p);
if (n > 3) printf("Can't add 4th point to a triangle!\n"); if (n > 3) printf("Can't add 4th point to a triangle!\n");
printf("%d\n", n);
if (n == 2) generateLineSegment(points[0], points[1]); if (n == 2) generateLineSegment(points[0], points[1]);
if (n == 3) { if (n == 3) {
generateLineSegment(points[2], points[0]); generateLineSegment(points[2], points[0]);
generateLineSegment(points[1], points[2]); generateLineSegment(points[1], points[2]);
triangulated.emplace_back(vertices); triangulated = Triangulated(vertices);
} }
} }
...@@ -358,8 +357,7 @@ public: ...@@ -358,8 +357,7 @@ public:
void draw() override { void draw() override {
//filling out the triangulated area //filling out the triangulated area
if (n == 3) if (n == 3)
triangulated[0].draw(); triangulated.draw();
//Time to draw the edges //Time to draw the edges
if (n == 3) { if (n == 3) {
...@@ -369,7 +367,6 @@ public: ...@@ -369,7 +367,6 @@ public:
glDrawArrays(GL_LINE_LOOP, 0, vertices.size()); glDrawArrays(GL_LINE_LOOP, 0, vertices.size());
} }
for (auto &point: points) for (auto &point: points)
point.draw(); point.draw();
} }
...@@ -405,17 +402,10 @@ SiriusTriangleManager siriusTriangleManager = SiriusTriangleManager(); ...@@ -405,17 +402,10 @@ SiriusTriangleManager siriusTriangleManager = SiriusTriangleManager();
void onInitialization() { void onInitialization() {
glViewport(0, 0, windowWidth, windowHeight); glViewport(0, 0, windowWidth, windowHeight);
printf("%d", intersectEachOther(
vec2(0, 0),
vec2(100, 0),
vec2(2, 2),
vec2(2, -4)
));
baseCircle.init(); baseCircle.init();
siriusTriangleManager.addPoint(vec2(-0.6, 0.4));
siriusTriangleManager.addPoint(vec2(-0.8, -0.2)); siriusTriangleManager.addPoint(vec2(-0.8, -0.2));
siriusTriangleManager.addPoint(vec2(-0.2, -0.6)); siriusTriangleManager.addPoint(vec2(-0.2, -0.6));
siriusTriangleManager.addPoint(vec2(-0.6, 0.4));
// create program for the GPU // create program for the GPU
gpuProgram.create(vertexSource, fragmentSource, "outColor"); gpuProgram.create(vertexSource, fragmentSource, "outColor");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment