VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
renderAction.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: Apache-2.0
2
// Copyright 2025-2026 Arnis Lektauers
3
//
4
// Created by Arnis Lektauers on 12.09.2025.
5
//
6
#pragma once
7
8
#include "
framework/components/camera/cameraComponent.h
"
9
#include "
scene/layer.h
"
10
11
namespace
visutwin::canvas
12
{
13
struct
RenderAction
14
{
15
CameraComponent
*
camera
=
nullptr
;
16
17
// true if the camera should render using render passes, it specifies
18
bool
useCameraPasses
=
false
;
19
20
Layer
*
layer
=
nullptr
;
21
22
std::shared_ptr<RenderTarget>
renderTarget
;
23
24
// True if this is the first render action using this camera
25
bool
firstCameraUse
=
false
;
26
27
// True if this render action should trigger a postprocessing callback for the camera
28
bool
triggerPostprocess
=
false
;
29
30
bool
transparent
=
false
;
31
bool
clearColor
=
false
;
32
bool
clearDepth
=
false
;
33
bool
clearStencil
=
false
;
34
35
// True if this is the last render action using this camera
36
bool
lastCameraUse
=
false
;
37
38
void
setupClears
(
const
CameraComponent
* cameraComponent,
const
Layer
*
layer
)
39
{
40
const
auto
*
camera
= cameraComponent ? cameraComponent->
camera
() :
nullptr
;
41
clearColor
= (
camera
&&
camera
->clearColorBufferEnabled()) || (
layer
&&
layer
->clearColorBuffer());
42
clearDepth
= (
camera
&&
camera
->clearDepthBufferEnabled()) || (
layer
&&
layer
->clearDepthBuffer());
43
clearStencil
= (
camera
&&
camera
->clearStencilBufferEnabled()) || (
layer
&&
layer
->clearStencilBuffer());
44
}
45
};
46
}
cameraComponent.h
visutwin::canvas::CameraComponent
Definition
cameraComponent.h:86
visutwin::canvas::CameraComponent::camera
Camera * camera()
Definition
cameraComponent.h:107
visutwin::canvas::Layer
Definition
layer.h:22
layer.h
visutwin::canvas
Definition
eventHandler.cpp:9
visutwin::canvas::RenderAction
Definition
renderAction.h:14
visutwin::canvas::RenderAction::clearColor
bool clearColor
Definition
renderAction.h:31
visutwin::canvas::RenderAction::clearStencil
bool clearStencil
Definition
renderAction.h:33
visutwin::canvas::RenderAction::camera
CameraComponent * camera
Definition
renderAction.h:15
visutwin::canvas::RenderAction::layer
Layer * layer
Definition
renderAction.h:20
visutwin::canvas::RenderAction::renderTarget
std::shared_ptr< RenderTarget > renderTarget
Definition
renderAction.h:22
visutwin::canvas::RenderAction::triggerPostprocess
bool triggerPostprocess
Definition
renderAction.h:28
visutwin::canvas::RenderAction::setupClears
void setupClears(const CameraComponent *cameraComponent, const Layer *layer)
Definition
renderAction.h:38
visutwin::canvas::RenderAction::lastCameraUse
bool lastCameraUse
Definition
renderAction.h:36
visutwin::canvas::RenderAction::useCameraPasses
bool useCameraPasses
Definition
renderAction.h:18
visutwin::canvas::RenderAction::firstCameraUse
bool firstCameraUse
Definition
renderAction.h:25
visutwin::canvas::RenderAction::clearDepth
bool clearDepth
Definition
renderAction.h:32
visutwin::canvas::RenderAction::transparent
bool transparent
Definition
renderAction.h:30
scene
composition
renderAction.h
Generated by
1.16.1