|
@@ -164,157 +164,6 @@ void createDefaultCube(Bildschirm* zScreen)
|
|
|
data->release();
|
|
|
}
|
|
|
|
|
|
-void createCubeItem(Bildschirm* zScreen)
|
|
|
-{
|
|
|
- Framework::Model3DData* data
|
|
|
- = window->zBildschirm()->zGraphicsApi()->createModel("itemCube");
|
|
|
- data->setAmbientFactor(0.8f);
|
|
|
- data->setDiffusFactor(0.1f);
|
|
|
- data->setSpecularFactor(0.1f);
|
|
|
- float size = 0.2f;
|
|
|
- float left, right, top, bottom;
|
|
|
- // Calculate the screen coordinates of the left side of the bitmap.
|
|
|
- left = (float)((-size / 2.0));
|
|
|
- // Calculate the screen coordinates of the right side of the bitmap.
|
|
|
- right = left + (float)size;
|
|
|
- // Calculate the screen coordinates of the top of the bitmap.
|
|
|
- top = (float)(size / 2.0);
|
|
|
- // Calculate the screen coordinates of the bottom of the bitmap.
|
|
|
- bottom = top - (float)size;
|
|
|
- float front = -size / 2;
|
|
|
- float back = front + size;
|
|
|
-
|
|
|
- Vertex3D* vertecies = new Vertex3D[24];
|
|
|
- for (int i = 0; i < 24; i++)
|
|
|
- vertecies[i].knochenId = 0;
|
|
|
- // front side
|
|
|
- vertecies[0].pos = Vec3<float>(left, front, top);
|
|
|
- vertecies[0].tPos = Vec2<float>(0.f, 0.f);
|
|
|
- vertecies[1].pos = Vec3<float>(right, front, top);
|
|
|
- vertecies[1].tPos = Vec2<float>(1.f, 0.f);
|
|
|
- vertecies[2].pos = Vec3<float>(left, front, bottom);
|
|
|
- vertecies[2].tPos = Vec2<float>(0.f, 1.f);
|
|
|
- vertecies[3].pos = Vec3<float>(right, front, bottom);
|
|
|
- vertecies[3].tPos = Vec2<float>(1.f, 1.f);
|
|
|
- // back side
|
|
|
- vertecies[4].pos = Vec3<float>(right, back, top);
|
|
|
- vertecies[4].tPos = Vec2<float>(0.0f, 0.0f);
|
|
|
- vertecies[5].pos = Vec3<float>(left, back, top);
|
|
|
- vertecies[5].tPos = Vec2<float>(1.0f, 0.0f);
|
|
|
- vertecies[6].pos = Vec3<float>(right, back, bottom);
|
|
|
- vertecies[6].tPos = Vec2<float>(0.0f, 1.0f);
|
|
|
- vertecies[7].pos = Vec3<float>(left, back, bottom);
|
|
|
- vertecies[7].tPos = Vec2<float>(1.0f, 1.0f);
|
|
|
- // left side
|
|
|
- vertecies[8].pos = Vec3<float>(left, back, top);
|
|
|
- vertecies[8].tPos = Vec2<float>(0.f, 0.f);
|
|
|
- vertecies[9].pos = Vec3<float>(left, front, top);
|
|
|
- vertecies[9].tPos = Vec2<float>(1.f, 0.f);
|
|
|
- vertecies[10].pos = Vec3<float>(left, back, bottom);
|
|
|
- vertecies[10].tPos = Vec2<float>(0.f, 1.f);
|
|
|
- vertecies[11].pos = Vec3<float>(left, front, bottom);
|
|
|
- vertecies[11].tPos = Vec2<float>(1.f, 1.f);
|
|
|
- // right side
|
|
|
- vertecies[12].pos = Vec3<float>(right, front, top);
|
|
|
- vertecies[12].tPos = Vec2<float>(0.0f, 0.0f);
|
|
|
- vertecies[13].pos = Vec3<float>(right, back, top);
|
|
|
- vertecies[13].tPos = Vec2<float>(1.0f, 0.0f);
|
|
|
- vertecies[14].pos = Vec3<float>(right, front, bottom);
|
|
|
- vertecies[14].tPos = Vec2<float>(0.0f, 1.0f);
|
|
|
- vertecies[15].pos = Vec3<float>(right, back, bottom);
|
|
|
- vertecies[15].tPos = Vec2<float>(1.0f, 1.0f);
|
|
|
- // top side
|
|
|
- vertecies[16].pos = Vec3<float>(left, back, top);
|
|
|
- vertecies[16].tPos = Vec2<float>(0.f, 0.f);
|
|
|
- vertecies[17].pos = Vec3<float>(right, back, top);
|
|
|
- vertecies[17].tPos = Vec2<float>(1.f, 0.f);
|
|
|
- vertecies[18].pos = Vec3<float>(left, front, top);
|
|
|
- vertecies[18].tPos = Vec2<float>(0.f, 1.f);
|
|
|
- vertecies[19].pos = Vec3<float>(right, front, top);
|
|
|
- vertecies[19].tPos = Vec2<float>(1.f, 1.f);
|
|
|
- // botom side
|
|
|
- vertecies[20].pos = Vec3<float>(left, front, bottom);
|
|
|
- vertecies[20].tPos = Vec2<float>(0.0f, 0.0f);
|
|
|
- vertecies[21].pos = Vec3<float>(right, front, bottom);
|
|
|
- vertecies[21].tPos = Vec2<float>(1.0f, 0.0f);
|
|
|
- vertecies[22].pos = Vec3<float>(left, back, bottom);
|
|
|
- vertecies[22].tPos = Vec2<float>(0.0f, 1.0f);
|
|
|
- vertecies[23].pos = Vec3<float>(right, back, bottom);
|
|
|
- vertecies[23].tPos = Vec2<float>(1.0f, 1.0f);
|
|
|
-
|
|
|
- data->setVertecies(vertecies, 24);
|
|
|
- // the order of the polygons has to be NORTH (front), EAST (left), SOUTH
|
|
|
- // (back), WEST (right), TOP, BOTTOM according to the Area definition front
|
|
|
- // side
|
|
|
- Polygon3D* p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0;
|
|
|
- p->indexList[1] = 2;
|
|
|
- p->indexList[2] = 1;
|
|
|
- p->indexList[3] = 1;
|
|
|
- p->indexList[4] = 2;
|
|
|
- p->indexList[5] = 3;
|
|
|
- data->addPolygon(p);
|
|
|
- // left side
|
|
|
- p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0 + 8;
|
|
|
- p->indexList[1] = 2 + 8;
|
|
|
- p->indexList[2] = 1 + 8;
|
|
|
- p->indexList[3] = 1 + 8;
|
|
|
- p->indexList[4] = 2 + 8;
|
|
|
- p->indexList[5] = 3 + 8;
|
|
|
- data->addPolygon(p);
|
|
|
- // back side
|
|
|
- p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0 + 4;
|
|
|
- p->indexList[1] = 2 + 4;
|
|
|
- p->indexList[2] = 1 + 4;
|
|
|
- p->indexList[3] = 1 + 4;
|
|
|
- p->indexList[4] = 2 + 4;
|
|
|
- p->indexList[5] = 3 + 4;
|
|
|
- data->addPolygon(p);
|
|
|
- // right side
|
|
|
- p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0 + 12;
|
|
|
- p->indexList[1] = 2 + 12;
|
|
|
- p->indexList[2] = 1 + 12;
|
|
|
- p->indexList[3] = 1 + 12;
|
|
|
- p->indexList[4] = 2 + 12;
|
|
|
- p->indexList[5] = 3 + 12;
|
|
|
- data->addPolygon(p);
|
|
|
- // top side
|
|
|
- p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0 + 16;
|
|
|
- p->indexList[1] = 2 + 16;
|
|
|
- p->indexList[2] = 1 + 16;
|
|
|
- p->indexList[3] = 1 + 16;
|
|
|
- p->indexList[4] = 2 + 16;
|
|
|
- p->indexList[5] = 3 + 16;
|
|
|
- data->addPolygon(p);
|
|
|
- // botom side
|
|
|
- p = new Polygon3D();
|
|
|
- p->indexAnz = 6;
|
|
|
- p->indexList = new int[p->indexAnz];
|
|
|
- p->indexList[0] = 0 + 20;
|
|
|
- p->indexList[1] = 2 + 20;
|
|
|
- p->indexList[2] = 1 + 20;
|
|
|
- p->indexList[3] = 1 + 20;
|
|
|
- p->indexList[4] = 2 + 20;
|
|
|
- p->indexList[5] = 3 + 20;
|
|
|
- data->addPolygon(p);
|
|
|
- data->calculateNormals();
|
|
|
- data->release();
|
|
|
-}
|
|
|
-
|
|
|
void createPlayer(Bildschirm* zScreen)
|
|
|
{
|
|
|
Framework::Model3DData* data
|
|
@@ -741,7 +590,6 @@ void createFluidCube(Bildschirm* zScreen)
|
|
|
void createModels(Bildschirm* zScreen)
|
|
|
{
|
|
|
createDefaultCube(zScreen);
|
|
|
- createCubeItem(zScreen);
|
|
|
createPlayer(zScreen);
|
|
|
createGrass(zScreen);
|
|
|
createFluidCube(zScreen);
|