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
8
9namespace visutwin::canvas
10{
12 {
13 public:
14 explicit RenderPassCompose(const std::shared_ptr<GraphicsDevice>& device)
16
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
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}
RenderPassCompose(const std::shared_ptr< GraphicsDevice > &device)
std::shared_ptr< GraphicsDevice > device() const
Definition renderPass.h:124
RenderPassShaderQuad(const std::shared_ptr< GraphicsDevice > &device)
GPU texture resource supporting 2D, cubemap, volume, and array formats with mipmap management.
Definition texture.h:57