ExtendedSceneEnvironment.qml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. // Copyright (C) 2022 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
  3. import QtQuick
  4. import QtQuick3D.Helpers.impl
  5. SceneEffectEnvironment {
  6. id: sceneEnvironment
  7. // SSGI Effect
  8. property alias ssgiEnabled: ssgiEffect.enabled
  9. property alias ssgiIndirectLightEnabled: ssgiEffect.indirectLightEnabled
  10. property alias ssgiIndirectLightBoost: ssgiEffect.indirectLightBoost
  11. property alias ssgiBufferSizeFactor: ssgiEffect.bufferSizeFactor
  12. property alias ssgiSimulatedBounceEnabled: ssgiEffect.simulatedBounceEnabled
  13. property alias ssgiSimulatedBounceFactor: ssgiEffect.simulatedBounceFactor
  14. property alias ssgiSampleCount: ssgiEffect.sampleCount
  15. property alias ssgiSampleRadius: ssgiEffect.sampleRadius
  16. property alias ssgiSliceCount: ssgiEffect.sliceCount
  17. property alias ssgiHitThickness: ssgiEffect.hitThickness
  18. // SSR Effect
  19. property alias ssrEnabled: ssrEffect.enabled
  20. // Depth of Field Effect
  21. property alias depthOfFieldEnabled: dofBlurEffect.enabled
  22. property alias depthOfFieldFocusDistance: dofBlurEffect.focusDistance
  23. property alias depthOfFieldFocusRange: dofBlurEffect.focusRange
  24. property alias depthOfFieldBlurAmount: dofBlurEffect.blurAmount
  25. // Tonemapper
  26. property alias exposure: sceneEffect.exposure
  27. property alias whitePoint: sceneEffect.white
  28. property alias ditheringEnabled: sceneEffect.ditheringEnabled
  29. property alias sharpnessAmount: sceneEffect.sharpnessAmount
  30. // FXAA
  31. property alias fxaaEnabled: sceneEffect.applyFXAA
  32. // Adjustments
  33. property alias colorAdjustmentsEnabled: sceneEffect.colorAdjustmentsEnabled
  34. property alias adjustmentBrightness: sceneEffect.adjustmentBrightness
  35. property alias adjustmentContrast: sceneEffect.adjustmentContrast
  36. property alias adjustmentSaturation: sceneEffect.adjustmentSaturation
  37. // Color Grading Effect
  38. property alias lutEnabled: sceneEffect.enableLut
  39. property alias lutSize: sceneEffect.lutSize
  40. property alias lutFilterAlpha: sceneEffect.lutFilterAlpha
  41. property alias lutTexture: sceneEffect.lutTextureAlias
  42. // Glow Effect
  43. enum GlowBlendMode {
  44. Additive,
  45. Screen,
  46. SoftLight, // Default
  47. Replace
  48. }
  49. enum GlowLevel {
  50. One = 0x1,
  51. Two = 0x2,
  52. Three = 0x4,
  53. Four = 0x8,
  54. Five = 0x10,
  55. Six = 0x20,
  56. Seven = 0x40
  57. }
  58. property alias glowEnabled: sceneEffect.isGlowEnabled
  59. property alias glowQualityHigh: sceneEffect.glowQualityHigh
  60. property alias glowUseBicubicUpscale: sceneEffect.glowUseBicubicUpscale
  61. property alias glowStrength: sceneEffect.glowStrength
  62. property alias glowIntensity: sceneEffect.glowIntensity
  63. property alias glowBloom: sceneEffect.glowBloom
  64. property alias glowBlendMode: sceneEffect.glowBlendMode
  65. property alias glowHDRMaximumValue: sceneEffect.glowHDRMaximumValue
  66. property alias glowHDRScale: sceneEffect.glowHDRScale
  67. property alias glowHDRMinimumValue: sceneEffect.glowHDRMinimumValue
  68. property alias glowLevel: sceneEffect.glowLevel
  69. // Vignette
  70. property alias vignetteEnabled: sceneEffect.vignetteEnabled
  71. property alias vignetteStrength: sceneEffect.vignetteStrength
  72. property alias vignetteColor: sceneEffect.vignetteColor
  73. property alias vignetteRadius: sceneEffect.vignetteRadius
  74. // Lens Flare
  75. property alias lensFlareEnabled: sceneEffect.lensFlareEnabled
  76. property alias lensFlareBloomScale: sceneEffect.lensFlareBloomScale
  77. property alias lensFlareBloomBias: sceneEffect.lensFlareBloomBias
  78. property alias lensFlareGhostDispersal: sceneEffect.lensFlareGhostDispersal
  79. property alias lensFlareGhostCount: sceneEffect.lensFlareGhostCount
  80. property alias lensFlareHaloWidth: sceneEffect.lensFlareHaloWidth
  81. property alias lensFlareStretchToAspect: sceneEffect.lensFlareStretchToAspect
  82. property alias lensFlareDistortion: sceneEffect.lensFlareDistortion
  83. property alias lensFlareBlurAmount: sceneEffect.lensFlareBlurAmount
  84. property alias lensFlareApplyDirtTexture: sceneEffect.lensFlareApplyDirtTexture
  85. property alias lensFlareApplyStarburstTexture: sceneEffect.lensFlareApplyStarburstTexture
  86. property alias lensFlareCameraDirection: sceneEffect.lensFlareCameraDirection
  87. property alias lensFlareLensColorTexture: sceneEffect.lensColorTextureAlias
  88. property alias lensFlareLensDirtTexture: sceneEffect.lensDirtTextureAlias
  89. property alias lensFlareLensStarburstTexture: sceneEffect.starburstTextureAlias
  90. SsgiEffect {
  91. id: ssgiEffect
  92. environment: sceneEnvironment
  93. }
  94. SsrEffect {
  95. id: ssrEffect
  96. environment: sceneEnvironment
  97. }
  98. DepthOfFieldBlur {
  99. id: dofBlurEffect
  100. environment: sceneEnvironment
  101. }
  102. SceneEffect {
  103. id: sceneEffect
  104. environment: sceneEnvironment
  105. tonemapMode: sceneEnvironment.tonemapMode
  106. }
  107. }