summaryrefslogtreecommitdiffstats
path: root/DisplayClass.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2009-12-09 16:28:58 +0100
committerMatthias Schiffer <matthias@gamezock.de>2009-12-09 16:28:58 +0100
commit8705ce3d468c3cd22159bc0fedf727e8250861ca (patch)
treef94debc4b7f52badac6052f016e9ab2f9232b095 /DisplayClass.cpp
parent3035d4c9e76d6f28579d0b5a024e1c1b2a538919 (diff)
parent3b534c013dd072d0296ebaac434e8c943ab88c14 (diff)
downloadc3d-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.cpp113
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();
+}