CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
BSShadowLight.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/B/BSLight.h"
5#include "RE/N/NiRect.h"
6
7namespace RE
8{
9 class BSShadowLight : public BSLight
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_BSShadowLight;
13 inline static constexpr auto VTABLE = VTABLE_BSShadowLight;
14
29 static_assert(sizeof(ShadowMapData) == 0xF0);
30
31 ~BSShadowLight() override; // 00
32
33 // add
34 virtual void Unk_04(); // 04
35 virtual bool GetIsFrustumLight(); // 05
36 virtual void GetIsDirectionalLight(); // 06
37 virtual bool GetIsParabolicLight(); // 07
38 virtual bool GetIsOmniLight(); // 08
39 virtual void Accumulate(std::uint32_t& a_globalShadowLightCount, std::uint32_t& a_shadowMaskChannel, NiPointer<NiAVObject> a_cullingScene) = 0; // 09
40 virtual void Render() = 0; // 0A
41 virtual void SetShadowMapCount(std::uint32_t a_count); // 0B
42 virtual void ClearShadowMapData(); // 0C
43 virtual void Unk_0D(); // 0D
44 virtual void Unk_0E(); // 0E
45 virtual void Unk_0F(); // 0F
46 virtual bool UpdateCamera(const NiCamera* a_viewCamera) = 0; // 10
47
48 // members
49 std::uint32_t shadowMapIndex; // 140
50 std::uint32_t unk144; // 144
53 std::uint32_t maskIndex; // 520
54 std::uint32_t accumulatedIndex; // 524
56 float shadowBiasScale; // 540
58 std::uint32_t sceneGraphIndex; // 554
59 std::uint8_t unk558; // 558
60 std::uint8_t pad559; // 559
61 std::uint8_t pad55A; // 55A
62 std::uint32_t pad55B; // 55B
63 };
64 static_assert(sizeof(BSShadowLight) == 0x560);
65}
Definition BSCullingProcess.h:18
Definition BSLight.h:22
Definition BSShadowLight.h:10
~BSShadowLight() override
NiRect< std::uint32_t > projectedBoundingBox
Definition BSShadowLight.h:57
virtual void Render()=0
virtual bool GetIsParabolicLight()
std::uint32_t pad55B
Definition BSShadowLight.h:62
std::uint8_t unk558
Definition BSShadowLight.h:59
std::uint32_t maskIndex
Definition BSShadowLight.h:53
virtual bool GetIsFrustumLight()
std::uint32_t accumulatedIndex
Definition BSShadowLight.h:54
virtual bool GetIsOmniLight()
virtual void ClearShadowMapData()
virtual void Unk_04()
virtual void Accumulate(std::uint32_t &a_globalShadowLightCount, std::uint32_t &a_shadowMaskChannel, NiPointer< NiAVObject > a_cullingScene)=0
std::uint32_t shadowMapIndex
Definition BSShadowLight.h:49
virtual bool UpdateCamera(const NiCamera *a_viewCamera)=0
BSTArray< NiPointer< NiAVObject > > sceneAccumArray
Definition BSShadowLight.h:55
float shadowBiasScale
Definition BSShadowLight.h:56
std::uint32_t unk144
Definition BSShadowLight.h:50
static constexpr auto RTTI
Definition BSShadowLight.h:12
std::uint32_t sceneGraphIndex
Definition BSShadowLight.h:58
ShadowMapData shadowMapData[4]
Definition BSShadowLight.h:52
virtual void SetShadowMapCount(std::uint32_t a_count)
virtual void GetIsDirectionalLight()
virtual void Unk_0F()
std::uint8_t pad559
Definition BSShadowLight.h:60
static constexpr auto VTABLE
Definition BSShadowLight.h:13
virtual void Unk_0D()
std::uint8_t pad55A
Definition BSShadowLight.h:61
BSTArray< ShadowMapData > shadowMapDataList
Definition BSShadowLight.h:51
virtual void Unk_0E()
Definition BSTArray.h:378
Definition NiCamera.h:11
Definition NiFrustumPlanes.h:8
Definition NiSmartPointer.h:9
Definition NiRect.h:7
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSShadowLight(static_cast< std::uint64_t >(692064))
constexpr std::array< REL::ID, 1 > VTABLE_BSShadowLight
Definition Offsets_VTABLE.h:9842
Definition D3D.h:697
Definition BSShadowLight.h:16
BSCullingProcess * cullingProcess
Definition BSShadowLight.h:26
NiPointer< BSShaderAccumulator > shaderAccumulator
Definition BSShadowLight.h:19
NiFrustumPlanes clipPlanes
Definition BSShadowLight.h:23
RENDER_TARGET_DEPTHSTENCIL renderTarget
Definition BSShadowLight.h:21
bool clearRenderTarget
Definition BSShadowLight.h:27
std::uint32_t unk50
Definition BSShadowLight.h:20
std::uint32_t unitsPerTexel
Definition BSShadowLight.h:24
std::uint32_t shadowMapIndex
Definition BSShadowLight.h:22
NiPointer< NiCamera > camera
Definition BSShadowLight.h:18
NiRect< std::uint32_t > shadowMapRect
Definition BSShadowLight.h:25
REX::W32::XMFLOAT4X4 projection
Definition BSShadowLight.h:17
RENDER_TARGET_DEPTHSTENCIL
Definition BSShaderRenderTargets.h:157