Software Engineer
vlcsnap-2020-11-10-20h30m55s067.jpg

Graphics

Graphics

 

Graphics

  • Implemented various graphics programming features for a second-year university assignment.

  • I wrote the engine in C++ using the following libraries: assimp, fmod, glew, freeglut, freetype, glm, soil.

  • These graphics projects have taught me how to write a variety of different shader types in GLSL, how to create and build upon a simple game engine, how the graphics pipeline functions in OpenGL, and many other graphics principles.

Character

  • Made a loader for meshes and animations using the assimp library.

  • Added shadows to the mesh using shadow-mapping.

Particles

  • Billboarded particles running on the CPU.

  • Billboarded particles running on the GPU with a compute shader.

Framebuffer

  • Game view draws to a framebuffer which is then displayed.

  • Post-processing applied to the framebuffer; blur, scanlines and chromatic aberration.

Terrain

  • Terrain loaded from a raw heightmap file.

  • Randomly generating terrain using layered perlin noise.

  • Texture blending over terrain based on height.

  • Grass drawn in the terrain’s geometry shader based on terrain height.

Deferred Rendering

  • Scene displayed using deferred rendering rather than forward rendering.

  • Can easily support a large number of lights.