NAP
lightflags.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 #include <utility/dllexport.h>
7 #include <nap/numeric.h>
8 #include <vector>
9 
10 namespace nap
11 {
12  // Forward declares
13  class LightComponentInstance;
14 
19  using LightFlags = uint;
20 
24  bool NAPAPI isLightEnabled(LightFlags flags);
25 
29  bool NAPAPI isShadowEnabled(LightFlags flags);
30 
34  bool NAPAPI isShadowSupported(LightFlags flags);
35 
39  uint NAPAPI getLightType(LightFlags flags);
40 
44  uint NAPAPI getShadowMapType(LightFlags flags);
45 
49  uint NAPAPI getLightIndex(LightFlags flags);
50 
54  LightFlags NAPAPI getLightFlags(const LightComponentInstance& light, uint index);
55 
61  void NAPAPI updateLightFlags(const LightComponentInstance& light, LightFlags& outFlags);
62 
67  using ShadowFlags = uint;
68 
72  ShadowFlags NAPAPI getShadowFlags(const std::vector<LightComponentInstance*> lights);
73 }
nap::uint
unsigned int uint
Definition: numeric.h:23
nap::LightComponentInstance
Definition: lightcomponent.h:209
nap::isLightEnabled
bool NAPAPI isLightEnabled(LightFlags flags)
nap::isShadowSupported
bool NAPAPI isShadowSupported(LightFlags flags)
nap::getShadowFlags
ShadowFlags NAPAPI getShadowFlags(const std::vector< LightComponentInstance * > lights)
nap::updateLightFlags
void NAPAPI updateLightFlags(const LightComponentInstance &light, LightFlags &outFlags)
nap::getLightFlags
LightFlags NAPAPI getLightFlags(const LightComponentInstance &light, uint index)
nap::ShadowFlags
uint ShadowFlags
Definition: lightflags.h:67
nap::getLightType
uint NAPAPI getLightType(LightFlags flags)
nap::getLightIndex
uint NAPAPI getLightIndex(LightFlags flags)
nap::isShadowEnabled
bool NAPAPI isShadowEnabled(LightFlags flags)
nap
Definition: templateapp.h:17
nap::LightFlags
uint LightFlags
Definition: lightflags.h:19
nap::getShadowMapType
uint NAPAPI getShadowMapType(LightFlags flags)