Shadertoy Clone

Real time graphics project


This was my final project of the Real-Time graphics course. This was a 70 hour project to explore a topic that we could choose freely. I set up an environment from scratch, following a tutorial by the youtuber “The Cherno”, to enable shader code programming and then created different examples for it.

Take a look on github

I created a shader writing system in Visual Studio 2022 using c++. I set up the basic essentials with vertex buffers, frame buffers and index buffers. I also added the imgui environment to help me set up a testing platform to quickly switch between different examples I have created. I then created different shader examples from displaying a basic disc over light reflection on a plane to animated shaders similar to those found on shadertoy.com.

Light
First test with reflection
Animated
Animated shader from shadertoy
Heart
Animated Heart

I enjoyed this project a lot. As we were able to to freely choose what kind of project we want to do and we did not cover shader code programming during the course I choose this project. We only covered how the render pipeline works and what is happening in a very abstract way, it was hard for me to understand. This project helped me so much in understanding what shaders are, how they work and how they can be written. It also helped me in understanding more and more in how to set up big systems and working environments. How to structure code and how coding architecture works.