CommonLibVR
BSEffectShaderProperty.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  class NiColor;
8 
10  {
11  public:
12  inline static constexpr auto RTTI = RTTI_BSEffectShaderProperty;
13  inline static constexpr auto Ni_RTTI = NiRTTI_BSEffectShaderProperty;
14  inline static constexpr auto VTABLE = VTABLE_BSEffectShaderProperty;
15 
16  ~BSEffectShaderProperty() override; // 00
17 
18  // override (BSShaderProperty)
19  const NiRTTI* GetRTTI() const override; // 02
20  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17 - { return 0; }
21  void LoadBinary(NiStream& a_stream) override; // 18
22  void LinkObject(NiStream& a_stream) override; // 19 - { NiShadeProperty::LinkObject(a_stream); }
23  void SaveBinary(NiStream& a_stream) override; // 1B
24  void PostLinkObject(NiStream& a_stream) override; // 1E - { NiObjectNET::PostLinkObject(a_stream); }
25  bool SetupGeometry(BSGeometry* a_geometry) override; // 27
26  RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
27  void Unk_2B(void) override; // 2B - { return 0; }
28  void SetMaterialAlpha(float a_alpha) override; // 31 - { baseColor->alpha = a_alpha }
29  float QMaterialAlpha() override; // 32 - { baseColor->alpha }
30  std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33
31  std::int32_t QShader() override; // 35 - { return 1; }
32  NiSourceTexture* GetBaseTexture() override; // 37 - { return material->sourceTexture }
33  void Unk_3B(void) override; // 3B - { return; }
34  void Unk_3C(void) override; // 3C - { return 1; }
35  BSShaderMaterial::Type GetMaterialType() override; // 3E - { return 1; }
36 
37  // members
38  NiColor* unk88; // 88
39  std::uint64_t unk90; // 90
40  std::uint64_t unk98; // 98
41  private:
42  KEEP_FOR_RE()
43  };
44  static_assert(sizeof(BSEffectShaderProperty) == 0xA0);
45 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSEffectShaderProperty.h:10
void Unk_3C(void) override
NiColor * unk88
Definition: BSEffectShaderProperty.h:38
static constexpr auto Ni_RTTI
Definition: BSEffectShaderProperty.h:13
const NiRTTI * GetRTTI() const override
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
std::int32_t ForEachTexture(ForEachVisitor &a_visitor) override
std::uint64_t unk90
Definition: BSEffectShaderProperty.h:39
std::uint64_t unk98
Definition: BSEffectShaderProperty.h:40
void LinkObject(NiStream &a_stream) override
bool SetupGeometry(BSGeometry *a_geometry) override
void LoadBinary(NiStream &a_stream) override
NiSourceTexture * GetBaseTexture() override
float QMaterialAlpha() override
void PostLinkObject(NiStream &a_stream) override
void Unk_2B(void) override
void SaveBinary(NiStream &a_stream) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
BSShaderMaterial::Type GetMaterialType() override
void Unk_3B(void) override
static constexpr auto RTTI
Definition: BSEffectShaderProperty.h:12
std::int32_t QShader() override
static constexpr auto VTABLE
Definition: BSEffectShaderProperty.h:14
void SetMaterialAlpha(float a_alpha) override
~BSEffectShaderProperty() override
Definition: BSGeometry.h:17
Type
Definition: BSShaderMaterial.h:39
Definition: BSShaderProperty.h:27
Definition: BSShaderProperty.h:17
Definition: NiCloningProcess.h:10
Definition: NiColor.h:11
Definition: NiObject.h:37
Definition: NiRTTI.h:6
Definition: NiSourceTexture.h:21
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSEffectShaderProperty(static_cast< std::uint64_t >(692024))
constexpr REL::ID NiRTTI_BSEffectShaderProperty(static_cast< std::uint64_t >(527834))
constexpr std::array< REL::ID, 1 > VTABLE_BSEffectShaderProperty
Definition: Offsets_VTABLE.h:9003
Definition: BSShaderProperty.h:39