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