diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2009-12-09 16:28:58 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2009-12-09 16:28:58 +0100 |
commit | 8705ce3d468c3cd22159bc0fedf727e8250861ca (patch) | |
tree | f94debc4b7f52badac6052f016e9ab2f9232b095 /DisplayClass.cpp | |
parent | 3035d4c9e76d6f28579d0b5a024e1c1b2a538919 (diff) | |
parent | 3b534c013dd072d0296ebaac434e8c943ab88c14 (diff) | |
download | c3d-8705ce3d468c3cd22159bc0fedf727e8250861ca.tar c3d-8705ce3d468c3cd22159bc0fedf727e8250861ca.zip |
Merge branch 'master' of git://git.gamezock.de/c3d
Conflicts:
DisplayClass.cpp
Diffstat (limited to 'DisplayClass.cpp')
-rw-r--r-- | DisplayClass.cpp | 113 |
1 files changed, 66 insertions, 47 deletions
diff --git a/DisplayClass.cpp b/DisplayClass.cpp index 5c97cc4..cefa6ae 100644 --- a/DisplayClass.cpp +++ b/DisplayClass.cpp @@ -1,69 +1,88 @@ #include "DisplayClass.h" -#include "Matrix.h"
+#include "Matrix.h" #include "gl.h" -#include <algorithm> +//#include <algorithm> #include "Trapezocube.h" -#include "BSPTree.h"
-
-
-DisplayClass::DisplayClass() {
- static const float pos[5] = {-3.0, -2.0, 0.0, 2.0, 3.0};
-
- for(int i = 0; i < 5; ++i) {
- for(int j = 0; j < 5; ++j) {
- for(int k = 0; k < 5; ++k) {
- cubes[i][j][k].setSize(0.5, 0.5, 0.5);
- cubes[i][j][k].setPos(pos[k], pos[j], pos[i]);
- }
- }
- }
-}
-
-void DisplayClass::renderScene(unsigned long delta)
+#include "BSPTree.h" + + +DisplayClass::DisplayClass() { + static const float pos[5] = {-3.0, -2.0, 0.0, 2.0, 3.0}; + + for(int i = 0; i < 5; ++i) { + for(int j = 0; j < 5; ++j) { + for(int k = 0; k < 5; ++k) { + cubes[i][j][k].setSize(0.5, 0.5, 0.5); + cubes[i][j][k].setPos(pos[k], pos[j], pos[i]); + } + } + } +} + +void DisplayClass::renderScene(unsigned long delta) { -// Cubehole cubeing(3.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.5); - Trapezocube cubeing(2.0, 1.5, 3.0, 0.5, 0.0, 0.0, 0.0, 90); - static float angle = 0.0;
- angle += delta*0.05;
- if(angle >= 360)
- angle -= 360;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ //Cubehole cubeing(3.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.5); + Trapezocube cubeing1(11.0, 10.0, 10.0, 0.5, 0.0, 0.0, 1.75, 0); + Trapezocube cubeing2(10.0, 9.0, 9.0, 0.5, 0.0, 0.0, 2.25, 90); + Trapezocube cubeing3(9.0, 8.0, 8.0, 0.5, 0.0, 0.0, 2.75, 180); + Trapezocube cubeing4(8.0, 7.0, 7.0, 0.5, 0.0, 0.0, 3.25, 270); + Trapezocube cubeing5(7.0, 6.0, 6.0, 0.5, 0.0, 0.0, 3.75, 0); + Trapezocube cubeing6(6.0, 5.0, 5.0, 0.5, 0.0, 0.0, 4.25, 90); + Trapezocube cubeing7(5.0, 4.0, 4.0, 0.5, 0.0, 0.0, 4.75, 180); + Trapezocube cubeing8(4.0, 3.0, 3.0, 0.5, 0.0, 0.0, 5.25, 270); + static float angle = 0.0; + angle += delta*0.025; + if(angle >= 360) + angle -= 360; + + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + //Matrix p(GL_PROJECTION_MATRIX); + //Matrix m; - Matrix p(GL_PROJECTION_MATRIX);
- Matrix m;
-
std::list<Triangle> triangles; - glLoadIdentity(); // Clean up matrix
- glTranslatef(0.0, 0.0, -10.0); // Then set up transformation
- glRotatef(angle, 0.0, 1.0, 0.0);
- glRotatef(angle*2, 1.0, 0.0, 0.0);
- glRotatef(angle*3, 0.0, 0.0, 1.0);
+ glLoadIdentity(); // Clean up matrix + glTranslatef(0.0, 0.0, -30.0); // Then set up transformation + glRotatef(angle, 0.0, 1.0, 0.0); + glRotatef(angle*2, 1.0, 0.0, 0.0); + glRotatef(angle*3, 0.0, 0.0, 1.0); glRotatef(-angle*5, 1.0, 1.0, 1.0); - m.store(); // Save current transformation + //m.store(); // Save current transformation /*for(int i = 0; i < 5; ++i) { - for(int j = 0; j < 5; ++j) {
+ for(int j = 0; j < 5; ++j) { for(int k = 0; k < 5; ++k) { - std::list<Triangle> ct = cubes[i][j][k].getTriangles(m);
- triangles.splice(triangles.end(), ct);
+ std::list<Triangle> ct = cubes[i][j][k].getTriangles(m); + triangles.splice(triangles.end(), ct); } } }*/ - std::list<Triangle> ct = cubeing.getTriangles(m); - triangles.splice(triangles.end(), ct); + std::list<Triangle> ct1 = cubeing1.getTriangles(); + triangles.splice(triangles.end(), ct1); + std::list<Triangle> ct2 = cubeing2.getTriangles(); + triangles.splice(triangles.end(), ct2); + std::list<Triangle> ct3 = cubeing3.getTriangles(); + triangles.splice(triangles.end(), ct3); + std::list<Triangle> ct4 = cubeing4.getTriangles(); + triangles.splice(triangles.end(), ct4); + std::list<Triangle> ct5 = cubeing5.getTriangles(); + triangles.splice(triangles.end(), ct5); + std::list<Triangle> ct6 = cubeing6.getTriangles(); + triangles.splice(triangles.end(), ct6); + std::list<Triangle> ct7 = cubeing7.getTriangles(); + triangles.splice(triangles.end(), ct7); + std::list<Triangle> ct8 = cubeing8.getTriangles(); + triangles.splice(triangles.end(), ct8); - BSPTree tree(triangles); -
- glLoadIdentity();
+ //glLoadIdentity(); glBegin(GL_TRIANGLES); for(std::list<Triangle>::reverse_iterator t = triangles.rbegin(); t != triangles.rend(); ++t) { t->render(); } glEnd(); -
- glFlush();
-}
+ + glFlush(); +} |