Commit Graph
27 Commits
Author SHA1 Message Date
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 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 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