OpenGL help. Can NOT use freeglut

Computer Science

Comp Graphic and Visualization

SNHU

Question Description

I need the .cpp files with the exe.

Can NOT use freeglut or glut.

Only libraries allowed are glew and glfw

.

.

.

The laptop with be a rectangle

The cup will be a cylinder

The table with be a circle (smaller to make everything look normal please)

And the mouse will be a sphere

.

.

Prompt

  • Create a complex 3D object using at least two primitive shapes. The object you create should be reflective of one object from your 2D scene. At this stage of your object’s creation, you should add different colors to each vertex of the object. This will help you better visualize the variance between the different parts of the shapes you are creating. Note that the code you already have uses rainbow colors on the shapes that are provided; if you use this code you may keep that rainbow format. Remember, the shapes you may wish to use are as follows:
    • Cube
    • Cylinder
    • Plane
    • Pyramid
    • Sphere
    • Torus
  • Apply transformations so shapes are scaled, rotated, and translated (placed) correctly. This work should be relevant for the 2D reference image. For example, if you are working with a cylinder, should it be standing up or lying on its side, based on the image you are referencing? If you are also creating a cube, where should it be placed relative to the cylinder? What sizes are the two objects when compared to each other? It will be easier if you complete these transformations in the right order for your specific object. In general, you will wish to first scale, then rotate, and then translate. While this is not always the case, that is the most likely order for your process to follow.
  • Create code that follows a logical flow without syntax errors. The code you create needs to be executable and all the code that is included will have to be reached by the execution. Note that not everything should be written in a single function and 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. Commenting best practices should be in place to ensure the source code is briefly and clearly explained using descriptive comments

.

.

.

Prompt

  • Create a 3D plane to situate a 3D scene. This 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 will understand the scope of the world your camera will be traversing. A plane is also a relatively simple shape so it will be a good place to start when managing the placement of different objects in your scene. Remember, you will need to take into account where the plane is located in relation to the 3D object you developed during a previous milestone (which used multiple 3D shapes).
  • 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:
  • 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:
  • 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, please use the letter “P” keyboard key. To accomplish this work, you will be switching the function call to retrieve either the perspective or orthographic projection matrix. Note that you will be keeping the camera in the same orientation that you already developed.
  • Create code that follows a logical flow without syntax errors. The code you create has to be executable and all the code that is included needs to be reached by the execution. Note that not everything should be written in a single function and 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. Commenting best practices should be in place to ensure the source code is briefly and clearly explained using descriptive comments.

Prompt

You will complete your work in Visual Studio, being sure to work from the project file you already began to create in prior milestones. This file has the libraries set up correctly and contains the 3D objects you built, which will be necessary for you to add to this week.

Specifically, you must address the following rubric criteria:

  • Apply texture to create a detailed appearance for a 3D object. Select the complex object in your scene (the one that uses two or more shapes to create a single object) and determine what image files you should use to render it in 3D. You may wish to approach this realistically or take some artistic license to create something more creative. Refer to the Sourcing Textures Tutorial, linked in this week’s Resources section, to ensure the textures you select are free and open source. As you work, manipulate your texture to ensure it is not too stretched or too small to match the object. Pay particular attention to the resolution of the image you choose to use so that it does not appear too pixelated for the object. However, you will also not want the image to be too large so that it will take a long time to render. Continue to check your work by running the code and viewing how the texture has been applied to the object.
  • Apply a complex texturing technique to a 3D shape. Depending on what makes the most sense for your scene, either tile a texture or overlap two images on top of one another for one of the shapes in your complex object. The selected technique should be used to add detail to your scene in a particularly unique or interesting way.
  • Create a cohesive object using different textures on individual 3D shapes. Because your 3D object is made of two or more 3D shapes arranged in relation to one another, you will need to orient the textures in relation to one another. Think about what different image files you may want to use in order to emphasize the different components of the object overall.
  • Create code that follows a logical flow without syntax errors. The code you create has to be executable and all the code that is included needs to be reached by the execution. Note that not everything should be written in a single function and 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. Commenting best practices should be in place to ensure the source code is briefly and clearly explained using descriptive comments.

Guidelines for Submission

Submit a completed ZIP folder with all of your code, which may include one or multiple CPP files along with Visual Studio project files. Also make sure the ZIP folder includes an EXE file, because without this your code will not be able to run. Checking for the EXE can be used as a quick reference on the functionality of your code before you submit.

OpenGL help. Can NOT use freeglut
attachment_1
Student has agreed that all tutoring, explanations, and answers provided by the tutor will be used to help in the learning process and in accordance with Studypool's honor code & terms of service.

This question has not been answered.

Create a free account to get help with this and any other question!

Similar Questions
Related Tags