void makePyramid(GeometryBatch &batch, bool normals, bool uvs, const LColor *color) { float h = 2.0f; batch.init(GL_TRIANGLES, "pyramid"); batch.ps.resize(12); batch.ps[0] = LPoint(-h,-h,h); batch.ps[1] = LPoint(h,-h,h); batch.ps[2] = LPoint(0,h,0); batch.ps[3] = LPoint(h,-h,h); batch.ps[4] = LPoint(h,-h,-h); batch.ps[5] = LPoint(0,h,0); batch.ps[6] = LPoint(h,-h,-h); batch.ps[7] = LPoint(-h,-h,-h); batch.ps[8] = LPoint(0,h,0); batch.ps[9] = LPoint(-h,-h,-h); batch.ps[10] = LPoint(-h,-h,h); batch.ps[11] = LPoint(0,h,0); if (uvs) { batch.uvs[0].resize(12); batch.uvs[0][0] = UV(0, 0); batch.uvs[0][1] = UV(1, 0); batch.uvs[0][2] = UV(.5, 1); batch.uvs[0][3] = UV(0, 0); batch.uvs[0][4] = UV(1, 0); batch.uvs[0][5] = UV(.5, 1); batch.uvs[0][6] = UV(0, 0); batch.uvs[0][7] = UV(1, 0); batch.uvs[0][8] = UV(.5, 1); batch.uvs[0][9] = UV(0, 0); batch.uvs[0][10] = UV(1, 0); batch.uvs[0][11] = UV(.5, 1); } if (color) { batch.cs.assign(batch.ps.size(), *color); } if (normals) { } // ostream_iterator<LPoint> osi(cout, "\n"); // copy(b.ps.begin(), b.ps.end(), osi); // ostream_iterator<UV> osi(cout, "\n"); // copy(batch.uvs[0].begin(), batch.uvs[0].end(), osi); }
#include "LMine.h" #include "LLib.h" const LPoint g_mine[4] = { LPoint(-1, -1), LPoint(-1, 1), LPoint(1, 1), LPoint(1, -1) }; LMineSet::LMineSet() { m_areaWidth = 0; m_areaHeight = 0; m_mineNum = 0; } LMineSet::~LMineSet() { LDestroy::SafeDeleteArray(m_minePosList); } void LMineSet::SetArea(IN int width, IN int height) { m_areaWidth = width; m_areaHeight = height; }
void makeCube(GeometryBatch &b, float w, bool normals, bool uvs, const LColor *color) { b.init(GL_TRIANGLES, "cube"); b.ps.resize(36); b.ns.resize(b.ps.size()); b.uvs[0].resize(b.ps.size()); b.ps[0] = LPoint(-w, -w, w); b.ns[0] = LNormal(0,0,1); b.uvs[0][0] = UV(0,0); b.ps[1] = LPoint(w, -w, w); b.ns[1] = LNormal(0,0,1); b.uvs[0][1] = UV(1,0); b.ps[2] = LPoint(-w, w, w); b.ns[2] = LNormal(0,0,1); b.uvs[0][2] = UV(0,1); b.ps[3] = LPoint(-w, w, w); b.ns[3] = LNormal(0,0,1); b.uvs[0][3] = UV(0,1); b.ps[4] = LPoint(w, -w, w); b.ns[4] = LNormal(0,0,1); b.uvs[0][4] = UV(1,0); b.ps[5] = LPoint(w, w, w); b.ns[5] = LNormal(0,0,1); b.uvs[0][5] = UV(1,1); b.ps[6] = LPoint(w, -w, w); b.ns[6] = LNormal(1,0,0); b.uvs[0][6] = UV(0,0); b.ps[7] = LPoint(w, -w, -w); b.ns[7] = LNormal(1,0,0); b.uvs[0][7] = UV(1,0); b.ps[8] = LPoint(w, w, w); b.ns[8] = LNormal(1,0,0); b.uvs[0][8] = UV(0,1); b.ps[9] = LPoint(w, w, w); b.ns[9] = LNormal(1,0,0); b.uvs[0][9] = UV(0,1); b.ps[10] = LPoint(w, -w, -w); b.ns[10] = LNormal(1,0,0); b.uvs[0][10] = UV(1,0); b.ps[11] = LPoint(w, w, -w); b.ns[11] = LNormal(1,0,0); b.uvs[0][11] = UV(1,1); b.ps[12] = LPoint(w, -w, -w); b.ns[12] = LNormal(0,0,-1); b.uvs[0][12] = UV(0,0); b.ps[13] = LPoint(-w, -w, -w); b.ns[13] = LNormal(0,0,-1); b.uvs[0][13] = UV(1,0); b.ps[14] = LPoint(w, w, -w); b.ns[14] = LNormal(0,0,-1); b.uvs[0][14] = UV(0,1); b.ps[15] = LPoint(w, w, -w); b.ns[15] = LNormal(0,0,-1); b.uvs[0][15] = UV(0,1); b.ps[16] = LPoint(-w, -w, -w); b.ns[16] = LNormal(0,0,-1); b.uvs[0][16] = UV(1,0); b.ps[17] = LPoint(-w, w, -w); b.ns[17] = LNormal(0,0,-1); b.uvs[0][17] = UV(1,1); b.ps[18] = LPoint(-w, -w, -w); b.ns[18] = LNormal(0,0,-1); b.uvs[0][18] = UV(0,0); b.ps[19] = LPoint(-w, -w, w); b.ns[19] = LNormal(0,0,-1); b.uvs[0][19] = UV(1,0); b.ps[20] = LPoint(-w, w, -w); b.ns[20] = LNormal(0,0,-1); b.uvs[0][20] = UV(0,1); b.ps[21] = LPoint(-w, w, -w); b.ns[21] = LNormal(0,0,-1); b.uvs[0][21] = UV(0,1); b.ps[22] = LPoint(-w, -w, w); b.ns[22] = LNormal(0,0,-1); b.uvs[0][22] = UV(1,0); b.ps[23] = LPoint(-w, w, w); b.ns[23] = LNormal(0,0,-1); b.uvs[0][23] = UV(1,1); b.ps[24] = LPoint(-w, w, w); b.ns[24] = LNormal(0,1,0); b.uvs[0][24] = UV(0,0); b.ps[25] = LPoint(w, w, w); b.ns[25] = LNormal(0,1,0); b.uvs[0][25] = UV(1,0); b.ps[26] = LPoint(-w, w, -w); b.ns[26] = LNormal(0,1,0); b.uvs[0][26] = UV(0,1); b.ps[27] = LPoint(-w, w, -w); b.ns[27] = LNormal(0,1,0); b.uvs[0][27] = UV(0,1); b.ps[28] = LPoint(w, w, w); b.ns[28] = LNormal(0,1,0); b.uvs[0][28] = UV(1,0); b.ps[29] = LPoint(w, w, -w); b.ns[29] = LNormal(0,1,0); b.uvs[0][29] = UV(1,1); b.ps[30] = LPoint(-w, -w, -w); b.ns[30] = LNormal(0,-1,0); b.uvs[0][30] = UV(0,0); b.ps[31] = LPoint(w, -w, -w); b.ns[31] = LNormal(0,-1,0); b.uvs[0][31] = UV(1,0); b.ps[32] = LPoint(-w, -w, w); b.ns[32] = LNormal(0,-1,0); b.uvs[0][32] = UV(0,1); b.ps[33] = LPoint(-w, -w, w); b.ns[33] = LNormal(0,-1,0); b.uvs[0][33] = UV(0,1); b.ps[34] = LPoint(w, -w, -w); b.ns[34] = LNormal(0,-1,0); b.uvs[0][34] = UV(1,0); b.ps[35] = LPoint(w, -w, w); b.ns[35] = LNormal(0,-1,0); b.uvs[0][35] = UV(1,1); if (!normals) b.ns.clear(); if (!uvs) b.uvs[0].clear(); if (color) { b.cs.assign(b.ps.size(), *color); } }