-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathRenderGroup.hpp
More file actions
41 lines (30 loc) · 890 Bytes
/
RenderGroup.hpp
File metadata and controls
41 lines (30 loc) · 890 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* Copyright (c) 2016-2026 Andrew J. MacDonald. All rights reserved. */
#pragma once
#include <Core/Defines.hpp>
#include <Core/Constants.hpp>
#include <Core/utilities/EnumFlags.hpp>
#include <rendering/RenderableAttributes.hpp>
#include <rendering/RenderObject.hpp>
namespace Hyperion {
class IndirectRenderer;
struct RenderSetup;
struct DrawCallCollection;
struct ParallelRenderingState;
enum class RenderGroupFlags : uint32
{
NONE = 0x0,
OCCLUSION_CULLING = 0x1,
INDIRECT_RENDERING = 0x2,
PARALLEL_RENDERING = 0x4,
DEFAULT = OCCLUSION_CULLING | INDIRECT_RENDERING | PARALLEL_RENDERING
};
HYP_MAKE_ENUM_FLAGS(RenderGroupFlags);
class RenderGroup
{
public:
bool valid = false;
RenderableAttributeSet renderableAttributes;
EnumFlags<RenderGroupFlags> flags;
ParallelRenderingState* parallelRenderingState = nullptr;
};
} // namespace Hyperion