CommonLibVR
BSLightingShaderMaterialLandscape.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 
7 namespace RE
8 {
9  class NiSourceTexture;
10 
12  {
13  public:
14  inline static constexpr auto RTTI = RTTI_BSLightingShaderMaterialLandscape;
15  inline static constexpr auto VTABLE = VTABLE_BSLightingShaderMaterialLandscape;
16  inline static constexpr auto FEATURE = Feature::kMultiTexLandLODBlend;
17 
19 
20  // override (BSLightingShaderMaterialBase)
21  BSShaderMaterial* Create() override; // 01
22  void CopyMembers(BSShaderMaterial* a_src) override; // 02
23  Feature GetFeature() const override; // 06 - { return Feature::kMultiTexLandLODBlend; }
24  void ClearTextures() override; // 09
25  void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override; // 0A
26  void GetTextures(void) override; // 0B
27 
28  // members
29  std::uint32_t numLandscapeTextures; // 0A0
30  std::uint32_t pad0A4; // 0A4
36  float textureIsSnow[6]; // 118
37  float textureIsSpecPower[6]; // 130
38  float terrainTexOffsetX; // 148
39  float terrainTexOffsetY; // 14C
40  float terrainTexFade; // 150
41  std::uint32_t pad154; // 154
42 
43  protected:
45  {
46  using func_t = decltype(&BSLightingShaderMaterialLandscape::Ctor);
47  static REL::Relocation<func_t> func{ RELOCATION_ID(100102, 106809) };
48  return func(this);
49  }
51 
52  private:
53  KEEP_FOR_RE()
54  };
55  static_assert(sizeof(BSLightingShaderMaterialLandscape) == 0x158);
56 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BSLightingShaderMaterialBase.h:14
Definition: BSLightingShaderMaterialLandscape.h:12
NiColorA landBlendParams
Definition: BSLightingShaderMaterialLandscape.h:35
NiPointer< NiSourceTexture > landscapeDiffuseTexture[5]
Definition: BSLightingShaderMaterialLandscape.h:31
BSLightingShaderMaterialLandscape * Ctor()
Definition: BSLightingShaderMaterialLandscape.h:44
void CopyMembers(BSShaderMaterial *a_src) override
float textureIsSpecPower[6]
Definition: BSLightingShaderMaterialLandscape.h:37
static constexpr auto RTTI
Definition: BSLightingShaderMaterialLandscape.h:14
static constexpr auto FEATURE
Definition: BSLightingShaderMaterialLandscape.h:16
static constexpr auto VTABLE
Definition: BSLightingShaderMaterialLandscape.h:15
float terrainTexFade
Definition: BSLightingShaderMaterialLandscape.h:40
Feature GetFeature() const override
void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override
std::uint32_t pad154
Definition: BSLightingShaderMaterialLandscape.h:41
float textureIsSnow[6]
Definition: BSLightingShaderMaterialLandscape.h:36
NiPointer< NiSourceTexture > terrainNoiseTexture
Definition: BSLightingShaderMaterialLandscape.h:34
float terrainTexOffsetX
Definition: BSLightingShaderMaterialLandscape.h:38
NiPointer< NiSourceTexture > landscapeNormalTexture[5]
Definition: BSLightingShaderMaterialLandscape.h:32
NiPointer< NiSourceTexture > terrainOverlayTexture
Definition: BSLightingShaderMaterialLandscape.h:33
BSShaderMaterial * Create() override
std::uint32_t numLandscapeTextures
Definition: BSLightingShaderMaterialLandscape.h:29
float terrainTexOffsetY
Definition: BSLightingShaderMaterialLandscape.h:39
std::uint32_t pad0A4
Definition: BSLightingShaderMaterialLandscape.h:30
Definition: BSShaderMaterial.h:9
Feature
Definition: BSShaderMaterial.h:15
Definition: NiColor.h:283
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSLightingShaderMaterialLandscape(static_cast< std::uint64_t >(692020))
constexpr std::array< REL::ID, 1 > VTABLE_BSLightingShaderMaterialLandscape
Definition: Offsets_VTABLE.h:9210