Commit Graph

59 Commits

Author SHA1 Message Date
5e18571856 feat: Enhance GUI rendering and configuration management
- Added support for FreeType font rendering in GuiRenderer, including glyph loading and text rendering capabilities.
- Introduced GuiFontConfig structure to manage font settings through configuration.
- Updated JsonConfigService to parse and provide GUI font settings from JSON configuration.
- Implemented MaterialX shader generation capabilities with a new MaterialXShaderGenerator class.
- Enhanced ShaderScriptService to utilize MaterialX for shader generation based on configuration.
- Added NullGuiService as a placeholder implementation for GUI service.
- Extended IConfigService interface to include methods for retrieving graphics backend, MaterialX, and GUI font configurations.
- Updated RuntimeConfig structure to include graphics backend and MaterialX configurations.
- Added tests to ensure proper integration of new configuration settings and shader generation functionality.
2026-01-06 14:38:42 +00:00
4e15e08b7f stuff 2026-01-06 13:25:49 +00:00
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
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
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
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
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
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
e7737c60f9 feat: Enhance rendering services with pipeline and buffer support, and add shader path resolution 2026-01-05 05:50:41 +00:00
fd4d31dfea feat: Add IRenderCoordinatorService to ApplicationLoopService and update ProcessFrame method 2026-01-05 05:06:48 +00:00
4ec64c1666 feat: Add logging configuration to ServiceBasedApp and initialize SDL video subsystem correctly 2026-01-05 03:34:25 +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
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
7328eaa517 refactor: Introduce command line and JSON config writer services, enhance runtime configuration handling 2026-01-04 18:51:53 +00:00
7503dc440a refactor: Replace controllers with service-based architecture for application lifecycle and rendering 2026-01-04 18:29:04 +00:00
3a0707cceb refactor: Introduce GUI renderer service and update application service architecture 2026-01-04 18:19:27 +00:00
00a359d85f refactor: Enhance service architecture by introducing IPlatformService and updating dependencies
- Removed core/platform.hpp and core/vulkan_utils.cpp, integrating their functionality into new platform_service implementations.
- Updated service registrations to utilize IPlatformService for improved modularity.
- Refactored event bus usage across services to leverage IEventBus interface.
- Enhanced buffer management in BufferService with detailed logging and error handling.
- Updated GUI rendering services to utilize buffer service for resource management.
- Cleaned up includes and improved overall code organization for better maintainability.
2026-01-04 17:43:18 +00:00
1e6be869e0 Refactor script and audio services to enhance logging and remove unused components
- Removed the LuaScriptService implementation and interface as it was redundant.
- Updated ShaderManager and ScriptEngine to utilize ILogger for improved logging.
- Enhanced SdlAudioService with detailed logging for audio operations and error handling.
- Refactored physics bridge service to include logging for physics operations.
- Updated interfaces to remove IScriptService and adjust dependencies accordingly.
- Cleaned up includes and organized namespaces for better code clarity.
2026-01-04 17:14:06 +00:00
6b98369bd7 stuff 2026-01-04 15:54:28 +00:00
41b58afc69 refactor: Introduce script engine and related services for enhanced scripting capabilities 2026-01-04 15:39:07 +00:00
0a893172c1 refactor: Update audio service integration and logger usage in application components 2026-01-04 15:07:30 +00:00
a4802179e0 fix: Update error handling in ServiceBasedApp and main to fallback to console logging when logger is unavailable 2026-01-04 14:54:43 +00:00
471b18e58c feat: Add ConfigureLogging method and GetLogger for improved logging configuration 2026-01-04 14:54:12 +00:00
80d8866924 feat: Add ILogger dependency to SwapchainService and update logging calls for consistency 2026-01-04 14:51:03 +00:00
ee7337aa38 feat: Add ILogger dependency to RenderCommandService and update logging calls for improved consistency 2026-01-04 14:49:54 +00:00
4edebc959a feat: Integrate ILogger into SdlInputService and LuaScriptService for improved logging 2026-01-04 14:48:58 +00:00
f1384d1355 feat: Replace logging with ILogger in CreateSurface and CreateInstance for consistency 2026-01-04 14:47:33 +00:00
ae42addcb2 feat: Replace logging in CleanupBuffers and Shutdown with ILogger for consistency 2026-01-04 14:46:31 +00:00
4e7e8982c8 feat: Pass ILogger instance to SdlAudioService for improved logging 2026-01-04 14:45:48 +00:00
f23c152928 feat: Integrate ILogger into SdlAudioService and PipelineService for enhanced logging 2026-01-04 14:45:38 +00:00
4d8bc2a457 feat: Integrate ILogger into SceneService and PipelineService for enhanced logging 2026-01-04 14:44:24 +00:00
ddfb9c5c4b feat: Pass ILogger instance to VulkanGuiService registration for improved logging 2026-01-04 14:42:24 +00:00
8ff88de33b feat: Integrate ILogger into BulletPhysicsService and VulkanGuiService for improved logging 2026-01-04 14:42:03 +00:00
38a3fdea78 feat: Implement logger service and integrate logging into various services 2026-01-04 14:39:50 +00:00
d2a2a879c2 feat: Integrate GUI input processing into input service and script service 2026-01-04 14:29:17 +00:00
ced8b8f5a7 feat: Add crash recovery service and integrate it into ServiceBasedApp 2026-01-04 14:22:18 +00:00
d8d0cfd5c8 feat: Implement logger service and refactor logging across application controllers 2026-01-04 14:17:18 +00:00
d2934ebc8d feat: Enhance logging in various controllers and services for better traceability 2026-01-04 14:12:38 +00:00
9e3abc00af feat: Remove temporary graphics initialization code from Run method 2026-01-04 14:08:49 +00:00
2165fe99dd feat: Refactor RenderCommandService to use lazy initialization and remove Initialize method 2026-01-04 14:08:32 +00:00
d30e423294 feat: Remove temporary graphics initialization code from Run method 2026-01-04 14:07:20 +00:00
440d5c6b6b feat: Update RegisterServices to correctly register EventBus with SwapchainService 2026-01-04 14:05:00 +00:00
768af4ea65 feat: Enhance GraphicsService to include window service and update swapchain handling 2026-01-04 14:04:51 +00:00