To learn more about Rendering, I decided to take a class on advanced rendering techniques. In the class, we built our own graphics engines and work on those techniques. In my case, this was deferred rendering, moment shadow maps, and screen-space ambient occlusion. I proceeded to build the engine from scratch using OpenGl and a simple result is in the videos below. There are more projects I'd love to pursue, and I want to eventually combine it with my multi-threaded ECS, but the gist is there. Blog posts will delve deeper into the topics or any new topics I end up working on! I forgot to add a piece to show rendering the Ambient Occlusion step, and different textures of the deferred renderer. Not all of them are set nicely, but I have screen shots for future blog posts on those subjects.
0 Comments
After speaking with Tim Ford during my Blizzard internship, I wanted to test something out to up my knowledge in this growing trend of an area. Unity had also recently released multiple talks on their new ECS, and I had minimal experience in multi-threading in general. This project started from scratch, using a simple OpenGL forward renderer to make a simulation. The core idea is a lot of entities performing tasks and organizing each of the 'systems' into different thread groups. These thread groups are organized by what components each system reads and writes to. For example, one system might write to the position component, so then another system that reads from the position component cannot be in the same thread group. A thread group would update all of the systems inside, and wait, before moving onto the next thread group. This project was done during Fall of 2018. With the shorter time span, I had to skip out on some features and make shortcuts in the initial engine. Now in Fall 2019, I am slowly working on it and cleaning it up for fun. The first big hurdle is doing all of my own memory management. I'll update with more as time goes on. |
Archives
November 2019
Categories |