Technical skills on opengl programming

Assignment Help C/C++ Programming
Reference no: EM131215313 , Length: 5

1. REQUIREMENTS

In this assignment, you can unleash your imaginations and use OpenGL with C/C++ programming to produce a scene(s) that represents what you envision could possibly be seen under the sea. Please note that an image with just the text "Under the Sea" or alike will not be accepted.

Unlike Assignment 1, Assignment 2 is focused on the technical skills on OpenGL programming. Artistic creativity is encouraged, but not required. Please spend most of your effort learning OpenGL itself.

Program Requirements:

1. At least 6 objects with different shapes should be present in the scene. At least 3 of these objects should be composite, i.e., not just a sphere or a cube which can be implemented by a simply GLUT function. At least 2 light sources and 3 different surface finishing should be used. Having these features and the key functions below will ensure a passing mark. Higher marks will depend on the technical complexity of the objects and the scene, as well as other effect such as texture, transparency, fog, etc. Aesthetic aspect will not contribute to the mark, although they are still encouraged.

2. Pressing the keys <Z> and <z> shall invoke zooming in and zooming out effect with the increment of 0.1 respectively. The continuous levels-of-detail must be implemented, i.e., the smaller the object is, the fewer number of polygons/vertices is used and vice versa, to ensure the smooth looking of objects when looked closely.

3. Pressing the key <X> or <x> and <Y> or <y> shall invoke steady rotation of the whole scene about the X axis and Y axis respectively in the clockwise direction as seen from the positive direction of the axis. Initially, there should be no rotation.

4. Pressing the key <A> or <a> shall invoke some kind of pre-defined animation. You are encouraged to develop reasonable animation according to your scene design.

5. Pressing the key <F> or <f> shall make the whole animation faster.

6. Pressing the key <S> or <s> shall make the whole animation slower.

7. Pressing the key <T> or <t> shall pause animation. Pressing the key <C> or <c> shall resume the animation process.

8. Pressing the key <p> shall switch the rendering to the flat shaded polygonization.

9. Pressing the key <P> shall switch the rendering to the smooth shaded polygonization.

10. The command keys should be displayed on the screen after you run the program. You are encouraged to display the command keys in the actual window you created.

The final version of your program must work on the lab workstations and be presented and assessed in the Lab. No technical support will be provided for your work on your own PC.

Only simple textures are required for this assignment. I have uploaded a very simple program called "BMP-loader.c" under "Other Resources" for your reference on how a simple texture mapping can be done. The program is in .txt format as "BMP-loader.txt" there to ensure that you can download it correctly. I downloaded the file from Nehe some time ago and it is a very simple and straight forward implementation of texture mapping.

There are plenty of OpenGL tools/codes available on the Web. You are encouraged to explore and learn from them (rather than simply copying them). Please ensure that clear reference is given if you do have to use some external codes and resources.

2. ASSESSMENT

This assignment is due on the 31st October 2016, Monday at 9:00am. You must zip the following items into a single file:

- The source files with the make file (if any);

- A simple readme.txt which briefly describes each source file and the way to compile and run your code(s);

- The assignment cover sheet (attached) filled, signed and scanned. By submitting the sheet, you declare that the work submitted are solely your own;

- A short report of up to 5 pages. In the report, you must list the program's features implemented and briefly explain the main algorithms you used for modelling, rendering and animation. Please provide specific description on YOUR own work, not just a list of what are required. Please describe what simple or composite objects have been used to model YOUR OWN objects, and what kind of surface finishing you have employed for each of them. If you use an external tool to create a complicated object or finishing, please provide brief description on the tool, your usage of the tool and your reflections on using the tool. You are also required to describe the animation you have produced by providing the design ideas and their implementations. Please give brief descriptions on YOUR OWN work.

What you discover on your own is always more exciting than what someone else discovers for you - it's like the difference between romantic love and an arranged marriage.

- Terrence Rafferty"

Attachment:- Assignment.rar

Reference no: EM131215313

Questions Cloud

Find the joint pmf of m and n : Let be a random variable that follows a Poisson distribution,- Find the joint PMF of M and N. - Find the marginal PMF.
Analyze impact that characteristics of situational approach : Analyze how your questionnaire responses indicate your personal leadership philosophy. Describe any questionnaire results that may have surprised you. Analyze the impact that the characteristics of the Situational Approach to Leadership might have..
Calculate the minimum price per trailer : ACC00724 Accounting for Managers Assignment. ABC Ltd makes trailers. It receives a special order to produce 350 trailers for a local retail outlet. Calculate the cost of the special order if ABC Ltd uses machine time as the basis for allocating overh..
Explain the factors that are used in npv and the fv formulas : Describe the factors that are used in the NPV and the FV formulas. Give an example of how to use the formulas for NPV and FV for a stock purchase. Summarize the differences between the two formulas and the purpose of using each.
Technical skills on opengl programming : CG 200 Computer Graphics - "Under the Sea" using OpenGL - your imaginations and use OpenGL with C/C++ programming to produce a scene(s) that represents what you envision could possibly be seen under the sea. Please note that an image with just the ..
Roman catholic church obscure the bible : 1) According to Luther, what role should the Bibel play in a Christian's life? In his view, how does the Roman Catholic Church obscure the bIble's meaning and message?
Write the form of the joint pdf : A pair of random variables,(X,Y), is equally likely to fall anywhere in the ellipse described by 9X2 + 4 Y2 36.- Write the form of the joint PDF, fX,Y(x, y).
Find how much money will tom and tricia have : How much money will Tom and Tricia have in 45 years if they put $2400 per year away for each of the next 45 years?
Providing examples of how some facet : For this assignment, you will write a 2-3-page essay (double-spaced, 1-inch margins) providing examples of how some facet of "process philosophy" has impacted American government and/or society. You may focus on just 1 example, or you may discuss ..

Reviews

len1215313

9/21/2016 6:44:25 AM

Display of Key Functions: Display in the window or Print in the Terminal Ability to change the program as requested Quality and reasonable setting of objects Complexity of the animation Texture on the objects Other effects such as transparency, foggy etc. General quality of the report Describe and justify the choice of algorithms Properly documented code Clearly quote the external references and resources

len1215313

9/21/2016 6:43:55 AM

Modeling of the environment - 3 simple objects - 3 composite objects 2 light sources 3 different surface finishing Correct Zoom in/out effect by Level-of-details implementation Correct rotation of the whole scene by X/Y keys Reasonable and smooth animation by pressing Correct functioning of the remaining 4 keys (F, S, T, P) (0.5 mark each)

Write a Review

C/C++ Programming Questions & Answers

  About recursion that makes it useful tool

What is it about recursion that makes it a useful tool when working with trees?

  Identify the base case.

What valid values can be passed as parameters to the function mystery?

  What is stored in mylist after the following c++ code

Set the value of the twelfth component of beta to four times the value of the eighth component of beta minus 15.

  Performs a merge sort on 2 number sequences

Write a C program Sort.c that performs a merge sort on 2 number sequences produced by the program in Q1. Sort.c should spawn 2 processes and each of the children processes would exec() the Gen program to produce a sequence.

  Prepare a program to find out the perfect numbers

Write a program in C++ that outputs all perfect numbers and their factors from 1 to 1000 using your own created function - Prepare a program to find out the perfect numbers and it must compile with no errors and follow the directions.

  Program that declares three single dimensional arrays

In the gallons array store the numbers 10.3, 15.7, 14.9, 10.7 and 8.4. Each element of the mpg array should be calculated as the corresponding element of the miles array divided by the equivalent element gallons array; for example mpg[0] = miles [..

  The use of one learning pattern to another

1. A person who can feel themselves shifting from the use of one Learning Pattern to another is a(n)        Dynamic learner.        Bridge learner.

  Write the equation for the logic-hazard free function

Write the equation for the minimum Boolean function first. Now, eliminate all logic hazards that can result from the 0's

  Write c program to read one ip address

Write a C or C++ program which Read one IP address at a time from Dec_IPAddresses.txt and convert it into Hex. Store converted values stored in another file (e.g. HEX_IPAddresses.txt).

  Dynamic array of a string that takes in names

Can you please show me an example of a C++ Class that has a dynamic array of a string that takes in names by user input??

  Write in c++. read an inputfile.txt

write in C++.  read an inputFile.txt which contains integers that are virutal addresses, and I am suppossed to translate that into physical addresses using a page table and a transition lookaside buffer

  Hierarchical control using player/stage simulator

In the Nested Hierarchical Controller, the PLAN module consists of a Mission Planner, a Navigator, and a Pilot. The Pilot connects with the ACT module to execute the drive and steering commands that cause the robot to move along a path segment.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd