CommonLibSSE (Parapets fork)
RE::BSShaderProperty Class Referenceabstract

#include <BSShaderProperty.h>

Inheritance diagram for RE::BSShaderProperty:
RE::NiShadeProperty RE::NiProperty RE::NiObjectNET RE::NiObject RE::NiRefObject RE::BSLightingShaderProperty

Public Types

enum class  EShaderPropertyFlag : std::uint64_t {
  kSpecular = BIT64 << 0 , kSkinned = BIT64 << 1 , kTempRefraction = BIT64 << 2 , kVertexAlpha = BIT64 << 3 ,
  kGrayscaleToPaletteColor = BIT64 << 4 , kGrayscaleToPaletteAlpha = BIT64 << 5 , kFalloff = BIT64 << 6 , kEnvMap = BIT64 << 7 ,
  kRGBFalloff = BIT64 << 8 , kCastShadows = BIT64 << 9 , kFace = BIT64 << 10 , kUIMaskRects = BIT64 << 11 ,
  kModelSpaceNormals = BIT64 << 12 , kRefractionClamp = BIT64 << 13 , kMultiTextureLandscape = BIT64 << 14 , kRefraction = BIT64 << 15 ,
  kRefractionFalloff = BIT64 << 16 , kEyeReflect = BIT64 << 17 , kHairTint = BIT64 << 18 , kScreendoorAlphaFade = BIT64 << 19 ,
  kLocalMapClear = BIT64 << 20 , kFaceGenRGBTint = BIT64 << 21 , kOwnEmit = BIT64 << 22 , kProjectedUV = BIT64 << 23 ,
  kMultipleTextures = BIT64 << 24 , kTesselate = BIT64 << 25 , kDecal = BIT64 << 26 , kDynamicDecal = BIT64 << 27 ,
  kCharacterLight = BIT64 << 28 , kExternalEmittance = BIT64 << 29 , kSoftEffect = BIT64 << 30 , kZBufferTest = BIT64 << 31 ,
  kZBufferWrite = BIT64 << 32 , kLODLandscape = BIT64 << 33 , kLODObjects = BIT64 << 34 , kNoFade = BIT64 << 35 ,
  kTwoSided = BIT64 << 36 , kVertexColors = BIT64 << 37 , kGlowMap = BIT64 << 38 , kTransformChanged = BIT64 << 39 ,
  kDismembermentMeatCuff = BIT64 << 40 , kTint = BIT64 << 41 , kVertexLighting = BIT64 << 42 , kUniformScale = BIT64 << 43 ,
  kFitSlope = BIT64 << 44 , kBillboard = BIT64 << 45 , kLODLandBlend = BIT64 << 46 , kDismemberment = BIT64 << 47 ,
  kWireframe = BIT64 << 48 , kWeaponBlood = BIT64 << 49 , kHideOnLocalMap = BIT64 << 50 , kPremultAlpha = BIT64 << 51 ,
  kVATSTarget = BIT64 << 52 , kAnisotropicLighting = BIT64 << 53 , kSkewSpecularAlpha = BIT64 << 54 , kMenuScreen = BIT64 << 55 ,
  kMultiLayerParallax = BIT64 << 56 , kAlphaTest = BIT64 << 57 , kInvertedFadePattern = BIT64 << 58 , kVATSTargetDrawAll = BIT64 << 59 ,
  kPipboyScreen = BIT64 << 60 , kTreeAnim = BIT64 << 61 , kEffectLighting = BIT64 << 62 , kRefractionWritesDepth = BIT64 << 63
}
 
- Public Types inherited from RE::NiProperty
enum class  Type { kAlpha = 0 , kShade = 1 }
 

Public Member Functions

 ~BSShaderProperty () override
 
const NiRTTIGetRTTI () const override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
void PostLinkObject (NiStream &a_stream) override
 
void Unk_27 (void) override
 
void Unk_29 (void) override
 
virtual void Unk_2A (void)=0
 
virtual void Unk_2B (void)
 
virtual void Unk_2C (void)
 
virtual void Unk_2D (void)
 
virtual void Unk_2E (void)
 
virtual void Unk_2F (void)
 
virtual void Unk_30 (void)
 
virtual void SetAlpha (float a_alpha)
 
virtual float GetAlpha ()
 
virtual void Unk_33 (void)
 
virtual void Unk_34 (void)
 
virtual void Unk_35 (void)
 
virtual void Unk_36 (void)
 
virtual void Unk_37 (void)
 
virtual void Unk_38 (void)
 
virtual bool AcceptsEffectData () const
 
virtual void Unk_3A (void)
 
virtual void Unk_3B (void)
 
virtual void Unk_3C (void)
 
virtual void Unk_3D (void)
 
virtual void Unk_3E (void)
 
void SetEffectShaderData (const BSTSmartPointer< BSEffectShaderData > &a_data)
 
void SetMaterial (BSShaderMaterial *a_material, bool a_arg2)
 
- Public Member Functions inherited from RE::NiShadeProperty
 ~NiShadeProperty () override
 
const NiRTTIGetRTTI () const override
 
NiObjectCreateClone (NiCloningProcess &a_cloning) override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
bool RegisterStreamables (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
bool IsEqual (NiObject *a_object) override
 
Type GetType () const override
 
virtual void Unk_28 (void)
 
- Public Member Functions inherited from RE::NiProperty
 ~NiProperty () override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
void ProcessClone (NiCloningProcess &a_cloning) override
 
virtual void Update (float a_time)
 
- Public Member Functions inherited from RE::NiObjectNET
 ~NiObjectNET () override
 
void LoadBinary (NiStream &a_stream) override
 
void LinkObject (NiStream &a_stream) override
 
void SaveBinary (NiStream &a_stream) override
 
void PostLinkObject (NiStream &a_stream) override
 
bool AddExtraData (const BSFixedString &a_key, NiExtraData *a_extra)
 
bool AddExtraData (NiExtraData *a_extra)
 
void DeleteExtraData (std::uint16_t a_extraDataIndex)
 
NiTimeControllerGetControllers () const
 
NiTimeControllerGetController (const NiRTTI *a_rtti) const
 
NiExtraDataGetExtraData (const BSFixedString &a_key) const
 
NiExtraDataGetExtraDataAt (std::uint16_t a_extraDataIndex) const
 
std::uint16_t GetExtraDataSize () const
 
bool InsertExtraData (NiExtraData *a_extra)
 
void RemoveAllExtraData ()
 
bool RemoveExtraData (const BSFixedString &a_key)
 
bool RemoveExtraDataAt (std::uint16_t a_extraDataIndex)
 
bool SetExtraDataSize (std::uint16_t a_size)
 
- Public Member Functions inherited from RE::NiObject
 ~NiObject () override=default
 
virtual NiNodeAsNode ()
 
virtual NiSwitchNode * AsSwitchNode ()
 
virtual BSFadeNodeAsFadeNode ()
 
virtual BSMultiBoundNodeAsMultiBoundNode ()
 
virtual BSGeometryAsGeometry ()
 
virtual NiTriStrips * AsTriStrips ()
 
virtual BSTriShapeAsTriShape ()
 
virtual BSSegmentedTriShape * AsSegmentedTriShape ()
 
virtual BSSubIndexTriShape * AsSubIndexTriShape ()
 
virtual BSDynamicTriShape * AsDynamicTriShape ()
 
virtual NiGeometry * AsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShape * AsNiTriShape ()
 
virtual NiParticles * AsParticlesGeom ()
 
virtual BSLines * AsLinesGeom ()
 
virtual bhkNiCollisionObjectAsBhkNiCollisionObject ()
 
virtual bhkBlendCollisionObject * AsBhkBlendCollisionObject ()
 
virtual bhkAttachmentCollisionObject * AsBhkAttachmentCollisionObject ()
 
virtual bhkRigidBodyAsBhkRigidBody ()
 
virtual bhkLimitedHingeConstraint * AsBhkLimitedHingeConstraint ()
 
virtual NiObjectCreateClone ([[maybe_unused]] NiCloningProcess &a_cloning)
 
virtual void LoadBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void LinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual void SaveBinary ([[maybe_unused]] NiStream &a_stream)
 
virtual void PostLinkObject ([[maybe_unused]] NiStream &a_stream)
 
virtual bool StreamCanSkip ()
 
virtual const NiRTTIGetStreamableRTTI () const
 
virtual std::uint32_t GetBlockAllocationSize () const
 
virtual NiObjectGroup * GetGroup () const
 
virtual void SetGroup ([[maybe_unused]] NiObjectGroup *a_group)
 
virtual NiControllerManagerAsNiControllerManager ()
 
void CreateDeepCopy (NiPointer< NiObject > &a_object)
 
- Public Member Functions inherited from RE::NiRefObject
 NiRefObject ()
 
virtual ~NiRefObject ()
 
virtual void DeleteThis ()
 
void IncRefCount ()
 
void DecRefCount ()
 
constexpr std::uint32_t GetRefCount () const noexcept
 
 TES_HEAP_REDEFINE_NEW ()
 

Public Attributes

float alpha
 
std::int32_t lastRenderPassState
 
stl::enumeration< EShaderPropertyFlag, std::uint64_t > flags
 
void * unk40
 
std::uint64_t unk48
 
void * unk50
 
std::uint64_t unk58
 
std::uint64_t unk60
 
BSTSmartPointer< BSEffectShaderDataeffectData
 
std::uint64_t unk70
 
BSShaderMaterialmaterial
 
std::uint64_t unk80
 
- Public Attributes inherited from RE::NiObjectNET
BSFixedString name
 
NiPointer< NiTimeControllercontrollers
 
NiExtraData ** extra
 
std::uint16_t extraDataSize
 
std::uint16_t maxSize
 
std::uint32_t pad2C
 
- Public Attributes inherited from RE::NiRefObject
volatile std::uint32_t _refCount { 0 }
 
std::uint32_t _pad0C { 0 }
 

Static Public Attributes

static constexpr auto RTTI = RTTI_BSShaderProperty
 
static constexpr auto Ni_RTTI = NiRTTI_BSShaderProperty
 
- Static Public Attributes inherited from RE::NiShadeProperty
static constexpr auto RTTI = RTTI_NiShadeProperty
 
static constexpr auto Ni_RTTI = NiRTTI_NiShadeProperty
 
- Static Public Attributes inherited from RE::NiProperty
static constexpr auto RTTI = RTTI_NiProperty
 
static constexpr auto Ni_RTTI = NiRTTI_NiProperty
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static constexpr auto Ni_RTTI = NiRTTI_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static constexpr auto Ni_RTTI = NiRTTI_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 

Additional Inherited Members

- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 

Member Enumeration Documentation

◆ EShaderPropertyFlag

enum RE::BSShaderProperty::EShaderPropertyFlag : std::uint64_t
strong
Enumerator
kSpecular 
kSkinned 
kTempRefraction 
kVertexAlpha 
kGrayscaleToPaletteColor 
kGrayscaleToPaletteAlpha 
kFalloff 
kEnvMap 
kRGBFalloff 
kCastShadows 
kFace 
kUIMaskRects 
kModelSpaceNormals 
kRefractionClamp 
kMultiTextureLandscape 
kRefraction 
kRefractionFalloff 
kEyeReflect 
kHairTint 
kScreendoorAlphaFade 
kLocalMapClear 
kFaceGenRGBTint 
kOwnEmit 
kProjectedUV 
kMultipleTextures 
kTesselate 
kDecal 
kDynamicDecal 
kCharacterLight 
kExternalEmittance 
kSoftEffect 
kZBufferTest 
kZBufferWrite 
kLODLandscape 
kLODObjects 
kNoFade 
kTwoSided 
kVertexColors 
kGlowMap 
kTransformChanged 
kDismembermentMeatCuff 
kTint 
kVertexLighting 
kUniformScale 
kFitSlope 
kBillboard 
kLODLandBlend 
kDismemberment 
kWireframe 
kWeaponBlood 
kHideOnLocalMap 
kPremultAlpha 
kVATSTarget 
kAnisotropicLighting 
kSkewSpecularAlpha 
kMenuScreen 
kMultiLayerParallax 
kAlphaTest 
kInvertedFadePattern 
kVATSTargetDrawAll 
kPipboyScreen 
kTreeAnim 
kEffectLighting 
kRefractionWritesDepth 

Constructor & Destructor Documentation

◆ ~BSShaderProperty()

RE::BSShaderProperty::~BSShaderProperty ( )
override

Member Function Documentation

◆ AcceptsEffectData()

virtual bool RE::BSShaderProperty::AcceptsEffectData ( ) const
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ CreateClone()

NiObject* RE::BSShaderProperty::CreateClone ( NiCloningProcess &  a_cloning)
override

◆ GetAlpha()

virtual float RE::BSShaderProperty::GetAlpha ( )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ GetRTTI()

const NiRTTI* RE::BSShaderProperty::GetRTTI ( ) const
overridevirtual

Reimplemented from RE::NiObject.

◆ IsEqual()

bool RE::BSShaderProperty::IsEqual ( NiObject a_object)
overridevirtual

Reimplemented from RE::NiObject.

◆ LinkObject()

void RE::BSShaderProperty::LinkObject ( NiStream a_stream)
override

◆ LoadBinary()

void RE::BSShaderProperty::LoadBinary ( NiStream a_stream)
override

◆ PostLinkObject()

void RE::BSShaderProperty::PostLinkObject ( NiStream a_stream)
override

◆ RegisterStreamables()

bool RE::BSShaderProperty::RegisterStreamables ( NiStream a_stream)
overridevirtual

Reimplemented from RE::NiObject.

◆ SaveBinary()

void RE::BSShaderProperty::SaveBinary ( NiStream a_stream)
override

◆ SetAlpha()

virtual void RE::BSShaderProperty::SetAlpha ( float  a_alpha)
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ SetEffectShaderData()

void RE::BSShaderProperty::SetEffectShaderData ( const BSTSmartPointer< BSEffectShaderData > &  a_data)

◆ SetMaterial()

void RE::BSShaderProperty::SetMaterial ( BSShaderMaterial a_material,
bool  a_arg2 
)

◆ Unk_27()

void RE::BSShaderProperty::Unk_27 ( void  )
overridevirtual

Reimplemented from RE::NiShadeProperty.

◆ Unk_29()

void RE::BSShaderProperty::Unk_29 ( void  )
overridevirtual

Reimplemented from RE::NiShadeProperty.

◆ Unk_2A()

virtual void RE::BSShaderProperty::Unk_2A ( void  )
pure virtual

◆ Unk_2B()

virtual void RE::BSShaderProperty::Unk_2B ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_2C()

virtual void RE::BSShaderProperty::Unk_2C ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_2D()

virtual void RE::BSShaderProperty::Unk_2D ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_2E()

virtual void RE::BSShaderProperty::Unk_2E ( void  )
virtual

◆ Unk_2F()

virtual void RE::BSShaderProperty::Unk_2F ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_30()

virtual void RE::BSShaderProperty::Unk_30 ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_33()

virtual void RE::BSShaderProperty::Unk_33 ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_34()

virtual void RE::BSShaderProperty::Unk_34 ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_35()

virtual void RE::BSShaderProperty::Unk_35 ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_36()

virtual void RE::BSShaderProperty::Unk_36 ( void  )
virtual

◆ Unk_37()

virtual void RE::BSShaderProperty::Unk_37 ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_38()

virtual void RE::BSShaderProperty::Unk_38 ( void  )
virtual

◆ Unk_3A()

virtual void RE::BSShaderProperty::Unk_3A ( void  )
virtual

◆ Unk_3B()

virtual void RE::BSShaderProperty::Unk_3B ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_3C()

virtual void RE::BSShaderProperty::Unk_3C ( void  )
virtual

◆ Unk_3D()

virtual void RE::BSShaderProperty::Unk_3D ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

◆ Unk_3E()

virtual void RE::BSShaderProperty::Unk_3E ( void  )
virtual

Reimplemented in RE::BSLightingShaderProperty.

Member Data Documentation

◆ alpha

float RE::BSShaderProperty::alpha

◆ effectData

BSTSmartPointer<BSEffectShaderData> RE::BSShaderProperty::effectData

◆ flags

stl::enumeration<EShaderPropertyFlag, std::uint64_t> RE::BSShaderProperty::flags

◆ lastRenderPassState

std::int32_t RE::BSShaderProperty::lastRenderPassState

◆ material

BSShaderMaterial* RE::BSShaderProperty::material

◆ Ni_RTTI

constexpr auto RE::BSShaderProperty::Ni_RTTI = NiRTTI_BSShaderProperty
inlinestaticconstexpr

◆ RTTI

constexpr auto RE::BSShaderProperty::RTTI = RTTI_BSShaderProperty
inlinestaticconstexpr

◆ unk40

void* RE::BSShaderProperty::unk40

◆ unk48

std::uint64_t RE::BSShaderProperty::unk48

◆ unk50

void* RE::BSShaderProperty::unk50

◆ unk58

std::uint64_t RE::BSShaderProperty::unk58

◆ unk60

std::uint64_t RE::BSShaderProperty::unk60

◆ unk70

std::uint64_t RE::BSShaderProperty::unk70

◆ unk80

std::uint64_t RE::BSShaderProperty::unk80

The documentation for this class was generated from the following file: