CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
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
8namespace 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
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
const NiRTTI * GetRTTI() const override
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
NiSourceTexture * GetBaseTexture() override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
std::int32_t ForEachTexture(ForEachVisitor &a_visitor) 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