Projects
The topic for your project could be the same as for your seminar. Here are some examples on what you could do:
- Lighting models - Create an application that allows users to change the lighting models on the fly. Application should include one or several scenes that show off the distinct aspects of the lighting models. You can include descriptions of the lighting models for people who don't know them by heart.
- Curves - Read the lighting models' description and replace "lighting model" with "curve".
- Realtime realistic rendering - Assume you've found out how to render realistically wet environment. Create an application that renders some scene with a variable level of wetness.
- Non-realistic rendering - Render an animated watercolor picture.
- Procedural generation - Render procedurally generated mountainous landscape with Perlin noise.
I would recommend doing those things via WebGL so that everyone could check your awesome result without the need to download files, install C++ compiler, compile C++ code, run into errors. But of course some topics may need a higher degree of computational power, so using some lower level language might be unavoidable.
If you have some already started, but unfinished project, than it's totally fine if you spend your time improving that. For example you could have:
- Game project - implemented motion blur when the character moves in high speeds and bloom effects when the character moves from a dark area into a lit area.
- Game project - added mirrors and fog to my game.
- Comparison of algorithm speeds - created a visualization on how different sorting algorithms sort a given input.
- Data structure - I had created a K-D tree for a low-dimensional (2 or 3) case, but my only output was the parentheses representation on a console. Now I have a visualization of the tree that shows also my dataset and inner node boundaries.
- Heat distribution solver - I have used FDM to solve a distribution of heat in a room with one heat source. Now I created a visualization of that room with a fireplace and colder areas will get covered with frost. User can change the heat emitted from the fireplace.
- Data visualization - I have a Robotex robot that tracks its position in time. Now I have a visual 3D environment depicting the playing field and a model of the robot is shown in the estimated location.
I'm sure you have some projects that you've done during your studies. Or perhaps even some other pet-projects. Try to think if there is anything computer graphics related that might benefit your projects.
The final idea here is that in our seminar we have people who have done computer graphics stuff. If you run into trouble here, chances are that you can find appropriate help fast.