feat: add camera culling masks

This commit is contained in:
2026-04-01 01:42:06 +08:00
parent 51736253e3
commit 0fe02fd1b4
9 changed files with 81 additions and 3 deletions

View File

@@ -19,6 +19,7 @@ TEST(CameraComponent_Test, DefaultValues) {
EXPECT_FLOAT_EQ(camera.GetFarClipPlane(), 1000.0f);
EXPECT_TRUE(camera.IsPrimary());
EXPECT_EQ(camera.GetClearMode(), CameraClearMode::Auto);
EXPECT_EQ(camera.GetCullingMask(), 0xFFFFFFFFu);
}
TEST(CameraComponent_Test, SetterClamping) {
@@ -38,6 +39,7 @@ TEST(CameraComponent_Test, SetterClamping) {
TEST(CameraComponent_Test, SerializeRoundTripPreservesClearMode) {
CameraComponent source;
source.SetClearMode(CameraClearMode::DepthOnly);
source.SetCullingMask(0x0000000Fu);
std::stringstream stream;
source.Serialize(stream);
@@ -46,6 +48,7 @@ TEST(CameraComponent_Test, SerializeRoundTripPreservesClearMode) {
target.Deserialize(stream);
EXPECT_EQ(target.GetClearMode(), CameraClearMode::DepthOnly);
EXPECT_EQ(target.GetCullingMask(), 0x0000000Fu);
}
TEST(LightComponent_Test, DefaultValues) {

View File

@@ -4,6 +4,8 @@
#include <XCEngine/Scene/Scene.h>
#include <XCEngine/Core/Math/Vector3.h>
#include <sstream>
using namespace XCEngine::Components;
using namespace XCEngine::Math;
@@ -64,6 +66,20 @@ TEST(GameObject_Test, NamedConstructor) {
EXPECT_EQ(go.GetName(), "TestObject");
}
TEST(GameObject_Test, Layer_GetSetAndSerializeRoundTrip) {
GameObject source("LayeredObject");
source.SetLayer(7);
std::stringstream stream;
source.Serialize(stream);
GameObject target;
target.Deserialize(stream);
EXPECT_EQ(source.GetLayer(), 7u);
EXPECT_EQ(target.GetLayer(), 7u);
}
TEST(GameObject_Test, AddComponent_Single) {
GameObject go;