Description

As part of my minor I decided to work on a game engine with a few fellow classmates. During that time I got to know about ECS, Visual Studio, c++ and many more programming subjects. This project had gotten farther then we thought it would and now is in the process of becoming an official game engine. It can be found here:

Specifications

Duration: 24 weeks
Scrum Team Size: 7
Programming Language: C++
Platform: Visual Studio
Roles: Post-processing, Shader programmer, Particle System

Particle System image

Particle System

During my time working on the rythe engine, a colleague and I had chosen to create a particle system showcase that that included a bunch of post processing to make it look cool. We decided to split up the tasks. He would create the point cloud, and I would create the system that allowed for that many objects to be rendered. Thus a small particle system framework was created that allowed for any custom behaviour. Only catch is that you have to program in those behaviours, as visual scripting is not yet a thing in this engine.

Post-Processing image

Post-Processing

Additionally I was assigned the task of setting up a post-processing stage for the renderer. Due to the engine being extremely modular, adding another stage required 1 line of code... If you don't look at the giant system behind that 1 line of code. The post-processing stack allowed for easy swapping of each shader being used.

Shaders image

Shaders

But what would a post-processing stage be without something to show it off? A 'Bloom' and a 'Depth of Field' shader were used to show-off both the particle system and the post-processing stack. The engine used a wrapper around GLSL for the shader language and took some time getting used to. While programming these shaders, I got to use Renderdoc and gain a lot of new insight on the behind-the-scenes of rendering.