From 873bf9be915d5c46b6bbdbcd788fb94b646ee6fb Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 27 Nov 2009 21:11:46 +0100 Subject: Cuboid und DisplayClass aktualisiert --- DisplayClass.cpp | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 9 deletions(-) (limited to 'DisplayClass.cpp') diff --git a/DisplayClass.cpp b/DisplayClass.cpp index 836988d..9cae95c 100644 --- a/DisplayClass.cpp +++ b/DisplayClass.cpp @@ -6,12 +6,34 @@ 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); +{ + //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.5, -1.5, -0.5, 0.5, 1.5}; + static const float zs[5] = {-1.5, -0.5, 0.5, 1.5, 2.5}; + + 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], 1.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; + angle += delta*0.043; if(angle >= 360) angle -= 360; @@ -28,17 +50,24 @@ void DisplayClass::renderScene(unsigned long delta) //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, 0.0, 0.0, 1.0); m.store(); // Save current transformation + + for(int i = 0; i < 5; ++i) { + for(int j = 0; j < 5; ++j) { + std::list ct = cubes[i][j].getTriangles(m); + triangles.splice(triangles.end(), ct); + } + } - std::list t1 = cube1.getTriangles(m); + /*std::list t1 = cube1.getTriangles(m); triangles.splice(triangles.end(), t1); glRotatef(angle*10, 0.0, 0.0, 1.0); m.store(); - std::list t2 = cube2.getTriangles(m); - triangles.splice(triangles.end(), t2); + t1 = cube2.getTriangles(m); + triangles.splice(triangles.end(), t1);*/ //std::sort(triangles.begin(), triangles.end(), Sorter(p)); -- cgit v1.2.3