Commit Graph

153 Commits

Author SHA1 Message Date
0c24c7c611 Add XCUI runtime screen stack helper 2026-04-05 06:05:54 +08:00
ade5be31d6 Add XCUI runtime screen layer and demo textarea 2026-04-05 05:14:16 +08:00
67a28bdd4a Add XCUI new editor sandbox phase 1 2026-04-05 04:55:25 +08:00
6a5c23dce2 build: upgrade project targets to c++20 2026-04-05 03:05: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
013e5a73b9 Fix XCUI style CMake source paths 2026-04-04 19:43:35 +08:00
95c4a50186 Add XCUI style theme token system 2026-04-04 19:34:29 +08:00
c2cb2e5914 Archive XCUI subplan 04 2026-04-04 19:04:28 +08:00
611ca705c8 Add XCUI input focus shortcut MVP 2026-04-04 18:55:20 +08:00
9e8810e593 Add depth-only and shadow-caster pass skeletons 2026-04-04 14:27:44 +08:00
e8f64407ba Remove scene viewport postprocess API from engine 2026-04-03 15:26:17 +08:00
a05d0b80a2 feat: expand editor scripting asset and viewport flow 2026-04-03 13:22:30 +08:00
fb15d60be9 feat: add runtime play tick and play-mode scene editing semantics 2026-04-02 19:37:35 +08:00
ec7a15d85b refactor: generalize renderer builtin post process 2026-04-02 14:49:00 +08:00
0d3851204f refactor: move scene view post passes into rendering 2026-04-02 04:42:35 +08:00
4c167bec0e Implement initial Unity-style asset library cache 2026-04-02 03:03:36 +08:00
569bc144e7 refactor: split scene render request planning 2026-04-02 01:06:40 +08:00
55b3021159 refactor: move scene view selection utilities into renderer 2026-04-01 19:03:58 +08:00
44771d3cc1 refactor: move scene view post-pass planning into renderer 2026-04-01 18:42:51 +08:00
1ff2800b29 refactor: move scene view infinite grid pass into renderer 2026-04-01 18:31:30 +08:00
12b1081dd0 refactor: move object id outline pass into renderer 2026-04-01 17:47:49 +08:00
6927b4b380 feat: add gpu object id scene picking 2026-04-01 16:44:11 +08:00
2a31628db1 Add rendering pass sequence scaffolding 2026-03-30 02:22:17 +08:00
eb5de3e3d4 Add backpack editor startup scene 2026-03-28 19:26:08 +08:00
6fcb6ac8fb refactor: back editor host rendering with engine rhi 2026-03-28 16:50:04 +08:00
5a49812ea9 Add Vulkan GLSL shader compilation path 2026-03-27 19:30:28 +08:00
53ac1dbc44 Add Vulkan shader, UAV, and compute coverage 2026-03-27 18:55:38 +08:00
dbec62608c Introduce CameraRenderRequest scheduling and fix Vulkan build 2026-03-27 16:57:04 +08:00
26035e3940 Add CameraRenderer scene rendering boundary 2026-03-27 16:22:59 +08:00
727b6ca249 Add Vulkan quad integration path 2026-03-27 13:52:56 +08:00
b06932724c feat(scripting): add mono csharp runtime foundation 2026-03-27 13:07:39 +08:00
79e7452245 Add Vulkan triangle integration path 2026-03-27 12:40:17 +08:00
c33404767e Add Vulkan RHI minimal backend path 2026-03-27 12:05:12 +08:00
9a2d77b81d Add script runtime lifecycle skeleton 2026-03-26 20:45:41 +08:00
0921f2a459 Prepare script lifecycle and data layer 2026-03-26 20:14:58 +08:00
cb05472205 Add assimp-based mesh import 2026-03-26 02:53:34 +08:00
d018a4c82c feat(editor): unify component registration pipeline 2026-03-26 02:24:11 +08:00
0651666d8c Fix editor scene persistence and XC scene workflow 2026-03-26 01:26:26 +08:00
605ef56e16 Add pipeline layout support for graphics PSOs 2026-03-25 23:49:48 +08:00
81532983f0 refactor: Rename CompileShader to CreateShader in RHIDevice interface
- Update RHIDevice::CompileShader to CreateShader in base interface
- Add RHIScreenshot.h/cpp to CMakeLists.txt
2026-03-25 19:01:55 +08:00
cad6f586fb Editor: Fix InspectorPanel AddComponent popup crash
- Remove SeparatorText which causes PopStyleVar mismatch in ImGui
- Add stderr redirection for better error capture
- Add debug logging to InspectorPanel
- Fix EditorLayer commented out undefined functions
2026-03-25 12:56:51 +08:00
0948e0fdbe docs: Update RHI test refactoring status
- Mark P0-1 (Shader) and P0-2 (PipelineState) as completed
- Update test coverage matrix
- Add changelog v1.1
2026-03-25 12:30:05 +08:00
c6fe9547aa RHI: Add DescriptorSet abstraction for D3D12 and OpenGL backends
- Add RHIDescriptorSet base class with Update/UpdateSampler/GetNativeHandle
- Add RHIDescriptorPool with AllocateSet/FreeSet methods
- Add SetGraphicsDescriptorSets/SetComputeDescriptorSets to RHICommandList
- Implement D3D12DescriptorSet using descriptor heap allocation
- Implement OpenGLDescriptorSet using TextureUnitAllocator
- Add CreateDescriptorPool/CreateDescriptorSet factory methods to RHIDevice
- Fix unit test SetVertexBuffer -> SetVertexBuffers API
- Add SetVertexBuffer convenience method for D3D12 backward compatibility
- Update CMakeLists.txt with new source files
2026-03-25 00:26:16 +08:00
0f5d018c1a refactor(RHI): 完成 Shader uniform 设置迁移到 CommandList
- 删除 RHIShader 的 OpenGL 风格 SetMat4/SetVec3/SetInt 等方法
- 添加 UniformInfo 结构体和 GetUniformInfos/GetUniformInfo 接口
- D3D12Shader 和 OpenGLShader 实现 CacheUniformInfos
- RHICommandList 添加 SetUniform*/SetGlobal* 统一接口
- D3D12 实现 D3D12PipelineLayout 管理 root signature 映射
- 修复 D3D12CommandList::SetPipelineStateInternal 在 Reset 后未重新应用 root signature 的问题
- 更新 OpenGL 集成测试使用新的 SetUniform* API
- 所有单元测试和集成测试通过 (8/8 integration tests)
2026-03-24 19:47:22 +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
0a3fe842b9 Refactor RHI ResourceView abstraction layer for unified cross-platform interface
- Create unified RHIResourceView base interface with type-specific Initialize methods
- Implement D3D12ResourceView with RTV/DSV/SRV/UAV/CBV support
- Implement OpenGL ResourceView simulation layer using FBO, texture units, and UBO
- Add OpenGLTextureUnitAllocator for managing texture unit bindings
- Add OpenGLUniformBufferManager for UBO binding points
- Add OpenGLFramebuffer for FBO management
- Remove deprecated D3D12 view classes (RenderTargetView, DepthStencilView, etc.)
- Fix ExecuteCommandLists type confusion bug by adding GetNativeHandle to RHICommandList
- Fix test bug where Close() was called before ExecuteCommandLists
- Update all integration tests to use new D3D12ResourceView class
- All tests pass: 144 unit tests + 8 integration tests
2026-03-24 03:49:13 +08:00
067c82c3a9 refactor: RHI抽象层测试支持参数化
- 将RHITestFixture改为TestWithParam<RHIType>,支持D3D12和OpenGL双后端
- 重构RHIFactory.cpp的include结构,修复OpenGL设备创建
- 在CMakeLists.txt中添加XCENGINE_SUPPORT_OPENGL宏定义
- 更新engine/CMakeLists.txt和tests/RHI/unit/CMakeLists.txt
- 将所有TEST_F改为TEST_P以支持参数化测试

测试结果: 138 tests (D3D12: 58 passed / OpenGL: 48 passed)
2026-03-23 19:17:32 +08:00
81dc337262 feat: add RenderDocCapture to Debug module for frame capture debugging
- Add RenderDocCapture class for dynamic loading of renderdoc.dll
- Support BeginCapture/EndCapture/TriggerCapture APIs
- Add RenderDoc log category
- Add unit tests for RenderDocCapture in tests/debug
2026-03-23 17:11:01 +08:00
f427699ac6 refactor: improve test infrastructure and fix OpenGL GLAD initialization
- Rename D3D12Enum.h to D3D12Enums.h for naming consistency
- Fix OpenGL unit test GLAD initialization by using gladLoadGL()
  instead of gladLoadGLLoader(wglGetProcAddress) for fallback support
- Migrate remaining tests to use gtest_discover_tests for granular
  test discovery (math, core, containers, memory, threading, debug,
  components, scene, resources, input, opengl)
- Remove obsolete TEST_RESOURCES_DIR and copy_directory commands
  from OpenGL unit test CMakeLists (minimal/Res doesn't exist)
- Update TEST_SPEC.md with performance metrics and per-module
  build/test commands for faster development workflow
- Update CMake path references to use lowercase paths
2026-03-23 00:43:02 +08:00