Add lens flare settings to advanced rendering configuration

This commit is contained in:
2026-05-19 21:09:02 +02:00
parent 9af35d8bea
commit 5a91424f83

View File

@@ -196,6 +196,14 @@ export interface AdvancedRenderingGodRaysSettings {
samples: number; samples: number;
} }
export interface AdvancedRenderingLensFlareSettings {
enabled: boolean;
intensity: number;
haloSize: number;
ghostIntensity: number;
ghostCount: number;
}
export interface FoliageQualitySettings { export interface FoliageQualitySettings {
enabled: boolean; enabled: boolean;
densityMultiplier: number; densityMultiplier: number;
@@ -214,6 +222,7 @@ export interface AdvancedRenderingSettings {
whiteboxBevel: AdvancedRenderingWhiteboxBevelSettings; whiteboxBevel: AdvancedRenderingWhiteboxBevelSettings;
distanceFog: AdvancedRenderingDistanceFogSettings; distanceFog: AdvancedRenderingDistanceFogSettings;
godRays: AdvancedRenderingGodRaysSettings; godRays: AdvancedRenderingGodRaysSettings;
lensFlare: AdvancedRenderingLensFlareSettings;
foliage: FoliageQualitySettings; foliage: FoliageQualitySettings;
fogPath: BoxVolumeRenderPath; fogPath: BoxVolumeRenderPath;
waterPath: BoxVolumeRenderPath; waterPath: BoxVolumeRenderPath;
@@ -319,6 +328,11 @@ const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_EXPOSURE = 0.28;
const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_DENSITY = 0.72; const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_DENSITY = 0.72;
const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SOURCE_SIZE = 1; const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SOURCE_SIZE = 1;
const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SAMPLES = 48; const DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SAMPLES = 48;
const DEFAULT_ADVANCED_RENDERING_LENS_FLARE_INTENSITY = 0.55;
const DEFAULT_ADVANCED_RENDERING_LENS_FLARE_HALO_SIZE = 1;
const DEFAULT_ADVANCED_RENDERING_LENS_FLARE_GHOST_INTENSITY = 0.65;
const DEFAULT_ADVANCED_RENDERING_LENS_FLARE_GHOST_COUNT = 5;
export const MAX_ADVANCED_RENDERING_LENS_FLARE_GHOST_COUNT = 8 as const;
const DEFAULT_FOLIAGE_QUALITY_ENABLED = true; const DEFAULT_FOLIAGE_QUALITY_ENABLED = true;
const DEFAULT_FOLIAGE_QUALITY_DENSITY_MULTIPLIER = 1; const DEFAULT_FOLIAGE_QUALITY_DENSITY_MULTIPLIER = 1;
const DEFAULT_FOLIAGE_QUALITY_MAX_DISTANCE_MULTIPLIER = 1; const DEFAULT_FOLIAGE_QUALITY_MAX_DISTANCE_MULTIPLIER = 1;
@@ -665,6 +679,14 @@ export function createDefaultAdvancedRenderingSettings(): AdvancedRenderingSetti
sourceSize: DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SOURCE_SIZE, sourceSize: DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SOURCE_SIZE,
samples: DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SAMPLES samples: DEFAULT_ADVANCED_RENDERING_GOD_RAYS_SAMPLES
}, },
lensFlare: {
enabled: false,
intensity: DEFAULT_ADVANCED_RENDERING_LENS_FLARE_INTENSITY,
haloSize: DEFAULT_ADVANCED_RENDERING_LENS_FLARE_HALO_SIZE,
ghostIntensity:
DEFAULT_ADVANCED_RENDERING_LENS_FLARE_GHOST_INTENSITY,
ghostCount: DEFAULT_ADVANCED_RENDERING_LENS_FLARE_GHOST_COUNT
},
foliage: createDefaultFoliageQualitySettings(), foliage: createDefaultFoliageQualitySettings(),
fogPath: DEFAULT_BOX_VOLUME_RENDER_PATH, fogPath: DEFAULT_BOX_VOLUME_RENDER_PATH,
waterPath: DEFAULT_BOX_VOLUME_RENDER_PATH, waterPath: DEFAULT_BOX_VOLUME_RENDER_PATH,
@@ -994,6 +1016,9 @@ export function cloneAdvancedRenderingSettings(
godRays: { godRays: {
...settings.godRays ...settings.godRays
}, },
lensFlare: {
...settings.lensFlare
},
foliage: cloneFoliageQualitySettings(settings.foliage), foliage: cloneFoliageQualitySettings(settings.foliage),
fogPath: settings.fogPath, fogPath: settings.fogPath,
waterPath: settings.waterPath, waterPath: settings.waterPath,
@@ -1198,6 +1223,11 @@ export function areAdvancedRenderingSettingsEqual(
left.godRays.density === right.godRays.density && left.godRays.density === right.godRays.density &&
left.godRays.sourceSize === right.godRays.sourceSize && left.godRays.sourceSize === right.godRays.sourceSize &&
left.godRays.samples === right.godRays.samples && left.godRays.samples === right.godRays.samples &&
left.lensFlare.enabled === right.lensFlare.enabled &&
left.lensFlare.intensity === right.lensFlare.intensity &&
left.lensFlare.haloSize === right.lensFlare.haloSize &&
left.lensFlare.ghostIntensity === right.lensFlare.ghostIntensity &&
left.lensFlare.ghostCount === right.lensFlare.ghostCount &&
areFoliageQualitySettingsEqual(left.foliage, right.foliage) && areFoliageQualitySettingsEqual(left.foliage, right.foliage) &&
left.fogPath === right.fogPath && left.fogPath === right.fogPath &&
left.waterPath === right.waterPath && left.waterPath === right.waterPath &&