CommonLibVR
Loading...
Searching...
No Matches
UI3DSceneManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSAtomic.h"
4#include "RE/B/BSTArray.h"
5#include "RE/B/BSTSingleton.h"
7#include "RE/N/NiColor.h"
8#include "RE/N/NiFrustum.h"
9#include "RE/N/NiMatrix3.h"
10#include "RE/N/NiPoint3.h"
11#include "RE/N/NiSmartPointer.h"
12
13namespace RE
14{
15 class BSCullingProcess;
16 class BSLight;
17 class BSShaderAccumulator;
18 class NiAVObject;
19 class NiCamera;
20 class NiNode;
21 class ShadowSceneNode;
22 class TESImageSpaceModifier;
23
25 {
26 public:
27 // members
30 float radius; // 18
31 float fade; // 1C
32 bool castsShadows; // 20
35 private:
37 };
38 static_assert(sizeof(MenuLight) == 0x38);
39
40 class UI3DSceneManager : public BSTSingletonSDM<UI3DSceneManager>
41 {
42 public:
44
45#ifndef SKYRIMVR // AttachChild function not found in VR so far
46 void AttachChild(NiAVObject* a_obj);
48 void DetachChild(NiAVObject* a_obj);
49#endif
50 void SetCameraFOV(float a_fov);
51 void SetCameraRotate(const NiMatrix3& a_rotate);
52 void SetCameraPosition(const NiPoint3& a_pos);
53
54 // members
55 std::uint8_t pad01; // 01
56 std::uint16_t pad02; // 02
57 std::uint32_t pad04; // 04
62 mutable BSSpinLock lock; // 28
67 std::uint32_t pad94; // 94
73 private:
75 };
76 static_assert(sizeof(UI3DSceneManager) == 0x118);
77}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSCullingProcess.h:17
Definition BSAtomic.h:92
Definition BSTArray.h:378
Definition UI3DSceneManager.h:25
NiPoint3 translate
Definition UI3DSceneManager.h:29
NiColor color
Definition UI3DSceneManager.h:28
float radius
Definition UI3DSceneManager.h:30
NiPointer< BSLight > light
Definition UI3DSceneManager.h:33
MenuLight * last
Definition UI3DSceneManager.h:34
float fade
Definition UI3DSceneManager.h:31
bool castsShadows
Definition UI3DSceneManager.h:32
Definition NiAVObject.h:57
Definition NiColor.h:11
Definition NiFrustum.h:6
Definition NiMatrix3.h:8
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition ShadowSceneNode.h:18
Definition UI3DSceneManager.h:41
NiPointer< NiCamera > camera
Definition UI3DSceneManager.h:61
std::uint16_t pad02
Definition UI3DSceneManager.h:56
INTERFACE_LIGHT_SCHEME currentlightScheme
Definition UI3DSceneManager.h:66
NiPointer< NiNode > menuObjects[8]
Definition UI3DSceneManager.h:64
NiMatrix3 cachedCameraRot
Definition UI3DSceneManager.h:71
void SetCameraPosition(const NiPoint3 &a_pos)
std::uint8_t pad01
Definition UI3DSceneManager.h:55
void SetCameraRotate(const NiMatrix3 &a_rotate)
ShadowSceneNode * shadowSceneNode
Definition UI3DSceneManager.h:63
BSTArray< INTERFACE_LIGHT_SCHEME > lightSchemes
Definition UI3DSceneManager.h:68
NiPointer< BSShaderAccumulator > unk10
Definition UI3DSceneManager.h:59
void DetachChild(NiAVObject *a_obj)
BSSpinLock lock
Definition UI3DSceneManager.h:62
std::uint32_t pad94
Definition UI3DSceneManager.h:67
void SetCameraFOV(float a_fov)
void AttachChild(NiAVObject *a_obj, INTERFACE_LIGHT_SCHEME a_scheme)
BSTArray< NiPointer< TESImageSpaceModifier > > imageSpaceMods
Definition UI3DSceneManager.h:69
NiPointer< BSShaderAccumulator > unk18
Definition UI3DSceneManager.h:60
NiPoint3 cachedCameraPos
Definition UI3DSceneManager.h:70
BSCullingProcess * cullingProcess
Definition UI3DSceneManager.h:58
std::uint32_t pad04
Definition UI3DSceneManager.h:57
BSTArray< MenuLight * > menuLights
Definition UI3DSceneManager.h:65
void AttachChild(NiAVObject *a_obj)
NiFrustum viewFrustum
Definition UI3DSceneManager.h:72
static UI3DSceneManager * GetSingleton()
Definition AbsorbEffect.h:6
INTERFACE_LIGHT_SCHEME
Definition InterfaceLightSchemes.h:6
Definition BSTSingleton.h:50