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 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)
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)
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
virtual NiSourceTexture * GetBaseTexture()
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
const NiRTTI * GetRTTI() const override
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
NiObject * CreateClone(NiCloningProcess &a_cloning) override
virtual void Unk_2E(void)
EShaderPropertyFlag8
Definition BSShaderProperty.h:111
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 BSShaderPropertyLightData.h:10
Definition BSTSmartPointer.h:36
Definition NiCloningProcess.h:10
Definition NiShadeProperty.h:8
Definition NiSourceTexture.h:21
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