CommonLibVR
BSLightingShaderMaterialEye.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiPoint3.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_BSLightingShaderMaterialEye;
15  inline static constexpr auto VTABLE = VTABLE_BSLightingShaderMaterialEye;
16  inline static constexpr auto FEATURE = Feature::kEye;
17 
18  ~BSLightingShaderMaterialEye() override; // 00
19 
20  // override (BSLightingShaderMaterialBase)
21  BSShaderMaterial* Create() override; // 01
22  void CopyMembers(BSShaderMaterial* a_other) override; // 02
23  std::uint32_t ComputeCRC32(void) override; // 04
24  Feature GetFeature() const override; // 06 - { return Feature::kEye; }
25  void OnLoadTextureSet(std::uint64_t a_arg1, BSTextureSet* a_textureSet) override; // 08
26  void ClearTextures() override; // 09
27  void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override; // 0A
28  void GetTextures(void) override; // 0B
29  void SaveBinary(NiStream& a_stream) override; // 0C
30  void LoadBinary(NiStream& a_stream) override; // 0D
31 
32  // members
35  float envMapScale; // B0
36  NiPoint3 eyeCenter[2]; // B4
37  std::uint32_t padC8; // CC
38 
39  protected:
41  {
42  using func_t = decltype(&BSLightingShaderMaterialEye::Ctor);
43  static REL::Relocation<func_t> func{ RELOCATION_ID(100033, 106740) };
44  return func(this);
45  }
47 
48  private:
49  KEEP_FOR_RE()
50  };
51  static_assert(sizeof(BSLightingShaderMaterialEye) == 0xD0);
52 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
#define RELOCATION_ID(SE, AE)
Definition: PCH.h:702
Definition: Relocation.h:210
Definition: BSLightingShaderMaterialBase.h:14
Definition: BSLightingShaderMaterialEye.h:12
void GetTextures(void) override
NiPoint3 eyeCenter[2]
Definition: BSLightingShaderMaterialEye.h:36
void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override
void OnLoadTextureSet(std::uint64_t a_arg1, BSTextureSet *a_textureSet) override
NiPointer< NiSourceTexture > envMaskTexture
Definition: BSLightingShaderMaterialEye.h:34
BSLightingShaderMaterialEye * Ctor()
Definition: BSLightingShaderMaterialEye.h:40
std::uint32_t padC8
Definition: BSLightingShaderMaterialEye.h:37
void LoadBinary(NiStream &a_stream) override
float envMapScale
Definition: BSLightingShaderMaterialEye.h:35
std::uint32_t ComputeCRC32(void) override
static constexpr auto RTTI
Definition: BSLightingShaderMaterialEye.h:14
NiPointer< NiSourceTexture > envTexture
Definition: BSLightingShaderMaterialEye.h:33
void SaveBinary(NiStream &a_stream) override
Feature GetFeature() const override
BSShaderMaterial * Create() override
void CopyMembers(BSShaderMaterial *a_other) override
static constexpr auto FEATURE
Definition: BSLightingShaderMaterialEye.h:16
static constexpr auto VTABLE
Definition: BSLightingShaderMaterialEye.h:15
Definition: BSShaderMaterial.h:9
Feature
Definition: BSShaderMaterial.h:15
Definition: BSTextureSet.h:9
Definition: NiPoint3.h:6
Definition: NiSmartPointer.h:9
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSLightingShaderMaterialEye
Definition: Offsets_VTABLE.h:9204
constexpr REL::ID RTTI_BSLightingShaderMaterialEye(static_cast< std::uint64_t >(692013))