Implement advanced rendering controls (Anti-Aliasing, Shadows) and update world settings equality tests
This commit is contained in:
@@ -20559,6 +20559,45 @@ export function App({
|
|||||||
|
|
||||||
{!advancedRendering.enabled ? null : (
|
{!advancedRendering.enabled ? null : (
|
||||||
<>
|
<>
|
||||||
|
<div className="form-section">
|
||||||
|
<div className="label">Anti-Aliasing</div>
|
||||||
|
<label className="form-field form-field--toggle">
|
||||||
|
<span className="label">Enabled</span>
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
checked={advancedRendering.antiAliasing.enabled}
|
||||||
|
onChange={(event) =>
|
||||||
|
applyAdvancedRenderingAntiAliasingEnabled(
|
||||||
|
event.currentTarget.checked
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</label>
|
||||||
|
<label className="form-field">
|
||||||
|
<span className="label">Method</span>
|
||||||
|
<select
|
||||||
|
className="select-input"
|
||||||
|
value={advancedRendering.antiAliasing.mode}
|
||||||
|
onChange={(event) =>
|
||||||
|
applyAdvancedRenderingAntiAliasingMode(
|
||||||
|
event.currentTarget
|
||||||
|
.value as AdvancedRenderingAntiAliasingMode
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{ADVANCED_RENDERING_ANTI_ALIASING_MODES.map(
|
||||||
|
(mode) => (
|
||||||
|
<option key={mode} value={mode}>
|
||||||
|
{formatAdvancedRenderingAntiAliasingModeLabel(
|
||||||
|
mode
|
||||||
|
)}
|
||||||
|
</option>
|
||||||
|
)
|
||||||
|
)}
|
||||||
|
</select>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="form-section">
|
<div className="form-section">
|
||||||
<div className="label">Shadows</div>
|
<div className="label">Shadows</div>
|
||||||
<label className="form-field form-field--toggle">
|
<label className="form-field form-field--toggle">
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ describe("world settings helpers", () => {
|
|||||||
expect(clone.advancedRendering.dynamicGlobalIllumination).not.toBe(
|
expect(clone.advancedRendering.dynamicGlobalIllumination).not.toBe(
|
||||||
source.advancedRendering.dynamicGlobalIllumination
|
source.advancedRendering.dynamicGlobalIllumination
|
||||||
);
|
);
|
||||||
|
expect(clone.advancedRendering.antiAliasing).not.toBe(
|
||||||
|
source.advancedRendering.antiAliasing
|
||||||
|
);
|
||||||
expect(clone.advancedRendering.whiteboxBevel).not.toBe(
|
expect(clone.advancedRendering.whiteboxBevel).not.toBe(
|
||||||
source.advancedRendering.whiteboxBevel
|
source.advancedRendering.whiteboxBevel
|
||||||
);
|
);
|
||||||
@@ -178,6 +181,15 @@ describe("world settings helpers", () => {
|
|||||||
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("treats anti-aliasing settings as part of authored world equality", () => {
|
||||||
|
const left = createDefaultWorldSettings();
|
||||||
|
const right = cloneWorldSettings(left);
|
||||||
|
|
||||||
|
right.advancedRendering.antiAliasing.mode = "fxaa";
|
||||||
|
|
||||||
|
expect(areWorldSettingsEqual(left, right)).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
it("treats god rays settings as part of authored world equality", () => {
|
it("treats god rays settings as part of authored world equality", () => {
|
||||||
const left = createDefaultWorldSettings();
|
const left = createDefaultWorldSettings();
|
||||||
const right = cloneWorldSettings(left);
|
const right = cloneWorldSettings(left);
|
||||||
|
|||||||
Reference in New Issue
Block a user