These software are listed in chronological order from the latest development to the time when I started learning C++. The list will be continuously updated as time goes on. I hope you can find useful information from it.
project - flower: https://github.com/qiutangu/flower
This is a realtime miku fan-made free miku-miku-dance renderer, which render with vulkan api, implemented a simple engine architecture.
Features:
Some screenshot list in gallery, enjoy~
It also produced a series of video works, next, let's list the inventory.
Reference:
project - simple vulkan renderer: https://github.com/qiutanguu/SimpleVulkanRenderer
video link: https://www.bilibili.com/video/BV14f4y1a7io
Features:
This is the first Vulkan renderer that I wrote. I started learning from Alexander's Vulkan tutorial and went through it repeatedly. After around seven months, I completed his tutorial and began integrating some effects from SaschaWillems' sample projects into my renderer. Over the course of a year, I slowly tried and deepened my understanding of Vulkan.
Vulkan is a very complicated API that requires a lot of practice and hands-on experience to gradually master. However, as a reward, one can learn a lot of knowledge related to GPU hardware during this process.
Reference:
project - openGL graphics: https://github.com/qiutanguu/OpenGL-Graphics
Features:
By the end of 2019, TheCherno's GameEngine 2D series on Youtube was nearing completion.
Following his tutorials, I was able to build an engine framework and after completing it, I started writing an OpenGL graphics renderer and implemented common graphics rendering effects.
Reference:
project - software renderer: https://github.com/qiutanguu/SoftwareRenderer
video link: https://www.bilibili.com/video/BV1sJ411H7Hk
Features:
After learning C++ and linear algebra, it became possible for me to create a software rasterizer. The tiny series courses by ssloy are very suitable for beginners in programming.
After completing all the wiki courses of tiny Renderer, I referenced skywind3000's mini3d project and wrote a Win32 software rasterizer window program. It implements common operations such as rotation, scaling, and translation of models. Finally, I also made a simple Bezier surface editor.
Reference: