CommonLibSSE (powerof3)
BSLightingShaderMaterialBase.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 BSTextureSet;
10  class NiSourceTexture;
11 
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_BSLightingShaderMaterialBase;
16 
18 
19  // override (BSShaderMaterial)
20  BSShaderMaterial* Create() override = 0; // 01
21  void CopyMembers(BSShaderMaterial* a_other) override; // 02
22  bool DoIsCopy(BSShaderMaterial* a_other) override; // 03
23  std::uint32_t ComputeCRC32(void) override; // 04
24  BSShaderMaterial* GetDefault() override; // 05
25  Feature GetFeature() const override; // 06 - { return Feature::kDefault; }
26  Type GetType() const override; // 07 - { return Type::kLighting; }
27 
28  // add
29  virtual void OnLoadTextureSet(void); // 08
30  virtual void ClearTextures(void); // 09
31  virtual void ReceiveValuesFromRootMaterial(void); // 0A
32  virtual void GetTextures(void); // 0B
33  virtual void SaveBinary(void); // 0C
34  virtual void LoadBinary(void); // 0D
35 
37 
40 
41  // members
43  std::uint32_t pad44; // 44
45  std::int32_t diffuseRenderTargetSourceIndex; // 50
46  std::uint32_t pad54; // 54
50  std::int32_t textureClampMode; // 70
51  std::int32_t pad74; // 70
53  float materialAlpha; // 80
54  float refractionPower; // 84
55  float specularPower; // 88
56  float specularColorScale; // 8C
58  float rimLightPower; // 94
59  std::uint64_t unk98; // 98
60  };
61  static_assert(sizeof(BSLightingShaderMaterialBase) == 0xA0);
62 }
Definition: BSLightingShaderMaterialBase.h:13
float materialAlpha
Definition: BSLightingShaderMaterialBase.h:53
std::uint32_t pad44
Definition: BSLightingShaderMaterialBase.h:43
float specularPower
Definition: BSLightingShaderMaterialBase.h:55
void SetTextureSet(NiPointer< BSTextureSet > a_textureSet)
std::uint32_t pad54
Definition: BSLightingShaderMaterialBase.h:46
std::int32_t pad74
Definition: BSLightingShaderMaterialBase.h:51
float subSurfaceLightRolloff
Definition: BSLightingShaderMaterialBase.h:57
NiPointer< NiSourceTexture > specularBackLightingTexture
Definition: BSLightingShaderMaterialBase.h:49
static constexpr auto RTTI
Definition: BSLightingShaderMaterialBase.h:15
std::uint64_t unk98
Definition: BSLightingShaderMaterialBase.h:59
NiPointer< NiSourceTexture > rimSoftLightingTexture
Definition: BSLightingShaderMaterialBase.h:48
BSShaderMaterial * GetDefault() override
bool DoIsCopy(BSShaderMaterial *a_other) override
BSShaderMaterial * Create() override=0
virtual void ReceiveValuesFromRootMaterial(void)
virtual void GetTextures(void)
float refractionPower
Definition: BSLightingShaderMaterialBase.h:54
NiPointer< BSTextureSet > GetTextureSet() const
float specularColorScale
Definition: BSLightingShaderMaterialBase.h:56
Type GetType() const override
NiPointer< NiSourceTexture > diffuseTexture
Definition: BSLightingShaderMaterialBase.h:44
NiPointer< NiSourceTexture > normalTexture
Definition: BSLightingShaderMaterialBase.h:47
NiPointer< BSTextureSet > textureSet
Definition: BSLightingShaderMaterialBase.h:52
virtual void OnLoadTextureSet(void)
NiColor specularColor
Definition: BSLightingShaderMaterialBase.h:42
Feature GetFeature() const override
static BSLightingShaderMaterialBase * CreateMaterial(Feature a_feature)
void CopyMembers(BSShaderMaterial *a_other) override
std::uint32_t ComputeCRC32(void) override
float rimLightPower
Definition: BSLightingShaderMaterialBase.h:58
std::int32_t textureClampMode
Definition: BSLightingShaderMaterialBase.h:50
virtual void ClearTextures(void)
std::int32_t diffuseRenderTargetSourceIndex
Definition: BSLightingShaderMaterialBase.h:45
Definition: BSShaderMaterial.h:9
Type
Definition: BSShaderMaterial.h:37
Feature
Definition: BSShaderMaterial.h:14
Definition: NiColor.h:9
Definition: NiSmartPointer.h:9
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSLightingShaderMaterialBase
Definition: Offsets_RTTI.h:1889