Computer Graphics with Interaction (project)
Computer Graphics with Interaction, dgi14: PROJECTS
Please read the project
Note that the project also includes two aspects:
1) Including a one page project specification in your documentation.
See here for an example
of a good
specification from MSc student and previous DH2323 attendee, Veronica
2) Include a one page description of how your project could potentially
be linked into a novel scientific question and perceptual research
study. See some of the Siggraph, Eurographics and Applied Perception
papers on Rachel McDonnell's portfolio page
for great examples where computer graphics research meets
This year, the general project theme is "Recreating the Matrix". It
involves several topic areas relating to the creation of real-time
virtual city environments, agents and inhabitants, as seen in the 1999
move The Matrix
Topic Areas: read papers about the subject (some examples given),
select an area and then define your specific project in detail.
Procedural road, lot and city modelling
|The generation of
compelling virtual cities is an important element in many films and
computer games and plays a central role in The Matrix. Due to the
amount of detail in such environments,
huge number of artists may be employed to model the large amounts of
assets required, which is
expensive and time consuming. Procedural techniques allow such assets
to be automatically generated, given the definition of basic rules.
project area consists of a cluster of three project types, each of
which is suitable as an individual project:
Procedural road network generation based on 2D population, height and
2) Auomatic lot
generation, rendering and definition of building footprints from an
input road network.
The automatic generation of different 3D building geometries from
I. H. Parish and Pascal Müller. 2001. Procedural modeling of cities.
of the 28th annual conference on Computer graphics and interactive
Real-time procedrual generation and rendering of buildings
|A core element in
creation of 3D virtual cities is the ability to create individual
buildings. Procedural techniques allow the graphical appearance of
buildings to be defined by a set of programmed rules rather than
manually by artists. This project area will investigate topics related
to the procedural
generation and rendering of individual buildings: specifically, their
geometry and facades. Buildings may be defined by rules completely
from scratch, or the procedural rules may at runtime assemble object
elements that have been predefined and loaded from modelling
programs such as Blender, Maya, etc. Shaders can be applied for
rendering realistic architecture related to brickwork, windows and so
Wonka, Michael Wimmer, Francois Sillion, William Ribarsky, ACM
Transactions on Graphics (Proceedings of SIGGRAPH).
Pascal Mueller, Peter Wonka, Simon Haegler,
Andreas Ulmer, Luc Van Gool. ACM Transactions
on Graphics (Proceedings of SIGGRAPH). 2006
Crowd rendering using 'imposters'
of detailed 3D characters is a challenging task, due to the
processing overhead involved. This project concerns the creation
simplified graphical representations of digital humans, in order to be
able to render
very large crowds in real-time. These representations are similar in
some respects to billboarded textures, but they are also lit
Dobbyn, John Hamill, Keith O'Conor, and Carol O'Sullivan. 2005.
Geopostors: a real-time geometry / impostor crowd rendering system.
In Proceedings of the 2005 symposium on Interactive 3D graphics and
games (I3D '05)
Virtual traffic rendering and simulation
|This project area
involve the creation of virtual traffic simulations that focus
on the rendering of road sections and vehicles and will also involve
animating the correct lane changing behaviours of vehicles..
1) Assembling a set of vehicles with texture, specular and normal maps.
2) Assembling a set of detailed road geometries, textures, specular and
3) Rendering them in real-time
4) Assigning routes for
the vehicles to follow, integrating the ability for them to change
Wilkie, Jason Sewall, and Ming Lin. 2013. Flow reconstruction for
data-driven traffic animation. ACM Transactions on Computer Graphics,
32, 4, Article 89, July 2013
Pedestrian rendering and animation
crowds (as opposed to rendering large crowds - see project area #3)
requires algorithms for not only animating the walk-cycles of
individuals, but also to steer them so they they avoid each other and
are capable of walking on paths. This project area relates to the
behavioural simulation of crowds of virtual characters and involves:
1) Assembling a library of animated and textured virtual characters.
2) Animating the walk-cycles and turning abilities of the characters.
3) Implementing a steering algorithm in order to allow characters to
follow paths and to avoid each other.
4) Implementing a path finding algorithm in order to allow individuals
to navigate over large distances.
Reynolds, C. W. (1999) Steering Behaviors For Autonomous Characters, in
the proceedings of Game Developers Conference 1999 held in San Jose,
California. Miller Freeman Game Group, San Francisco, California. Pages
of distributed rendering algorithms
|Large simulations create such an amount of numerical
results that it is impossible to store all of them for later analysis.
The rendering of results to images during the simulation, so-called
in-situ visualisation, is one approach to reduce the enormous data
amounts that are created during numerical simulations.
The project area aims at the implementation of algorithms that can be
embedded into simulation applications in order to perform distributed
image rendering. The following topics can be considered for
implementation (one topic per participating student):
1) Volume ray casting,
3) Shear Warp
4) Maximum intensity projection
The project deliverables shall be a report explaining the chosen method
and implementation as well as some performance measurements, and the
* The implemented rendering program must be useable in the Linux
* The programming language for the implementation is preferably C,
however, also an implementation in Python would be possible.
* The Message-Passing Interface (MPI) will be used for parallelisation.
Prerequisite knowledge of MPI is not mandatory (see below).
* As the rendering shall be done during a simulation and in a
non-interactive execution mode, the rendering algorithm uses pixel or
frame buffers that do not require an open window on a screen. However,
the possibility for output in real-time could be implemented too.
For the project work, students get a skeleton program that provides the
necessary initialisation of the MPI environment as well as the reading
of input data from files. In that way, the project work can be done
mainly in a handy environment on a desktop or laptop computer. For
larger tests, PDC’s cluster systems could be used. A necessary brief
introduction to the use of MPI will be given in the beginning of the
project and complemented during the project if necessary.
The source code developed and handed-in during this project must be
licensed under GNU General Public License (GPL).
More topic areas will be added as new ideas are suggested or come to
mind. You can also suggest your own topics (see the project
You should aim to submit the project through Bilda
by Friday 30th May
will also be able to submit it well before that date. If you do not
require your results
before September 2014, you may obtain an extension for completing the
project. Please contact the course team if that is the case.
If you find your individual project especially interesting, there may
also be the possibility to extend it and continue to work with me on
developing it beyond DGI14 in
the KTH VIC (Visualization Interaction
Collaboration) studio, which has useful equipment and connections both
with academia and industry (e.g. games companies).
In addition to
real-time graphics, we are also very interested in user interfaces,
HCI, human behaviour and perception for graphics and animation, etc.