
As a 2020 New Year’s Resolution to myself, I decided that I should do more open-source hobbyist programming. One thing that I’ve wanted is to have a personal library/reusable code that will help facilitate my ideas and other personal projects. To do this, I’ve decided to develop a cross-platform rendering engine that uses DirectX12 and Vulkan graphics APIs, as although I’ve got concrete understandings of these APIs, I don’t have anything on my personal portfolio. This is being done entirely in my spare time (mostly weekends) so there is no strict deadlines to when I get features complete. I will take the approach of implementing as generic as I can from the get-go, so when I need to implement a new platform/graphics API, it should ideally be “implement the stubs” with little refactoring (ofcourse that’s the best case outcome!). Antoher approach I am taking is to develop the core libraries as and when I need, instead of implementing things like containers without a use case to test it.
Development started on: 19/01/2020
The BitBucket link below, goes to the public repo.
Current Progress
The current completed or in-progress development:
- Platform and Windows:
- Agnostic Window Creation
- Win32
- Agnostic Window Creation
- Containers, Patterns and Models:
- Finite State Machine
- Singleton Wrapper
- Custom RTTI
- Graphics API:
- Agnostic Adapter Manager
- Direct3D 12
- Driver
- Direct3D 12 (Initial)
- Agnostic Adapter Manager
- Algorithms:
- Quick Sort, Bubble Sort, Merge Sort, Bogo Sort
- Linear Search, Binary Search
- String:
- Utils
- Maths:
- Vector 2/3/4 (Float & SSE intrinsics)
- RNG Helper
- Utils
Goals
The current thought out goals for the project:
- Vulkan Support
- Linux and Android Support
- Cross-Platform:
- Threading
- Maths Library:
- Matrix
- Geometry
- Dear ImGui Support
- Resource Support
- Bitmap and TIFF loading/saving
- OBJ
- Optic Profiler Support
Media
Coming Soon