CommonLibVR
BSLightingShaderMaterialMultiLayerParallax.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/N/NiSmartPointer.h"
5 
6 namespace RE
7 {
8  class NiSourceTexture;
9 
11  {
12  public:
13  inline static constexpr auto RTTI = RTTI_BSLightingShaderMaterialMultiLayerParallax;
15  inline static constexpr auto FEATURE = Feature::kMultilayerParallax;
16 
18 
19  // override (BSLightingShaderMaterialBase)
20  virtual BSShaderMaterial* Create() override; // 01
21  void CopyMembers(BSShaderMaterial* a_src) override; // 02
22  std::uint32_t ComputeCRC32(void) override; // 04
23  Feature GetFeature() const override; // 06 - { return Feature::kMultilayerParallax; }
24  void OnLoadTextureSet(std::uint64_t a_arg1, BSTextureSet* a_textureSet) override; // 08
25  void ClearTextures() override; // 09
26  void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override; // 0A
27  void GetTextures(void) override; // 0B
28  void SaveBinary(NiStream& a_stream) override; // 0C
29  void LoadBinary(NiStream& a_stream) override; // 0D
30 
31  // members
39  float envmapScale; // C8
40  std::uint32_t padCC; // CC
41 
42  protected:
44  {
45  using func_t = decltype(&BSLightingShaderMaterialMultiLayerParallax::Ctor);
46  static REL::Relocation<func_t> func{ RELOCATION_ID(100125, 106832) };
47  return func(this);
48  }
50 
51  private:
52  KEEP_FOR_RE()
53  };
54  static_assert(sizeof(BSLightingShaderMaterialMultiLayerParallax) == 0xD0);
55 }
#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: BSLightingShaderMaterialMultiLayerParallax.h:11
float parallaxInnerLayerVScale
Definition: BSLightingShaderMaterialMultiLayerParallax.h:38
std::uint32_t ComputeCRC32(void) override
float parallaxRefractionScale
Definition: BSLightingShaderMaterialMultiLayerParallax.h:36
static constexpr auto RTTI
Definition: BSLightingShaderMaterialMultiLayerParallax.h:13
void LoadBinary(NiStream &a_stream) override
void SaveBinary(NiStream &a_stream) override
NiPointer< NiSourceTexture > envMaskTexture
Definition: BSLightingShaderMaterialMultiLayerParallax.h:34
NiPointer< NiSourceTexture > layerTexture
Definition: BSLightingShaderMaterialMultiLayerParallax.h:32
void OnLoadTextureSet(std::uint64_t a_arg1, BSTextureSet *a_textureSet) override
BSLightingShaderMaterialMultiLayerParallax * Ctor()
Definition: BSLightingShaderMaterialMultiLayerParallax.h:43
float parallaxLayerThickness
Definition: BSLightingShaderMaterialMultiLayerParallax.h:35
static constexpr auto FEATURE
Definition: BSLightingShaderMaterialMultiLayerParallax.h:15
virtual BSShaderMaterial * Create() override
static constexpr auto VTABLE
Definition: BSLightingShaderMaterialMultiLayerParallax.h:14
float envmapScale
Definition: BSLightingShaderMaterialMultiLayerParallax.h:39
NiPointer< NiSourceTexture > envTexture
Definition: BSLightingShaderMaterialMultiLayerParallax.h:33
void ReceiveValuesFromRootMaterial(bool a_skinned, bool a_rimLighting, bool a_softLighting, bool a_backLighting, bool a_MSN) override
float parallaxInnerLayerUScale
Definition: BSLightingShaderMaterialMultiLayerParallax.h:37
void CopyMembers(BSShaderMaterial *a_src) override
std::uint32_t padCC
Definition: BSLightingShaderMaterialMultiLayerParallax.h:40
Definition: BSShaderMaterial.h:9
Feature
Definition: BSShaderMaterial.h:15
Definition: BSTextureSet.h:9
Definition: NiSmartPointer.h:9
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSLightingShaderMaterialMultiLayerParallax(static_cast< std::uint64_t >(692023))
constexpr std::array< REL::ID, 1 > VTABLE_BSLightingShaderMaterialMultiLayerParallax
Definition: Offsets_VTABLE.h:9211