Visual Studio 2022, OpenGL, System Programming, C++, Shader Programming
Shadertoy Clone
Real time graphics project
This was my final project of the Real-Time graphics course. We were asked to complete a 70-hour project exploring a topic of our choice. I set up an environment from scratch, following a tutorial series by the YouTube creator The Cherno, to build an OpenGL-based environment for shader programming.
Take a look at GitHub
I created a shader writing system in Visual Studio 2022 using C++ and OpenGL. I set up the basic essentials with vertex buffers, frame buffers, and index buffers. I also added ImGui to create a testing platform where I could quickly switch between different shader examples. I then created several shader examples, ranging from rendering a basic disc to light reflections on a plane, and animated shaders inspired by shaders commonly found on Shadertoy.
I enjoyed this project a lot. As we were able to freely choose our project topic, I decided to explore shader programming, which was not covered during the course. We only covered how the render pipeline works and what is happening in a very abstract way. This made it hard for me to understand. This project helped me understand what shaders are, how they work, and how they can be written. It also improved my understanding of how to structure larger systems and development environments, as well as how to structure code and design software architecture.