chore: checkpoint current workspace changes
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <XCEngine/Core/Asset/AssetDatabase.h>
|
||||
#include <XCEngine/Core/Asset/ArtifactContainer.h>
|
||||
#include <XCEngine/Core/Asset/ArtifactFormats.h>
|
||||
#include <XCEngine/Core/Asset/AssetRef.h>
|
||||
#include <XCEngine/Core/Asset/ResourceManager.h>
|
||||
#include <XCEngine/Core/Math/Bounds.h>
|
||||
@@ -446,7 +448,18 @@ TEST(GaussianSplatLoader, AssetDatabaseImportsSyntheticPlyAndLinearizesData) {
|
||||
ASSERT_TRUE(database.EnsureArtifact("Assets/sample.ply", ResourceType::GaussianSplat, resolved));
|
||||
ASSERT_TRUE(resolved.artifactReady);
|
||||
EXPECT_TRUE(fs::exists(resolved.artifactMainPath.CStr()));
|
||||
EXPECT_FALSE(resolved.artifactMainEntryPath.Empty());
|
||||
EXPECT_NE(resolved.artifactMainEntryPath, resolved.artifactMainPath);
|
||||
EXPECT_EQ(fs::path(resolved.artifactMainPath.CStr()).extension().generic_string(), ".xcgsplat");
|
||||
XCEngine::Containers::Array<XCEngine::Core::uint8> artifactPayload;
|
||||
EXPECT_TRUE(ReadArtifactContainerMainEntryPayload(
|
||||
resolved.artifactMainPath,
|
||||
ResourceType::GaussianSplat,
|
||||
artifactPayload));
|
||||
ASSERT_GE(artifactPayload.Size(), sizeof(GaussianSplatArtifactFileHeader));
|
||||
GaussianSplatArtifactFileHeader artifactFileHeader = {};
|
||||
std::memcpy(&artifactFileHeader, artifactPayload.Data(), sizeof(artifactFileHeader));
|
||||
EXPECT_EQ(std::memcmp(artifactFileHeader.magic, "XCGSP01", 7), 0);
|
||||
|
||||
GaussianSplatLoader loader;
|
||||
LoadResult result = loader.Load(resolved.artifactMainPath);
|
||||
@@ -485,6 +498,12 @@ TEST(GaussianSplatLoader, AssetDatabaseImportsSyntheticPlyAndLinearizesData) {
|
||||
EXPECT_NEAR(gaussianSplat->GetSHRecords()[1].coefficients[44], vertices[1].sh[44], 1e-6f);
|
||||
|
||||
delete gaussianSplat;
|
||||
|
||||
LoadResult entryResult = loader.Load(resolved.artifactMainEntryPath);
|
||||
ASSERT_TRUE(entryResult);
|
||||
ASSERT_NE(entryResult.resource, nullptr);
|
||||
delete entryResult.resource;
|
||||
|
||||
database.Shutdown();
|
||||
fs::remove_all(projectRoot);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user