Skip to content

Graphics

roadmap

math (for reference):

learning graphics:

learning api:

game engine:

other resources

projects

  • Make a sphere mesh using spherical coordinates, and render it.
  • Implement shader for simple diffuse and specular shading.
  • Directional Lights, point lights, and spot lights
  • Heightmap Rendering
  • Write a simple parser for a simple mesh format such as Wavefront .obj, import it into your program and render it. In particular, try and import and render meshes with textures.
  • Implement a simple minecraft renderer. It is surprisingly simple to render minecraft-like worlds, and it is also very learningful.

  • Render reflections using cubemaps

  • Shadow rendering using shadow maps.
  • Implement view frustum culling. This is a simple, yet very practical optimization technique.

  • Implement rendering of particle systems

  • Learn how to implement Gamma Correction.
  • Implement normal mapping
  • Learn how to render lots of meshes efficiently with instanced rendering
  • Animate meshes with mesh skinning.

advanced

  • Various post-processing effects. Like Bloom(using Gaussian blur), ambient occlusion with SSAO, anti-aliasing with FXAA.
  • Implement deferred shading, a technique useful for rendering many light sources.