CommonLibVR
BSWaterShaderMaterial.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiColor.h"
5 #include "RE/N/NiSmartPointer.h"
6 #include "RE/T/TESWaterForm.h"
7 
8 namespace 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
62  float displacementDampener; // 13C
63  NiPlane plane; // 140
64  std::uint32_t unk150; // 150
65  float flowmapScale; // 154
66  float aboveWaterFogDistFar; // 158
67  float unk15C; // 15C
68  float unk160; // 160
69  float underwaterFogDistFar; // 164
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:
80  KEEP_FOR_RE()
81  };
82  static_assert(sizeof(BSWaterShaderMaterial) == 0x180);
83 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSShaderMaterial.h:9
Type
Definition: BSShaderMaterial.h:39
Definition: BSWaterShaderMaterial.h:13
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
BSShaderMaterial * Create() override
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
BSShaderMaterial * GetDefault() override
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
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