Major Milestones
2019
February 2019
- Initial research
- Develop prototype for CsPaint library
March 2019
April 2019
June 2019
- Selected SDL2 for the window system interface
- Selected Vulkan 1.1.x API
- Establish C++17 as the minimum required compiler and CMake 3.8 as the minimum required build system
July 2019
- Switch internal interface from C to use the C++ bindings available in vulkan.hpp
- Create library documentation
- Standardize the API to create an instance and a device
- Add support for device memory allocation
- Use validation layers for testing and debugging
- Enhance API to support queues, surfaces, and swapchain setup
- Support added to load shaders
August 2019
- Add support for loading an STL file format for 3D modeling
- Resolve inverted Vulkan coordinate system
- Fix depth buffer problems
- Configure synchronization using fences and semaphores
- Research signed distance field algorithm for rendering text
- Select the multi-channel signed distance field algorithm
- Use msdfgen application to generate distance field image
- Add support for rendering text on the GPU using a fragment shader
- Write graphics demo
- Create models in Blender 2.8
- Add models and text rendering samples to the demo
September 2019
- Attended CppCon in in Denver, Colorado
- Presented a talk on "High performance graphics on the GPU" at CppCon in in Denver, Colorado
- Add the ability to load and transfer an image to the GPU as a texture
October 2019
- Enhance documentation for building on different platforms
- Continue work on API
- Correct issue with descriptor pool allocation
- Fix vertex shaders, add layout binding for uniform declarations
- Add support for older versions of SDL
November 2019
- MeetingC++ 2019 Conference in Berlin, Germany
- Present an updated talk on "High performance graphics and rendering text on the GPU"
2020
January 2020
- Update copyright
- Added support for new versions of the Vulkan SDK
October 2020
- Update cspaint_pipeline to work with newer versions of the CsPaint SDK
2021
January 2021
2022
January 2022
- Update copyright
- Update to CMake 3.16 as the minimum required version
2023
January 2023
- Update copyright
- Improve Windows MinGW deployment
- CsPaint 1.0.1 released
2024
January 2024
- Change copyright
- Update readme file
September 2024
- Update minimum version to CMake 3.18