CommonLibSSE NG
BSShaderMaterial.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiPoint2.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_BSShaderMaterial;
12 
13  enum class Feature
14  {
15  kNone = static_cast<std::underlying_type_t<Feature>>(-1),
16  kDefault = 0,
17  kEnvironmentMap = 1,
18  kGlowMap = 2,
19  kParallax = 3,
20  kFaceGen = 4,
21  kFaceGenRGBTint = 5,
22  kHairTint = 6,
23  kParallaxOcc = 7,
24  kMultiTexLand = 8,
25  kLODLand = 9,
26  kUnknown = 10,
27  kMultilayerParallax = 11,
28  kTreeAnim = 12,
29  kMultiIndexTriShapeSnow = 14,
30  kLODObjectsHD = 15,
31  kEye = 16,
32  kCloud = 17,
33  kLODLandNoise = 18,
34  kMultiTexLandLODBlend = 19
35  };
36 
37  enum class Type
38  {
39  kBase = 0,
40  kEffect = 1,
41  kLighting = 2,
42  kWater = 3
43  };
44 
45  virtual ~BSShaderMaterial(); // 00
46 
47  // add
48  virtual BSShaderMaterial* Create(); // 01
49  virtual void CopyMembers(BSShaderMaterial* a_other); // 02
50  virtual bool DoIsCopy(BSShaderMaterial* a_other); // 03
51  virtual std::uint32_t ComputeCRC32(void); // 04
52  virtual BSShaderMaterial* GetDefault(); // 05
53  virtual Feature GetFeature() const; // 06 - { return Feature::kDefault; }
54  virtual Type GetType() const; // 07 - { return Type::kBase; }
55 
56  // members
59  std::uint32_t hashKey; // 2C
60  std::uint32_t unk30; // 30
61  std::uint32_t unk34; // 34
62  };
63  static_assert(sizeof(BSShaderMaterial) == 0x38);
64 }
Definition: BSShaderMaterial.h:9
static constexpr auto RTTI
Definition: BSShaderMaterial.h:11
virtual Type GetType() const
NiPoint2 texCoordOffset[2]
Definition: BSShaderMaterial.h:57
virtual void CopyMembers(BSShaderMaterial *a_other)
std::uint32_t unk34
Definition: BSShaderMaterial.h:61
Type
Definition: BSShaderMaterial.h:38
NiPoint2 texCoordScale[2]
Definition: BSShaderMaterial.h:58
virtual ~BSShaderMaterial()
virtual Feature GetFeature() const
virtual BSShaderMaterial * Create()
virtual BSShaderMaterial * GetDefault()
Feature
Definition: BSShaderMaterial.h:14
std::uint32_t hashKey
Definition: BSShaderMaterial.h:59
std::uint32_t unk30
Definition: BSShaderMaterial.h:60
virtual std::uint32_t ComputeCRC32(void)
virtual bool DoIsCopy(BSShaderMaterial *a_other)
Definition: NiPoint2.h:6
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSShaderMaterial(686056, 393864, 0x1ef5220)
Definition: BSIntrusiveRefCounted.h:8