Initial commit
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
// Copyright (C) 2022 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
||||
|
||||
import QtQuick
|
||||
import QtQuick3D
|
||||
import QtQuick3D.Helpers.impl
|
||||
|
||||
DepthOfFieldEffect {
|
||||
readonly property TextureInput sourceSampler: TextureInput {
|
||||
texture: Texture {}
|
||||
}
|
||||
property real focusDistance: 600
|
||||
property real focusRange: 100
|
||||
property real blurAmount: 4
|
||||
|
||||
Shader {
|
||||
id: downsampleVert
|
||||
stage: Shader.Vertex
|
||||
shader: "qrc:/qtquick3d_helpers/shaders/downsample.vert"
|
||||
}
|
||||
Shader {
|
||||
id: downsampleFrag
|
||||
stage: Shader.Fragment
|
||||
shader: "qrc:/qtquick3d_helpers/shaders/downsample.frag"
|
||||
}
|
||||
|
||||
Shader {
|
||||
id: blurVert
|
||||
stage: Shader.Vertex
|
||||
shader: "qrc:/qtquick3d_helpers/shaders/depthoffieldblur.vert"
|
||||
}
|
||||
Shader {
|
||||
id: blurFrag
|
||||
stage: Shader.Fragment
|
||||
shader: "qrc:/qtquick3d_helpers/shaders/depthoffieldblur.frag"
|
||||
}
|
||||
|
||||
Buffer {
|
||||
id: downsampleBuffer
|
||||
name: "downsampleBuffer"
|
||||
format: Buffer.RGBA16F
|
||||
textureFilterOperation: Buffer.Linear
|
||||
textureCoordOperation: Buffer.ClampToEdge
|
||||
sizeMultiplier: 0.5
|
||||
}
|
||||
|
||||
passes: [
|
||||
Pass {
|
||||
shaders: [ downsampleVert, downsampleFrag ]
|
||||
output: downsampleBuffer
|
||||
},
|
||||
Pass {
|
||||
shaders: [ blurVert, blurFrag ]
|
||||
commands: [
|
||||
// INPUT is the texture for downsampleBuffer
|
||||
BufferInput {
|
||||
buffer: downsampleBuffer
|
||||
},
|
||||
// the actual input texture is exposed as sourceSampler
|
||||
BufferInput {
|
||||
sampler: "sourceSampler"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user