CommonLibSSE (powerof3)
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  kMultilayerParallax = 11,
27  kTreeAnim = 12,
28  kMultiIndexTriShapeSnow = 14,
29  kLODObjectsHD = 15,
30  kEye = 16,
31  kCloud = 17,
32  kLODLandNoise = 18,
33  kMultiTexLandLODBlend = 19
34  };
35 
36  enum class Type
37  {
38  kBase = 0,
39  kEffect = 1,
40  kLighting = 2,
41  kWater = 3
42  };
43 
44  virtual ~BSShaderMaterial(); // 00
45 
46  // add
47  virtual BSShaderMaterial* Create(); // 01
48  virtual void CopyMembers(BSShaderMaterial* a_other); // 02
49  virtual bool DoIsCopy(BSShaderMaterial* a_other); // 03
50  virtual std::uint32_t ComputeCRC32(void); // 04
51  virtual BSShaderMaterial* GetDefault(); // 05
52  virtual Feature GetFeature() const; // 06 - { return Feature::kDefault; }
53  virtual Type GetType() const; // 07 - { return Type::kBase; }
54 
55  // members
58  std::uint32_t hashKey; // 2C
59  std::uint64_t unk30; // 30
60  };
61  static_assert(sizeof(BSShaderMaterial) == 0x38);
62 }
Definition: BSShaderMaterial.h:9
static constexpr auto RTTI
Definition: BSShaderMaterial.h:11
virtual Type GetType() const
NiPoint2 texCoordOffset[2]
Definition: BSShaderMaterial.h:56
virtual void CopyMembers(BSShaderMaterial *a_other)
Type
Definition: BSShaderMaterial.h:37
NiPoint2 texCoordScale[2]
Definition: BSShaderMaterial.h:57
virtual ~BSShaderMaterial()
virtual Feature GetFeature() const
virtual BSShaderMaterial * Create()
virtual BSShaderMaterial * GetDefault()
Feature
Definition: BSShaderMaterial.h:14
std::uint32_t hashKey
Definition: BSShaderMaterial.h:58
std::uint64_t unk30
Definition: BSShaderMaterial.h:59
virtual std::uint32_t ComputeCRC32(void)
virtual bool DoIsCopy(BSShaderMaterial *a_other)
Definition: NiPoint2.h:6
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSShaderMaterial
Definition: Offsets_RTTI.h:2563
Definition: BSIntrusiveRefCounted.h:8