feat: add explicit camera clear modes

This commit is contained in:
2026-04-01 01:33:46 +08:00
parent 96a66d6f6d
commit 51736253e3
5 changed files with 65 additions and 2 deletions

View File

@@ -3,6 +3,8 @@
#include <XCEngine/Components/CameraComponent.h>
#include <XCEngine/Components/LightComponent.h>
#include <sstream>
using namespace XCEngine::Components;
namespace {
@@ -16,6 +18,7 @@ TEST(CameraComponent_Test, DefaultValues) {
EXPECT_FLOAT_EQ(camera.GetNearClipPlane(), 0.1f);
EXPECT_FLOAT_EQ(camera.GetFarClipPlane(), 1000.0f);
EXPECT_TRUE(camera.IsPrimary());
EXPECT_EQ(camera.GetClearMode(), CameraClearMode::Auto);
}
TEST(CameraComponent_Test, SetterClamping) {
@@ -32,6 +35,19 @@ TEST(CameraComponent_Test, SetterClamping) {
EXPECT_GT(camera.GetFarClipPlane(), camera.GetNearClipPlane());
}
TEST(CameraComponent_Test, SerializeRoundTripPreservesClearMode) {
CameraComponent source;
source.SetClearMode(CameraClearMode::DepthOnly);
std::stringstream stream;
source.Serialize(stream);
CameraComponent target;
target.Deserialize(stream);
EXPECT_EQ(target.GetClearMode(), CameraClearMode::DepthOnly);
}
TEST(LightComponent_Test, DefaultValues) {
LightComponent light;