This page is used to showcase some software that I have developed in my spare time. They integrate some advanced real-time rendering algorithms for creating videos similar to miku-miku-dance.

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.

2021/06 ~ 2023/03

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~

Snipaste_2023-02-06_10-39-57

20230507224325

202212311

Snipaste_2022-05-18_23-56-08

It also produced a series of video works, next, let's list the inventory.

202301293

vkEngine

Reference:

2020/05 ~ 2021/07

project - simple vulkan renderer: https://github.com/qiutanguu/SimpleVulkanRenderer

video link: https://www.bilibili.com/video/BV14f4y1a7io

Features:

image-20211215212516632

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:

2019/11 ~ 2020/03

project - openGL graphics: https://github.com/qiutanguu/OpenGL-Graphics

Features:

image-20211215213909807

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:

2019/03 ~ 2019/09

project - software renderer: https://github.com/qiutanguu/SoftwareRenderer

video link: https://www.bilibili.com/video/BV1sJ411H7Hk

Features:

image-20211215215530397

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: