Commit Graph

420 Commits

Author SHA1 Message Date
25bd2fdca5 feat(tests): Add stub config service and enhance bgfx_gui_service tests 2026-01-07 13:07:30 +00:00
23e22c63c0 feat(tests): Add bgfx_gui_service_tests and integrate with CMake and dev commands 2026-01-07 13:01:26 +00:00
58e54bc2df fix(gui): Remove explicit binding from uniform declarations and enhance logging in CreateProgram 2026-01-07 12:52:36 +00:00
498cc56b34 feat(materialx): Refactor MaterialX shader handling to improve configuration and error handling 2026-01-07 12:47:04 +00:00
22f9a98ee1 feat(shader): Update shader handling to support multiple shader keys across various components 2026-01-07 12:27:20 +00:00
fbacb18f2e refactor(graphics): Remove explicit fallback shader support from RenderScene method 2026-01-07 12:00:52 +00:00
c7dc2c7829 feat(shader): Enhance shader attribute location handling and add logging for conflicts in MaterialX shader generation 2026-01-07 11:59:16 +00:00
d7ac5db449 fix(shader): Update logger usage in ConvertIndividualInputsToBlock for consistency 2026-01-07 10:53:28 +00:00
01fe566260 feat(shader): Remap vertex attribute locations in MaterialX shader generation for bgfx compatibility 2026-01-07 10:51:02 +00:00
489671c544 fix(shader): Prevent automatic location mapping in shader creation to maintain explicit layout consistency 2026-01-07 10:38:41 +00:00
36d8a40fcc feat(shader): Enhance shader creation for OpenGL and Vulkan by adding SPIRV wrapping and improved error logging 2026-01-07 10:27:51 +00:00
c7a5e77bea feat(materialx): Update MaterialX configuration by removing unused parameters and adding default skybox material 2026-01-07 02:07:22 +00:00
e6055bb6d5 feat(shader): Remove shader path functions and related module references 2026-01-07 02:01:07 +00:00
172aa1a551 Refactor shader handling: Remove Lua shader variant script and update shader path loading
- Deleted the shader_variants.lua script, which contained functions for building shader parameter overrides and shader variants.
- Updated ShaderScriptService to remove Lua integration for shader path loading, now relying solely on MaterialX configuration.
- Simplified logging and error handling in shader path loading, ensuring clarity in the absence of shader variants.
2026-01-07 01:56:06 +00:00
fb811f4460 feat: Add MaterialX support and enhance time retrieval in scripting 2026-01-07 01:38:03 +00:00
4f86e0488a feat(physics): Disable physics state on setup failure 2026-01-07 01:08:50 +00:00
c0c1fb881e feat: Enhance physics integration and scripting capabilities
- Added support for triangle mesh rigid bodies in the physics bridge service.
- Implemented methods to create static meshes and retrieve linear velocities in the script engine service.
- Introduced new Lua bindings for physics operations, including `physics_create_static_mesh` and `physics_get_linear_velocity`.
- Improved shader creation in the graphics backend with auto-bind uniform options and error handling.
- Refactored shader generation to consolidate output and input declarations into structured blocks.
- Enhanced GUI service with better resource logging and error handling.
- Added utility functions for transforming points using matrices.
2026-01-07 01:08:26 +00:00
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
c48b9cb1a4 stuff 2026-01-06 21:02:41 +00:00
70e02704b3 feat(materialx): Add fallback handling for token substitutions in shader generation 2026-01-06 20:56:07 +00:00
950ec67a52 Remove deprecated Metal and OSL rendering modules from PyMaterialX
- Deleted PyMetalTextureHandler.mm, PyModule.mm, PyMslProgram.mm, PyMslRenderer.mm, and PyTextureBaker.mm files related to Metal rendering.
- Removed CMakeLists.txt and source files for OSL rendering, including PyModule.cpp and PyOslRenderer.cpp.
- Updated README.md files to reflect the removal of Python support for Metal and OSL rendering.
2026-01-06 20:42:09 +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
1549fa3675 feat(conan): Refactor dependencies management and add base and render stack requirements 2026-01-06 13:58:08 +00:00
793fea5e77 fix: Update paths for Conan toolchain and presets to use build-ninja layout 2026-01-06 13:46:13 +00:00
4e15e08b7f stuff 2026-01-06 13:25:49 +00:00
5d495d731b fix(conan): Update freetype version and add libalsa and pulseaudio as required dependencies 2026-01-06 12:33:19 +00:00
f2c030c492 feat(conan): Add libvips, freetype, and ffmpeg as required dependencies 2026-01-06 12:07:36 +00:00
f29a28a0e5 fix(conan): Replace thorvg dependency with lunasvg 2026-01-06 12:00:40 +00:00
61141704fb feat(conan): Add thorvg as a required dependency 2026-01-06 11:46:13 +00:00