Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
visibility.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
9
//------------------------------------------------------------------------------
10
11
namespace
Visibility
12
{
13
14
enum
ObserverMask
: uint8_t
15
{
16
Graphics
= (1 << 0),
// observer sees graphics entities (models, lights, characters, etc)
17
Observers
= (1 << 1),
// observer can see other observers (shadow casting lights, for example)
18
19
All
= (1 << 2),
20
NumObserverMasks
= 2
21
};
22
__ImplementEnumBitOperators
(
ObserverMask
);
23
24
enum
ObserverType
: uint8_t
25
{
26
Perspective
= 0,
// observer uses a 4x4 projection and view matrix to resolve visibility
27
Orthographic
= 1,
// observer uses a 4x4 orthogonal and view matrix to resolve visibility
28
BoundingBox
= 2,
// observer uses a non-projective bounding box
29
Omnipercipient
= 3,
// observer sees everything, without having to do any resolving
30
31
NumObserverTypes
= 4
32
};
33
__ImplementEnumBitOperators
(
ObserverType
);
34
35
enum
VisibilityEntityType
: uint8_t
36
{
37
Model
,
// entity is a model
38
Particle
,
// entity is a particle
39
Camera
,
// ordinary camera
40
Light
,
// entity is a light source
41
LightProbe
// entity is a light probe
42
43
};
44
45
}
// namespace Visibility
Graphics
Implements the shader server used by Vulkan.
Definition
cameramanager.h:22
Visibility
Implements a resource loader for models.
Definition
modelcontext.h:35
Visibility::ObserverType
ObserverType
Definition
visibility.h:25
Visibility::Orthographic
@ Orthographic
Definition
visibility.h:27
Visibility::BoundingBox
@ BoundingBox
Definition
visibility.h:28
Visibility::Omnipercipient
@ Omnipercipient
Definition
visibility.h:29
Visibility::Perspective
@ Perspective
Definition
visibility.h:26
Visibility::NumObserverTypes
@ NumObserverTypes
Definition
visibility.h:31
Visibility::VisibilityEntityType
VisibilityEntityType
Definition
visibility.h:36
Visibility::LightProbe
@ LightProbe
Definition
visibility.h:41
Visibility::Light
@ Light
Definition
visibility.h:40
Visibility::Particle
@ Particle
Definition
visibility.h:38
Visibility::Model
@ Model
Definition
visibility.h:37
Visibility::Camera
@ Camera
Definition
visibility.h:39
Visibility::ObserverMask
ObserverMask
Definition
visibility.h:15
Visibility::All
@ All
Definition
visibility.h:19
Visibility::Observers
@ Observers
Definition
visibility.h:17
Visibility::NumObserverMasks
@ NumObserverMasks
Definition
visibility.h:20
__ImplementEnumBitOperators
#define __ImplementEnumBitOperators(type)
code
render
visibility
visibility.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.