Question
THIS IS IN OPENGL. In this first programming assignment you will be asked to write a program to render polygonal (triangular) meshes. For this, you
THIS IS IN OPENGL.
In this first programming assignment you will be asked to write a program to render polygonal (triangular) meshes. For this, you will need to refresh your memory about some basic features of a graphics application and their implementation using OpenGL and GLUT commands. For example, you will need to:
Specify a virtual camera with arbitrary position and orientation; Render an object using different kinds of primitives, such as points, wireframe and solid polygons; Perform the backface culling to reduce the number of primitives actually drawn; Change the field of view of the camera to achieve some zooming effects.
Detailed requirements include:
(a) Read and display arbitrary geometric models represented as triangle meshes. These objects are described in text files whose layout will be presented next. Once you read the objects, these should be displayed in the center of the window (4 points);
(b) Translate the virtual camera along its own axes [ ] (not the world coordinate system) (2 points);
(c) Rotate the virtual camera along its own axes (2 points);
(d) Be able to adapt your camera with respect to the dimension of the 3D models (2 points);
(e) Reset the camera to its original position (i.e., object centered inside the window) (1 point);
(f) Support for rendering objects whose polygon vertices were defined using CW (clockwise) and
CCW (counter clockwise) orientation -- this will affect the behavior of the backface culling
procedure (1 point);
(g) Support for changing the values of the near and far clipping planes (1 point);
(h) Support for the interactive change of colors (R, G, B) for the models, making sure that the color
change is apparent under all rendering modes (without lighting for this assignment) (1 point);
(i) Support for rendering the object using different kinds of primitives, such as points, wireframe and
solid polygons (2 points);
(j) Support for reading a new model file through the user interface (1 point).
This is the... file that I read... Meaning the model that that I need to work with.
v 0.296502 -0.907931 0.450151 v 0.315114 -0.913622 0.435867 v 0.324517 -0.920404 0.443869 v 0.325879 -0.966814 0.485578 v 0.302693 -0.969589 0.506426 v 0.29049 -0.968073 0.502572 v 0.278223 -0.96657 0.498757
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started