void addTrees() { for(int i = 0; i < 150; i++) { Part * trunk = new Part(ID_TREE_BARK, textureMapCylinder, cylMesh, -1); Part * top = new Part(treeTopMesh, -1); parts.push_back(trunk); trunk->addChild(top); int area = WORLD_SZ; int xLoc = (rand() % area*2) - area; int zLoc = (rand() % area * 0.2) - area; int yLoc = -10; float scaleRand = getRandFloat01() - 0.3; float scale1 = 1.75f + scaleRand; float scale2 = scale1*3; trunk->addScale(scale1/4.0, scale1*3, scale1/4.0); trunk->addTranslation(xLoc, yLoc, zLoc); float trunkG = 0.05; float trunkR = 0.1; trunk->setMaterialAmbient(trunkR, trunkG, 0.0, 1.0); trunk->setMaterialDiffuse(trunkR, trunkG, 0.0, 1.0); trunk->setMaterialSpecular(0, 0, 0, 1.0); trunk->setMaterialShininess(0); float topR = 0.05; float topG = 0.2; float topB = 0.05; top->addScale(scale2, scale2/4, scale2); top->addTranslation(0, 150, 0); top->setMaterialAmbient(topR, topG, topB, 1.0); top->setMaterialDiffuse(topR, topG, topB, 1.0); top->setMaterialSpecular(0, 0, 0, 1.0); top->setMaterialShininess(0); } }
void addDeathStar() { Part * deathStar = new Part(ID_METAL, textureMapSphere1, sphereMesh, -1); int dsScale = 15; float amb = 1.0; float diff = 1.0; float spec = 1.0; deathStar->addScale(dsScale, dsScale, dsScale); deathStar->addTranslation(-7000, 4000, -19250); deathStar->setMaterialAmbient(amb, amb, amb, 1.0); deathStar->setMaterialDiffuse(diff, diff, diff, 1.0); deathStar->setMaterialSpecular(spec, spec, spec, 1.0); deathStar->setMaterialShininess(1.0); parts.push_back(deathStar); }
void addMoon() { Part * moon = new Part(sphereMesh, -1); int scale = 4; float amb = 1.0; float diff = 0.9; float spec = 1.0; moon->addScale(0.75 * scale, scale, scale); moon->addTranslation(7000, 5000, -18000); moon->setMaterialAmbient(amb, amb, amb*0.3, 1.0); moon->setMaterialDiffuse(diff, diff, diff, 1.0); moon->setMaterialSpecular(spec, spec, spec, 1.0); moon->setMaterialShininess(1.0); parts.push_back(moon); }
void addNightStars() { for(int i = 0; i < 150; i++) { Part * star = new Part(starMesh, -1); int area = WORLD_SZ * 0.5; int xLoc = (rand() % area) - area/2; int zLoc = (rand() % area) - area; int yLoc = (rand() % 5000) + 1000; float starScale = 0.25*getRandFloat01(); star->addScale(starScale, starScale, starScale); star->addTranslation(xLoc, yLoc, zLoc); star->setMaterialAmbient(getRandFloat01(), getRandFloat01(), getRandFloat01(), 1.0); star->setMaterialDiffuse(getRandFloat01(), getRandFloat01(), getRandFloat01(), 1.0); star->setMaterialSpecular(1.0, 1.0, 1.0, 1.0); star->setMaterialShininess(1.0); parts.push_back(star); } }