CommonLibSSE (powerof3)
Sun.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiSmartPointer.h"
4 #include "RE/S/SkyObject.h"
5 
6 namespace RE
7 {
8  class BSShaderAccumulator;
9  class BSTriShape;
10  class NiBillboardNode;
11  class NiDirectionalLight;
12 
13  class Sun : public SkyObject
14  {
15  public:
16  inline static constexpr auto RTTI = RTTI_Sun;
17  inline static constexpr auto VTABLE = VTABLE_Sun;
18 
19  ~Sun() override; // 00
20 
21  // override (SkyObject)
22  void Init(NiNode* a_root) override; // 02
23  void Update(Sky* a_sky, float a_arg2) override; // 03
24 
25  // members
33  float glareScale; // 48
34  bool doOcclusionTests; // 4C
35  std::uint8_t pad4D; // 4D
36  std::uint16_t pad4E; // 4E
38  };
39  static_assert(sizeof(Sun) == 0x58);
40 }
Definition: NiNode.h:12
Definition: NiSmartPointer.h:9
Definition: SkyObject.h:11
Definition: Sky.h:32
Definition: Sun.h:14
NiPointer< BSTriShape > sunGlare
Definition: Sun.h:30
std::uint16_t pad4E
Definition: Sun.h:36
NiPointer< BSTriShape > sunQuery
Definition: Sun.h:29
NiPointer< NiDirectionalLight > cloudLight
Definition: Sun.h:32
bool doOcclusionTests
Definition: Sun.h:34
NiPointer< BSTriShape > sunBase
Definition: Sun.h:28
NiPointer< NiBillboardNode > sunGlareNode
Definition: Sun.h:27
~Sun() override
NiPointer< BSShaderAccumulator > sunAccumulator
Definition: Sun.h:37
NiPointer< NiBillboardNode > sunBaseNode
Definition: Sun.h:26
static constexpr auto VTABLE
Definition: Sun.h:17
void Update(Sky *a_sky, float a_arg2) override
void Init(NiNode *a_root) override
static constexpr auto RTTI
Definition: Sun.h:16
std::uint8_t pad4D
Definition: Sun.h:35
NiPointer< NiDirectionalLight > light
Definition: Sun.h:31
float glareScale
Definition: Sun.h:33
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_Sun
Definition: Offsets_VTABLE.h:12788
constexpr REL::ID RTTI_Sun(static_cast< std::uint64_t >(685541))