engine: sync editor rendering and ui changes

This commit is contained in:
2026-04-08 16:09:15 +08:00
parent 31756847ab
commit 162f1cc12e
153 changed files with 4454 additions and 2990 deletions

View File

@@ -17,6 +17,8 @@ using XCEngine::Editor::ViewportObjectIdReadbackRequest;
using XCEngine::RHI::RHICommandQueue;
using XCEngine::RHI::RHITexture;
using XCEngine::RHI::ResourceStates;
using XCEngine::UI::UIPoint;
using XCEngine::UI::UISize;
RHICommandQueue* MakeDummyQueue() {
return reinterpret_cast<RHICommandQueue*>(static_cast<uintptr_t>(0x1));
@@ -34,8 +36,8 @@ ViewportObjectIdPickContext CreateValidContext() {
context.textureWidth = 1280;
context.textureHeight = 720;
context.hasValidFrame = true;
context.viewportSize = ImVec2(1280.0f, 720.0f);
context.viewportMousePosition = ImVec2(640.0f, 360.0f);
context.viewportSize = UISize(1280.0f, 720.0f);
context.viewportMousePosition = UIPoint(640.0f, 360.0f);
return context;
}
@@ -59,17 +61,17 @@ TEST(ViewportObjectIdPickerTest, CanPickRejectsMissingOrOutOfBoundsInputs) {
EXPECT_FALSE(CanPickViewportObjectId(context));
context = CreateValidContext();
context.viewportMousePosition = ImVec2(-1.0f, 10.0f);
context.viewportMousePosition = UIPoint(-1.0f, 10.0f);
EXPECT_FALSE(CanPickViewportObjectId(context));
context = CreateValidContext();
context.viewportMousePosition = ImVec2(10.0f, 721.0f);
context.viewportMousePosition = UIPoint(10.0f, 721.0f);
EXPECT_FALSE(CanPickViewportObjectId(context));
}
TEST(ViewportObjectIdPickerTest, BuildReadbackRequestMapsViewportCoordinatesToTexturePixels) {
ViewportObjectIdPickContext context = CreateValidContext();
context.viewportMousePosition = ImVec2(1280.0f, 720.0f);
context.viewportMousePosition = UIPoint(1280.0f, 720.0f);
ViewportObjectIdReadbackRequest request = {};
ASSERT_TRUE(BuildViewportObjectIdReadbackRequest(context, request));