CommonLibSSE NG
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 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  REL::Relocation<func_t> func{ RELOCATION_ID(100102, 106809) };
48  return func(this);
49  }
51  };
52  static_assert(sizeof(BSLightingShaderMaterialLandscape) == 0x158);
53 }
#define RELOCATION_ID(a_se, a_ae)
Definition: PCH.h:724
Definition: Relocation.h:204
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 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
static auto FEATURE
Definition: BSLightingShaderMaterialLandscape.h:16
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:14
Definition: NiColor.h:276
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSLightingShaderMaterialLandscape(692020, 400064, 0x1f7fd78)
constexpr std::array< REL::VariantID, 1 > VTABLE_BSLightingShaderMaterialLandscape
Definition: Offsets_VTABLE.h:7227