Commit Graph

151 Commits

Author SHA1 Message Date
f5753298be feat(bgfx_gui_service): Add model view projection uniform and enhance logging in GUI service 2026-01-07 00:47:59 +00:00
7488713616 feat(bgfx): Simplify sampler flags and improve logging in graphics backend 2026-01-07 00:31:33 +00:00
cb5b58ca9e feat(physics): Enhance physics bridge service with new functionalities
- Added SetGravity method to adjust the gravity in the physics world.
- Introduced AddSphereRigidBody method for creating sphere rigid bodies.
- Implemented RemoveRigidBody method to delete existing rigid bodies.
- Added SetRigidBodyTransform method to update the position and rotation of rigid bodies.
- Included ApplyForce and ApplyImpulse methods for applying forces and impulses to rigid bodies.
- Added SetLinearVelocity method to set the linear velocity of rigid bodies.
- Enhanced StepSimulation method to accept a maxSubSteps parameter.
- Implemented GetBodyCount method to retrieve the number of rigid bodies in the world.
- Added Clear method to remove all rigid bodies from the physics world.
- Updated the script engine service to bind new physics methods to Lua.
- Enhanced material configuration handling in shader script service.
- Introduced MaterialXMaterialConfig structure for better material management.
- Added texture binding support in ShaderPaths structure.
- Included stb_image implementation for image loading support.
2026-01-07 00:20:19 +00:00
ffeba6c142 feat(mesh_service): Implement archive handling and fallback for BSP loading 2026-01-06 23:26:47 +00:00
b1ccf2ca36 feat(bgfx): Enhance platform data handling and add initialization logging 2026-01-06 22:44:27 +00:00
31daceb78c feat(platform_service): Update LogSystemInfo to use SDL_GetNumLogicalCPUCores and add logging 2026-01-06 22:11:58 +00:00
2ef604c32e Add platform service enhancements and logging capabilities
- Introduced IPlatformService interface with methods for retrieving platform information, current video driver, and available video/render drivers.
- Implemented PlatformService to gather and log detailed system information, including CPU capabilities, environment variables, and SDL video driver support.
- Updated BgfxGraphicsBackend to utilize IPlatformService for platform-specific data.
- Enhanced SdlWindowService to log system information upon window creation.
- Added utility functions for string formatting and feature value retrieval.
2026-01-06 21:53:52 +00:00
70e02704b3 feat(materialx): Add fallback handling for token substitutions in shader generation 2026-01-06 20:56:07 +00:00
828841e673 fix(materialx): Correct package name casing and simplify token substitution handling 2026-01-06 20:34:12 +00:00
d2fb15c76f feat(materialx): Add fallback handling for token substitutions in shader generation 2026-01-06 19:54:55 +00:00
9ab929f53d feat(materialx): Add function to resolve Airy Fresnel iterations with improved logging 2026-01-06 19:44:30 +00:00
5162fa5103 feat(materialx): Add constexpr check for hwAiryFresnelIterations and improve logging 2026-01-06 19:40:32 +00:00
8e4699419c feat(materialx): Add function to resolve Airy Fresnel iterations and improve logging 2026-01-06 19:22:45 +00:00
ee53cf1f0b feat(materialx): Enhance token substitution handling and logging in shader generation 2026-01-06 19:04:12 +00:00
87a45640c8 feat(shader): Implement shader debugging tool and enhance MaterialX token handling 2026-01-06 18:09:08 +00:00
7b6f2d4567 feat: Add support for loading meshes from PK3 archives
- Updated CMakeLists.txt to find and link libzip.
- Modified conanfile.py to include libzip as a dependency.
- Created a new configuration file for Quake 3 runtime settings.
- Implemented loading of Quake 3 maps from PK3 archives in mesh_service.
- Added new Lua bindings for loading meshes from archives in script_engine_service.
- Enhanced material handling in materialx_shader_generator to support vertex data blocks.
2026-01-06 17:33:43 +00:00
7ec101cbf6 feat(materialx): Add vertex data block handling in shader generation 2026-01-06 16:43:34 +00:00
9f2faa389d feat(materialx): Update source search path handling in shader generation 2026-01-06 16:21:43 +00:00
620e9a4b7a feat(bgfx): Enhance renderer initialization with detailed logging and support for multiple renderer types 2026-01-06 16:18:04 +00:00
da126a535f feat(materialx): Update MaterialX library handling and improve shader generation logging 2026-01-06 16:12:53 +00:00
06e31cf536 feat: Enable MaterialX support and refactor rendering pipeline to utilize view state 2026-01-06 15:56:44 +00:00
512eced3b0 feat(materialx): Integrate MaterialX support for PBR parameters and enhance shader functionality 2026-01-06 15:29:59 +00:00
a5b47479d7 Refactor graphics service architecture and remove Vulkan-specific components
- Deleted VulkanGuiService and associated interfaces to streamline GUI rendering.
- Removed RenderGraphConfig and GraphicsBackendConfig, replacing them with BgfxConfig.
- Eliminated unused render graph structures and interfaces to simplify codebase.
- Updated IConfigService and IGraphicsBackend interfaces to reflect new configurations.
- Removed Vulkan device and buffer service interfaces to reduce complexity.
- Enhanced error handling and validation across Vulkan initialization and resource management.
- Updated unit tests to remove references to the obsolete render graph functionality.
2026-01-06 15:08:20 +00:00
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
c8894bd8c0 feat(render): Add support for disabling culling and depth testing in pipeline creation 2026-01-06 11:30:53 +00:00
f619001157 feat(graphics): Update Draw function to include index and vertex offsets 2026-01-06 10:48:50 +00:00
b05a63db9e feat(render): Implement compatibility render graph with tonemapping options and logging enhancements 2026-01-06 10:28:00 +00:00
4ba7d9b20a feat(render): Add dynamic state support and viewport/scissor setup in render commands 2026-01-06 10:00:06 +00:00
98f4c32d7d fix(render): Specify RenderGraphImage type in function signatures for clarity 2026-01-06 02:04:43 +00:00
fb71265a5b feat: Implement render graph support in Vulkan backend
- Added RecordRenderGraph method to IRenderCommandService and its implementation in RenderCommandService.
- Updated VulkanGraphicsBackend to handle render graph definitions and record commands accordingly.
- Introduced GetDepthFormat method in ISwapchainService to retrieve depth buffer format.
- Enhanced VulkanGraphicsBackend with methods to set render graph definitions and manage render graph resources.
- Added RenderGraphImage structure to manage render targets and depth targets within the render graph.
- Updated interfaces and services to accommodate new render graph functionality, including descriptor set layout retrieval in IPipelineService.
2026-01-06 02:02:52 +00:00
1f3e48ae27 feat(atmospherics): Add sky color configuration and apply in rendering 2026-01-06 01:07:26 +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