// // Initialize the application, loading all of the settings that // we will be accessing later in our fragment shaders. // void Setup() { // Set up lighting variables in OpenGL // Once we do this, we will be able to access them as built-in // attributes in the shader (see examples of this in normalmap.frag) glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight); glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight); surfaceNormImg = new STImage(normalMap); surfaceNormTex = new STTexture(surfaceNormImg); surfaceDisplaceImg = new STImage(displacementMap); surfaceDisplaceTex = new STTexture(surfaceDisplaceImg); surfaceColorImg = new STImage(colorMap); surfaceColorTex = new STTexture(surfaceColorImg); shader = new STShaderProgram(); shader->LoadVertexShader(vertexShader); shader->LoadFragmentShader(fragmentShader); resetCamera(); glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_DEPTH_TEST); gTriangleMesh=new STTriangleMesh(meshOBJ); if(proxyType) gTriangleMesh->CalculateTextureCoordinatesViaSphericalProxy(); else gTriangleMesh->CalculateTextureCoordinatesViaCylindricalProxy(-1,1,0,0,1); CreateYourOwnMesh(); }
// // Initialize the application, loading all of the settings that // we will be accessing later in our fragment shaders. // void Setup() { // Set up lighting variables in OpenGL // Once we do this, we will be able to access them as built-in // attributes in the shader (see examples of this in normalmap.frag) glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_SPECULAR, specularLight); glLightfv(GL_LIGHT0, GL_AMBIENT, ambientLight); glLightfv(GL_LIGHT0, GL_DIFFUSE, diffuseLight); //All of this added by Helen glEnable(GL_LIGHT1); glLightfv(GL_LIGHT1, GL_SPECULAR, specularLight1); glLightfv(GL_LIGHT1, GL_AMBIENT, ambientLight1); glLightfv(GL_LIGHT1, GL_DIFFUSE, diffuseLight1); glMaterialfv(GL_FRONT, GL_AMBIENT, materialAmbient); glMaterialfv(GL_FRONT, GL_DIFFUSE, materialDiffuse); glMaterialfv(GL_FRONT, GL_SPECULAR, materialSpecular); glMaterialfv(GL_FRONT, GL_SHININESS, &shininess); //Up to here surfaceNormImg = new STImage(normalMap); surfaceNormTex = new STTexture(surfaceNormImg); surfaceDisplaceImg = new STImage(displacementMap); surfaceDisplaceTex = new STTexture(surfaceDisplaceImg); shader = new STShaderProgram(); shader->LoadVertexShader(vertexShader); shader->LoadFragmentShader(fragmentShader); resetCamera(); glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_DEPTH_TEST); STTriangleMesh::LoadObj(gTriangleMeshes, backgroundOBJ); STTriangleMesh::LoadObj(gTriangleMeshes, mountainOBJ); STTriangleMesh::LoadObj(gTriangleMeshes, meshOBJ); STTriangleMesh::LoadObj(gTriangleMeshes, meshOBJ2); STTriangleMesh::LoadObj(gTriangleMeshes, meshOBJ3); STTriangleMesh::LoadObj(gTriangleMeshes, meshOBJ4); STTriangleMesh::LoadObj(gTriangleMeshes, meshOBJ5); //Load more meshes if necessary gMassCenter=STTriangleMesh::GetMassCenter(gTriangleMeshes); std::cout<<"Mass Center: "<<gMassCenter<<std::endl; gBoundingBox=STTriangleMesh::GetBoundingBox(gTriangleMeshes); std::cout<<"Bounding Box: "<<gBoundingBox.first<<" - "<<gBoundingBox.second<<std::endl; for(unsigned int id=0;id<gTriangleMeshes.size();id++) //gTriangleMeshes[id]->Recenter(gMassCenter); (was commented out earlier) gTriangleMeshes[id]->mDrawAxis = false; //(all of this came commented out) //for(unsigned int id=0;id<gTriangleMeshes.size();id++){ // if(proxyType) gTriangleMeshes[id]->CalculateTextureCoordinatesViaSphericalProxy(); // else gTriangleMeshes[id]->CalculateTextureCoordinatesViaCylindricalProxy(-6700,6700,0,0,2); //} CreateYourOwnMesh(); }