473 Commits

Author SHA1 Message Date
757f3946c0 feat(logger): enhance file descriptor management for logging service 2026-01-08 02:07:37 +00:00
262c100e2f stuff 2026-01-08 01:50:49 +00:00
0417fbf5ba feat(tests): add unit tests for render coordinator initialization order 2026-01-08 00:33:17 +00:00
de8ad12a7b refactor(tests): simplify bgfx frame requirement tests by removing direct stats checks 2026-01-08 00:25:53 +00:00
66fbbcf11a feat(tests): add TDD tests for bgfx initialization order and frame requirements 2026-01-08 00:11:41 +00:00
e631e986bb docs: add documentation for critical bug related to texture creation order in bgfx 2026-01-08 00:05:07 +00:00
ea6cbcc90e Enhance texture loading and resource management in BgfxGraphicsBackend
- Implement texture memory budget tracking to prevent GPU memory exhaustion.
- Add validation for texture dimensions against GPU capabilities before loading.
- Introduce checks for memory budget before texture allocation.
- Validate the success of bgfx::copy() during texture loading.
- Improve error handling and logging for texture creation failures.
- Ensure proper cleanup of texture memory during pipeline destruction.
- Add comprehensive unit tests for initialization order, texture loading, and resource management.
- Document potential issues in LoadTextureFromFile and shader compilation processes.
2026-01-08 00:03:21 +00:00
add8182659 feat(tests): add integration tests for MaterialX shader generator and validation 2026-01-07 23:35:46 +00:00
501e95da5a fix(shader): enhance regex patterns and improve comment handling in shader validation 2026-01-07 23:18:46 +00:00
a44f05d9e5 feat(tests): add shader pipeline validator tests with GTest integration 2026-01-07 23:16:58 +00:00
7968456f4f feat(mesh): add tangents to MeshPayload and compute during payload building
- Updated MeshPayload structure to include tangents.
- Modified BuildPayloadFromBspBuffer to compute tangents based on vertex normals.
- Enhanced AppendMeshPayload to handle tangents, either from mesh data or generated.
- Updated PushMeshToLua to expose tangents to Lua.
- Adjusted ReadVertexArray to read tangents from Lua.

feat(shader): implement ShaderPipelineValidator for shader validation

- Added ShaderPipelineValidator class to validate shader inputs/outputs and vertex layouts.
- Implemented methods to extract shader attributes and validate against vertex layouts.
- Added comprehensive validation checks for shader pipelines, including SPIR-V requirements.
- Created a logger interface for validation results.

test(shader): add unit tests for ShaderPipelineValidator

- Implemented extensive unit tests for shader validation, covering various scenarios.
- Tests include extraction of shader inputs/outputs, validation of vertex layout matches, stride checks, and interface matching.
- Added edge case tests for empty shaders and comments in GLSL code.
2026-01-07 23:12:45 +00:00
569f6b2688 Merge pull request #9 from johndoe6345789/dependabot/npm_and_yarn/MaterialX/javascript/MaterialXView/npm_and_yarn-8d393b1fc0
build(deps): Bump the npm_and_yarn group across 2 directories with 2 updates
2026-01-07 22:30:08 +00:00
a04fed45cf feat(shader): Add attribute aliasing for improved attribute mapping in shaderc_spirv 2026-01-07 22:14:42 +00:00
973dfcf9ea fix(shader): Update integer uniform mapping to Vec4 and add verbose logging for better debugging 2026-01-07 22:04:26 +00:00
0c0b338ae6 fix(shader): Correctly map GL_INT uniforms to Vec4 to prevent crashes in Vulkan shader creation 2026-01-07 22:02:20 +00:00
e8b48bf7dc stuff 2026-01-07 21:59:22 +00:00
2583643fb8 feat(shader): Enhance shader binary parsing and logging functionality 2026-01-07 21:39:18 +00:00
a0673e6791 stuff 2026-01-07 21:13:29 +00:00
6bd83a9b4e feat(shader): Enhance shader validation and refactor uniform handling in BgfxGuiService 2026-01-07 21:08:53 +00:00
2eb7d632dd feat(tests): Update GPU render test expectations and remove skybox references 2026-01-07 20:24:53 +00:00
08d06dbe60 feat(shader): Refactor shader compilation process to use BgfxShaderCompiler and streamline error handling 2026-01-07 20:17:56 +00:00
99e35573d2 Add TINYSTL string_view, traits, unordered_map, unordered_set, and vector implementations
- Introduced string_view class for non-owning string references.
- Added traits header for type traits and utility functions.
- Implemented unordered_map class for hash table based key-value storage.
- Created unordered_set class for hash table based unique key storage.
- Developed vector class for dynamic array functionality with various utility methods.
2026-01-07 19:54:17 +00:00
ce5db15e6b feat(shader): Enhance shader compilation with in-process support for multiple targets and integrate PipelineCompilerService 2026-01-07 19:45:48 +00:00
dc90facd09 feat(shader): Document in-process Shaderc integration and shader binary format issues for Vulkan 2026-01-07 19:19:11 +00:00
700d18e0b6 feat(shader): Update Vulkan shader handling with uniform blocks and improved compilation process 2026-01-07 18:59:52 +00:00
8955c51f20 bgfx 2026-01-07 18:49:55 +00:00
2cbd4c232f feat(shader): Integrate local shader compilation with bgfx_tools and add PipelineCompilerService 2026-01-07 18:38:01 +00:00
cb0a420242 feat(shader): Integrate bgfx_tools for shader compilation and add PipelineCompilerService 2026-01-07 17:53:30 +00:00
8362200def Add PSSL and SPIR-V shader compilation support
- Implemented `compilePSSLShader` function in `shaderc_pssl.cpp` to handle PSSL shader compilation, currently returning an unsupported message.
- Introduced `shaderc_spirv.cpp` with comprehensive SPIR-V shader compilation logic, including GLSL to SPIR-V translation, reflection, and uniform handling.
- Added necessary includes and defined resource limits for SPIR-V compilation.
- Established texture format mappings and attribute enumerations for shader inputs.
- Enhanced error handling and logging for shader compilation processes.
2026-01-07 17:11:45 +00:00
c39eeb1f29 Add vertex shader for texture cube and improve shader handling
- Introduced a new vertex shader for texture cube rendering in `vs_texture_cube.sc`.
- Enabled debugging for shader validation in the graphics backend initialization.
- Refactored GUI shaders to use a structured output for vertex data, improving clarity and maintainability.
- Updated shader compiler to disable automatic uniform binding, allowing for explicit binding in shaders.
- Simplified shader binary wrapping by removing unnecessary uniform and attribute metadata embedding, leveraging bgfx's reflection capabilities.
2026-01-07 17:11:03 +00:00
e2d6e1b4ad feat(tests): Add Vulkan shader linking test for GUI shader compilation and rendering validation 2026-01-07 16:36:33 +00:00
b4a5588054 feat(logging): Enhance logging in shader compilation and program creation for better traceability 2026-01-07 16:24:14 +00:00
34eb8a1450 Implement feature X to enhance user experience and optimize performance 2026-01-07 16:18:25 +00:00
bff4954185 feat(shader_compiler): Add BgfxShaderCompiler for GLSL to SPIRV compilation and uniform metadata handling
refactor(bgfx_gui_service): Integrate BgfxShaderCompiler for shader creation and validation
test(bgfx_gui_service): Enhance tests to validate shader key presence and uniform initialization
2026-01-07 16:17:09 +00:00
385257b859 Remove outdated screenshot and add new screenshot for current problem documentation 2026-01-07 15:47:46 +00:00
b07cf40b8d feat(bgfx_gui_service): Add support for MaterialX shaders with separate uniform handling 2026-01-07 15:44:53 +00:00
4a96bec1b7 feat(tests): Enhance rendering tests to validate uniform initialization and stability 2026-01-07 15:38:40 +00:00
bb0c214827 Add screenshot for current problem analysis 2026-01-07 15:35:19 +00:00
1a7f2dfc6e feat(scene_framework): Add reusable Lua framework for 3D scene construction with mesh generation and object builders 2026-01-07 15:31:56 +00:00
172543fc88 feat(cube_logic): Fix string formatting for object_type in create_spinning_cube function 2026-01-07 15:20:15 +00:00
d2d3af5679 feat(tests): Update RunCubeDemoSceneTests to use object type for differentiation 2026-01-07 15:08:07 +00:00
5b7db19437 feat(tests): Refactor GPU render test to use object type for differentiation 2026-01-07 15:07:58 +00:00
a828a8e2e1 feat(cube_logic): Update create_spinning_cube to apply color and add object type for differentiation 2026-01-07 15:07:02 +00:00
b15d4468ee feat(cube_logic): Add object type parameter to create_static_cube and related functions for better differentiation 2026-01-07 15:06:46 +00:00
71c25e7ddb feat(tests): Enhance cube demo scene tests with improved object type differentiation and scale extraction 2026-01-07 15:06:00 +00:00
78c47c4429 feat(tests): Update cube demo scene tests for new tessellated floor and ceiling geometry 2026-01-07 14:50:27 +00:00
d4921be5ef feat(tests): Add SDL window service and ECS service to GPU render test for enhanced validation 2026-01-07 14:41:46 +00:00
c01213962c feat(tests): Enhance CubeDemoConfigService and GPU smoke test with improved error handling and dynamic renderer selection 2026-01-07 14:25:46 +00:00
a2f49bdb3a feat(tests): Enhance GPU smoke test with dynamic video driver selection and improved error reporting 2026-01-07 13:57:21 +00:00
d60d4b315d feat(tests): Enhance script engine tests with additional service implementations and GPU smoke test 2026-01-07 13:47:52 +00:00