CommonLibSSE (powerof3)
BSBloodSplatterShaderProperty.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "RE/B/BSTArray.h"
5 #include "RE/N/NiColor.h"
6 #include "RE/N/NiPoint3.h"
7 
8 namespace RE
9 {
10  class NiSourceTexture;
11 
13  {
14  public:
15  inline static constexpr auto RTTI = RTTI_BSBloodSplatterShaderProperty;
16  inline static constexpr auto Ni_RTTI = NiRTTI_BSBloodSplatterShaderProperty;
17  inline static constexpr auto VTABLE = VTABLE_BSBloodSplatterShaderProperty;
18 
19  enum : std::uint32_t
20  {
24 
25  kTotal
26  };
27 
29 
30  // override (BSShaderProperty)
31  const NiRTTI* GetRTTI() const override; // 02
32  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
33  RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
34  std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33
35  std::int32_t QShader() override; // 35 - { return 12 }
36  NiSourceTexture* GetBaseTexture() override; // 37 - { return bloodColorTexture; }
37 
38  // members
40  std::int32_t textureClampMode; // 0A0
41  float* alphaSource; // 0A8
42  };
43  static_assert(sizeof(BSBloodSplatterShaderProperty) == 0xB0);
44 }
Definition: BSBloodSplatterShaderProperty.h:13
std::int32_t textureClampMode
Definition: BSBloodSplatterShaderProperty.h:40
static constexpr auto RTTI
Definition: BSBloodSplatterShaderProperty.h:15
const NiRTTI * GetRTTI() const override
std::int32_t QShader() override
static constexpr auto Ni_RTTI
Definition: BSBloodSplatterShaderProperty.h:16
@ kTotal
Definition: BSBloodSplatterShaderProperty.h:25
@ kBloodColor
Definition: BSBloodSplatterShaderProperty.h:21
@ kFlareColor
Definition: BSBloodSplatterShaderProperty.h:23
@ kBloodAlpha
Definition: BSBloodSplatterShaderProperty.h:22
NiPointer< NiSourceTexture > bloodTextures[kTotal]
Definition: BSBloodSplatterShaderProperty.h:39
float * alphaSource
Definition: BSBloodSplatterShaderProperty.h:41
NiObject * CreateClone(NiCloningProcess &a_cloning) override
NiSourceTexture * GetBaseTexture() override
std::int32_t ForEachTexture(ForEachVisitor &a_visitor) override
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
static constexpr auto VTABLE
Definition: BSBloodSplatterShaderProperty.h:17
Definition: BSGeometry.h:15
Definition: BSShaderProperty.h:27
Definition: BSShaderProperty.h:17
Definition: NiCloningProcess.h:10
Definition: NiObject.h:37
Definition: NiSmartPointer.h:9
Definition: NiRTTI.h:6
Definition: NiSourceTexture.h:21
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSBloodSplatterShaderProperty(static_cast< std::uint64_t >(692032))
constexpr std::array< REL::ID, 1 > VTABLE_BSBloodSplatterShaderProperty
Definition: Offsets_VTABLE.h:8965
constexpr REL::ID NiRTTI_BSBloodSplatterShaderProperty(static_cast< std::uint64_t >(527906))
Definition: BSShaderProperty.h:39