| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Copyright (C) 2025 The Qt Company Ltd.
- // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
- import QtQuick
- import QtQuick3D
- import QtQuick3D.Helpers.impl
- SsrEnvEffect {
- id: ssrEffect
- // Global
- property real roughnessCut: 0.65
- // Main pass
- property real stepSize: 0.01
- property real minRayStep: 0.01
- property int binarySteps: 8
- property int maxSteps: 512
- property real baseThickness: 20
- readonly property TextureInput ssrSampler: TextureInput { texture: Texture {} }
- readonly property TextureInput ssrMaskSampler: TextureInput { texture: Texture {} }
- readonly property TextureInput ssrReflConfSampler: TextureInput { texture: Texture {} }
- Buffer {
- id: ssrBufferMask
- name: "ssrBufferMask"
- sizeMultiplier: 1.0
- format: Buffer.RGBA32F
- }
- Buffer {
- id: ssrBufferMainReflColorConf
- name: "ssrBufferMainReflColorConf"
- sizeMultiplier: 1.0
- format: Buffer.RGBA32F
- }
- Pass {
- id: ssrMaskPass
- output: ssrBufferMask
- shaders: Shader { stage: Shader.Fragment; shader: "qrc:/qtquick3d_helpers/shaders/ssr_mask.frag" }
- }
- Pass {
- id: ssrMainPass
- output: ssrBufferMainReflColorConf
- shaders: [
- Shader {
- stage: Shader.Fragment
- shader: "qrc:/qtquick3d_helpers/shaders/ssr_main.frag"
- }
- ]
- commands: [
- BufferInput { buffer: ssrBufferMask; sampler: "ssrMaskSampler" }
- ]
- }
- Pass {
- id: ssrCompositionPass
- shaders: [
- Shader {
- stage: Shader.Fragment
- shader: "qrc:/qtquick3d_helpers/shaders/ssr_composition.frag"
- }
- ]
- commands: [
- BufferInput { buffer: ssrBufferMainReflColorConf; sampler: "ssrSampler" }
- ]
- }
- passes: [
- ssrMaskPass, ssrMainPass, ssrCompositionPass
- ]
- }
|