CommonLibSSE (powerof3)
RE::BSLightingShaderProperty Class Reference

#include <BSLightingShaderProperty.h>

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

Classes

struct  Data
 

Public Member Functions

 ~BSLightingShaderProperty () 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
 
bool SetupGeometry (BSGeometry *a_geometry) override
 
bool FinishSetupGeometry (BSGeometry *a_geometry) override
 
RenderPassArrayGetRenderPasses (BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
 
void Unk_2B (void) override
 
void Unk_2C (void) override
 
void Unk_2D (void) override
 
void Unk_2F (void) override
 
bool CanMerge (const BSShaderProperty *a_other) override
 
void SetMaterialAlpha (float a_alpha) override
 
float QMaterialAlpha () override
 
std::int32_t ForEachTexture (ForEachVisitor &a_visitor) override
 
void DoClearRenderPasses () override
 
std::int32_t QShader () override
 
NiSourceTextureGetBaseTexture () override
 
bool AcceptsEffectData () const override
 
void Unk_3B (void) override
 
std::uint32_t DetermineUtilityShaderDecl () override
 
BSShaderMaterial::Type GetMaterialType () override
 
void CopyMembers (BSLightingShaderProperty *a_other)
 
- Public Member Functions inherited from RE::BSShaderProperty
 ~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
 
bool SetupGeometry (BSGeometry *a_geometry) override
 
void Unk_29 (void) override
 
virtual void Unk_2E (void)
 
virtual void Unk_36 (void)
 
virtual void Unk_38 (void)
 
virtual void Unk_3A (void)
 
virtual void Unk_3C (void)
 
void SetEffectShaderData (const BSTSmartPointer< BSEffectShaderData > &a_data)
 
void SetMaterial (BSShaderMaterial *a_material, bool a_unk1)
 
void SetFlags (EShaderPropertyFlag8 a_flag, bool a_set)
 
void LinkMaterial (BSShaderMaterial *a_material, bool a_unk1)
 
- 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
 
- 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
 
template<class T >
T * GetController () const
 
NiExtraDataGetExtraData (const BSFixedString &a_key) const
 
template<class T >
T * GetExtraData (const BSFixedString &a_key) const
 
NiExtraDataGetExtraDataAt (std::uint16_t a_extraDataIndex) const
 
std::uint16_t GetExtraDataSize () const
 
bool HasExtraData (const BSFixedString &a_key) 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 BSDynamicTriShapeAsDynamicTriShape ()
 
virtual NiGeometryAsNiGeometry ()
 
virtual NiTriBasedGeom * AsNiTriBasedGeom ()
 
virtual NiTriShapeAsNiTriShape ()
 
virtual NiParticlesAsParticlesGeom ()
 
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 NiObjectGroupGetGroup () 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

Data unk088 [3]
 
Data unk0B8
 
Data unk0C8
 
Data unk0D8
 
BSRenderPassunk0E8
 
NiColoremissiveColor
 
float emissiveMult
 
float forcedDarkness
 
float specularLODFade
 
float envmapLODFade
 
std::uint32_t unk108
 
NiColorA projectedUVParams
 
NiColorA projectedUVColor
 
std::int32_t unk12C
 
std::uint32_t unk130
 
std::uint32_t unk134
 
BSTArray< void * > unk138
 
std::uint64_t unk150
 
std::uint8_t unk158
 
std::uint8_t pad159
 
std::uint16_t pad15A
 
std::uint32_t pad15C
 
- Public Attributes inherited from RE::BSShaderProperty
float alpha
 
std::int32_t lastRenderPassState
 
REX::EnumSet< EShaderPropertyFlag, std::uint64_t > flags
 
RenderPassArray renderPassList
 
std::uint64_t unk48
 
RenderPassArray debugRenderPassList
 
std::uint64_t unk58
 
BSFadeNodefadeNode
 
BSTSmartPointer< BSEffectShaderDataeffectData
 
BSShaderPropertyLightDatalightData
 
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_BSLightingShaderProperty
 
static constexpr auto Ni_RTTI = NiRTTI_BSLightingShaderProperty
 
static constexpr auto VTABLE = VTABLE_BSLightingShaderProperty
 
- Static Public Attributes inherited from RE::BSShaderProperty
static constexpr auto RTTI = RTTI_BSShaderProperty
 
static constexpr auto Ni_RTTI = NiRTTI_BSShaderProperty
 
static constexpr auto VTABLE = VTABLE_BSShaderProperty
 
- Static Public Attributes inherited from RE::NiShadeProperty
static constexpr auto RTTI = RTTI_NiShadeProperty
 
static constexpr auto Ni_RTTI = NiRTTI_NiShadeProperty
 
static constexpr auto VTABLE = VTABLE_NiShadeProperty
 
- Static Public Attributes inherited from RE::NiProperty
static constexpr auto RTTI = RTTI_NiProperty
 
static constexpr auto Ni_RTTI = NiRTTI_NiProperty
 
static constexpr auto VTABLE = VTABLE_NiProperty
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static constexpr auto Ni_RTTI = NiRTTI_NiObjectNET
 
static constexpr auto VTABLE = VTABLE_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static constexpr auto Ni_RTTI = NiRTTI_NiObject
 
static constexpr auto VTABLE = VTABLE_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_NiRefObject
 
static constexpr auto VTABLE = VTABLE_NiRefObject
 

Additional Inherited Members

- Public Types inherited from RE::BSShaderProperty
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 ,
  kReceiveShadows = BIT64 << 8 , kCastShadows = BIT64 << 9 , kFace = BIT64 << 10 , kParallax = BIT64 << 11 ,
  kModelSpaceNormals = BIT64 << 12 , kNonProjectiveShadows = 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 , kRemappableTextures = BIT64 << 25 , kDecal = BIT64 << 26 , kDynamicDecal = BIT64 << 27 ,
  kParallaxOcclusion = 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 , kAssumeShadowmask = BIT64 << 39 ,
  kCharacterLighting = BIT64 << 40 , kMultiIndexSnow = BIT64 << 41 , kVertexLighting = BIT64 << 42 , kUniformScale = BIT64 << 43 ,
  kFitSlope = BIT64 << 44 , kBillboard = BIT64 << 45 , kNoLODLandBlend = BIT64 << 46 , kEnvmapLightFade = BIT64 << 47 ,
  kWireframe = BIT64 << 48 , kWeaponBlood = BIT64 << 49 , kHideOnLocalMap = BIT64 << 50 , kPremultAlpha = BIT64 << 51 ,
  kCloudLOD = BIT64 << 52 , kAnisotropicLighting = BIT64 << 53 , kNoTransparencyMultiSample = BIT64 << 54 , kMenuScreen = BIT64 << 55 ,
  kMultiLayerParallax = BIT64 << 56 , kSoftLighting = BIT64 << 57 , kRimLighting = BIT64 << 58 , kBackLighting = BIT64 << 59 ,
  kSnow = BIT64 << 60 , kTreeAnim = BIT64 << 61 , kEffectLighting = BIT64 << 62 , kHDLODObjects = BIT64 << 63
}
 
enum class  EShaderPropertyFlag8 : std::uint8_t {
  kSpecular = 0 , kSkinned = 1 , kTempRefraction = 2 , kVertexAlpha = 3 ,
  kGrayscaleToPaletteColor = 4 , kGrayscaleToPaletteAlpha = 5 , kFalloff = 6 , kEnvMap = 7 ,
  kReceiveShadows = 8 , kCastShadows = 9 , kFace = 10 , kParallax = 11 ,
  kModelSpaceNormals = 12 , kNonProjectiveShadows = 13 , kMultiTextureLandscape = 14 , kRefraction = 15 ,
  kRefractionFalloff = 16 , kEyeReflect = 17 , kHairTint = 18 , kScreendoorAlphaFade = 19 ,
  kLocalMapClear = 20 , kFaceGenRGBTint = 21 , kOwnEmit = 22 , kProjectedUV = 23 ,
  kMultipleTextures = 24 , kRemappableTextures = 25 , kDecal = 26 , kDynamicDecal = 27 ,
  kParallaxOcclusion = 28 , kExternalEmittance = 29 , kSoftEffect = 30 , kZBufferTest = 31 ,
  kZBufferWrite = 32 , kLODLandscape = 33 , kLODObjects = 34 , kNoFade = 35 ,
  kTwoSided = 36 , kVertexColors = 37 , kGlowMap = 38 , kAssumeShadowmask = 39 ,
  kCharacterLighting = 40 , kMultiIndexSnow = 41 , kVertexLighting = 42 , kUniformScale = 43 ,
  kFitSlope = 44 , kBillboard = 45 , kNoLODLandBlend = 46 , kEnvmapLightFade = 47 ,
  kWireframe = 48 , kWeaponBlood = 49 , kHideOnLocalMap = 50 , kPremultAlpha = 51 ,
  kCloudLOD = 52 , kAnisotropicLighting = 53 , kNoTransparencyMultiSample = 54 , kMenuScreen = 55 ,
  kMultiLayerParallax = 56 , kSoftLighting = 57 , kRimLighting = 58 , kBackLighting = 59 ,
  kSnow = 60 , kTreeAnim = 61 , kEffectLighting = 62 , kHDLODObjects = 63
}
 
- Public Types inherited from RE::NiProperty
enum class  Type { kAlpha = 0 , kShade = 1 }
 
- Static Public Member Functions inherited from RE::NiRefObject
static volatile std::uint32_t * GetTotalObjectCount ()
 

Constructor & Destructor Documentation

◆ ~BSLightingShaderProperty()

RE::BSLightingShaderProperty::~BSLightingShaderProperty ( )
override

Member Function Documentation

◆ AcceptsEffectData()

bool RE::BSLightingShaderProperty::AcceptsEffectData ( ) const
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ CanMerge()

bool RE::BSLightingShaderProperty::CanMerge ( const BSShaderProperty a_other)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ CopyMembers()

void RE::BSLightingShaderProperty::CopyMembers ( BSLightingShaderProperty a_other)

◆ CreateClone()

NiObject* RE::BSLightingShaderProperty::CreateClone ( NiCloningProcess a_cloning)
override

◆ DetermineUtilityShaderDecl()

std::uint32_t RE::BSLightingShaderProperty::DetermineUtilityShaderDecl ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ DoClearRenderPasses()

void RE::BSLightingShaderProperty::DoClearRenderPasses ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ FinishSetupGeometry()

bool RE::BSLightingShaderProperty::FinishSetupGeometry ( BSGeometry a_geometry)
overridevirtual

Reimplemented from RE::NiShadeProperty.

◆ ForEachTexture()

std::int32_t RE::BSLightingShaderProperty::ForEachTexture ( ForEachVisitor a_visitor)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ GetBaseTexture()

NiSourceTexture* RE::BSLightingShaderProperty::GetBaseTexture ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ GetMaterialType()

BSShaderMaterial::Type RE::BSLightingShaderProperty::GetMaterialType ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ GetRenderPasses()

RenderPassArray* RE::BSLightingShaderProperty::GetRenderPasses ( BSGeometry a_geometry,
std::uint32_t  a_arg2,
BSShaderAccumulator *  a_accumulator 
)
overridevirtual

Implements RE::BSShaderProperty.

◆ GetRTTI()

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

Reimplemented from RE::NiObject.

◆ IsEqual()

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

Reimplemented from RE::NiObject.

◆ LinkObject()

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

◆ LoadBinary()

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

◆ PostLinkObject()

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

◆ QMaterialAlpha()

float RE::BSLightingShaderProperty::QMaterialAlpha ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ QShader()

std::int32_t RE::BSLightingShaderProperty::QShader ( )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ RegisterStreamables()

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

Reimplemented from RE::NiObject.

◆ SaveBinary()

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

◆ SetMaterialAlpha()

void RE::BSLightingShaderProperty::SetMaterialAlpha ( float  a_alpha)
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ SetupGeometry()

bool RE::BSLightingShaderProperty::SetupGeometry ( BSGeometry a_geometry)
overridevirtual

Reimplemented from RE::NiShadeProperty.

◆ Unk_2B()

void RE::BSLightingShaderProperty::Unk_2B ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2C()

void RE::BSLightingShaderProperty::Unk_2C ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2D()

void RE::BSLightingShaderProperty::Unk_2D ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_2F()

void RE::BSLightingShaderProperty::Unk_2F ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

◆ Unk_3B()

void RE::BSLightingShaderProperty::Unk_3B ( void  )
overridevirtual

Reimplemented from RE::BSShaderProperty.

Member Data Documentation

◆ emissiveColor

NiColor* RE::BSLightingShaderProperty::emissiveColor

◆ emissiveMult

float RE::BSLightingShaderProperty::emissiveMult

◆ envmapLODFade

float RE::BSLightingShaderProperty::envmapLODFade

◆ forcedDarkness

float RE::BSLightingShaderProperty::forcedDarkness

◆ Ni_RTTI

constexpr auto RE::BSLightingShaderProperty::Ni_RTTI = NiRTTI_BSLightingShaderProperty
inlinestaticconstexpr

◆ pad159

std::uint8_t RE::BSLightingShaderProperty::pad159

◆ pad15A

std::uint16_t RE::BSLightingShaderProperty::pad15A

◆ pad15C

std::uint32_t RE::BSLightingShaderProperty::pad15C

◆ projectedUVColor

NiColorA RE::BSLightingShaderProperty::projectedUVColor

◆ projectedUVParams

NiColorA RE::BSLightingShaderProperty::projectedUVParams

◆ RTTI

constexpr auto RE::BSLightingShaderProperty::RTTI = RTTI_BSLightingShaderProperty
inlinestaticconstexpr

◆ specularLODFade

float RE::BSLightingShaderProperty::specularLODFade

◆ unk088

Data RE::BSLightingShaderProperty::unk088[3]

◆ unk0B8

Data RE::BSLightingShaderProperty::unk0B8

◆ unk0C8

Data RE::BSLightingShaderProperty::unk0C8

◆ unk0D8

Data RE::BSLightingShaderProperty::unk0D8

◆ unk0E8

BSRenderPass* RE::BSLightingShaderProperty::unk0E8

◆ unk108

std::uint32_t RE::BSLightingShaderProperty::unk108

◆ unk12C

std::int32_t RE::BSLightingShaderProperty::unk12C

◆ unk130

std::uint32_t RE::BSLightingShaderProperty::unk130

◆ unk134

std::uint32_t RE::BSLightingShaderProperty::unk134

◆ unk138

BSTArray<void*> RE::BSLightingShaderProperty::unk138

◆ unk150

std::uint64_t RE::BSLightingShaderProperty::unk150

◆ unk158

std::uint8_t RE::BSLightingShaderProperty::unk158

◆ VTABLE

constexpr auto RE::BSLightingShaderProperty::VTABLE = VTABLE_BSLightingShaderProperty
inlinestaticconstexpr

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