21 Commits

Author SHA1 Message Date
everyonecancode bbccf7f0ba Add wrap dependency for vulkan headers
Don't expect the vulkan headers to be present on the development system. Instead, download the using meson wrap.

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode.xyz>
2026-06-12 14:11:42 +02:00
Piotr Krygier ca1477b500 Add subprojects
Instead of relying on host system, some dependencies had been added using meson wrap DB and custom meson wrappers.

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-06-08 20:26:37 +02:00
Piotr Krygier ceb9e365de Load texture from glb
Add loading image from glb file.
2026-03-20 14:22:17 +01:00
Piotr Krygier 4c706982f1 Fix memory and style issues 2026-03-20 11:40:09 +01:00
Piotr Krygier c531f5fb55 Fixed issue with avocado's seed
Turn's out there rendering should be done clockwise, as it was originally.
2026-03-19 22:00:12 +01:00
Piotr Krygier 99fb36d9fd Add basic loader for gltf
Added loading of avocado. Something is still wrong though,
becaus I cannot see the seed. But basic functionality is there.
2026-03-19 21:00:39 +01:00
Piotr Krygier 984a56a8e8 Fix image size and semaphore issues
There was an issue with image size for depth
and color attachment, which has been fixed.
Also, finally found and issue with semaphore indexing

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-03-14 10:01:24 +01:00
Piotr Krygier dd70f5e5b0 Add gltf loader
Added MIT licensed external library for loading gltf
files

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-03-13 11:49:26 +01:00
Piotr Krygier c6825caa69 Implement event handler
Added event handler implementation.
Moved enginge specific implementation outside graphics module

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-03-04 11:04:53 +01:00
Piotr Krygier bbbe69d73c Prepare for event system
Moved stuff around.
Create an entry point for RSE.
Created base for events module

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-03-03 11:26:43 +01:00
Piotr Krygier 7d6156be01 Add movement relative to time
Previously movement was based on frames rather than
time. I added time_get_dt() function for getting time
since last frame and changed rotation speed to use this
function.

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-24 13:38:04 +01:00
Piotr Krygier 415d4394c2 Add FPS counter
Added console FPS counter. Thise required me to create
some time functions and remove FPS cap from Vulkan

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-11 18:53:48 +01:00
Piotr Krygier de597ebc5d Replace uniform with storage buffer for instances
Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 19:07:40 +01:00
Piotr Krygier ff527767b9 Add scene time based rotation
Added time based scene rotation as a proof of concept.
Based on this implementation, I can not only move
scene using external data (like mouse, in the future)
but also I can use provided functionality to get high resolution
timer for future use

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 15:50:36 +01:00
Piotr Krygier b8fc36910f Replace MVP uniform buffer with push constants
UBO should be used for large data. MVP should be
push constants, since it's a small amount of data
updated every frame

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 14:34:11 +01:00
Piotr Krygier b8509a9a68 Add push constants
Added functions for adding push constants to pipeline

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 13:09:18 +01:00
Piotr Krygier 954876549d Create typedef for IDs
There was a code, where id for something was u32, and
u16 for other things. I have created a typedef to fix
that

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 10:25:01 +01:00
Piotr Krygier 55e0ee261e Remove stack implementation
There is no need for stack implementation to be used here.
Simple C operations are enough for now

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 10:25:00 +01:00
Piotr Krygier 3dcf7fec56 Fix naming conventions
Fixed some functions names that were not following my convention

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 10:24:59 +01:00
Piotr Krygier b7a472fe45 Descriptor update
Updated descriptor set build to use function parameters instead of
global vars

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 10:24:50 +01:00
Piotr Krygier 493afb05e6 Initial commit
This is working repository now. I had to clean this up due to
my f_ups, that made this simple repo around 200MB large.

Signed-off-by: Piotr Krygier <piotrkrygier@everyonecancode@xyz>
2026-02-10 10:24:45 +01:00