CommonLibVR
Loading...
Searching...
No Matches
Precipitation.h
Go to the documentation of this file.
1#pragma once
2
3#include "RE/N/NiPoint3.h"
5
6#include "REX/W32/D3D.h"
7
8namespace RE
9{
10 class BSCullingProcess;
11 class BSGeometry;
12 class BSParticleShaderRainEmitter;
13 class BSShaderAccumulator;
14 class NiCamera;
15
17 {
18 public:
19 inline static constexpr auto RTTI = RTTI_Precipitation;
20 inline static constexpr auto VTABLE = VTABLE_Precipitation;
21
23 {
24 public:
25 // members
26 alignas(0x10) REX::W32::XMFLOAT4X4 projection; // 00
30 std::uint64_t pad58; // 58
31 };
32 static_assert(sizeof(OcclusionMapData) == 0x60);
33
34 virtual ~Precipitation(); // 00
35
37 {
38 static REL::Relocation<NiPoint3*> precipDirection{ RELOCATION_ID(515509, 401648) };
39 return *precipDirection;
40 }
41
42 void SetupMask()
43 {
44 using func_t = decltype(&Precipitation::SetupMask);
45 static REL::Relocation<func_t> func{ RELOCATION_ID(25641, 26183) };
46 func(this);
47 }
48
50 {
51 using func_t = decltype(&Precipitation::RenderMask);
52 static REL::Relocation<func_t> func{ RELOCATION_ID(25642, 26184) };
53 func(this, a_emitter);
54 }
55
56 // members
60 float lastCubeSize; // 80
63 std::uint32_t pad8C; // 8C
64 private:
66 };
67 static_assert(sizeof(Precipitation) == 0x90);
68}
#define KEEP_FOR_RE()
Definition PCH.h:517
#define RELOCATION_ID(SE, AE)
Definition PCH.h:506
Definition Relocation.h:210
Definition BSCullingProcess.h:17
Definition BSParticleShaderRainEmitter.h:8
Definition NiPoint3.h:6
Definition NiSmartPointer.h:9
Definition Precipitation.h:23
BSCullingProcess * cullingProcess
Definition Precipitation.h:29
NiPointer< BSShaderAccumulator > accumulator
Definition Precipitation.h:28
std::uint64_t pad58
Definition Precipitation.h:30
REX::W32::XMFLOAT4X4 projection
Definition Precipitation.h:26
NiPointer< NiCamera > camera
Definition Precipitation.h:27
Definition Precipitation.h:17
static constexpr auto RTTI
Definition Precipitation.h:19
static NiPoint3 GetDirection()
Definition Precipitation.h:36
NiPointer< BSGeometry > currentPrecip
Definition Precipitation.h:58
std::uint32_t pad8C
Definition Precipitation.h:63
virtual ~Precipitation()
float lastCubeSize
Definition Precipitation.h:60
OcclusionMapData occlusionData
Definition Precipitation.h:57
NiPointer< BSGeometry > lastPrecip
Definition Precipitation.h:59
float currentParticleDensity
Definition Precipitation.h:61
void SetupMask()
Definition Precipitation.h:42
float lastParticleDensity
Definition Precipitation.h:62
void RenderMask(BSParticleShaderRainEmitter *a_emitter)
Definition Precipitation.h:49
static constexpr auto VTABLE
Definition Precipitation.h:20
Definition AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_Precipitation
Definition Offsets_VTABLE.h:12561
constexpr REL::ID RTTI_Precipitation(static_cast< std::uint64_t >(685533))
Definition D3D.h:697