Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

CS 3 3 0 Milestone Three Guidelines and Rubric Overview This week, you will be continuing to work on your 3 D scene. Now, it

CS 330 Milestone Three Guidelines and Rubric
Overview
This week, you will be continuing to work on your 3D scene. Now, it is time to incorporate input devices and camera movement so you can navigate your scene more easily.
Scenario
Recall from reviewing the Final Project Guidelines and Rubric that you work as a C++ and OpenGL 3D graphics developer for Triangle and Cube Studios. You have been tasked with writing code in OpenGL to create objects, add texture, apply light, render, and control virtual environments relative to a virtual camera. Review the Final Project Guidelines and Rubric to refresh yourself on the full scenario.
Directions
You will complete your work in Visual Studio. Be sure to work from the project file that was pre-created for the milestones and final project. As a reminder, the project is located in the CS330Content/Projects/7-1_FinalProjectMilestones folder. This project already has the libraries set up correctly and contains the 3D object you built. You will add to the project this week.
Specifically, you must address the following rubric criteria:
Create a 3D plane to situate a 3D scene. The 3D plane will serve as the base for the rest of the objects in your world. Depending on your 2D image, this plane may be used to represent a desk, the ground, a table, or something else entirely. It will be important to work on this first so you understand the scope of the world your camera will be passing through. A plane is also a relatively simple shape, so it will be a good place to start when placing different objects in your scene. Remember, you need to consider where the plane is located in relation to the 3D object you developed previously.
Apply horizontal, vertical, and depth camera navigation around a 3D scene. It is recommended that you use the following keyboard controls to manipulate the basic camera movement:
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 a 3D scene. It is recommended that you use the following mouse controls to allow a user more specific input options for how they view the 3D scene:
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 the camera travels around the scene.
Create perspective and orthographic displays of a 3D scene. Use the tap of a keyboard key to allow a user to change the view of the scene between orthographic (2D) and perspective (3D) views at will. Hint: Check the glViewport and the glOrtho functions. For consistency, use the letter P keyboard key for perspective view and the letter O key for orthographic view. To do this work, switch the function call to retrieve either the perspective or orthographic projection matrix. Because of the nature of the projection methods, the camera settings will be different between perspective and orthographic projection. For orthographic projection, the camera will look directly at the 3D object. The bottom plane should not be visible if the orthographic projection is correct.
Create code that follows a logical flow without syntax errors. The code you create has to be executable. The code that is included needs to be reached by the execution. You dont have to include everything in a single function. Your work should be well modularized.
Apply coding best practices in your creations. Pay particular attention to the way you format and comment your code. Program code should be easy to read and follow industry-standard code formatting practices, such as indentation and spacing. The source code should be brief and clear. Use descriptive comments.

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

Step: 3

blur-text-image

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

Database Management With Website Development Applications

Authors: Greg Riccardi

1st Edition

0201743876, 978-0201743876

More Books

Students also viewed these Databases questions