CommonLibVR
Loading...
Searching...
No Matches
BSSkyShaderProperty.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
8 {
9 public:
10 inline static constexpr auto RTTI = RTTI_BSSkyShaderProperty;
11 inline static auto Ni_RTTI = NiRTTI_BSSkyShaderProperty;
12 inline static auto VTABLE = VTABLE_BSSkyShaderProperty;
13
14 ~BSSkyShaderProperty() override; // 00
15
16 // override (BSShaderProperty)
17 const NiRTTI* GetRTTI() const override; // 02
18 NiObject* CreateClone(NiCloningProcess& a_cloning) override; // 17
19 void LoadBinary(NiStream& a_stream) override; // 18
20 void LinkObject(NiStream& a_stream) override; // 19
21 bool RegisterStreamables(NiStream& a_stream) override; // 1A
22 void SaveBinary(NiStream& a_stream) override; // 1B
23 bool IsEqual(NiObject* a_object) override; // 1C
24 void PostLinkObject(NiStream& a_stream) override; // 1E
25 RenderPassArray* GetRenderPasses(BSGeometry* a_geometry, std::uint32_t a_arg2, BSShaderAccumulator* a_accumulator) override; // 2A
26 std::int32_t ForEachTexture(ForEachVisitor& a_visitor) override; // 33
27 virtual std::int32_t QShader() override; // 35
28 [[nodiscard]] virtual NiSourceTexture* GetBaseTexture() override; // 37
29
31 {
32 SO_SUN = 0x0,
35 SO_CLOUDS = 0x3,
37 SO_STARS = 0x5,
38 SO_MOON = 0x6,
40 };
41
42 // members
46 std::uint8_t unk0A8[0x10]; // 0A8
47 float fBlendValue; // 0B8
48 std::uint16_t usCloudLayer; // 0BC
49 bool bFadeSecondTexture; // 0BE
51 };
52 static_assert(sizeof(BSSkyShaderProperty) == 0xC8);
53}
Definition EnumSet.h:9
Definition BSGeometry.h:17
Definition BSShaderProperty.h:27
Definition BSShaderProperty.h:17
Definition BSSkyShaderProperty.h:8
void PostLinkObject(NiStream &a_stream) override
bool IsEqual(NiObject *a_object) override
RE::NiColorA kBlendColor
Definition BSSkyShaderProperty.h:43
std::uint16_t usCloudLayer
Definition BSSkyShaderProperty.h:48
bool bFadeSecondTexture
Definition BSSkyShaderProperty.h:49
std::uint8_t unk0A8[0x10]
Definition BSSkyShaderProperty.h:46
void LinkObject(NiStream &a_stream) override
NiObject * CreateClone(NiCloningProcess &a_cloning) override
RE::NiSourceTexture * pBaseTexture
Definition BSSkyShaderProperty.h:44
~BSSkyShaderProperty() override
void SaveBinary(NiStream &a_stream) override
bool RegisterStreamables(NiStream &a_stream) override
static auto VTABLE
Definition BSSkyShaderProperty.h:12
static constexpr auto RTTI
Definition BSSkyShaderProperty.h:10
virtual std::int32_t QShader() override
static auto Ni_RTTI
Definition BSSkyShaderProperty.h:11
RE::NiSourceTexture * pBlendTexture
Definition BSSkyShaderProperty.h:45
float fBlendValue
Definition BSSkyShaderProperty.h:47
std::int32_t ForEachTexture(ForEachVisitor &a_visitor) override
SkyObject
Definition BSSkyShaderProperty.h:31
@ SO_SKYQUAD
Definition BSSkyShaderProperty.h:36
@ SO_STARS
Definition BSSkyShaderProperty.h:37
@ SO_CLOUDS
Definition BSSkyShaderProperty.h:35
@ SO_ATMOSPHERE
Definition BSSkyShaderProperty.h:34
@ SO_SUN
Definition BSSkyShaderProperty.h:32
@ SO_MOON
Definition BSSkyShaderProperty.h:38
@ SO_SUN_GLARE
Definition BSSkyShaderProperty.h:33
@ SO_MOON_SHADOW
Definition BSSkyShaderProperty.h:39
RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
const NiRTTI * GetRTTI() const override
virtual NiSourceTexture * GetBaseTexture() override
void LoadBinary(NiStream &a_stream) override
REX::EnumSet< SkyObject, std::uint32_t > uiSkyObjectType
Definition BSSkyShaderProperty.h:50
Definition NiCloningProcess.h:10
Definition NiColor.h:283
Definition NiObject.h:37
Definition NiRTTI.h:6
Definition NiSourceTexture.h:21
Definition NiStream.h:29
Definition AbsorbEffect.h:6
constexpr REL::ID NiRTTI_BSSkyShaderProperty(static_cast< std::uint64_t >(528205))
constexpr std::array< REL::ID, 1 > VTABLE_BSSkyShaderProperty
Definition Offsets_VTABLE.h:9848
constexpr REL::ID RTTI_BSSkyShaderProperty(static_cast< std::uint64_t >(692046))
Definition BSShaderProperty.h:39