Commit Graph
57 Commits
Author SHA1 Message Date
Piotr Krygier 454aaba349 Add third party includes 2025-08-29 10:02:14 +02:00
Piotr Krygier 5f759a9dbd Minor Cleanup 2025-08-29 10:02:14 +02:00
Piotr Krygier bd05c03a12 Continue working on pipeline 2025-06-20 13:44:33 +02:00
Piotr Krygier 45be08019e Cleanup 2025-06-20 13:44:33 +02:00
Piotr Krygier e80faf80b2 Add Conan for dependencies 2025-06-20 13:44:33 +02:00
Piotr Krygier daed76f02f [WIP] Continue working on pipeline 2025-06-20 13:44:33 +02:00
Piotr Krygier f8eb98ddf4 [WIP] Add descriptors and pipeline builder 2025-06-20 13:44:33 +02:00
Piotr Krygier 173a82b9d1 [WIP] Refactor project
There are many problems with the way the current version is provided
and maintained. This commit or series of commits will fix this.
2025-06-20 13:44:33 +02:00
Piotr Krygier f5ab5f3f27 Improve testing framework
Replaced Criterrion with CMock. Added few tests, currently not working
properly. Random test upgrades.
2025-06-20 13:44:33 +02:00
Piotr Krygier 56c0b7922f [WIP] Create pipeline for transparent on screen objects 2025-06-20 13:44:33 +02:00
Piotr Krygier 3c72c9b387 Fixed window resizing 2025-06-20 13:44:33 +02:00
Piotr Krygier f197280e88 [WIP] Working on depth 2025-06-20 13:44:33 +02:00
Piotr Krygier ad90e5897a [WIP] Alpha blending enabled 2025-06-20 13:44:33 +02:00
Piotr Krygier c9384eb795 [WIP] Try to enable alpha blending 2025-06-20 13:44:33 +02:00
Piotr Krygier fb3151c5d1 [WIP] Render full text on screen 2025-06-20 13:44:33 +02:00
Piotr Krygier d59d8c640e [WIP] Add render text functionality 2025-06-20 13:44:33 +02:00
Piotr Krygier c1a8b14a90 [WIP] Fonts update 2025-06-20 13:44:33 +02:00
Piotr Krygier 99d7546e3d Fix instance buffer size 2025-06-20 13:44:33 +02:00
Piotr Krygier b2508ce4ff [WIP] Add text rendering 2025-06-20 13:44:33 +02:00
Piotr Krygier 3bd14b20c2 Minor cleanup and texture update 2025-06-20 13:44:33 +02:00
Piotr Krygier 2d230d7280 Implement mulitsampling 2025-06-20 13:44:33 +02:00
Piotr Krygier 3c73e6bac3 Remove boilerplate code from rse_vulkan_image.c 2025-06-20 13:44:33 +02:00
Piotr Krygier 1f585b4d8e Refactoring
Cleaned up a project, removed uneccessary includes.
Fixed few errors, nothing major.
2025-06-20 13:44:33 +02:00
Piotr Krygier 42dc4d6fcd Refactor project
Crealned up some TODOs, FIXMEs etc. Added better error handling. Looks
better, feels better.
2023-10-10 10:46:12 +02:00
Piotr Krygier bd4dd74881 Add bindless textures
Created bindless descriptors for holding texture data.
2023-10-04 13:29:23 +02:00
Piotr Krygier d328e38761 Add depth buffering 2023-10-03 13:22:24 +02:00
Piotr Krygier 548ed57969 Add textures
Textures supported
2023-10-03 09:00:02 +02:00
Piotr Krygier 4fcda01ba2 Add texture handler
Added functionality to load images as textures and bind them to meshes.
2023-10-02 13:21:17 +02:00
Piotr Krygier 0e040dd0d5 Move common log to new locale 2023-09-27 08:03:39 +02:00
Piotr Krygier 252a0820ed Move to bindless design
Replaced DrawIndexed with DrawIndexedIndirect function. This way
less parameters are passed from CPU and are store in GPU
mapped memory. Multiple meshes with multiple instances also work.
2023-09-26 14:15:21 +02:00
Piotr Krygier 3a58bd8756 Improve logging output 2023-09-26 14:15:21 +02:00
Piotr Krygier 7ca73f3c60 Fix queue family validation error 2023-09-26 14:15:21 +02:00
Piotr Krygier 940bc7e512 Remove RAM stored mesh data
Remove RAM stored vertices and indices data. It is now stored only in
GPU memory.
2023-09-26 14:15:21 +02:00
Piotr Krygier 0ef475e57e Add time function
Updates to objects should not be done in frame by frame basis, but by
time difference. This commit adds time diff function which can be used
to tell how much time has passed since last frame.
2023-09-26 14:15:21 +02:00
Piotr Krygier 863f502dde Improve threading 2023-09-11 11:15:25 +02:00
Piotr Krygier 507db80fb1 Create simple thread library 2023-08-14 14:49:57 +02:00
Piotr Krygier 3d538eaa2c Move back to C
I'm insane and as such I have moved to C AGAIN! Without any reason.
2023-08-14 13:48:29 +02:00
Piotr Krygier bf31b96a2e Add my own math library
GLM works only for C++ and I plan on moving to back to C. There is
a C port, but it would be good for me to figure out vertex math myself.
Hence, my own library has been created.
2023-08-10 09:43:26 +02:00
Piotr Krygier c22569cc48 Added Criterion unit test framework 2023-08-08 10:41:07 +02:00
Piotr Krygier a82550d414 Addded depenendency load tool
Added simple python script that will load needed libraries into
the project folder structure. Most libraries are now not needed to be
present in development system.
2023-08-07 13:48:30 +02:00
Piotr Krygier 320c9293b1 Update return types 2023-05-13 17:47:42 +02:00
Piotr Krygier 6781c1cff1 Remove VulkanState dependency
Passing VulkanState everywhere (including windowLoop) made no sense.
I know that "globals are evil", but this is the best solution for now.
2023-04-04 15:27:42 +02:00
Piotr Krygier e06288320d Enable multiple buffers
Enables creation of multiple mesh objects in a single buffer. This is
still WIP.
2023-04-04 14:56:31 +02:00
Piotr Krygier c4734e99c2 Add basic functionality to draw instances
Allows creation of instances of meshes and drawing all of them with
single draw call. Instances can have their own transformation data
(location, rotation and scale).
2023-03-31 16:31:47 +02:00
Piotr Krygier 6a09350902 Split vulkan_base into smaller units
Closes #30. This is a basic refactoring of the graphics module, so
everything won't be in single file.
2023-03-29 09:41:04 +02:00
Piotr Krygier 649e7f76fe Change build system to CMake
According to my own documentation, the project tree should look entirely
different. Also, it should use CMake instead of Make. This commit
introduces changes that will make my project tree to adhere to my
own documentation.
2023-03-16 12:04:35 +01:00
Piotr Krygier 0c45da5cc4 Cleanup code 2023-03-16 12:04:35 +01:00
Piotr Krygier d0ac0f0e97 Remove hardocded window system 2023-03-16 12:04:35 +01:00
Piotr Krygier a175045518 Change Buffer struct to hold AllocationInfo
Added allocationInfo field to struct Buffer. Also, modified createBuffer
to use this field. This might be useful, when accessing allocation
information later. Already used for uniform buffers.
2023-03-16 12:04:35 +01:00
Piotr Krygier cce4875329 Add uniform buffers 2023-03-08 14:36:30 +01:00
Piotr Krygier a94e7a95f5 Add index buffer 2022-12-17 21:57:11 +01:00
Piotr Krygier f8b32717f3 Add staging buffer 2022-12-17 21:25:00 +01:00
Piotr Krygier f4a6260a5e Fix some TODOs and FIXMEs 2022-12-14 15:44:57 +01:00
Piotr Krygier 34665e1c2e Change vertex buffer handling
Previously vertex data was only in shaders. I have removed it from there
and put hardcoded vertex data into cpp source code.
2022-12-14 14:16:30 +01:00
Piotr Krygier e7b9d4a32f Changed project back to C++ 2022-10-05 15:51:19 +02:00
Piotr Krygier ce0c399810 Move back to C++ 2022-07-05 16:03:31 -04:00
Piotr Krygier 4755371ffa Cleanup repo 2022-06-28 09:54:41 +02:00