Add unit tests for dynamic global illumination parameter resolution
This commit is contained in:
@@ -191,6 +191,53 @@ describe("resolveBoxVolumeRenderPaths", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("resolveDynamicGlobalIlluminationParameters", () => {
|
||||||
|
it("uses bounded low-cost parameters by default", () => {
|
||||||
|
const settings =
|
||||||
|
createDefaultWorldSettings().advancedRendering.dynamicGlobalIllumination;
|
||||||
|
settings.enabled = true;
|
||||||
|
|
||||||
|
expect(resolveDynamicGlobalIlluminationParameters(settings)).toMatchObject({
|
||||||
|
enabled: true,
|
||||||
|
intensity: 1.25,
|
||||||
|
radius: 3.5,
|
||||||
|
quality: "low",
|
||||||
|
sliceCount: 1,
|
||||||
|
stepCount: 6,
|
||||||
|
maxLuminance: 7
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("clamps authored intensity and radius to bounded renderer values", () => {
|
||||||
|
const settings =
|
||||||
|
createDefaultWorldSettings().advancedRendering.dynamicGlobalIllumination;
|
||||||
|
settings.enabled = true;
|
||||||
|
settings.intensity = 25;
|
||||||
|
settings.radius = 100;
|
||||||
|
settings.quality = "medium";
|
||||||
|
|
||||||
|
expect(resolveDynamicGlobalIlluminationParameters(settings)).toMatchObject({
|
||||||
|
enabled: true,
|
||||||
|
intensity: 4,
|
||||||
|
radius: 8,
|
||||||
|
quality: "medium",
|
||||||
|
sliceCount: 2,
|
||||||
|
stepCount: 8
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it("disables the pass when the authored intensity is zero", () => {
|
||||||
|
const settings =
|
||||||
|
createDefaultWorldSettings().advancedRendering.dynamicGlobalIllumination;
|
||||||
|
settings.enabled = true;
|
||||||
|
settings.intensity = 0;
|
||||||
|
|
||||||
|
expect(resolveDynamicGlobalIlluminationParameters(settings).enabled).toBe(
|
||||||
|
false
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe("createAdvancedRenderingComposer", () => {
|
describe("createAdvancedRenderingComposer", () => {
|
||||||
it("keeps depth buffering enabled when the post stack only uses color effects", () => {
|
it("keeps depth buffering enabled when the post stack only uses color effects", () => {
|
||||||
postprocessingState.composerOptions.length = 0;
|
postprocessingState.composerOptions.length = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user