CommonLibVR
Loading...
Searching...
No Matches
BSWaterShaderMaterial.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/N/NiColor.h"
6#include "RE/T/TESWaterForm.h"
7
8namespace RE
9{
10 class NiSourceTexture;
11
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BSWaterShaderMaterial;
16 inline static constexpr auto VTABLE = VTABLE_BSWaterShaderMaterial;
17
18 ~BSWaterShaderMaterial() override; // 00::
19
20 // override (BSShaderMaterial)
21 BSShaderMaterial* Create() override; // 01
22 void CopyMembers(BSShaderMaterial* a_other) override; // 02
23 bool DoIsCopy(BSShaderMaterial* a_other) override; // 03
24 std::uint32_t ComputeCRC32(void) override; // 04
25 BSShaderMaterial* GetDefault() override; // 05
26 Type GetType() const override; // 07 - { return Type::kWater; }
27
28 // members
35 float sunSparklePower; // 06C
38 float sunSpecularPower; // 090
39 float reflectionAmount; // 094
40 float alpha; // 098
41 float refractionMagnitude; // 09C
42 std::uint64_t unk0A0; // 0A0
43 float unk0A8; // 0A8
44 std::uint64_t unk0B0; // 0B0
45 std::uint64_t unk0B8; // 0B8
46 std::uint64_t unk0C0; // 0C0
47 float specularPower; // 0C8
48 std::uint64_t unk0D0; // 0D0
49 std::uint64_t unk0D8; // 0D8
50 float noiseFalloff; // 0E0
51 float reflectionMagnitude; // 0E4
52 float sunSparkleMagnitude; // 0E8
53 float unk0EC; // 0EC
55 std::uint64_t unk100; // 100
56 std::uint64_t unk108; // 108
57 std::uint64_t unk110; // 100
58 std::uint64_t unk118; // 118
59 float uvScaleA[3]; // 120
60 std::uint32_t unk12C; // 12C
61 float amplitudeA[3]; // 130
63 NiPlane plane; // 140
64 std::uint32_t unk150; // 150
65 float flowmapScale; // 154
67 float unk15C; // 15C
68 float unk160; // 160
70 float unk168; // 168
71 float underwaterFogAmount; // 16C
72 float fresnelAmount; // 170
73 std::uint32_t unk174; // 174
74 std::uint32_t unk178; // 178
75 std::uint8_t unk17C; // 17C
76 std::uint8_t unk17D; // 17D
77 std::uint8_t unk17E; // 17E
78 std::uint8_t unk17F; // 17F
79 private:
81 };
82 static_assert(sizeof(BSWaterShaderMaterial) == 0x180);
83}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition BSShaderMaterial.h:9
Type
Definition BSShaderMaterial.h:39
Definition BSWaterShaderMaterial.h:13
BSShaderMaterial * Create() override
NiPointer< NiSourceTexture > normalTexture1
Definition BSWaterShaderMaterial.h:30
float unk0A8
Definition BSWaterShaderMaterial.h:43
float sunSpecularPower
Definition BSWaterShaderMaterial.h:38
NiPointer< NiSourceTexture > normalTexture3
Definition BSWaterShaderMaterial.h:32
NiPointer< NiSourceTexture > normalTexture4
Definition BSWaterShaderMaterial.h:33
std::uint64_t unk0B8
Definition BSWaterShaderMaterial.h:45
NiPointer< NiSourceTexture > normalTexture2
Definition BSWaterShaderMaterial.h:31
float unk0EC
Definition BSWaterShaderMaterial.h:53
static constexpr auto RTTI
Definition BSWaterShaderMaterial.h:15
std::uint64_t unk118
Definition BSWaterShaderMaterial.h:58
std::uint64_t unk0D8
Definition BSWaterShaderMaterial.h:49
NiPointer< NiSourceTexture > staticReflectionTexture
Definition BSWaterShaderMaterial.h:29
float amplitudeA[3]
Definition BSWaterShaderMaterial.h:61
float underwaterFogAmount
Definition BSWaterShaderMaterial.h:71
std::uint32_t unk178
Definition BSWaterShaderMaterial.h:74
float reflectionAmount
Definition BSWaterShaderMaterial.h:39
bool DoIsCopy(BSShaderMaterial *a_other) override
float alpha
Definition BSWaterShaderMaterial.h:40
float uvScaleA[3]
Definition BSWaterShaderMaterial.h:59
float fresnelAmount
Definition BSWaterShaderMaterial.h:72
std::uint64_t unk0A0
Definition BSWaterShaderMaterial.h:42
float noiseFalloff
Definition BSWaterShaderMaterial.h:50
float underwaterFogDistFar
Definition BSWaterShaderMaterial.h:69
float sunSparklePower
Definition BSWaterShaderMaterial.h:35
float flowmapScale
Definition BSWaterShaderMaterial.h:65
std::uint64_t unk0C0
Definition BSWaterShaderMaterial.h:46
float unk168
Definition BSWaterShaderMaterial.h:70
WaterShaderData::DepthProperties depthProperties
Definition BSWaterShaderMaterial.h:54
std::uint8_t unk17F
Definition BSWaterShaderMaterial.h:78
std::uint8_t unk17C
Definition BSWaterShaderMaterial.h:75
float aboveWaterFogDistFar
Definition BSWaterShaderMaterial.h:66
std::uint32_t unk12C
Definition BSWaterShaderMaterial.h:60
std::uint8_t unk17D
Definition BSWaterShaderMaterial.h:76
float specularPower
Definition BSWaterShaderMaterial.h:47
void CopyMembers(BSShaderMaterial *a_other) override
std::uint64_t unk0D0
Definition BSWaterShaderMaterial.h:48
static constexpr auto VTABLE
Definition BSWaterShaderMaterial.h:16
std::uint64_t unk110
Definition BSWaterShaderMaterial.h:57
float reflectionMagnitude
Definition BSWaterShaderMaterial.h:51
std::uint64_t unk100
Definition BSWaterShaderMaterial.h:55
std::uint64_t unk108
Definition BSWaterShaderMaterial.h:56
NiColorA reflectionColor
Definition BSWaterShaderMaterial.h:37
~BSWaterShaderMaterial() override
float sunSparkleMagnitude
Definition BSWaterShaderMaterial.h:52
Type GetType() const override
std::uint32_t unk150
Definition BSWaterShaderMaterial.h:64
std::uint64_t unk0B0
Definition BSWaterShaderMaterial.h:44
NiPlane plane
Definition BSWaterShaderMaterial.h:63
float displacementDampener
Definition BSWaterShaderMaterial.h:62
std::uint8_t unk17E
Definition BSWaterShaderMaterial.h:77
std::uint32_t ComputeCRC32(void) override
NiColor shallowWaterColor
Definition BSWaterShaderMaterial.h:34
std::uint32_t unk174
Definition BSWaterShaderMaterial.h:73
NiColorA deepWaterColor
Definition BSWaterShaderMaterial.h:36
float unk15C
Definition BSWaterShaderMaterial.h:67
BSShaderMaterial * GetDefault() override
float unk160
Definition BSWaterShaderMaterial.h:68
float refractionMagnitude
Definition BSWaterShaderMaterial.h:41
Definition NiColor.h:283
Definition NiColor.h:11
Definition NiPlane.h:8
Definition NiSmartPointer.h:9
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSWaterShaderMaterial(static_cast< std::uint64_t >(692060))
constexpr std::array< REL::ID, 1 > VTABLE_BSWaterShaderMaterial
Definition Offsets_VTABLE.h:10567
Definition TESWaterForm.h:21