Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please fill out the code in the image with the C + + language + OPENGL Style using the image below based on the below

Please fill out the code in the image with the C++ language + OPENGL Style using the image below based on the below assignment description(Please no modified code):
Directions
Using the image you selected in Milestone One, you will create 3D objects that represent the components and layout of that image. Although you have already begun to complete some of this work in your other milestones, during this stage of your final project, you will be refining and adding to your earlier submissions before bringing everything together. Note: You will be working on your 3D scene in Visual Studio but will also submit a written design decisions document discussing your approach throughout the process.
Specifically, you must address the following rubric criteria:
3D Objects
Create low-polygon 3D representations of real-world objects. Make sure you have at least four completed objects in your 3D scene. At least one of the objects you create should be made using two or more primitive shapes. Note that the object you completed in an earlier milestone can count as one of your four. Use organized geometry and make sure that the polygons (triangles) on each 3D model are well spaced and connected. Minimize complexity and save 3D modeling time by setting the polygon count for your objects under 1,000 triangles. Remember to think in terms of simple shapes and ask yourself what basic 3D shapes go into making up each object in your scene. Four of the following basic shapes must appear at least once in your creation:
Box
Cone
Cylinder
Plane
Prism
Pyramid
Sphere
Tapered cylinder
Torus
Apply accurately projected textures to a 3D model. You must select at least two objects to texture. Note that you should have already textured one object in a previous milestone. If you use that object here, it will count as one of your two. The textures you select should be royalty-free images with resolutions of 1024 by 1024 pixels or higher. Please refer to the Sourcing Textures Tutorial linked in the Supporting Materials section for help finding images that you can use for textures.
Apply lighting to create a polished visualization of 3D models. You must include a minimum of two light sources, and at least one of them should be colored. Note that the light you worked on in a previous milestone counts as one of your two lights. The light sources you create will need to capture all of the objects in the 3D world you are building. They should be positioned at locations that do not cause parts of the objects to appear dark when moving the camera around them. Include a point light for one of your two lights. You may use a directional light or spotlight. Make sure that you design lights in a way that helps create a final polished presentation. Use all components of the Phong shading model, including the following components:
Ambient
Diffuse
Specular
Place objects appropriately, using the X, Y, and Z coordinates, relative to one another in the 3D world. Match the photograph you selected as closely as possible by placing the objects in their proper locations. Note: The objects may overlap because all of the objects were likely initially placed at 0,0,0.
Navigation
Apply horizontal, vertical, and depth camera navigation around the 3D scene. The camera will be traversing the X, Y, and Z axes. Make sure it captures all of the objects in your 3D scene. Use the code you created in an earlier milestone and then increase the radius of the cameras orbit so it will project light on all of the objects. Add each object separately and then adjust the orbit radius or position of the camera each time. Use the following input devices:
WASD keys should be used to control the forward, backward, left, and right motion.
QE keys should be used to control the upward and downward movement.
Apply nuanced camera controls to effectively view the 3D objects in the application. Changing the camera controls should allow the orientation of the camera to change even though its location has not moved. Focus first on pitch and yaw, but careful changes can be made to roll. Code for adjustments in the speed of the movement. This way, a user will have more control over how they explore the objects in the scene. Use the following input devices:
Mouse cursor should be used to change the orientation of the camera so it can look up and down or right and left.
Mouse scroll should be used to adjust the speed of the movement or the speed at which camera travels around the scene.
Create perspective and orthographic displays of the 3D world. Use the tap of a keyboard key to allow a user to change the viewport display of all objects in the scene between orthographic (2D) and perspective (3D) views. Switch the function call to retrieve either the perspective or orthographic projection matrix. Keep the camera in the same orientation.
Best Practices
Apply coding best practices in formatting, commenting, and functional logic.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

101 Database Exercises Text Workbook

Authors: McGraw-Hill

2nd Edition

0028007484, 978-0028007489

More Books

Students also viewed these Databases questions

Question

The company has fair promotion/advancement policies.

Answered: 1 week ago