Computer Engineering
Seminar Course - DAT205/DIT226 Advanced Computer Graphics 2017 lp3+4      
Teacher: Erik Sintorn (erik dot sintorn at chalmers dot se)
Examiner: Ulf Assarsson
Home   |   Project   |  

Here are examples for the grading of your project. There are numerous techniques and project ideas that are not mentioned below. Ask me for grading estimations. Requirements scale linearly with number of people in your project. You can borrow as much code as you like to reach further in your project, but only code developed by yourself counts below.

You may implement things that were also optional projects in TDA361, but you will not get points for them if you already did them and got credit in that course. For example, if you implemented SSAO as part of you lab work in TDA361, you will not get points for that, but you will get points for implementing, e.g., a particle system.

Working in groups to reach further in your project is encouraged but not necessary.

  • Grade 3: 2p per person
  • Grade 4: 5p per person
  • Grade 5: 8p per person

For real-time rendering with OpenGL/Direct3D or similar:

  • Game (must use 3D API), 2p:
    • Game logic (including possibility to score and win) and user interaction.
  • Effects (with or without game logic) such as:
    • heat haze, 1-2p
    • bloom filter, 1p
    • motion blur, 2p
    • depth of field, 2p
    • shafts of light, screen space light shafts, 1-2p
    • screen space ambient occlusion, 1p
    • bump mapping / normal mapping, 1p
    • planar reflections, 1p
    • keyframe animation, 1p
    • skinning, 2p
    • advanced camera navigation, e.g., smooth flight paths, collision detection with environment, 1p
    • collision detection, 1p for simple spheres/boxes hierarchies, more depending on complexity
    • edge detection filter, 1p
    • variance shadow maps, 2p
    • percentage closer filtering (with support for arbitrary filter size), 1p
    • percentage closer soft shadows, 2p
    • terrain rendering, e.g., using clip maps, ROAM, or tesselation shaders. 2-5p
    • fractals, e.g., 3D mountains, clouds, fire, marble, or rock... 1-2p
    • particle system / billboads, e.g., explosions, lens flares, effects, 1p
    • soft particles: grass, smoke, 2p
    • tone mapping, 1p
    • deferred shading, e.g., several light sources (10-100), 2p
    • water, 2p
    • Kinect, 4-20p

For GPU-programming:

  • Requirements for grade 3:
    • Own implementation in CUDA / OpenCL / Compute Shader that has been tuned for efficiency.
  • Grade 4:
    • Examples: sorting, collision detection, particle effects, water simulation (e.g., based on Navier-Stokes or Smooth Particle Hydrodynamics)
  • Grade 5:
    • combined with nice rendering
  • Grades are also based on complexity and magnitude of program and the examples above provide guidance. Ask teacher for details.

For ray tracing:

  • Build your own acceleration structures and intersection tests (don't use Embree), 2p
  • Geometrical objects: torus, cylinder, box, paraboloids etc, 1p each
  • Use optix instead of Embree, 2p
  • shadow cache, 1p
  • combination of data structures, 1p
  • support for animation, 2p
  • motion blur, 1p
  • adaptive supersampling, 1p
  • High quality real-time raytracing (e.g. by subsampling, reprojection or frameless rendering), 1-3p
  • bump mapping, 1p
  • soft shadows, 1p
  • depth of field, 1p
  • different types of materials/brdfs, 0.5-4p depending on complexity
  • Constructive solid geometry, 3p
  • Multiple Importance Sampling for lights, 1p
  • Photon Mapping, 16p
  • Bidirectional path tracing 16p
  • Metropolis Light Transport 16p
  • Radiosity, 10p
  • Blobs, 3p
  • Surfaces: Bezier, NURBS, subdivision surfaces etc, 3-10p each