联系方式

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

您当前位置:首页 >> Python编程Python编程

日期:2021-04-06 11:23

CS4182 Course Project

(2020/21 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 requirements for the program, basic and advanced, to

cater for students of di?erent 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 75% and 30%, respectively, of the total mark for this assignment. The extra

5% is a bonus, but the final mark will be clipped to 100.

2.1 Basic Requirements

You are required to complete the following items (15 marks each) for the basic

requirements:

1) Creating new objects

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

and put it/them at suitable locations.

2) Menu and Lighting

1

sETEE-oeoso-e-o-tottr-os.sn

Figure 1: Jeep game.

Add a pop-up menu to switch between di?erent light properties (ambient,

di?use, specular and position, point lights, directional lights, spotlights).

3) Manipulation

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

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

4) Adding autonomous objects

Set an object to move around automatically and react to the environment

(e.g. light).

5) Window resolution

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

mode before or during the application.

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.

2

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 diculties

and another 15 marks

will be given based on the content design.

3 Submission Details

Deadline: 30 April 2020

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 di?erent 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.

/Demo:

A demo video that guides the marker through the main contributions of

the work. A maximum resolution of 1080p is enough. Do not use even higher

resolution (mainly for Mac users). Use compression format (e.g. mp4) instead

of raw video files to prevent huge file size.

/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 relationship of these modules. This may be in the form of short

paragraphs or a flow diagram.

3

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 e?ects 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 three items (i.e.,

/Program, /Demo, /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.

4


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

python代写
微信客服:codinghelp