CommonLibSSE NG
RE::BSParticleShaderProperty Class Reference

#include <BSParticleShaderProperty.h>

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

Public Member Functions

virtual ~BSParticleShaderProperty ()
 
const NiRTTIGetRTTI () const override
 
bool SetupGeometry (BSGeometry *a_geometry) override
 
RenderPassArrayGetRenderPasses (BSGeometry *a_geometry, std::uint32_t a_arg2, BSShaderAccumulator *a_accumulator) override
 
std::int32_t QShader () override
 
NiSourceTextureGetBaseTexture () override
 
- 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_2B (void)
 
virtual void Unk_2C (void)
 
virtual void Unk_2D (void)
 
virtual void Unk_2E (void)
 
virtual void Unk_2F (void)
 
virtual bool CanMerge (const BSShaderProperty *a_other)
 
virtual void SetMaterialAlpha (float a_alpha)
 
virtual float QMaterialAlpha ()
 
virtual std::int32_t ForEachTexture (ForEachVisitor &a_visitor)
 
virtual void DoClearRenderPasses ()
 
virtual void Unk_36 (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 std::uint32_t DetermineUtilityShaderDecl ()
 
virtual BSShaderMaterial::Type GetMaterialType ()
 
void SetEffectShaderData (const BSTSmartPointer< BSEffectShaderData > &a_data)
 
void SetMaterial (BSShaderMaterial *a_material, bool a_unk1)
 
void SetFlags (EShaderPropertyFlag8 a_flag, bool a_set)
 
- 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 bool FinishSetupGeometry (BSGeometry *a_geometry)
 
- 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 NiTriShape * AsNiTriShape ()
 
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

bool useWorldSpace
 
bool particleGreyscaleAlpha
 
std::uint8_t unk8B
 
float particleLifetime
 
float particleLifetimeVariance
 
float initialSpeedAlongNormal
 
float initialSpeedAlongNormalVariance
 
float accelerationAlongNormal
 
float initialVelocity1
 
float initialVelocity2
 
float intialVelocity3
 
float acceleration1
 
float acceleration2
 
float acceleration3
 
float birthPositionOffset
 
float birthPositionVarianceOffset
 
float particleShaderInitialRotation
 
float intialRotationVariance
 
float rotationSpeed
 
float rotationSpeedVariance
 
bool unk0D0
 
std::uint8_t pad0D1
 
std::uint16_t pad0D2
 
float animatedStartFrame
 
float animatedStartFrameVariance
 
float animatedEndFrame
 
float animatedEndFrameVariance
 
float animatedLoopStartVariance
 
float animatedFrameCount
 
float animatedFrameCountVariance
 
std::uint32_t colorScale
 
float colorKey1Time
 
float colorKey2Time
 
float colorKey3Time
 
NiColorA colorKey1
 
NiColorA colorKey2
 
NiColorA colorKey3
 
float scaleKey1
 
float scaleKey2
 
float scaleKey1Time
 
float scaleKey2Time
 
NiPointer< NiSourceTextureparticleShaderTexture
 
NiPointer< NiSourceTextureparticlePaletteTexture
 
BSTArray< NiPointer< BSParticleShaderEmitter > > particleEmitters
 
NiPointer< BSParticleShaderGeometry > particleShaderGeometry
 
float unk170
 
float textureCountU
 
float textureCountV
 
NiPoint3 windPoint
 
float explosionWindSpeed
 
std::uint32_t unk18C
 
BSParticleShaderEmitterparticleEmitter
 
- Public Attributes inherited from RE::BSShaderProperty
float alpha
 
std::int32_t lastRenderPassState
 
stl::enumeration< 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_BSParticleShaderProperty
 
static auto Ni_RTTI = NiRTTI_BSParticleShaderProperty
 
- Static Public Attributes inherited from RE::BSShaderProperty
static constexpr auto RTTI = RTTI_BSShaderProperty
 
static auto Ni_RTTI = NiRTTI_BSShaderProperty
 
- Static Public Attributes inherited from RE::NiShadeProperty
static constexpr auto RTTI = RTTI_NiShadeProperty
 
static auto Ni_RTTI = NiRTTI_NiShadeProperty
 
- Static Public Attributes inherited from RE::NiProperty
static constexpr auto RTTI = RTTI_NiProperty
 
static auto Ni_RTTI = NiRTTI_NiProperty
 
- Static Public Attributes inherited from RE::NiObjectNET
static constexpr auto RTTI = RTTI_NiObjectNET
 
static auto Ni_RTTI = NiRTTI_NiObjectNET
 
- Static Public Attributes inherited from RE::NiObject
static constexpr auto RTTI = RTTI_NiObject
 
static auto Ni_RTTI = NiRTTI_NiObject
 
- Static Public Attributes inherited from RE::NiRefObject
static constexpr auto RTTI = RTTI_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

◆ ~BSParticleShaderProperty()

virtual RE::BSParticleShaderProperty::~BSParticleShaderProperty ( )
virtual

Member Function Documentation

◆ GetBaseTexture()

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

Reimplemented from RE::BSShaderProperty.

◆ GetRenderPasses()

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

Implements RE::BSShaderProperty.

◆ GetRTTI()

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

Reimplemented from RE::NiObject.

◆ QShader()

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

Reimplemented from RE::BSShaderProperty.

◆ SetupGeometry()

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

Reimplemented from RE::NiShadeProperty.

Member Data Documentation

◆ acceleration1

float RE::BSParticleShaderProperty::acceleration1

◆ acceleration2

float RE::BSParticleShaderProperty::acceleration2

◆ acceleration3

float RE::BSParticleShaderProperty::acceleration3

◆ accelerationAlongNormal

float RE::BSParticleShaderProperty::accelerationAlongNormal

◆ animatedEndFrame

float RE::BSParticleShaderProperty::animatedEndFrame

◆ animatedEndFrameVariance

float RE::BSParticleShaderProperty::animatedEndFrameVariance

◆ animatedFrameCount

float RE::BSParticleShaderProperty::animatedFrameCount

◆ animatedFrameCountVariance

float RE::BSParticleShaderProperty::animatedFrameCountVariance

◆ animatedLoopStartVariance

float RE::BSParticleShaderProperty::animatedLoopStartVariance

◆ animatedStartFrame

float RE::BSParticleShaderProperty::animatedStartFrame

◆ animatedStartFrameVariance

float RE::BSParticleShaderProperty::animatedStartFrameVariance

◆ birthPositionOffset

float RE::BSParticleShaderProperty::birthPositionOffset

◆ birthPositionVarianceOffset

float RE::BSParticleShaderProperty::birthPositionVarianceOffset

◆ colorKey1

NiColorA RE::BSParticleShaderProperty::colorKey1

◆ colorKey1Time

float RE::BSParticleShaderProperty::colorKey1Time

◆ colorKey2

NiColorA RE::BSParticleShaderProperty::colorKey2

◆ colorKey2Time

float RE::BSParticleShaderProperty::colorKey2Time

◆ colorKey3

NiColorA RE::BSParticleShaderProperty::colorKey3

◆ colorKey3Time

float RE::BSParticleShaderProperty::colorKey3Time

◆ colorScale

std::uint32_t RE::BSParticleShaderProperty::colorScale

◆ explosionWindSpeed

float RE::BSParticleShaderProperty::explosionWindSpeed

◆ initialSpeedAlongNormal

float RE::BSParticleShaderProperty::initialSpeedAlongNormal

◆ initialSpeedAlongNormalVariance

float RE::BSParticleShaderProperty::initialSpeedAlongNormalVariance

◆ initialVelocity1

float RE::BSParticleShaderProperty::initialVelocity1

◆ initialVelocity2

float RE::BSParticleShaderProperty::initialVelocity2

◆ intialRotationVariance

float RE::BSParticleShaderProperty::intialRotationVariance

◆ intialVelocity3

float RE::BSParticleShaderProperty::intialVelocity3

◆ Ni_RTTI

auto RE::BSParticleShaderProperty::Ni_RTTI = NiRTTI_BSParticleShaderProperty
inlinestatic

◆ pad0D1

std::uint8_t RE::BSParticleShaderProperty::pad0D1

◆ pad0D2

std::uint16_t RE::BSParticleShaderProperty::pad0D2

◆ particleEmitter

BSParticleShaderEmitter* RE::BSParticleShaderProperty::particleEmitter

◆ particleEmitters

BSTArray<NiPointer<BSParticleShaderEmitter> > RE::BSParticleShaderProperty::particleEmitters

◆ particleGreyscaleAlpha

bool RE::BSParticleShaderProperty::particleGreyscaleAlpha

◆ particleLifetime

float RE::BSParticleShaderProperty::particleLifetime

◆ particleLifetimeVariance

float RE::BSParticleShaderProperty::particleLifetimeVariance

◆ particlePaletteTexture

NiPointer<NiSourceTexture> RE::BSParticleShaderProperty::particlePaletteTexture

◆ particleShaderGeometry

NiPointer<BSParticleShaderGeometry> RE::BSParticleShaderProperty::particleShaderGeometry

◆ particleShaderInitialRotation

float RE::BSParticleShaderProperty::particleShaderInitialRotation

◆ particleShaderTexture

NiPointer<NiSourceTexture> RE::BSParticleShaderProperty::particleShaderTexture

◆ rotationSpeed

float RE::BSParticleShaderProperty::rotationSpeed

◆ rotationSpeedVariance

float RE::BSParticleShaderProperty::rotationSpeedVariance

◆ RTTI

constexpr auto RE::BSParticleShaderProperty::RTTI = RTTI_BSParticleShaderProperty
inlinestaticconstexpr

◆ scaleKey1

float RE::BSParticleShaderProperty::scaleKey1

◆ scaleKey1Time

float RE::BSParticleShaderProperty::scaleKey1Time

◆ scaleKey2

float RE::BSParticleShaderProperty::scaleKey2

◆ scaleKey2Time

float RE::BSParticleShaderProperty::scaleKey2Time

◆ textureCountU

float RE::BSParticleShaderProperty::textureCountU

◆ textureCountV

float RE::BSParticleShaderProperty::textureCountV

◆ unk0D0

bool RE::BSParticleShaderProperty::unk0D0

◆ unk170

float RE::BSParticleShaderProperty::unk170

◆ unk18C

std::uint32_t RE::BSParticleShaderProperty::unk18C

◆ unk8B

std::uint8_t RE::BSParticleShaderProperty::unk8B

◆ useWorldSpace

bool RE::BSParticleShaderProperty::useWorldSpace

◆ windPoint

NiPoint3 RE::BSParticleShaderProperty::windPoint

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