COM4503-java代写-Assignment 1
时间:2023-12-01
COM4503: 3D Computer Graphics: Assignment 1 (40%)
Dr Steve Maddock
Deadline: 3pm, Wednesday 6 December
1. Introduction
The assignment will involve using modern OpenGL to render a scene. Scene graphs are required in the modelling
process and animation controls are required for hierarchical models.
2. Learning outcomes
After completing this assignment, you will be able to:
• Use data structures and mathematics in representing and manipulating 3D objects
• Produce interactive software that makes use of a graphics API
3. Requirements
Figure 1 shows a snowy scene containing two aliens and
a security spotlight. The whole scene can be modelled
using transformed planes, cubes and spheres. The
background to the scene should be animating, e.g. snow
falling.
You must satisfy all the following requirements.
3.1 The backdrop
• In Figure 1, this is made of two planes with pictures
of snowy scenes on them. The vertical plane is the
view behind the aliens. They are standing on the
horizontal plane. This is a minimal backdrop.
• The backdrop must be a snowy scene.
• The backdrop can be improved by making sure the
texture maps on the planes match each other at the
join.
• The vertical plane can be improved by making it an
animated texture map, e.g. snow falling.
• The backdrop as a whole could be improved if the
scene surrounded the aliens, either by using more
vertical planes around the aliens or by using a skybox
or by using a combination of planes and skybox.
• The quality of what you produce for this part of the
scene will be part of the marking. Some possibles
indicated above are more advanced than others. You
must choose what to try.
Figure 1. A snowy scene with two aliens and a security spotlight
2
3.2 The security spotlight
• There is a security spotlight next to the aliens.
• The spotlight continuously rotates around the top of
its pole so that sometimes it points at the aliens.
• The spotlight is made of transformed spheres.
• This is an advanced requirement as you are
responsible for working out how to implement a
spotlight effect. (The relevant section in Joey’s online
tutorial might help.)
3.3 The aliens
• Each hierarchical model of an alien in Figure 1 is made
up of 10 transformed spheres – a body, two arms, a
head, two eyes, two ears and an antenna (which is
made of two spheres).
• The hierarchy and associated transformations are
more important than the quality of the individual
pieces in the hierarchy. I want you to demonstrate
that you understand transformations and a scene
graph hierarchy.
• The model for each alien is the same.
• In Figure 1, the aliens are grey. You must texture-map
each part of each alien. You must decide on textures
for each alien model part and all the textures for one
alien must be different to the other alien. You cannot
use the same texture on each alien.
• I’ll be looking for a little creativity in the texturing. For
example, have you considered both diffuse and
specular maps?
• Each alien can rock its whole body from side to side.
• Each alien can roll its head around its body a little.
This can be side to side or forwards and backwards.
• An alien’s head should always remain connected to
its body – as long as the rolling movement is
approximately correct that is acceptable.
• The aliens could animate synchronously or separately
or both. You choose. This will affect the number of
buttons on the user interface.
• I’ll be looking for a little creativity in the animation.
3.4 General illumination
• The scene should be illuminated with at least two
general world lights which can be positioned
anywhere in the world.
• These general world lights will illuminate all parts of
the scene and help visualise the scene during
development and testing.
• When you switch off the general light(s), the effects
of the security spotlight will be much clearer.
• You do NOT have to do shadows. Do not worry about
shadow effects.
3.5 User interface
• A user-controlled camera should be positioned in the
scene. Use the camera that was given in the tutorial
material – the mouse can be used to change the
direction the camera is pointing in and the keys can
be used to move about. Do not change the key
mappings from the one in the tutorial. If you change
the key mappings it will make it difficult to mark. It
doesn’t matter that the camera can see outside the
room.
• It should be possible to turn each of the general lights
on and off (or dim, i.e. reduce the intensity) from the
interface.
• It should be possible to turn the security spotlight
(bulb) on and off.
• There should be buttons to control each alien’s
movements, i.e. ‘Rock’ and ‘Roll’. The number of
buttons will be determined by whether your aliens
animate individually or synchronously or both. As an
example, for a button labelled ‘Rock 1’, the first alien
would rock from side to side for either a
predetermined time period or continuously until a
stop button is pressed. You choose.
3.6 Animation
• The animations are not straightforward and you may
decide not to do this part, although that would affect
your marks for this part.
• It is perfectly acceptable to animate the Euler angles
to achieve movement of the hierarchy. Do not
consider using quaternions, as this is beyond the
requirements for this assignment.
4. Deliverables
• You should submit a zip file containing a copy of your
program code (and any other necessary resources,
e.g. image files for the textures and a readme.txt file
that describes everything) via Blackboard – this can
be done via the link to the assignment handout.
• You should submit whatever you have done, even if
you have not completed all the requirements – for
example, you might have produced a model of the
scene but not done the animation. If you submit
nothing, you cannot receive any marks.
• The program MUST compile and run from the
command window on a Windows PC or the terminal
window on a Mac. You should assume that the jogl
environment (and paths) has already been set up, so
you do not have to include this as part of what you
hand in. I won’t install ‘YetAnotherIDE’ to make your
program work; I want to run the program (and, if
necessary, check the compilation) from a command
(or terminal) window.
3
• You must include appropriate comments in your
program to identify that you wrote the code, e.g.
/* I declare that this code is my own work */
/* Author address here> */
• You can make use of all the code that I have given you
in the tutorial material. However, use your comments
to state which bits/chunks/files are new.
• The body of the Blackboard submission message
should state that the work you have handed in is your
own.
• The name of the main class in your program should
be Aliens. That way it is easy for me to run the
program. (Last year, I wasted time for some handins
trying to work out which was the main class to run.)
It would be useful to include a batch/script file to
automatically compile and/or run the program.
• Optional: You might like to make a short video of your
animation. If you do so, DO NOT include this in the
handin as it will be too big for Blackboard to handle –
we tried using Blackboard for this in the past and it
crashed the system!! Instead, put the animation on
youtube or your personal website and give the URL of
the animation in a readme.txt file. Indeed, if you are
thinking of a career in the graphics industry, then you
should be adding such animation pieces to your
personal website (your digital portfolio) to show off
what you are capable of.
5. Marking
I will check that the program meets the requirements
listed above. The program must compile and do some
part of the work requested even if it is not complete.
Your program will be run and exercised thoroughly.
In considering the requirements, four aspects will be
considered (including the quality of the work for each
aspect):
• (30 marks) Modelling the scene: An alien must be a
hierarchical model. How is the backdrop done? Is
there a security light? (Consider drawing scene
graphs for the scene before starting to program.)
• (27 marks) Texturing: Use of texture mapping in the
scene, e.g. basic texture mapping, use of diffuse and
specular textures, extra texturing effects for the
backdrop.
• (18 marks) Lighting and interface controls: lights
should behave correctly such that their effect is seen
on the scene. Necessary interface controls, as
described in the above specification, should also be
included.
• (25 marks) Security light animation. Alien animation:
rock and roll. Animation for both aliens. Is the
animation plausible and smooth?
6. Unfair means
• The Department’s student handbooks (UG and PGT,
see below) give detailed information on the topic of
unfair means and what happens if unfair means is
used.
• Some students in previous years have placed
solutions of their assignments on their personal
world-readable websites – where possible, they have
been asked to take these down. Be careful you are
not attracted to these, as using any of their code
would be regarded as use of unfair means – this has
happened in previous years and students have failed
the module as a result of doing this.
7. Late submission
• Standard Department rules will be applied if the work
is handed in late – see UG and PGT handbooks below.
Links to handbooks
UG:
https://sites.google.com/sheffield.ac.uk/comughand
book
PGT:
https://sites.google.com/sheffield.ac.uk/compgtstud
enthandbook

essay、essay代写