opengl and c++ program for a game

Job ID: 33107839

Budget: ₹600 – ₹1,500 INR

looking someone expert in the c++ with opengl support asap, below are the detils this is program and you will be working in a 3D world where the user has the ability to move through the world using the keyboard arrow keys. Base code is provided for you to work with. You should add the features described below to receive full credit. You will be finalizing an implementation of a Polyhedron class that loads Wavefront OBJ 3D models and you will write the display function and other helper functions. Your program will also be adjusted to load/generate a set of 3D models that are displayed giving the user the option to either load from a file or use the pre-generated environment.
The base code will be provides., pfa
1. Compile and run this code as is. You should be able to understand the overall flow of the program before adding in the required functionality.

2. Fill in the implementation in Polyhedron.cpp. Places that need to be filled in are marked with TODO. These items have to do with:
• Recenter() - adjust the coordinates of the model to be centered about (0,0,0). To do this you should first compute the center of the model and then subtract the center from each vertex stored in the model.
• RecenterXZ() - adjust the coordinates of the model to be centered about (0, Y, 0) where Y is the original Y center of the model. You can think of this as just adjusting 2D center in the XZ plane.
• Draw - write the draw function in the Polyhedron class to draw each of the faces (you can assume they are loaded as triangles). This should be a simple loop that iterates through each of the faces and draws a triangle given three vertices that define the triangle. Be careful with indexing the vertices as OBJ definition start indexing at 1.

3. Write three generator functions similar to how the snowmen are initialized that will load up a set of polyhedron to define the environment. You can remove the snowmen that initially existed in the world if you like. This function should be initially called when the program starts. The polyhedron defined should be drawn and the user should be able to move through the world to see the polyhedron in the scene. You should add a menu items that allows the user to call these functions.

4. Write a function that will load a scene from a file. Again, this option should be available from a menu item. The file can specify things like which object is to be loaded, the transformation, rotation about the y-axis, scale factor, color, etc.

5. The generator functions and loading the scene from the file should use at least 10 types of objects and the scene should contain at least 40 objects. The models/folder will contain obj models that should be loadable from your program. Additionally, you may look online for other objects you may wish to add. Models may be added to the models/ folder to load in to your scene.