11 Commits

Author SHA1 Message Date
fd6437a94b Index buffers 2025-10-09 20:24:57 +03:00
2e0369ee2b Vertex buffers
- Fix RenderObject comparator for storing in set
- RenderObjects get ID on register
- Transfer queue family and queue
- Command buffers for transfer queue
- PipelineFactory constructor parameters combined in PipelineBinding structure
- GPU_Vertex and GPU_Buffer structures to map GPU memory data
- Vertex buffers for world and UI RenderObjects with staging
2025-10-04 20:46:15 +03:00
16bd65c35a Window minimization handle
- Getter for Renderer isRunning
- Disabling drawing with isDrawing
- Disabling drawing on zero size
- Recreate swapchain on GLFW resize event
2025-10-01 14:52:37 +03:00
1d65039e2f Swapchain presentation and GLFW
- Render objects list
- SDL2 replaced with GLFW
- Swapchain synchronization, presentation and recreation on resize
2025-09-27 12:30:00 +03:00
389ed599c8 Pipeline factory and materials
- AssetManager uses static assets ID from path hash
- PipelineFactory creates Vulkan pipelines using PipelineConfig structure depending on AssetMaterial and creation flags
- AssetMaterial describes pipelines (e.g. used shaders)
- Materials are described with JSON in sources with path references to other assets
- AssetMaterial is parsed from binary file with asset IDs in references
- compile_config tool compiles material JSON file to binary file with path references replaced with asset IDs
- Allocator supports type's constructors with arguments
- NativeFileSystem: fixed empty bufferSize and buffer trash
2025-08-29 13:13:11 +03:00
9a258f7443 Asset Manager
- Class for threaded load and read assets from virtual file system
2025-08-23 16:28:12 +03:00
2a8abd04d8 Frame Views 2025-08-19 16:32:26 +03:00
1aae507c11 Vulkan swapchain
- Filter devices with swapchain present support
- Configure swapchain and images
2025-08-13 23:59:48 +03:00
7e59a9d2d7 Vulkan surface and queues
- Vulkan SDL surface creation
- Present support check in device selection
- Present queue family and queue
2025-08-12 16:48:13 +03:00
721e5afbac Vulkan device initialization and compilation utils
- Vulkan initialization moved to InitVulkan()
- Renderer thread processes commands from main thread
- SetupDevice() for select physical device and queue families, create logical device and queues.
2025-08-11 23:51:08 +03:00
0062aa85e5 Renderer thread base
- Renderer class
- Vulkan and RmlUi moved from main to Renderer thread
2025-08-08 20:25:47 +03:00