Files
2026-04-29 07:19:21 +03:00

126 lines
4.9 KiB
QML

// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick3D.Helpers.impl
SceneEffectEnvironment {
id: sceneEnvironment
// SSGI Effect
property alias ssgiEnabled: ssgiEffect.enabled
property alias ssgiIndirectLightEnabled: ssgiEffect.indirectLightEnabled
property alias ssgiIndirectLightBoost: ssgiEffect.indirectLightBoost
property alias ssgiBufferSizeFactor: ssgiEffect.bufferSizeFactor
property alias ssgiSimulatedBounceEnabled: ssgiEffect.simulatedBounceEnabled
property alias ssgiSimulatedBounceFactor: ssgiEffect.simulatedBounceFactor
property alias ssgiSampleCount: ssgiEffect.sampleCount
property alias ssgiSampleRadius: ssgiEffect.sampleRadius
property alias ssgiSliceCount: ssgiEffect.sliceCount
property alias ssgiHitThickness: ssgiEffect.hitThickness
// SSR Effect
property alias ssrEnabled: ssrEffect.enabled
// Depth of Field Effect
property alias depthOfFieldEnabled: dofBlurEffect.enabled
property alias depthOfFieldFocusDistance: dofBlurEffect.focusDistance
property alias depthOfFieldFocusRange: dofBlurEffect.focusRange
property alias depthOfFieldBlurAmount: dofBlurEffect.blurAmount
// Tonemapper
property alias exposure: sceneEffect.exposure
property alias whitePoint: sceneEffect.white
property alias ditheringEnabled: sceneEffect.ditheringEnabled
property alias sharpnessAmount: sceneEffect.sharpnessAmount
// FXAA
property alias fxaaEnabled: sceneEffect.applyFXAA
// Adjustments
property alias colorAdjustmentsEnabled: sceneEffect.colorAdjustmentsEnabled
property alias adjustmentBrightness: sceneEffect.adjustmentBrightness
property alias adjustmentContrast: sceneEffect.adjustmentContrast
property alias adjustmentSaturation: sceneEffect.adjustmentSaturation
// Color Grading Effect
property alias lutEnabled: sceneEffect.enableLut
property alias lutSize: sceneEffect.lutSize
property alias lutFilterAlpha: sceneEffect.lutFilterAlpha
property alias lutTexture: sceneEffect.lutTextureAlias
// Glow Effect
enum GlowBlendMode {
Additive,
Screen,
SoftLight, // Default
Replace
}
enum GlowLevel {
One = 0x1,
Two = 0x2,
Three = 0x4,
Four = 0x8,
Five = 0x10,
Six = 0x20,
Seven = 0x40
}
property alias glowEnabled: sceneEffect.isGlowEnabled
property alias glowQualityHigh: sceneEffect.glowQualityHigh
property alias glowUseBicubicUpscale: sceneEffect.glowUseBicubicUpscale
property alias glowStrength: sceneEffect.glowStrength
property alias glowIntensity: sceneEffect.glowIntensity
property alias glowBloom: sceneEffect.glowBloom
property alias glowBlendMode: sceneEffect.glowBlendMode
property alias glowHDRMaximumValue: sceneEffect.glowHDRMaximumValue
property alias glowHDRScale: sceneEffect.glowHDRScale
property alias glowHDRMinimumValue: sceneEffect.glowHDRMinimumValue
property alias glowLevel: sceneEffect.glowLevel
// Vignette
property alias vignetteEnabled: sceneEffect.vignetteEnabled
property alias vignetteStrength: sceneEffect.vignetteStrength
property alias vignetteColor: sceneEffect.vignetteColor
property alias vignetteRadius: sceneEffect.vignetteRadius
// Lens Flare
property alias lensFlareEnabled: sceneEffect.lensFlareEnabled
property alias lensFlareBloomScale: sceneEffect.lensFlareBloomScale
property alias lensFlareBloomBias: sceneEffect.lensFlareBloomBias
property alias lensFlareGhostDispersal: sceneEffect.lensFlareGhostDispersal
property alias lensFlareGhostCount: sceneEffect.lensFlareGhostCount
property alias lensFlareHaloWidth: sceneEffect.lensFlareHaloWidth
property alias lensFlareStretchToAspect: sceneEffect.lensFlareStretchToAspect
property alias lensFlareDistortion: sceneEffect.lensFlareDistortion
property alias lensFlareBlurAmount: sceneEffect.lensFlareBlurAmount
property alias lensFlareApplyDirtTexture: sceneEffect.lensFlareApplyDirtTexture
property alias lensFlareApplyStarburstTexture: sceneEffect.lensFlareApplyStarburstTexture
property alias lensFlareCameraDirection: sceneEffect.lensFlareCameraDirection
property alias lensFlareLensColorTexture: sceneEffect.lensColorTextureAlias
property alias lensFlareLensDirtTexture: sceneEffect.lensDirtTextureAlias
property alias lensFlareLensStarburstTexture: sceneEffect.starburstTextureAlias
SsgiEffect {
id: ssgiEffect
environment: sceneEnvironment
}
SsrEffect {
id: ssrEffect
environment: sceneEnvironment
}
DepthOfFieldBlur {
id: dofBlurEffect
environment: sceneEnvironment
}
SceneEffect {
id: sceneEffect
environment: sceneEnvironment
tonemapMode: sceneEnvironment.tonemapMode
}
}