联系方式

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

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

日期:2022-11-22 10:17

Computer Graphics Coursework Assignment Brief

Introduction

This document provides an overview of the coursework assignment for COMS30064 Computer Graphics. This

assignment is the only assessment for this unit and as such is worth the whole 15 credit points.

The deadline for submission of all optional unit assignments is 1300 on Thursday 8th of December (the University

discourages Friday deadlines !). Students should submit all required materials to the "Assessment, submission and

feedback" section of Blackboard - it is essential that this is done on the Blackboard page related to the "With

Coursework" variant of the unit.

You are expected to work on both of your optional unit courseworks in the 3-week coursework period as if it were a

working week in a regular job - that is 5 days a week for no more than 8 hours a day. The effort spent on the

assignment for each unit should be approximately equal, being roughly equivalent to 1.5 working weeks each. It is

up to you how you distribute your time and workload between the two units within those constraints.

You are strongly advised NOT to try and work excessive hours during the coursework period: this is more likely to

make your health worse than to make your marks better. If you need further pastoral/mental health support, please

talk to your personal tutor, a senior tutor, or the university wellbeing service.

Each Monday at 2-4pm during the coursework period there will be an online support session on Teams. This

session is for high-level Q&A regarding the nature and intent of the assignment and as such is NOT intended to be a

"debugging service" - if you are having problems getting your code to run you should use the usual Teams

discussion forum channel.

This coursework is an individual piece of work. You should therefore not collaborate with other students - if you do,

this will be considered as an academic offence and will be dealt with in accordance with university plagiarism

processes.

Assignment Overview

The aim of this unit has been to provide you with an understanding of a variety of different approaches to 3D

rendering. Pre-recorded lecture segments and narrated animations have provided the main theoretical content of

this unit and the tasks from the weekly workbooks have allowed you to practically explore the key concepts

presented.

The assignment for this unit provides an opportunity for you to demonstrate your understanding of these concepts,

as well as a chance to exercise the codebase that you have been accumulating over the course of the unit.

Many of the approaches to rendering that we have explored can only be fully appreciated by the movement of the

camera through/around a model. For this reason, your task is to create a short (approximately 15 second) animated

"ident" video. For more insight into the concept of an "ident", you should view this compilation of BBC2 idents. Note

that there are a wide variety of examples presented in this video - some are more relevant to this unit than others !

To provide a focus and purpose for your animation, you should create an ident for promotional use by the MVB

hackspace

We have provided a texture-mapped hackspace logo which you may like to use to help you on your way. This

however is not mandatory and you are free to use any alternative models you see fit.

Assignment Details

The aim of this assignment is to refine and extend the codebase that you have developed during the completion of

the weekly workbooks, in order to build a fully functioning C++ renderer. You should maintain and update your

GitHub repository throughout this assignment. We will use this to monitor your progress and the evolution of your

code over the course of the assignment (the journey is often as important as the final destination !). We will also use

the final version of your code to verify the correct implementation of particular rendering features.

If you wish to attain a high mark, you should attempt to implement some of the approaches introduced in the

"advanced topics" workbook. It is up to you to select which approaches you implement, however you should

remember that there is a performance trade-off at work. The more complex the features you implement, the longer

will be the rendering time for your animation. You will need to find an appropriate compromise between: renderer

sophistication, algorithmic performance, animation complexity, animation aesthetics and rendering time.

You should use your code to render out individual frames of an animation (as images) and then sequence these

together into an mp4 using an external video manipulation tool. The recommended way to do this is with the

ffmpeg command-line video editing/encoder tool. For example, the following command will generate an MP4 video

from a folder of PPM files:

ffmpeg -framerate 5 -i %05d.ppm -c:v mpeg4 -q 5 out.mp4

Note that the %05d wildcard matches PPM filenames with 5 numerical digits (e.g. 00001.ppm, 00002.ppm,

00003.ppm etc.). The above command uses the default mpeg4 is the codec to create the video file: libxvid

might give better results (if you have that codec installed). The -q flag is a quality parameter: the lower the

number the higher the quality (and the larger the filesize).

You MUST ensure that your animation clearly demonstrates all of the rendering approaches that you have

implemented. If we can't see the feature operating correctly, then we can't award marks for it. Note that you may

find some features of your renderer can only be fully demonstrated using certain modes of rendering

(wireframe/rasterising/raytracing) so you may need to switch between these during your animation.

Marking criteria

Your work will be assess on the extent to which you achieve the following objectives:

Successful implementation of different approaches to 3D rendering (wireframe, rasterising, raytracing)

Successful implementation of a range of different approaches to lighting and shading

(ambient/diffuse/specular, hard/soft shadows, Phong/Gouraud shading)

Effective animation of camera position, camera orientation and model elements

Selection and implementation of advanced rendering features, such as:

"Exotic" materials (e.g. glass, mirrors, metal)

Surface mapping (texture maps, bump maps, environment maps)

Advanced lighting approaches (e.g. photon maps)

An indicative marking guide has been provided to illustrate the grades you might expect to receive for a given set of

features and capabilities.

Submission

You should submit a single 480p (640×480) MP4 video file containing your ident via Blackboard. Note that it is

essential this is done on the Blackboard page related to the "With Coursework" variant of the unit COMS30064 and

NOT the teaching unit COMS30020. On the assessment unit page, go to “Assessment, Submission and Feedback”

and follow the instructions found there. You must submit the video file itself (i.e. NOT the URL to an online video).

You should make an effort to compress your video in order to reduce the file size.

So that we may access your private GitHub repository, you MUST invite GitHub user sl17668 as a collaborator to

your repository (goto Settings > Collaborators > Add people ). Note that we may contact you during the

marking process if there are any aspects of the codebase or development process which we are unsure of.

Be sure to include a Make file to build your renderer and ensure that your code compiles on the MVB lab machines

(this is where your code will be tested and marked !). As with other assignments, your code will be checked against

other submissions using automated plagiarism analysers.

Upon submission, you must also fill out this questionnaire indicating which approaches you have used to implement

specific rendering features. The aim of this is to help streamline the marking process (so that we don't spend time

searching for a feature or approach that you haven't actually implemented !)

Academic Offences

Academic offences (including submission of work that is not your own, falsification of data/evidence or the use of

materials without appropriate referencing) are all taken very seriously by the University. Suspected offences will be

dealt with in accordance with the University s? policies and procedures. If an academic offence is suspected in your

work, you will be asked to attend a plagiarism panel, where you will be given the opportunity to defend your work.

The panel are able to apply a range of penalties, depending on the severity of the offence. These include:

requirement to resubmit assignment; capping of grades to the pass mark (40%); awarding a mark of zero for an

element of assessment; awarding a mark of zero for the entire unit.

Extenuating circumstances

If the completion of your assignment has been significantly disrupted by serious health conditions, personal

problems, periods of quarantine, or other similar issues, you may be able to apply for consideration of extenuating

circumstances (in accordance with the normal university policy and processes). Students should apply for

consideration of extenuating circumstances as soon as possible when the problem occurs, using the following

online form: https://www.bristol.ac.uk/request-extenuating-circumstances-form

You should note however that extensions of any significant length are not possible for optional unit assignments. If

your application for extenuating circumstances is successful, you may be required to retake the assessment of the

unit at the next available opportunity (e.g. during the summer reassessment period).


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

python代写
微信客服:codinghelp