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

77 lines
1.9 KiB
QML

// 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
]
}