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:38
Definition: BSShaderPropertyLightData.h:10
Definition: BSShaderProperty.h:26
virtual std::uint32_t Accept(NiSourceTexture *a_texture)=0
static constexpr auto RTTI
Definition: BSShaderProperty.h:28
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:228
RenderPassArray debugRenderPassList
Definition: BSShaderProperty.h:225
float alpha
Definition: BSShaderProperty.h:220
std::int32_t lastRenderPassState
Definition: BSShaderProperty.h:221
virtual std::uint32_t DetermineUtilityShaderDecl()
BSShaderPropertyLightData * lightData
Definition: BSShaderProperty.h:229
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:224
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:43
@ kGrayscaleToPaletteAlpha
@ kNoTransparencyMultiSample
@ kGrayscaleToPaletteColor
virtual float QMaterialAlpha()
virtual bool CanMerge(const BSShaderProperty *a_other)
virtual void Unk_3A(void)
BSFadeNode * fadeNode
Definition: BSShaderProperty.h:227
static constexpr auto RTTI
Definition: BSShaderProperty.h:22
stl::enumeration< EShaderPropertyFlag, std::uint64_t > flags
Definition: BSShaderProperty.h:222
~BSShaderProperty() override
void PostLinkObject(NiStream &a_stream) override
static auto Ni_RTTI
Definition: BSShaderProperty.h:23
virtual void Unk_2C(void)
BSShaderMaterial * material
Definition: BSShaderProperty.h:230
virtual void Unk_3C(void)
RenderPassArray renderPassList
Definition: BSShaderProperty.h:223
virtual BSShaderMaterial::Type GetMaterialType()
std::uint64_t unk80
Definition: BSShaderProperty.h:231
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:111
@ kGrayscaleToPaletteAlpha
@ kNoTransparencyMultiSample
@ kGrayscaleToPaletteColor
std::uint64_t unk58
Definition: BSShaderProperty.h:226
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:36
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 REL::VariantID NiRTTI_BSShaderProperty(527634, 414563, 0x3422f68)
constexpr REL::VariantID RTTI_BSShaderProperty(691873, 399917, 0x1f7d760)
constexpr REL::VariantID RTTI_BSShaderProperty__ForEachVisitor(684927, 392664, 0x1edc5f0)
Definition: BSShaderProperty.h:37
BSRenderPass * head
Definition: BSShaderProperty.h:38