CommonLibVR
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  inline static constexpr auto VTABLE = VTABLE_BSShaderMaterial;
13 
14  enum class Feature
15  {
16  kNone = static_cast<std::underlying_type_t<Feature>>(-1),
17  kDefault = 0,
18  kEnvironmentMap = 1,
19  kGlowMap = 2,
20  kParallax = 3,
21  kFaceGen = 4,
22  kFaceGenRGBTint = 5,
23  kHairTint = 6,
24  kParallaxOcc = 7,
25  kMultiTexLand = 8,
26  kLODLand = 9,
27  kUnknown = 10,
28  kMultilayerParallax = 11,
29  kTreeAnim = 12,
30  kMultiIndexTriShapeSnow = 14,
31  kLODObjectsHD = 15,
32  kEye = 16,
33  kCloud = 17,
34  kLODLandNoise = 18,
35  kMultiTexLandLODBlend = 19
36  };
37 
38  enum class Type
39  {
40  kBase = 0,
41  kEffect = 1,
42  kLighting = 2,
43  kWater = 3
44  };
45 
46  virtual ~BSShaderMaterial(); // 00
47 
48  // add
49  virtual BSShaderMaterial* Create(); // 01
50  virtual void CopyMembers(BSShaderMaterial* a_other); // 02
51  virtual bool DoIsCopy(BSShaderMaterial* a_other); // 03
52  virtual std::uint32_t ComputeCRC32(void); // 04
53  virtual BSShaderMaterial* GetDefault(); // 05
54  virtual Feature GetFeature() const; // 06 - { return Feature::kDefault; }
55  virtual Type GetType() const; // 07 - { return Type::kBase; }
56 
57  // members
60  std::uint32_t hashKey; // 2C
61  std::uint32_t unk30; // 30
62  std::uint32_t unk34; // 34
63  private:
64  KEEP_FOR_RE()
65  };
66  static_assert(sizeof(BSShaderMaterial) == 0x38);
67 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSShaderMaterial.h:9
static constexpr auto RTTI
Definition: BSShaderMaterial.h:11
virtual Type GetType() const
NiPoint2 texCoordOffset[2]
Definition: BSShaderMaterial.h:58
virtual void CopyMembers(BSShaderMaterial *a_other)
std::uint32_t unk34
Definition: BSShaderMaterial.h:62
Type
Definition: BSShaderMaterial.h:39
NiPoint2 texCoordScale[2]
Definition: BSShaderMaterial.h:59
virtual ~BSShaderMaterial()
static constexpr auto VTABLE
Definition: BSShaderMaterial.h:12
virtual Feature GetFeature() const
virtual BSShaderMaterial * Create()
virtual BSShaderMaterial * GetDefault()
Feature
Definition: BSShaderMaterial.h:15
std::uint32_t hashKey
Definition: BSShaderMaterial.h:60
std::uint32_t unk30
Definition: BSShaderMaterial.h:61
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(static_cast< std::uint64_t >(686056))
constexpr std::array< REL::ID, 1 > VTABLE_BSShaderMaterial
Definition: Offsets_VTABLE.h:9835
@ kNone
Definition: PlayerCharacter.h:85
Definition: BSIntrusiveRefCounted.h:8