Commit Graph

101 Commits

Author SHA1 Message Date
806ef74226 rendering: split shader loader authoring modes 2026-04-06 17:21:40 +08:00
33bb84f650 Lower final color into final output stage 2026-04-06 16:15:19 +08:00
2b70a2e309 Add rendering post-process scene integration test 2026-04-06 13:30:53 +08:00
3540dbc94d Fix sphere winding and viewport middle-pan input 2026-04-06 04:11:00 +08:00
f014ae6e6f Formalize cubemap skybox pipeline across backends 2026-04-06 01:37:04 +08:00
8151be0f45 Add procedural skybox scene coverage 2026-04-05 23:44:32 +08:00
7b49a621cc Tighten XCUI schema consistency rules 2026-04-05 06:02:40 +08:00
a7662a1d43 Add XCUI schema document regression coverage 2026-04-05 05:45:51 +08:00
acdbcdd35b Stabilize XCUI schema compiler and phase 2 checkpoint 2026-04-05 05:16:40 +08:00
781c3b9a78 Implement XCUI markup import loader support 2026-04-04 19:51:02 +08:00
bcef1f145b Finalize library bootstrap status and stabilize async asset regressions 2026-04-04 19:44:59 +08:00
dc5b5d2c48 Archive shader material closure plan 2026-04-04 17:41:50 +08:00
a74c25b5ae Tighten material schema-driven binding path 2026-04-04 17:02:56 +08:00
24245decb5 Add Unity-like shader authoring MVP importer 2026-04-04 16:32:08 +08:00
9e8810e593 Add depth-only and shadow-caster pass skeletons 2026-04-04 14:27:44 +08:00
308b3b061c Add builtin unlit surface path 2026-04-03 17:18:46 +08:00
03bd755e0a Formalize material schema and constant layout contract 2026-04-03 16:49:30 +08:00
24a200e126 Move scene viewport shaders into editor resources 2026-04-03 15:43:21 +08:00
d4afa022c1 Add shader artifact import pipeline 2026-04-03 14:56:51 +08:00
a05d0b80a2 feat: expand editor scripting asset and viewport flow 2026-04-03 13:22:30 +08:00
6636834b35 feat: add unity-aligned shader contract metadata 2026-04-03 00:01:31 +08:00
ca019157be refactor: remove builtin shader source fallbacks 2026-04-02 23:31:03 +08:00
ffb62ddd9c refactor: externalize builtin object id and grid shader assets 2026-04-02 23:15:19 +08:00
307e8dbd0e refactor: externalize builtin forward-lit shader asset 2026-04-02 23:04:59 +08:00
c9adc6ec5e feat: add multi-pass shader manifest loading 2026-04-02 22:54:25 +08:00
5ff97b437a fix: restore backpack material import output 2026-04-02 22:34:25 +08:00
9ce779da43 refactor: route builtin outline pass through shader assets 2026-04-02 20:18:39 +08:00
e30f5d5ffa Split mesh artifacts into material and texture artifacts 2026-04-02 19:36:16 +08:00
b2d0570b1b refactor: route builtin infinite grid through shader assets 2026-04-02 19:32:15 +08:00
11fb8f3585 refactor: route builtin object-id pass through shader assets 2026-04-02 19:17:22 +08:00
9f7d8fd68d refactor: route builtin forward pipeline through shader assets 2026-04-02 19:00:48 +08:00
dd08d8969e refactor: add minimal material gpu binding 2026-04-02 17:13:53 +08:00
70ced2d91f refactor: add shader pass and backend variants 2026-04-02 16:10:50 +08:00
4c167bec0e Implement initial Unity-style asset library cache 2026-04-02 03:03:36 +08:00
9a5c187abc Add material render state and pipeline caching 2026-03-27 12:18:04 +08:00
f68da2e3f9 Add material render metadata and loader parsing 2026-03-27 00:30:49 +08:00
e174862b8a Import material textures with mesh assets 2026-03-26 16:22:24 +08:00
6f1cbbf305 Add mesh bounds metadata 2026-03-26 03:26:44 +08:00
cb05472205 Add assimp-based mesh import 2026-03-26 02:53:34 +08:00
d575532966 docs: update TEST_SPEC.md and README.md to reflect new directory structure
- TEST_SPEC.md: Updated test directory structure to reflect Core/Asset,
  Core/IO, and Resources/<Type> subdirectories
- TEST_SPEC.md: Updated module names and test counts (852 total)
- TEST_SPEC.md: Updated build commands for new Resources subdirectories
- README.md: Updated engine structure with Core/Asset/ and Core/IO/
- README.md: Updated Resources section with layered architecture
- README.md: Updated test coverage table with accurate counts
2026-03-24 16:14:05 +08:00
50c0ffdb9e refactor: reorganize Resources module into Core/Asset, Core/IO and Resources subdirectories
- Split core resource architecture into Core/Asset/ (IResource, ResourceManager, ResourceCache, etc.)
- Moved IO layer into Core/IO/ (IResourceLoader, ResourceFileSystem, etc.)
- Reorganized concrete resource types into Resources/{Texture,Mesh,Material,Shader,AudioClip}/
- Updated all include paths from relative to <XCEngine/...> format
- Fixed circular dependency in Material.h (removed unnecessary ResourceManager.h include)
- Fixed malformed include syntax in ResourceManager.h and AsyncLoader.h
- Fixed glad.h path issues in CMakeLists.txt
2026-03-24 14:46:17 +08:00
2432a646ce Fix audio module: implement WAV parsing and audio playback
- Implement ParseWAVData and ParseWAVHeader in AudioLoader to properly
  parse WAV file headers (sample rate, channels, bits per sample, duration)
- Modify Load() to call ParseWAVData for WAV files during loading
- Add DecodeAudioData() to AudioSourceComponent to decode PCM bytes to float
- Update SetClip() to trigger audio decoding
- Fix ProcessAudio() to read from decoded data instead of empty output buffer
- Add WAV parsing unit tests (ParseWAV_Mono44100_16bit, ParseWAV_Stereo48000_16bit)

Fixes issues:
- AudioLoader::ParseWAVData was a stub returning true without parsing
- AudioLoader::Load didn't extract audio metadata from WAV headers
- AudioSourceComponent::ProcessAudio read from empty m_outputBuffer

All 167 tests pass.
2026-03-22 02:03:51 +08:00
fc7c8f6797 feat: 完成资源系统导入设置类实现
- 新增 ImportSettings 基类
- 新增 TextureImportSettings 纹理导入设置类
- 新增 MeshImportSettings 网格导入设置类
- 新增 ResourcePath 资源路径类
- 完善 CMakeLists.txt 配置
- 新增对应单元测试 (45个测试用例)
2026-03-18 13:39:32 +08:00
3196261e9b fix(RHI): 添加 OpenGL 源文件到 CMakeLists 并修复编译错误
- 添加 OpenGL RHI 所有源文件到 engine/CMakeLists.txt
- 修复 OpenGLPipelineState 结构体重定义问题
- 修复 BufferDesc/TextureDesc/ShaderCompileDesc API 不匹配
- 添加 OpenGLShader 缺少的基类纯虚函数实现
- 修复 HashMap 迭代器支持和 ResourceManager API 调用
2026-03-18 03:37:34 +08:00
8344057886 feat(resources): add LoadGroup and UnloadGroup for batch resource loading 2026-03-18 03:20:18 +08:00
d2585f14b3 feat(Resources): Add ResourceDependencyGraph for resource dependency tracking
- Implement dependency graph for resource management
- Add/remove nodes and dependencies
- Reference counting support
- Circular dependency detection
- Add unit tests
2026-03-18 01:13:02 +08:00
bd69c3e124 feat(Resources): Add ResourcePackage system for asset bundling
- Implement ResourcePackageBuilder for creating .xcp packages
- Implement ResourcePackage for reading packaged assets
- Add unit tests for package builder and package reader
2026-03-18 00:49:22 +08:00
02ca59edf6 test(Resources): Add comprehensive resource system tests (8 new test files, +48 test cases)
- Add Shader tests (8 test cases)
- Add Material tests (13 test cases)
- Add FileArchive tests (7 test cases)
- Add Loader tests for Texture, Mesh, Audio, Shader, Material (4 tests each)
- Implement IResourceLoader.cpp with ReadFileData and GetExtension
- Update CMakeLists.txt to include new test files and source
2026-03-18 00:09:06 +08:00
417477c2ca feat: Implement resource system Phase 4.5 - ResourceFileSystem (4 files, +305 lines) 2026-03-17 22:43:59 +08:00
4710e6ba60 feat: Implement resource system Phase 2 - Concrete resource types
- Add Material class with shader/texture bindings and property system
- Add MaterialLoader for .mat/.json format
- Add Shader class (Vertex/Fragment/Geometry/Compute)
- Add ShaderLoader for .vert/.frag/.glsl/.hlsl
- Add AudioClip class (WAV/OGG/MP3/FLAC support)
- Add AudioLoader for audio files
- Add Texture/Mesh classes and loaders (from design doc)
- Fix HashMap iterator and String API usage
- Fix Mutex compatibility with std::lock_guard
- Update CMakeLists.txt with new resource files
- All tests pass: 11 Resources + 51 Containers
2026-03-17 22:32:27 +08:00