Commit Graph

205 Commits

Author SHA1 Message Date
0cfd20d7db feat: Add render graph script service registration in ServiceBasedApp 2026-01-06 00:25:38 +00:00
01f1e94994 feat(render-graph): Implement Lua-based render graph system
- Added render graph configuration to JSON files and runtime settings.
- Introduced RenderGraphScriptService to load and manage render graph definitions from Lua.
- Updated GraphicsService to handle render graph definitions.
- Enhanced cube_logic.lua with a sample render graph function.
- Modified various services and interfaces to support render graph functionality.
- Improved logging for render graph operations and configurations.
2026-01-06 00:14:00 +00:00
d7d4411251 feat: Refactor shader handling by implementing inline shader sources and enhancing error handling 2026-01-05 23:44:00 +00:00
945b724838 Refactor shader management and remove unused shaders
- Introduced a shader toolkit for dynamic shader generation in soundboard.lua.
- Removed obsolete shader files: ceiling.frag, cube.frag, cube.vert, floor.frag, pbr.frag, pbr.vert, solid.frag, solid.vert, wall.frag.
- Updated pipeline_service to handle inline shader sources and paths, improving shader registration and validation.
- Enhanced shader_script_service to support optional shader source paths alongside traditional paths.
- Modified ShaderPaths structure to include source fields for vertex, fragment, geometry, tessellation control, tessellation evaluation, and compute shaders.
- Updated test_gxm_backend to reflect changes in shader paths and ensure successful pipeline creation.
2026-01-05 23:34:48 +00:00
6e217a7206 fix: Update shader file error messages and validation to improve clarity 2026-01-05 22:47:27 +00:00
fa009b11a9 refactor: Inline IsSpirvPath checks to simplify shader path validation 2026-01-05 22:40:36 +00:00
3299388857 feat: Implement shader byte loading and caching in GuiRenderer and PipelineService 2026-01-05 22:38:55 +00:00
1f259a3b1f feat: Enhance GuiRenderer with shader file handling and logging support 2026-01-05 22:29:46 +00:00
90e7882cb2 feat: Integrate shaderc for shader compilation and enhance shader file handling 2026-01-05 22:12:13 +00:00
3f1684ef03 feat: Add support for additional shader types and enhance shader path handling 2026-01-05 21:38:56 +00:00
be181b177f feat: Implement Vulkan debug messenger and validation layers
- Added Vulkan debug callback and messenger setup to VulkanDeviceService.
- Integrated validation layers into Vulkan instance creation.
- Enhanced VulkanGraphicsBackend with methods to recreate swapchain and wait for GPU idle.
- Updated VulkanGuiService to include render pass in resize method.
- Removed deprecated VulkanGraphicsBackend_old.cpp file.
- Refactored interfaces to support new methods for swapchain management and rendering.
2026-01-05 20:13:58 +00:00
c910ec5dcf Implement Vulkan Graphics Backend and Interfaces
- Added VulkanGraphicsBackend class for Vulkan rendering implementation.
- Created IGraphicsBackend interface for abstracted rendering operations.
- Introduced GraphicsConfig structure for graphics service configuration.
- Updated graphics_types.hpp with new configuration options.
- Implemented Vulkan backend initialization, device management, and rendering methods.
- Added tests for GXM Graphics Backend to validate functionality.
- Refactored existing graphics service interface to support backend-agnostic design.
2026-01-05 19:00:35 +00:00
fbd3600875 feat: Implement text rendering with 8x8 bitmap font and enhance GUI pipeline for smoother graphics 2026-01-05 17:41:56 +00:00
081af05f72 Implement GUI Renderer with SVG Support and Enhanced Drawing Capabilities
- Added a new GUI renderer implementation in gui_renderer_old.cpp.
- Introduced functionality to parse SVG files and extract circle elements.
- Implemented drawing methods for rectangles, text, and SVG graphics.
- Added clipping functionality to restrict drawing to specified areas.
- Enhanced pixel blending for transparency handling in the rendering process.
- Created a staging buffer for efficient pixel transfer to the GPU.
- Implemented resizing and clearing of the canvas for dynamic GUI updates.
- Added error handling for file operations and parsing.
2026-01-05 17:24:55 +00:00
af5d4d0a02 feat: Enhance background opacity handling and optimize pixel rendering for transparency 2026-01-05 16:51:17 +00:00
5d35759179 feat: Add gui_opacity configuration and apply opacity in GUI rendering 2026-01-05 16:44:10 +00:00
6c87f6590a feat: Initialize configJson_ in JsonConfigService constructors for improved JSON handling 2026-01-05 15:49:14 +00:00
af064b287a feat: Refactor color handling in GUI commands and add ReadColorField method 2026-01-05 15:44:14 +00:00
81fb6e76f6 feat: Add configuration service and JSON handling to script engine 2026-01-05 15:02:39 +00:00
5fec5e9544 feat: Enhance input handling and window services
- Added mouse delta tracking to InputState for improved mouse movement feedback.
- Introduced FPS mode toggle in GUI demo, allowing for relative mouse movement and cursor visibility control.
- Implemented input service methods for mouse position, delta, wheel, and key/action state checks.
- Updated SDL input service to handle relative mouse mode and mouse grabbing more effectively.
- Enhanced window service with methods to manage mouse grabbing and cursor visibility.
- Updated interface definitions for IInputService and IWindowService to include new functionalities.
2026-01-05 14:49:40 +00:00
a95b38d484 feat: Register GUI renderer service before render command service in ServiceBasedApp 2026-01-05 14:17:39 +00:00
647b43521e feat: Integrate GUI renderer service into render command and coordinator services 2026-01-05 14:01:51 +00:00
d1bee3b237 feat: Improve command recording logic and logging in RenderCommandService 2026-01-05 13:51:14 +00:00
44464c8fc5 feat: Initialize GUI service after graphics setup and prepare frame with swapchain extent 2026-01-05 13:34:01 +00:00
5299949d63 things 2026-01-05 10:21:44 +00:00
2fef2b14ca feat: Add PBR shader support and atmospherics configuration 2026-01-05 10:05:52 +00:00
ce33d75472 feat: Enhance mouse grab functionality and improve logging in SDL window service 2026-01-05 09:16:38 +00:00
844b640329 feat: Add input bindings for jump and noclip toggle, and update related configurations 2026-01-05 08:19:17 +00:00
ffd99798ed feat: Add mouse grab state change event and related handling in input services 2026-01-05 07:57:44 +00:00
733871e1e7 feat: Update gamepad input bindings for consistency and add logging in input service 2026-01-05 07:44:09 +00:00
e79c0ad01c feat: Add fly up and fly down input bindings and update related services 2026-01-05 07:37:59 +00:00
b8fe3acccf feat: Implement mouse grab configuration and handling in input and window services 2026-01-05 07:16:57 +00:00
ca9830b978 feat: Add input bindings configuration for keyboard and gamepad actions 2026-01-05 06:55:13 +00:00
5548d3b3ce feat: Implement gamepad support and audio control enhancements in input and audio services 2026-01-05 06:32:34 +00:00
e7737c60f9 feat: Enhance rendering services with pipeline and buffer support, and add shader path resolution 2026-01-05 05:50:41 +00:00
11f837a6bf feat: Implement log file rotation and maximum lines per file in LoggerService 2026-01-05 05:25:46 +00:00
fd4d31dfea feat: Add IRenderCoordinatorService to ApplicationLoopService and update ProcessFrame method 2026-01-05 05:06:48 +00:00
f8005d44d3 feat: Improve VulkanDeviceService initialization and error handling with enhanced logging 2026-01-05 04:59:30 +00:00
0c83cc1d36 feat: Enhance VulkanDeviceService with additional logging and update documentation for initialization process 2026-01-05 04:42:54 +00:00
40bf31964b feat: Integrate cpptrace for enhanced crash reporting and stack trace generation 2026-01-05 04:13:30 +00:00
ec7c3fd880 fix: Ensure boolean values are correctly converted to strings in TraceVariable method 2026-01-05 04:01:00 +00:00
da79e4b566 feat: Enhance logging in CreateWindow method for SDL initialization and window creation 2026-01-05 03:41:50 +00:00
4ec64c1666 feat: Add logging configuration to ServiceBasedApp and initialize SDL video subsystem correctly 2026-01-05 03:34:25 +00:00
38862416d5 feat: Add 8x8 monochrome bitmap font and update include path in gui_renderer 2026-01-05 03:02:55 +00:00
efc19b6d98 refactor: Change FindScriptPath method from static to instance method in JsonConfigService 2026-01-05 02:55:36 +00:00
147d373a5d Enhance logging across various services
- Added detailed logging to the ScriptEngineService to trace initialization status.
- Improved logging in SdlAudioService to track audio operations including initialization, shutdown, and playback functions.
- Enhanced SdlInputService with logging for key and mouse events, as well as state retrieval.
- Updated SdlWindowService to log window creation, destruction, and event polling.
- Added logging to ShaderScriptService for shader path loading and Lua state retrieval.
- Implemented logging in SwapchainService for swapchain operations, including creation, cleanup, and querying support details.
- Enhanced VulkanDeviceService with logging for device creation, shutdown, and memory type queries.
- Improved VulkanGuiService with logging for GUI initialization, frame preparation, and rendering operations.
2026-01-05 00:51:42 +00:00
dd8a9cf4e7 refactor: Replace PhysicsBridge with PhysicsBridgeService and update related implementations 2026-01-05 00:04:03 +00:00
bb497aaae2 refactor: Restructure GUI renderer implementation and update service dependencies 2026-01-04 23:59:09 +00:00
c727d7ff38 refactor: Update physics bridge integration and service architecture 2026-01-04 23:51:31 +00:00
19c369aac1 Refactor script services to improve Lua integration and logging
- Updated MeshService to use MeshPayload directly instead of script::MeshPayload.
- Enhanced SceneScriptService with detailed logging and error handling for Lua interactions.
- Introduced ILogger dependency in SceneScriptService and ShaderScriptService for better traceability.
- Implemented Lua state management in ScriptEngineService, allowing direct access to Lua functions.
- Added new types for mesh and scene management, including MeshPayload and SceneObject.
- Refactored shader loading logic in ShaderScriptService to utilize Lua for shader path retrieval.
- Created GuiInputSnapshot and GuiCommand structures for GUI input handling.
- Updated input and GUI script services to use new types and improved interfaces.
- Enhanced test_cube_script to validate new service implementations and Lua interactions.
2026-01-04 23:46:46 +00:00