I need to create a table utilizing OpenGL C++. This table needs to have a wooden texture applied to it. Attached is a rough layout of the components I think it will require. I was going to utilize 5 boxes with a wood texture overlay. Also attached is a bad pyramid I was trying to make, but it should give you an idea of the headers I need to utilize. If someone could just modify this code to the dimensions for the table. I can add the texture myself. I just can’t seem to get it to go into the right shape.
Here is the specific instructions:
Your commented code and reflection for this project will demonstrate the skills you have gained creating 3D graphics and the principles discussed in the course. To complete this project, you will select a real-world object (personal item, commercial product, etc.) and create a three-dimensional representation of it. You will create a digitally lit, fully textured 3D object that can be orbited using a virtual camera and mouse controls. In addition, you will reflect on this project by providing documentation explaining how the graphics were created and write about how you applied each step in the OpenGL pipeline. You will also reflect on any challenges that influenced your coding/development decisions. Personal object selection: To minimize complexity and save 3D modeling time, the polygon count for your objects should not exceed 1,000 triangles. While you may want to choose a more complex object, to complete the project within the time constraints of the course, the number of triangles must be limited. Below are examples of objects that can be created using a low polygon count. Please choose from one of these categories: 2 ï‚· Furniture (chair or table) ï‚· Kitchen appliances (spoon, knife, cup, not a kettle) ï‚· Body wash container ï‚· Animal head sculpture (not a monkey head sculpture) Note: When using images for textures, make sure you are using royalty-free images with resolutions of 1024 x 1024 pixels or higher. Specifically, your project must address the following critical elements: I. 3D Object A. Your 3D object will be assessed visually to ensure it meets the elements below: i. Utilize organized geometry, ensuring that polygons (triangles) on the 3D model are well spaced and connected and give a low-polygon representation of a real-world object. ii. Utilize textures, ensuring that high-resolution textures are projected accurately on the 3D model. iii. Generate lighting, ensuring that all lights are implemented to give a professional-looking presentation and visualization of the model. iv. Apply color to lighting with varying intensities. B. Navigation Through Input Devices: Your applications will be navigated by using the mouse and keyboard input devices to control a virtual camera. The elements below must be met: i. Create horizontal orientation navigation of the 3D object in the application allowing for azimuth orientation of a virtual camera that orbits a lit model when the mouse is moved horizontally. ii. Create vertical orientation navigation of the 3D object in the application allowing for altitude orientation of a virtual camera that orbits a lit model when the mouse is moved vertically. iii. Create code to clamp or gimbal lock azimuth and altitude orientation to prevent irregular camera angles (e.g., a 90-degree camera rotation clamp on the pitch axis). iv. Create perspective and orthographic displays of the 3D object so that the user can change the viewport display of the 3D model from 2D to 3D and vice versa, using the tap of a keyboard key, allowing the user to switch between orthographic (2D) and perspective (3D) views at will. C. Syntax Assessmentâ€”Best Practices: These best practices should be evident within your program: i. Employ formatting best practices by providing program code that is easy to read and follows industry-standard code formatting practices, such as indentation and spacing. ii. Utilize commenting best practices, ensuring that project source code used is briefly and clearly explained using descriptive comments. iii. Employ functional coding logic best practices, ensuring that the program runs as expected.