Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
pass.h
1//##################################################################################################
2//
3// Copyright (c) 2024 Beijing Qiongqi Tech Co.,Ltd. All rights reserved.
4
5// This source code is confidential and proprietary to Beijing Qiongqi Tech Co.,Ltd(The Holder).
6// Any unauthorized use, copying, modification, or distribution of the code is strictly prohibited.
7// Any user shall obtain authorizaition from the Holder before modifying the source code. And the user shall not
8// sublicense, sell, distribute, or transfer the source code, whether in original or modified form, to any third party
9// without the prior written consent of the Holder.
10
11// This copyright notice and permission grant shall be included in all copies or substantial portions of the source code.
12
13// Author Cumulia Illustrator
14// Date 2024-05-01
15// Version V1.0.0
16//##################################################################################################
17
18#pragma once
19
20#include "../primitive/background.h"
21#include "camera.h"
22#include "node.h"
23#include "../object/object.h"
24#include "../primitive/target.h"
25
26#include <memory>
27#include <string>
28
29namespace cil
30{
33 class Pass : public Object
34 {
35 public:
36 std::string name;
37 bool enabled;
38 std::shared_ptr<Background> background;
39 std::shared_ptr<Camera> camera;
40 std::shared_ptr<Node> node;
41 std::shared_ptr<Target> target;
42
46
47 enum class UpdateMode
48 {
49 None = 0,
50 Asset = 1,
51 Batch = 2,
52 Trans = 4,
53 All = Asset | Batch | Trans
54 };
55
57
62 };
63
64 std::shared_ptr<BoundingBox> getBoundingBox(const std::shared_ptr<Pass>& pass);
65}
Definition object.h:23
The Pass class represents a rendering pass within a graphics pipeline.
Definition pass.h:34
std::shared_ptr< Target > target
This member holds a shared pointer to a Target object which stores the rendering results,...
Definition pass.h:41
int transVersion
Definition pass.h:45
UpdateMode
Definition pass.h:48
std::shared_ptr< Background > background
This member holds a shared pointer to a Background object which defines the scene background.
Definition pass.h:38
void updateTrans()
void updateBatch()
std::shared_ptr< Node > node
This member holds a shared pointer to a Node object which represents the rendering objects of the cur...
Definition pass.h:40
std::shared_ptr< Camera > camera
This member holds a shared pointer to a Camera object which the current pass uses for rendering.
Definition pass.h:39
void update(UpdateMode mode=UpdateMode::All)
std::string name
This memeber stores the name of the pass.
Definition pass.h:36
int assetVersion
Definition pass.h:43
void updateAsset()
int batchVersion
Definition pass.h:44
bool enabled
This member indicates whether the pass is currently enabled. Disabled passes are skipped during rende...
Definition pass.h:37
Definition decal.h:23
std::shared_ptr< BoundingBox > getBoundingBox(const std::shared_ptr< Geometry > &geometry, const std::string &attribName="positions")