联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2023-04-16 09:48

CS4182 Course Project

(2022/23 B)

1 Objectives

The objectives of this project are for students to have some hands-on experiences of graphics

programming and to develop a graphics application. Students are given a Python/OpenGL

program with a virtual jeep game and asked to extend this program to provide additional

features.

2 Requirements of the Assignment

This assignment can be carried out as individual or group projects. The maximum number

of members in each group is 2. However, the group-based assignment is expected with more

work and creativities, and the responsibility of each group member should be clearly indicated

in the report.

In the assignment, you are given an OpenGL program of a 3D jeep game (Figure 1) and are

asked to extend this program to include additional features. There are two levels of require-

ments for the program, basic and advanced, to cater for students of different backgrounds and

interests. The basic requirements are designed for all students to practice some basic graphics

programming skills. The advanced requirements are for students who would like to go further

to create an application. The basic requirements and advanced requirements account for 60%

and 30%, respectively, of the total mark for this assignment. Besides, you are required to give

a presentation to show your project, which accounts for 10% of the total mark.

2.1 Basic Requirements

You are required to complete the following items for the basic requirements:

1) Creating new objects (10 marks)

Create or import at least one new object with color/material/texture properties and put

it/them at suitable locations.

2) Menu and Lighting (10 marks)

Add a pop-up menu to switch between different light properties (ambient, diffuse, specular

and position, point lights, directional lights, spotlights).

3) Manipulation (10 marks)

Use keyboard/mouse to manipulate an object (size, position and angle) and the camera

(position, angle and zoom-in/out).

1

Figure 1: Jeep game.

4) Adding autonomous objects (10 marks)

Set an object to move around automatically and react to the environment (e.g. light).

5) Window resolution (10 marks)

Allow user to set/select the window resolution, enable/disable full screen mode before or

during the application.

6) Accelerating ribbon (10 marks)

Set an accelerating ribbon on the road, and the jeep can be accelerated after passing the

ribbon.

2.2 Advanced Requirements

You are expected to extend the program into an application. This may include a short animation

sequence to present an advertisement or a short story. Here, 15 marks will be given based on

the technical difficulties and another 15 marks will be given based on the content design.

2.3 Presentation

You are required to give a presentation to show how well the basic and advanced requirement

has been completed. 10 marks will be given based on the presentation.

2

Note: you are required to compile all the basic functions into a single file instead of multiple

independent files. But you may use another project to complete your advanced requirements

since it may be totally irrelevant to the above basic requirements.

3 Submission Details

Deadline: 23 Apr 2023

Each group needs to submit the following items via Canvas. The submission link in Canvas

will be open later.

/Program:

1) A source subdirectory containing all the source files and necessary files (e.g., texture files).

2) A binary subdirectory containing the executable program and relevant files, including

texture files or libraries. Note that we only need to click on the executable file to run

your program on Windows PC. So, you may need to try the executable file on a different

machine before you submit the work. Note that your implementation must be on Windows

using Python, as we do not have a Mac to test your program.

3) A readme file with instructions on how to compile and execute the program.

/Report:

The purpose of this report is just to indicate the main contributions of the work, so that we

may grade the work appropriately. We will not be grading the report itself. Hence, there is no

need to submit a large report. It can just be a few pages providing the following information:

1) A cover that indicates your name(s) and student ID(s).

2) A brief description of the revised program, including the main modules and the relation-

ship of these modules. This may be in the form of short paragraphs or a flow diagram.

3) Briefly discuss each of the five items in the basic requirements. For each item, please

point out the objective of the work and the final effects produced, with screen captures

of the results. You also need to point out the names of the modified modules (with brief

explanation of the added functions). Similar information also needs to be provided for

the advanced requirements.

4) You need to declare the responsibilities of each group member (if applicable), including:

programming tasks, report writing, and group coordination.

Note that your submission must contain the above two items (i.e., /Program and

/Report). Marks will be deducted if any is missing. Note also that your work must

be built inside the 3D jeep game provided. You can build anything within it.

4 Marking

This course project contributes 20% of the final course mark.


相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp