CommonLibSSE NG
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;
17 
18  enum : std::uint32_t
19  {
23 
24  kTotal
25  };
26 
28 
29  // override (BSShaderProperty)
30  const NiRTTI* GetRTTI() const override; // 02
31  NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
32  RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
33  std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33
34  std::int32_t QShader() override; // 35 - { return 12 }
35  NiSourceTexture* GetBaseTexture() override; // 37 - { return bloodColorTexture; }
36 
37  // members
39  std::int32_t textureClampMode; // 0A0
40  float* alphaSource; // 0A8
41  };
42  static_assert(sizeof(BSBloodSplatterShaderProperty) == 0xB0);
43 }
Definition: BSBloodSplatterShaderProperty.h:13
static auto Ni_RTTI
Definition: BSBloodSplatterShaderProperty.h:16
std::int32_t textureClampMode
Definition: BSBloodSplatterShaderProperty.h:39
static constexpr auto RTTI
Definition: BSBloodSplatterShaderProperty.h:15
const NiRTTI * GetRTTI() const override
std::int32_t QShader() override
@ kTotal
Definition: BSBloodSplatterShaderProperty.h:24
@ kBloodColor
Definition: BSBloodSplatterShaderProperty.h:20
@ kFlareColor
Definition: BSBloodSplatterShaderProperty.h:22
@ kBloodAlpha
Definition: BSBloodSplatterShaderProperty.h:21
NiPointer< NiSourceTexture > bloodTextures[kTotal]
Definition: BSBloodSplatterShaderProperty.h:38
float * alphaSource
Definition: BSBloodSplatterShaderProperty.h:40
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
Definition: BSGeometry.h:15
Definition: BSShaderProperty.h:26
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::VariantID NiRTTI_BSBloodSplatterShaderProperty(527906, 414853, 0x34851a0)
constexpr REL::VariantID RTTI_BSBloodSplatterShaderProperty(692032, 400076, 0x1f800d0)
Definition: BSShaderProperty.h:37