11 class BSShaderAccumulator;
12 class BSShaderMaterial;
13 class BSShaderPropertyLightData;
14 class NiSourceTexture;
19 static constexpr
auto BIT64 =
static_cast<std::uint64_t
>(1);
Definition: BSFadeNode.h:11
Definition: BSGeometry.h:15
Definition: BSRenderPass.h:11
Definition: BSShaderMaterial.h:9
Type
Definition: BSShaderMaterial.h:39
Definition: BSShaderPropertyLightData.h:10
Definition: BSShaderProperty.h:27
static constexpr auto VTABLE
Definition: BSShaderProperty.h:30
virtual std::uint32_t Accept(NiSourceTexture *a_texture)=0
static constexpr auto RTTI
Definition: BSShaderProperty.h:29
virtual ~ForEachVisitor()
Definition: BSShaderProperty.h:17
virtual std::int32_t ForEachTexture(ForEachVisitor &a_visitor)
NiObject * CreateClone(NiCloningProcess &a_cloning) override
void LoadBinary(NiStream &a_stream) override
BSTSmartPointer< BSEffectShaderData > effectData
Definition: BSShaderProperty.h:231
RenderPassArray debugRenderPassList
Definition: BSShaderProperty.h:228
float alpha
Definition: BSShaderProperty.h:223
std::int32_t lastRenderPassState
Definition: BSShaderProperty.h:224
virtual std::uint32_t DetermineUtilityShaderDecl()
BSShaderPropertyLightData * lightData
Definition: BSShaderProperty.h:232
virtual void Unk_38(void)
bool SetupGeometry(BSGeometry *a_geometry) override
virtual void SetMaterialAlpha(float a_alpha)
void LinkObject(NiStream &a_stream) override
std::uint64_t unk48
Definition: BSShaderProperty.h:227
void SetFlags(EShaderPropertyFlag8 a_flag, bool a_set)
virtual void Unk_2F(void)
virtual void Unk_3B(void)
const NiRTTI * GetRTTI() const override
EShaderPropertyFlag
Definition: BSShaderProperty.h:45
@ kGrayscaleToPaletteAlpha
@ kNoTransparencyMultiSample
@ kGrayscaleToPaletteColor
virtual float QMaterialAlpha()
virtual bool CanMerge(const BSShaderProperty *a_other)
virtual void Unk_3A(void)
REX::EnumSet< EShaderPropertyFlag, std::uint64_t > flags
Definition: BSShaderProperty.h:225
BSFadeNode * fadeNode
Definition: BSShaderProperty.h:230
static constexpr auto RTTI
Definition: BSShaderProperty.h:22
~BSShaderProperty() override
void LinkMaterial(BSShaderMaterial *a_material, bool a_unk1)
void PostLinkObject(NiStream &a_stream) override
virtual void Unk_2C(void)
BSShaderMaterial * material
Definition: BSShaderProperty.h:233
static constexpr auto Ni_RTTI
Definition: BSShaderProperty.h:23
virtual void Unk_3C(void)
RenderPassArray renderPassList
Definition: BSShaderProperty.h:226
virtual BSShaderMaterial::Type GetMaterialType()
std::uint64_t unk80
Definition: BSShaderProperty.h:234
void Unk_29(void) override
void SetEffectShaderData(const BSTSmartPointer< BSEffectShaderData > &a_data)
bool IsEqual(NiObject *a_object) override
virtual void Unk_2B(void)
void SetMaterial(BSShaderMaterial *a_material, bool a_unk1)
void SaveBinary(NiStream &a_stream) override
virtual bool AcceptsEffectData() const
virtual NiSourceTexture * GetBaseTexture()
virtual void Unk_2E(void)
EShaderPropertyFlag8
Definition: BSShaderProperty.h:113
@ kGrayscaleToPaletteAlpha
@ kNoTransparencyMultiSample
@ kGrayscaleToPaletteColor
std::uint64_t unk58
Definition: BSShaderProperty.h:229
static constexpr auto VTABLE
Definition: BSShaderProperty.h:24
virtual std::int32_t QShader()
virtual void Unk_2D(void)
bool RegisterStreamables(NiStream &a_stream) override
virtual RenderPassArray * GetRenderPasses(BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator)=0
virtual void DoClearRenderPasses()
virtual void Unk_36(void)
Definition: BSTSmartPointer.h:37
Definition: NiCloningProcess.h:10
Definition: NiObject.h:37
Definition: NiShadeProperty.h:8
Definition: NiSourceTexture.h:21
Definition: NiStream.h:29
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_BSShaderProperty__ForEachVisitor
Definition: Offsets_VTABLE.h:9837
constexpr std::array< REL::ID, 1 > VTABLE_BSShaderProperty
Definition: Offsets_VTABLE.h:9836
constexpr REL::ID RTTI_BSShaderProperty(static_cast< std::uint64_t >(691873))
constexpr REL::ID NiRTTI_BSShaderProperty(static_cast< std::uint64_t >(527634))
constexpr REL::ID RTTI_BSShaderProperty__ForEachVisitor(static_cast< std::uint64_t >(684927))
Definition: BSShaderProperty.h:39
BSRenderPass * head
Definition: BSShaderProperty.h:40