summaryrefslogtreecommitdiffstats
path: root/DisplayClass.cpp
diff options
context:
space:
mode:
authorConstantin Riß <constantin.riss@dre.de>2009-12-02 18:21:53 +0100
committerConstantin Riß <constantin.riss@dre.de>2009-12-02 18:21:53 +0100
commit8c8948a6fc78aa769ac4ceeb0a1e6d0471376ef1 (patch)
tree7f474dfba68d6b2d1764c734be1db0540f0a0929 /DisplayClass.cpp
parent21736d4fee7e61b08227982a8402584887abda1e (diff)
downloadc3d-8c8948a6fc78aa769ac4ceeb0a1e6d0471376ef1.tar
c3d-8c8948a6fc78aa769ac4ceeb0a1e6d0471376ef1.zip
Mehr Quader([5][5][5]), Quader nur einmal erzeugen
Diffstat (limited to 'DisplayClass.cpp')
-rw-r--r--DisplayClass.cpp68
1 files changed, 23 insertions, 45 deletions
diff --git a/DisplayClass.cpp b/DisplayClass.cpp
index 30abdcb..3a43569 100644
--- a/DisplayClass.cpp
+++ b/DisplayClass.cpp
@@ -1,37 +1,24 @@
-#include "Cuboid.h"
#include "DisplayClass.h"
#include "Matrix.h"
#include "gl.h"
#include <algorithm>
-
+
+
+DisplayClass::DisplayClass() {
+ static const float pos[5] = {0.0, 1.0, 3.0, 6.0, 10.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)
{
- //Cuboid cube1(2, 2, 1, -1, 1, 0.5);
- //Cuboid cube2(1, 1, 2, -0.5, 0.5, -1.5);
-
- static const Cuboid dc(0.8, 2, 0.8);
- static const float xs[5] = {-2.0, -1.0, 0.0, 1.0, 2.0};
- static const float zs[5] = {-2.0, -1.0, 0.0, 1.0, 2.0};
-
- Cuboid cubes[5][5] = {
- {dc, dc, dc, dc, dc},
- {dc, dc, dc, dc, dc},
- {dc, dc, dc, dc, dc},
- {dc, dc, dc, dc, dc},
- {dc, dc, dc, dc, dc},
- };
-
- for(int i = 0; i < 5; ++i) {
- for(int j = 0; j < 5; ++j) {
- cubes[i][j].setPos(xs[j], 0.0, zs[i]);
- }
- }
-/* {Cuboid(2, 1, 1, -2.5, 1.0, -1.5), Cuboid(2, 1, 1, -1.5, 1.0, -1.5), Cuboid(2, 1, 1, -0.5, 1.0, -1.5), Cuboid(2, 1, 1, 0.5, 1.0, -1.5), Cuboid(2, 1, 1, 1.5, 1.0, -1.5)},
- {Cuboid(2, 1, 1, -2.5, 1.0, -0.5), Cuboid(2, 1, 1, -1.5, 1.0, -1.5), Cuboid(2, 1, 1, -0.5, 1.0, -1.5), Cuboid(2, 1, 1, 0.5, 1.0, -0.5), Cuboid(2, 1, 1, 1.5, 1.0, -0.5)},
- {Cuboid(2, 1, 1, -2.5, 1.0, 0.5), Cuboid(2, 1, 1, -1.5, 1.0, -1.5), Cuboid(2, 1, 1, -0.5, 1.0, -1.5), Cuboid(2, 1, 1, 0.5, 1.0, -1.5), Cuboid(2, 1, 1, 1.5, 1.0, 0.5)},
- {Cuboid(2, 1, 1, -2.5, 1.0, 1.5), Cuboid(2, 1, 1, -1.5, 1.0, -1.5), Cuboid(2, 1, 1, -0.5, 1.0, -1.5), Cuboid(2, 1, 1, 0.5, 1.0, -1.5), Cuboid(2, 1, 1, 1.5, 1.0, 1.5)},
- {Cuboid(2, 1, 1, -2.5, 1.0, 2.5), Cuboid(2, 1, 1, -1.5, 1.0, 2.5), Cuboid(2, 1, 1, -0.5, 1.0, 2.5), Cuboid(2, 1, 1, 0.5, 1.0, 2.5), Cuboid(2, 1, 1, 1.5, 1.0, 2.5)}};*/
static float angle = 0.0;
angle += delta*0.05;
if(angle >= 360)
@@ -45,32 +32,23 @@ void DisplayClass::renderScene(unsigned long delta)
std::list<Triangle> triangles;
glLoadIdentity(); // Clean up matrix
- glTranslatef(0.0, 0.0, -10.0); // Then set up transformation
+ glTranslatef(0.0, 0.0, -40.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*2, 1.0, 0.0, 0.0);
+ glRotatef(angle*3, 0.0, 0.0, 1.0);
- //glRotatef(-angle*5, 0.0, 0.0, 1.0);
+ glRotatef(-angle*5, 1.0, 1.0, 1.0);
m.store(); // Save current transformation
for(int i = 0; i < 5; ++i) {
- for(int j = 0; j < 5; ++j) {
- std::list<Triangle> ct = cubes[i][j].getTriangles(m);
- triangles.splice(triangles.end(), ct);
+ 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> t1 = cube1.getTriangles(m);
- triangles.splice(triangles.end(), t1);
-
- glRotatef(angle*10, 0.0, 0.0, 1.0);
- m.store();
-
- t1 = cube2.getTriangles(m);
- triangles.splice(triangles.end(), t1);*/
-
- //std::sort(triangles.begin(), triangles.end(), Sorter(p));
-
glLoadIdentity();
glBegin(GL_TRIANGLES);