Lecture: Computer Graphics
Winter Semester 2007/2008
Rendering Competition
General Information
Take a look into RenderingCompetition.pdf
Frequently Asked Questions:
How many points do we need to pass the Rendering Competition?
You require at least 100 points if you work alone or 200 points if you formed a group of two people.
Can we build up groups of more than two people?
No.
How many points should I have reached to get 1.0 as mark for the Rendering Competition ?
As many as possible. The points to grade mapping will be assembled by the end of the competition. This
behaviour is meant to motivate the students to win the competition.
How many points I will receive by implementing the effect X or Y?
This decision will be made based on the complexity and artistic appearance of the implemented effect. You can propose
a fair merit for your implementation, which we will take into account.
Should all the effects be seen in every frame
No. To increase the rendering speed you shouldn't overload every frame with hundreds of effects. Letting the effects
appear in some of the frames is enough.
What does animation mean?
Animation can be every movement or even a nice camera path through your scene. You can use simple transformation to update
your objects in the scene. Animation does also include procedural shaders which vary over time. Esthetic fading between
frames does also count into your artistic mark.
Can I use animation or data (i.e. textures, shaders, ...) created by someone else?
Of course you can. Just be sure that you have all the permissions to use that data.
Put a link in your html to the original place, where you get the data.
Can I use hybrid rendering, i.e. mixing of OpenGL with ray traycing?
Yes you can, but be sure that the main work is done by a ray tracer. You can use the GPU for post processign effects
for example. If you implement your raytracer completely on the GPU (for example in CUDA) this would be
also very nice ;-)
Can I use another programming language than C/C++?
No, you can not. You can use another languages like lua, python, java-script, basic or whatever to write scripts
for your animation. However this would mean to implement a correct binding between the scripting language and your
ray traycer.
Can I use library X to simplify my implementation work?
Yes, you can. Be sure that the library is open source and you have got right permissions to use it.
Can I use Visual Studio or another fancy IDE?
You can use whatever IDE you like to program (Visual Studion, Eclipse, Dev-C++, ...), however the code should
be runnable on a Linux with a gcc compiler. We have to be able to compile and to run your code!!! Also provide a
valid makefile, so that a simple call of 'make' do compile and link your renderer.
A consecutive call of 'make render' should render your animation.
How to create a video file (avi, mpeg) from an image sequence?
We are accepting two video codecs (msmpeg4v2 and h264). To create an avi file with ffmpeg use following command line:
ffmpeg -r 24 -i %04d.png -vcodec msmpeg4v2 -b 5000kb -f avi -s 800x600 anim.avi
or with use of mencoder
mencoder mf://*.png -mf fps=24:type=png -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=5000 -vf scale=800:600 -of avi -ofps 24 -o anim.avi
This will take all images in form 0000.png, 0001.png, ... and render out an anim.avi file
with 800x600 resolution and 5mb bitrate. Play around with the bitrate parameter to achieve better
quality by preserving small file size.
If you like to create a high quality h264 video file, which is compatible with Quicktime 7.0,
read the information specified here.