3D Graphics Learning Project
This project serves as a personal learning journey into the world of 3D graphics programming. My primary goal is to track my progress and understand the fundamental concepts required to eventually build my own rudimentary 3D engine or a "parody" of one.
Currently, the project showcases a simple rotating triangle. This is just the very first step, a foundational stage in what I hope will be a much larger endeavor. Each day, I'm taking small but steady steps towards achieving my aspiration.
To streamline the development process and make it easy to build and run, I've implemented a package.json file. This allows for convenient project management using npm commands.
default.mp4
Current Progress: The First Step
Below is a GIF demonstrating the current state of the project – a simple rotating triangle. This represents the initial stage of my journey.
So, this isn’t quite what I wanted to make. I was aiming for something not exactly on the level of Unreal Engine or Unity, but something vaguely similar. Honestly, I suspected that creating my own “game engine” would be hard, but this was too much. I’m not satisfied with the result, to be honest, but I’m still a little proud of what I managed to build. Working on this “thing” every day, I kept thinking just how insanely difficult it must have been to do something like this back in the 2000s — what a massive amount of work it is, truly colossal. Of course, there’s a lot that still needs improvement: graphics, rendering, scene drawing. And in the end, it’s not very convenient to edit object placement through code — you have to check how everything looks every time. A lot of details are missing: textures, animations… hell, even drawing a sphere isn’t as simple as you’d hope.
For me, it was a huge learning experience despite the monster I ended up creating. I think this experience, in some way, lets me slightly peek behind the curtain of what happens inside real game engines. Maybe I’ll keep working on this project, but I don’t really have a specific goal. It was just a fun thing I wanted to make.
P.S. I tried to use AI as little as possible when writing the code, because otherwise it wouldn’t have been my experience or my achievement.
