migrate to vercel; bump version

This commit is contained in:
2026-03-31 12:11:30 -07:00
parent 11f05e0d6f
commit 99e4e65d92
106 changed files with 399 additions and 553 deletions

View File

@@ -0,0 +1,58 @@
---
title: "Iridescent"
description: "An open-source graphics engine"
githubUrl: "https://github.com/timmypidashev/iridescent"
techStack: ["Cmake", "Glad", "Imgui"]
date: "2024-05-03"
image: "/projects/iridescent/thumbnail.jpeg"
---
## Overview
A open-source graphics engine concept created for my highschool senior project.
Built to expand my understanding of the low level programming world, and further
my reach of graphics and c++ programming.
## Key Features
* **Dockable Windows**: A quality of life feature utilizing imgui which allows
to efficiently use monitor space, moving logging and certain tools into their own
windows outside of the engines viewspace.
* **Layer Stack**: Deterministic and fast stack which determines the order in which
all layers of the application are drawn, from the ui all the way to the polygons making
up the scene.
* **Input Polling**: A realtime implementation polling all input events on the keyboard
and mouse for an extremely low latency between input events and scene events.
* **Detailed Logging**: A detailed logging system which logs events from the scene all the
way down to the system.
* **Shading**: The crème de la crème of the renderer, adding shading to the entire scene.
## Development Highlights
Some of the best highlights for me during this project was quite literally every time I managed
to fix a compilation issue. The exhileration after each successful step forward was just mesmerizing,
and I knew the moment I began my obsession wouldn't end until the engine was in a complete state.
Since I was going into this blind during my senior year at highschool, I knew almost nothing about
c++ or the build systems that accompany it, so learning all of that at once was both a breath of fresh
air and a frustration. However, after several days of work, I became very comfortable with cmake, my build
system of choice, and most basic concepts of c++, allowing me to begin working on the engine itself.
It was at this point where I started hitting some real knowledge barriers and ended up going to multiple
resources to learn and understand the inner workings of a graphics renderer. Resources such as the
[Hazel Engine Series](https://www.youtube.com/watch?v=JxIZbV_XjAs&list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT),
[Learn C++ Website](https://www.learncpp.com/learn-cpp-site-index/), and [OpenGL Tutorials](https://www.opengl.org/sdk/docs/tutorials/)
helped me tremendously here.
## Challenges & Roadblocks
Some of the biggest challenges I faced was overcoming the knowledge barrier I had on the inner workings
of graphics rendering and low level programming overall. Thankfuly, being stubborn and obsessed can
sometimes help, and in this case after numerous attempts, I began meticoulouly learning every aspect
of the engine as I developed it, and over time it began paying off, snowballing into a very fun experience.
Some food for thought, after you overcome the biggest barrier in your journey, the rest seems laughably easy.
## Summary
Looking back, working on Iridescent was some of the most fun I have ever had programming as of yet,
and I am still craving for the next project to top this one. It was only by working on this engine
that I realized just how much I love working on the little details, obsessing over each little system
in the engine. Definitely something I will have to do again, maybe write a little game, but thats for
future me to decide :D