COMP3015-无代写
时间:2024-04-25
OVERVIEW
COMP3015 module introduces concepts and programming techniques for working with shaders
(little programs for coding the graphic card) and an understanding of a Computer Graphics Pipeline,
using graphical API’s like OpenGL. The focus will be on OpenGL Shading Language (GLSL), which
is a high-level shading language with a syntax based on C. Throughout the module, you will learn to
create custom sheading models, techniques to optimise the rendering pipeline and various special
effects used in game development.
Lectures, seminars, and labs are part of the module delivery each week. The emphasis is on the
theoretical side during the lecture, followed by practical examples during the seminars. The labs are
reserved for students to implement and explore, recently taught concepts.
Submissions for this module are 100% coursework comprising of two parts, C1 - Initial Prototype -
30% and C2 Optimised Developer Tool with documentation - 70% as explained bellow:
C1 Initial Prototype - 30%: An OpenGL project utilizing a custom shading model implemented in
GLSL, showcasing a textured based technique. A link to the repo used for developing the prototype
and a video presenting your approach and implementation.
C2 Optimised Developer Tool with documentation - 70%: An OpenGL project, with the focus on
GLSL implementation of at least 3 basic shaders techniques taught in the module or an indepth
technical implementation of one shader technique. Research and produce a short industry standard
portfolio piece (GitHub page) and a video presenting your approach and implementation.
CONTACT
Module Leader: Ji-Jian Chin (ji-jian.chin@plymouth.ac.uk)
MODULE DELIVERY
Delivery format: Lecture + Seminar (2 hours) – Mondays from 9:00am to 11:00am,
Lab (2 hours) – Thursdays from 2:00pm to 4:00pm at SMB200 and
SMB201 parallel sessions for a total of 12 weeks
Delivery location: Lectures: Rolle 115 and Labs at : SMB200 and SMB201
Delivery staff:
Ji-Jian Chin
Important dates:
Reading/Discussion weeks: Week 38-40, 15,25,29 April 2024. Lecture
session is for reading and discussion. We use the labs for feedback/catch up.
Submission1: Week 34, 18/03/2024, 15:00 – C1 Initial Prototype, DLE
(summative)
Easter Break: Week 35 – 37, 25/03/2024 – 15/04/2024
Submission2: Week 40, 30/04/2024, 15:00 – C2 Optimised Developer Tool
with documentation, DLE (summative)
Page 3 of 10
NB: For a 20 credit module there will be on average 50hrs of taught content and staff led activities
with 150hrs of independent study - students are expected to work through exercises, read and
assimilate provided resource materials and prepare for the next session, final assessment will
include elements from further study materials, extending taught materials. It is essential you apply
your study skills and provide evidence of this additional work.
ASSIGNMENT SPECIFICATION
C1: Initial Prototype 30%
Prototype - An OpenGL project utilizing a custom shading model implemented in GLSL, with custom
lighting set up, showcasing a textured based technique.
Objective is to implement a custom shading model using GLSL that makes use of the current
techniques and approaches used in the industry. The shading model should work with at least one
textured 3D model and one light.
There are different shading models available: Flat shading, Gouraud shading, Phong shading, Blinn-
Phong, etc. You should think of a combination between the shading model and the number of lights,
or the type of lights used.
The textured model can have a simple texture applied or a more complex texturing approach to
create a unique combination together with the shading model.
Creativity in scene set up plays an important role. What’s the best approach to showcase your
graphics techniques? Scene complexity or/and “intentional visuals” (trying to replicate the look and
feel of your favourite game) approach will help you focus your development.
Video – YouTube video containing a summary of the developed project with a recommended length
between 5 to 10 minutes. Student should cover elements that make the prototype unique, covering
the development process from the initial idea to the final product. Focus the discussion on the
shading model, lighting used and the texture manipulation for the mesh. Shader code review should
be also part of the video together with various problems solved during development. Indicative
resolution and compression settings for this video are shown below.
File-Type: MP4
Resolution: 1440p (2K)
Framerate: 30
Video Bitrate: 16 MBS
Audio Bitrate: Mono – 128 kpbs, Stereo – 384 kpbs
Compression: H.264
Page 4 of 10
C1 – Deliverables and deadlines
Submit to DLE a single zip folder named “Project.zip” containing:
Your VS project based on the template given to you by me at the beginning of the module.
Please make sure you remove the “Debug”, “ipch” or”.sdf” files or folder. Your project should
be a couple of MB’s anything over 150MB means you didn’t remove these files. There is a
limit on the DLE of 150MB so not removing these files might stop you from submitting your
assignment.
• An executable version of the project which does not rely on VS • Include any resources such
as extra assets that your project needs.
• A brief write-up in markdown format, describing:
o Which version Visual Studio and Operating System you used to test/write the code
locally?
o How does it work? o How does your code fit together and how should a programmer
navigate it (not intended to be an exercise in formally documenting the code)?
o Anything else which will help us to understand how your prototype works.
o A Link to the unlisted YouTube Video
Part Description Deadline Percentage
C1 Initial Prototype
– Formal submission on DLE
Week 34, 18/03/2024,
15:00
30%
Marking rubric
Coursework 1 Marks
To Pass
Software compiles 10
Populated Git repo consistent with DLE submission exists 10
Basic scene set with at least one custom model 10
Write up readme and video explanation submitted 10
NO PLAGIARISM
40-60 (Basic)
Basic lighting - Flat/Gourand/Diffuse (2.5), Phong/BlinnPhong(5) done in fragment shader. 5
Basic Texture Sampling (2.5) 2.5
Lighting subtechnique - fog/toonshading/multilight/spotlight (2.5 each up to 2) 5
Texturing subtechniques – mixing, alpha, normalmap, project/render on texture (2.5 each up to 2) 5
Skybox 2.5
60-80 (Advanced)
Aesthetics 10
Animation of light/model animation that is sensible 2.5
Choose 1 Image Processing Technique (2.5 per feature) - HDR, Bloom, Gaussian, Gamma correction at
1 mark 2.5
Keyboard Scene/Animation Controls 2.5
Mouse Scene/Animation Controls 2.5
80-100 marks (Research)
Advanced topics from research papers implemented, documented, and explained x2 (10 per paper
idea) 20
Page 5 of 10
Terms and Conditions Rule
You can reuse and continue to work on your projects from COMP3016 BUT whatever you have done
previously will not be counted, e.g. if you already had a shaded and textured model in COMP3016, you
will need to include A NEW shaded and textured model IN ADDITION to what you have to pass
COMP3015. IMHO it would be easier to start a new scene and continue deploying it on CW2. 1
YOU MUST USE THE TEMPLATE PROVIDED IN LAB1. The work will then be how to combine ideas from
code snippets to render something original within the context of the template framework. That will be
your original work effort. 2
No two individuals can share the same model/scene. Please find something distinct. You may want to
check with me during the lab if anyone is doing what you are doing, I will apply FCFS principles and will
have a log for those who have. Those who do not may fail CW1 automatically if found to be duplicate:
SO PLEASE CHECK. 3
Your code must work out of the box when I extract it to my machine. Dependencies should be placed
in C:\Users\Public\OpenGL as per lab requirements 4
You will need my permission to use algorithms from somewhere else (not from this module’s
features). Once approved and applied cite the source inline in your code where you applied it and
present it your video and report. Check with me if unsure. 5
I will accept a video can be below 5minutes. I will only penalize more than 10 minutes. 6
For the research component, check with me on validity, strategy, and extent of your selected paper(s)
during lab otherwise I won't consider). Marks breakdown per paper idea - 4 marks implementation, 2
marks articulation, 2 marks technical difficulty and 2 marks elegance of solution. 7
C2: Optimised Developer Tool with Documentation 70%
Optimised Developer Tool - An OpenGL project utilizing at least 2 of the techniques in the following
categories: Geometry shaders, Shadows, Noise, Particle system and animation, Image processing
techniques, Physically based reflection model (PBR).
Objective is to create a project that showcases at least 2 of the above techniques combined into one
efficient render pipeline. It is perfectly ok to use elements from the first submission (C1) as a start,
but you need to show clear contribution beside that initial prototype. The outcome should be a
portfolio piece that you can highlight your skills as a graphics programmer using GLSL. This
application can be used for potential employment therefore attention to detail is crucial. Follow the
traditional game loop to show your work in the context of a game and make sure the shader code
implementation is tidy and easy to read.
You may use any from any sources (i.e. “gamedev”, Nvidia, Shadertoy) of program code which you
can adapt. But you must tell us what you started with and what you have done to it. If this is not done
you risk failing the assignment. You can also use a wider range of 3rd party libraries this time around,
e.g. audio, noise, UI. You could also use a physics library such as a Bullet or PhysX.
There must also be a substantial contribution from yourself. For example, just taking an existing
shader and changing the names is not enough. You need to have a combination of at least 2
techniques. You should also consider recycling parts of the first assignment but don’t submit the
entire project with no modifications, that is a fail.
And finally, if I have any doubts about the origin of the code, I might ask you questions about the
program code you submitted.
YouTube video – YouTube video containing a summary of the developed project with a length
between 5 to 10 minutes. Student should cover elements that make the prototype unique, covering
Page 6 of 10
the development process from the initial idea to the final product. Focus the discussion on the
shading model, lighting used and the texture manipulation for the mesh. Shader code review should
be also part of the video together with various problems solved during development.
Indicative resolution and compression settings for this video are shown below.
File-Type: MP4
Resolution: 1440p (2K)
Framerate: 30
Video Bitrate: 16 MBS
Audio Bitrate: Mono – 128 kpbs, Stereo – 384 kpbs
Compression: H.264
C2 – Deliverables and deadlines
Part Description Deadline Percentage
C2 Optimised Developer Tool with Documentation
– Formal submission on DLE
Week 40, 30/04/2024,
15:00
70%
Create a public GitHub repository for your submission which is documented with a markdown file
explaining:
• How does the user interact with your executable? How do you open and control the software
you wrote (exe file)?
• How does the program code work? How do the classes and functions fit together and who
does what?
• What makes your shader program special and how does it compare to similar things? (Where
did you get the idea from? What did you start with? How did you make yours unique? Did you
start with a given shader/project?)
• Include a link to a video report that details the above but also goes into more detail on:
o Anything else which will help us understand how your shader works.
o Are there any software engineering issues, such as the trade-off between performance
and good practice?
o A (brief) evaluation of what you think you have achieved, and what (if anything) you
would do differently, knowing what you now know. Don’t be modest but be realistic!
Create a single “.zip” archive containing the whole Visual Studio project (not just the executable),
with the solution we should open clearly indicated (put that in the write-up below). Don’t forget to
include any other resources required; meshes, sounds etc. Submit your archive via the DLE
electronic submission system.:
• Your VS project based on the template given to you by me at the beginning of the module.
Please make sure you remove the “Debug”, “ipch” or ”.sdf” files or folder. Your project should
be a couple of MB’s anything over 150MB means you didn’t remove these files. There is a
limit on the DLE of 150MB so not removing these files might stop you from submitting your
assignment.
• An executable version of the project which does not rely on VS.
• Include any resources such as extra assets that your project needs.
Page 7 of 10
• A brief write-up in markdown format, describing:
o Which version Visual Studio and Operating System you used to test/write the code
locally?
o How does it work?
o What makes your shader program special and how does it compare to similar things?
(Where did you get the idea from? What did you start with? How did you make yours
unique? Did you start with a given shader/project?)
o Anything else which will help us to understand how your prototype works.
o A link to the GitHub repo you created for public use
o A link to the unlisted YouTube Video
Marking rubric
Coursework 2
To Pass
Software compiles 10
Populated Git repo consistent with DLE submission exists 10
At least 1 shader from Lecture 5-10 implemented on CW1 model/scene (1st feature to pass) 10
Write up and video explanation submitted 10
NO PLAGIARISM
40-60 range
Mix and match topics to showcase advanced shaders (2nd feature onwards) 10
Each feature of 10 marks are inclusive of
4 marks for implementation and code quality
2 marks for GIT repo
2 marks for report
2 marks for video explanation
Features from CW1 Rubrics can contribute towards CW2 if not already awarded for CW1. 5
breakdown: 2 marks implementation and code quality, 1 mark GIT, 1 mark report and 1 mark video
CW1 features include keyboard/mouse scene controls if not yet implemented during CW1
60-90
Aesthetics 10
*Gamification of Scene 20
90-100 marks
**Advanced topics from research papers implemented, documented, and explained 10
*inclusion of game elements for scene – goals, challenges, mechanics, persistence.
**similar terms as Rule 7 for CW1. Can be continuation/extension of CW1 work.
Advanced
Shaders
Week 5 Image Processing
Edge Detection
Gaussian Blur
HDR with Tone Mapping
Bloom effect
Deferred Shading
(Gamma correction not included because too easy)
Week 6 Geometry Shaders
Page 8 of 10
Tessellation
Point Sprites
Wireframe
Silhouette Lines
Week 7 Vertex Animations
Surface Animation
Particle Fountain
Transformative Feedback
Instanced Meshes Particle System
Fire/Smoke Particles
Week 8 Shadows
Shadow Map (PCF/Jitter)
Shadow Volume
Week 9 Noise
Cloud effect
Wood grain effect
Distingegration
Paint Splatter
Night Vision
Week 10 PBR
CW1 Basic Shaders not yet implemented for CW1 but implementable for CW2
Lights SpotLight
MultiLight
Toon shading
Fog
Textures Multiple Textures
Discarding Pixels
Normal Maps
Skybox
Projective Texture Mapping
Render to Texture
COURSEWORK SUBMISSION
We require a digital submission uploaded to the module DLE site, allow sufficient time to upload
project work and documentation. If your submission exceeds file size supported by the DLE (150MB)
please set up a folder on your OneDrive account with module code: ‘COMP3015’ set permissions to
allow staff access – do not modify or remove this folder until results are confirmed. If your DLE
submission documentation includes additional URL links, please ensure you have set the
permissions to public and test all from an anonymous browser window.
Please refer to all the lecture content & further study resources on the DLE.
Page 9 of 10
GENERAL GUIDANCE
For this assignment you may be using information from differing sources:
• Books, journal articles
• Course/module materials
• Websites
• Existing Open-Source Projects
It is very important for you to note that this assignment is an individual effort. It should clearly
highlight the contributions from the student and the use of external resources or an initial starting
project.
Thus, do not simply copy existing sources, i.e., other students work, interspersed with a few lines of
code or words of your own. This is paraphrasing, and it is not encouraged, it is not likely to get you
a good mark and, in some cases, it could be seen as plagiarism. In a similar vein, do not simply
copy material from elsewhere without citing it properly.
Please see the Plagiarism section below. If you have any doubt as to what constitutes ‘an individual
effort and in your own words’ then either see your student handbook or see me.
Referral
Please note that if you claim for non-submission and are offered a referral, you will be required to
complete a NEW piece of work for the module. The new piece of work will assess that you have
met the learning outcomes for the module but in a way that will be different to the original set piece.
The referral is not a repeat or extension of the original coursework.
Carrying out a new piece of work means you will not be able to keep the marks already gained during
the module. Eg: if you pass the set exercises (CW1) but do not submit the main work (CW2) AND
are offered a referral, you will not keep the set exercises grade.
Extenuating Circumstances
There may be a time during this module where you experience a serious situation which has a
significant impact on your ability to complete the assessments. The definition of these can be found
in the University Policy on Extenuating Circumstances here:
https://www.plymouth.ac.uk/uploads/production/document/path/15/15317/Extenuating_Circumstan
ces_Policy_and_Procedures.pdf
10 of 10
Plagiarism
All your work must be of your own words. You must use references for your sources regardless how
you acquired them. Where you wish to use quotations, these must be a very minor part of your
overall work.
To copy another person’s work is viewed as plagiarism and is not allowed. Any issues of plagiarism
and any form of academic dishonesty are treated very seriously. All your work must be your own
and other sources must be identified as being theirs, not yours. The copying of another persons’
work could result in a penalty being invoked.
Further information on plagiarism policy can be found here:
Plagiarism: https://www.plymouth.ac.uk/student-
life/yourstudies/essentialinformation/regulations/plagiarism  
Examination Offences: https://www.plymouth.ac.uk/student-
life/yourstudies/essentialinformation/exams/exam-rules-and-regulations/examination-offences  
Turnitin (http://www.turnitinuk.com/) is an Internet-based 'originality checking tool' which allows
documents to be compared with content on the Internet, in journals and in an archive of previously
submitted works.  It can help to detect unintentional or deliberate plagiarism.  
It is a formative tool that makes it easy for students to review their citations and referencing as an
aid to learning good academic practice. Turnitin produces an ‘originality report’ to help guide you. To
learn more about Turnitin go to:
 https://guides.turnitin.com/01_Manuals_and_Guides/Student/Student_User_Manual
Referencing
The University of Plymouth Library has produced an online support referencing guide which is
available here: http://plymouth.libguides.com/referencing.  
Another recommended referencing resource is Cite Them Right Online; this is an online resource
which provides you with specific guidance about how to reference lots of different types of materials. 
The Learn Higher Network has also provided a number of documents to support students with
referencing: 
References and Bibliographies Booklet:  
http://www.learnhigher.ac.uk/writing-for-university/referencing/references-and-
bibliographiesbooklet/ 
Checking your assignments’ references: 
http://www.learnhigher.ac.uk/writing-for-university/academic-writing/checking-your-
assigmentsreferences/ 
essay、essay代写