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); } }