feat(rendering): select managed SRP through asset instances
This commit is contained in:
@@ -313,21 +313,17 @@ TEST_F(MonoScriptRuntimeTest, ManagedGraphicsSettingsRoundTripsRenderPipelineAss
|
||||
EXPECT_EQ(descriptor.assemblyName, "GameScripts");
|
||||
EXPECT_EQ(descriptor.namespaceName, "Gameplay");
|
||||
EXPECT_EQ(descriptor.className, "RenderPipelineApiProbeAsset");
|
||||
EXPECT_NE(descriptor.managedAssetHandle, 0u);
|
||||
|
||||
bool invalidSelectionRejected = false;
|
||||
bool invalidSelectionMentionsScriptableBase = false;
|
||||
bool initialAssetWasNull = false;
|
||||
bool selectionRoundTripSucceeded = false;
|
||||
std::string selectedPipelineTypeName;
|
||||
bool selectionReferencePreserved = false;
|
||||
std::string selectedPipelineAssetTypeName;
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
script,
|
||||
"InvalidSelectionRejected",
|
||||
invalidSelectionRejected));
|
||||
EXPECT_TRUE(invalidSelectionRejected);
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
script,
|
||||
"InvalidSelectionMentionsScriptableBase",
|
||||
invalidSelectionMentionsScriptableBase));
|
||||
EXPECT_TRUE(invalidSelectionMentionsScriptableBase);
|
||||
"InitialAssetWasNull",
|
||||
initialAssetWasNull));
|
||||
EXPECT_TRUE(initialAssetWasNull);
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
script,
|
||||
"SelectionRoundTripSucceeded",
|
||||
@@ -335,10 +331,15 @@ TEST_F(MonoScriptRuntimeTest, ManagedGraphicsSettingsRoundTripsRenderPipelineAss
|
||||
EXPECT_TRUE(selectionRoundTripSucceeded);
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
script,
|
||||
"SelectedPipelineTypeName",
|
||||
selectedPipelineTypeName));
|
||||
"SelectionReferencePreserved",
|
||||
selectionReferencePreserved));
|
||||
EXPECT_TRUE(selectionReferencePreserved);
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
script,
|
||||
"SelectedPipelineAssetTypeName",
|
||||
selectedPipelineAssetTypeName));
|
||||
EXPECT_EQ(
|
||||
selectedPipelineTypeName,
|
||||
selectedPipelineAssetTypeName,
|
||||
"Gameplay.RenderPipelineApiProbeAsset");
|
||||
}
|
||||
|
||||
@@ -524,6 +525,7 @@ TEST_F(
|
||||
int observedRecordMainSceneCallCount = 0;
|
||||
int observedRecordSceneCallCount = 0;
|
||||
int observedRecordPostProcessCallCount = 0;
|
||||
XCEngine::Math::Vector4 observedPostProcessScale = {};
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"ObservedCreatePipelineCallCount",
|
||||
@@ -548,6 +550,10 @@ TEST_F(
|
||||
selectionScript,
|
||||
"ObservedRecordPostProcessCallCount",
|
||||
observedRecordPostProcessCallCount));
|
||||
EXPECT_TRUE(runtime->TryGetFieldValue(
|
||||
selectionScript,
|
||||
"ObservedPostProcessScale",
|
||||
observedPostProcessScale));
|
||||
|
||||
EXPECT_EQ(observedCreatePipelineCallCount, 1);
|
||||
EXPECT_GT(observedSupportsMainSceneCallCount, 0);
|
||||
@@ -555,6 +561,10 @@ TEST_F(
|
||||
EXPECT_EQ(observedRecordMainSceneCallCount, 1);
|
||||
EXPECT_EQ(observedRecordSceneCallCount, 1);
|
||||
EXPECT_EQ(observedRecordPostProcessCallCount, 1);
|
||||
EXPECT_FLOAT_EQ(observedPostProcessScale.x, 1.11f);
|
||||
EXPECT_FLOAT_EQ(observedPostProcessScale.y, 0.97f);
|
||||
EXPECT_FLOAT_EQ(observedPostProcessScale.z, 0.93f);
|
||||
EXPECT_FLOAT_EQ(observedPostProcessScale.w, 1.0f);
|
||||
}
|
||||
|
||||
TEST_F(
|
||||
@@ -859,6 +869,36 @@ TEST_F(
|
||||
EXPECT_FALSE(request.directionalShadow.IsValid());
|
||||
}
|
||||
|
||||
TEST_F(
|
||||
MonoScriptRuntimeTest,
|
||||
ManagedRenderPipelineAssetReturnsManagedDefaultFinalColorSettings) {
|
||||
const XCEngine::Rendering::Pipelines::ManagedRenderPipelineAssetDescriptor descriptor = {
|
||||
"GameScripts",
|
||||
"Gameplay",
|
||||
"ManagedFinalColorRenderPipelineProbeAsset"
|
||||
};
|
||||
|
||||
XCEngine::Rendering::Pipelines::ManagedScriptableRenderPipelineAsset asset(
|
||||
descriptor);
|
||||
const XCEngine::Rendering::FinalColorSettings settings =
|
||||
asset.GetDefaultFinalColorSettings();
|
||||
|
||||
EXPECT_EQ(
|
||||
settings.outputTransferMode,
|
||||
XCEngine::Rendering::FinalColorOutputTransferMode::LinearToSRGB);
|
||||
EXPECT_EQ(
|
||||
settings.exposureMode,
|
||||
XCEngine::Rendering::FinalColorExposureMode::Fixed);
|
||||
EXPECT_FLOAT_EQ(settings.exposureValue, 1.75f);
|
||||
EXPECT_EQ(
|
||||
settings.toneMappingMode,
|
||||
XCEngine::Rendering::FinalColorToneMappingMode::ACES);
|
||||
EXPECT_FLOAT_EQ(settings.finalColorScale.x, 0.90f);
|
||||
EXPECT_FLOAT_EQ(settings.finalColorScale.y, 1.10f);
|
||||
EXPECT_FLOAT_EQ(settings.finalColorScale.z, 1.20f);
|
||||
EXPECT_FLOAT_EQ(settings.finalColorScale.w, 1.0f);
|
||||
}
|
||||
|
||||
TEST_F(MonoScriptRuntimeTest, ClassFieldDefaultValueQueryReturnsNullComponentReferences) {
|
||||
std::vector<ScriptFieldDefaultValue> fields;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user