VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
renderPassCompose.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: Apache-2.0
2
// Copyright 2025-2026 Arnis Lektauers
3
//
4
//
5
#pragma once
6
7
#include "
renderPassShaderQuad.h
"
8
9
namespace
visutwin::canvas
10
{
11
class
RenderPassCompose
:
public
RenderPassShaderQuad
12
{
13
public
:
14
explicit
RenderPassCompose
(
const
std::shared_ptr<GraphicsDevice>&
device
)
15
:
RenderPassShaderQuad
(
device
) {}
16
17
Texture
*
sceneTexture
=
nullptr
;
18
Texture
*
bloomTexture
=
nullptr
;
19
Texture
*
cocTexture
=
nullptr
;
20
Texture
*
blurTexture
=
nullptr
;
21
Texture
*
ssaoTexture
=
nullptr
;
22
bool
taaEnabled
=
false
;
23
bool
blurTextureUpscale
=
false
;
24
float
bloomIntensity
= 0.01f;
25
bool
dofEnabled
=
false
;
26
float
dofIntensity
= 1.0f;
27
float
sharpness
= 0.0f;
28
int
toneMapping
= 0;
29
float
exposure
= 1.0f;
30
31
// Single-pass DOF
32
Texture
*
depthTexture
=
nullptr
;
33
float
dofFocusDistance
= 1.0f;
34
float
dofFocusRange
= 0.5f;
35
float
dofBlurRadius
= 3.0f;
36
float
dofCameraNear
= 0.01f;
37
float
dofCameraFar
= 100.0f;
38
39
// Vignette
40
bool
vignetteEnabled
=
false
;
41
float
vignetteInner
= 0.5f;
42
float
vignetteOuter
= 1.0f;
43
float
vignetteCurvature
= 0.5f;
44
float
vignetteIntensity
= 0.3f;
45
46
void
execute
()
override
;
47
};
48
}
visutwin::canvas::RenderPassCompose::bloomTexture
Texture * bloomTexture
Definition
renderPassCompose.h:18
visutwin::canvas::RenderPassCompose::vignetteEnabled
bool vignetteEnabled
Definition
renderPassCompose.h:40
visutwin::canvas::RenderPassCompose::depthTexture
Texture * depthTexture
Definition
renderPassCompose.h:32
visutwin::canvas::RenderPassCompose::dofFocusDistance
float dofFocusDistance
Definition
renderPassCompose.h:33
visutwin::canvas::RenderPassCompose::sharpness
float sharpness
Definition
renderPassCompose.h:27
visutwin::canvas::RenderPassCompose::dofCameraFar
float dofCameraFar
Definition
renderPassCompose.h:37
visutwin::canvas::RenderPassCompose::bloomIntensity
float bloomIntensity
Definition
renderPassCompose.h:24
visutwin::canvas::RenderPassCompose::exposure
float exposure
Definition
renderPassCompose.h:29
visutwin::canvas::RenderPassCompose::RenderPassCompose
RenderPassCompose(const std::shared_ptr< GraphicsDevice > &device)
Definition
renderPassCompose.h:14
visutwin::canvas::RenderPassCompose::dofBlurRadius
float dofBlurRadius
Definition
renderPassCompose.h:35
visutwin::canvas::RenderPassCompose::dofCameraNear
float dofCameraNear
Definition
renderPassCompose.h:36
visutwin::canvas::RenderPassCompose::cocTexture
Texture * cocTexture
Definition
renderPassCompose.h:19
visutwin::canvas::RenderPassCompose::vignetteOuter
float vignetteOuter
Definition
renderPassCompose.h:42
visutwin::canvas::RenderPassCompose::dofIntensity
float dofIntensity
Definition
renderPassCompose.h:26
visutwin::canvas::RenderPassCompose::vignetteInner
float vignetteInner
Definition
renderPassCompose.h:41
visutwin::canvas::RenderPassCompose::dofFocusRange
float dofFocusRange
Definition
renderPassCompose.h:34
visutwin::canvas::RenderPassCompose::vignetteIntensity
float vignetteIntensity
Definition
renderPassCompose.h:44
visutwin::canvas::RenderPassCompose::vignetteCurvature
float vignetteCurvature
Definition
renderPassCompose.h:43
visutwin::canvas::RenderPassCompose::ssaoTexture
Texture * ssaoTexture
Definition
renderPassCompose.h:21
visutwin::canvas::RenderPassCompose::sceneTexture
Texture * sceneTexture
Definition
renderPassCompose.h:17
visutwin::canvas::RenderPassCompose::blurTextureUpscale
bool blurTextureUpscale
Definition
renderPassCompose.h:23
visutwin::canvas::RenderPassCompose::execute
void execute() override
Definition
renderPassCompose.cpp:11
visutwin::canvas::RenderPassCompose::blurTexture
Texture * blurTexture
Definition
renderPassCompose.h:20
visutwin::canvas::RenderPassCompose::dofEnabled
bool dofEnabled
Definition
renderPassCompose.h:25
visutwin::canvas::RenderPassCompose::toneMapping
int toneMapping
Definition
renderPassCompose.h:28
visutwin::canvas::RenderPassCompose::taaEnabled
bool taaEnabled
Definition
renderPassCompose.h:22
visutwin::canvas::RenderPass::device
std::shared_ptr< GraphicsDevice > device() const
Definition
renderPass.h:124
visutwin::canvas::RenderPassShaderQuad::RenderPassShaderQuad
RenderPassShaderQuad(const std::shared_ptr< GraphicsDevice > &device)
Definition
renderPassShaderQuad.h:30
visutwin::canvas::Texture
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.
Definition
texture.h:57
visutwin::canvas
Definition
eventHandler.cpp:9
renderPassShaderQuad.h
scene
graphics
renderPassCompose.h
Generated by
1.16.1