![]() |
Plasma Engine
2.0
|
Classes | |
struct | TrailData |
Public Member Functions | |
virtual void | CreateRequiredStreams () override |
virtual void | ExtractTypeRenderData (plMsgExtractRenderData &ref_msg, const plTransform &instanceTransform) const override |
virtual float | GetMaxParticleRadius (float fParticleSize) const override |
![]() | |
virtual void | QueryOptionalStreams () |
void | Reset (plParticleSystemInstance *pOwner) |
virtual void | OnFinalize () |
Called after everything is set up. | |
plParticleSystemInstance * | GetOwnerSystem () |
const plParticleSystemInstance * | GetOwnerSystem () const |
plParticleEffectInstance * | GetOwnerEffect () const |
virtual void | RequestRequiredWorldModulesForCache (plParticleWorldModule *pParticleModule) |
Override this to cache world module pointers for later (through plParticleWorldModule::GetCachedWorldModule()). | |
![]() | |
plProcessingStreamProcessor () | |
Base constructor. | |
virtual | ~plProcessingStreamProcessor () |
Base destructor. | |
![]() | |
virtual const plRTTI * | GetDynamicRTTI () const |
bool | IsInstanceOf (const plRTTI *pType) const |
Returns whether the type of this instance is of the given type or derived from it. | |
template<typename T > | |
PL_ALWAYS_INLINE bool | IsInstanceOf () const |
Returns whether the type of this instance is of the given type or derived from it. | |
Static Public Member Functions | |
static plUInt16 | ComputeTrailPointBucketSize (plUInt16 uiMaxTrailPoints) |
![]() | |
static const plRTTI * | GetStaticRTTI () |
Public Attributes | |
plEnum< plParticleTypeRenderMode > | m_RenderMode |
plUInt16 | m_uiMaxPoints |
plTime | m_UpdateDiff |
plTexture2DResourceHandle | m_hTexture |
plEnum< plParticleTextureAtlasType > | m_TextureAtlasType |
plUInt8 | m_uiNumSpritesX = 1 |
plUInt8 | m_uiNumSpritesY = 1 |
plTempHashedString | m_sTintColorParameter |
plTexture2DResourceHandle | m_hDistortionTexture |
float | m_fDistortionStrength = 0 |
plEnum< plParticleLightingMode > | m_LightingMode |
float | m_fNormalCurvature = 0.5f |
float | m_fLightDirectionality = 0.5f |
![]() | |
float | m_fPriority = 0.0f |
Used for sorting processors, to ensure a certain order. Lower priority == executed first. | |
Protected Member Functions | |
virtual void | InitializeElements (plUInt64 uiStartIndex, plUInt64 uiNumElements) override |
This method needs to be implemented in order to initialize new elements to specific values. | |
virtual void | Process (plUInt64 uiNumElements) override |
The actual method which processes the data, will be called with the number of elements to process. | |
void | OnParticleDeath (const plStreamGroupElementRemovedEvent &e) |
plUInt16 | GetIndexForTrailPoints () |
const plVec4 * | GetTrailPointsPositions (plUInt32 index) const |
plVec4 * | GetTrailPointsPositions (plUInt32 index) |
![]() | |
virtual void | StepParticleSystem (const plTime &tDiff, plUInt32 uiNumNewParticles) |
![]() | |
virtual void | OnReset () |
Called by Reset() | |
void | CreateStream (const char *szName, plProcessingStream::DataType Type, plProcessingStream **ppStream, bool bWillInitializeStream) |
virtual plResult | UpdateStreamBindings () final override |
Internal method which needs to be implemented, gets the concrete stream bindings. This is called every time the streams are resized. Implementations should check that their required streams exist and are of the correct data types. | |
plRandom & | GetRNG () const |
Protected Attributes | |
plProcessingStream * | m_pStreamLifeTime = nullptr |
plProcessingStream * | m_pStreamPosition = nullptr |
plProcessingStream * | m_pStreamSize = nullptr |
plProcessingStream * | m_pStreamColor = nullptr |
plProcessingStream * | m_pStreamTrailData = nullptr |
plProcessingStream * | m_pStreamVariation = nullptr |
plTime | m_LastSnapshot |
plUInt8 | m_uiCurFirstIndex = 0 |
float | m_fSnapshotFraction |
plArrayPtr< plBaseParticleShaderData > | m_BaseParticleData |
plArrayPtr< plTrailParticleShaderData > | m_TrailParticleData |
plArrayPtr< plVec4 > | m_TrailPointsShared |
plDynamicArray< plTrailParticlePointsData64, plAlignedAllocatorWrapper > | m_TrailPoints64 |
plDynamicArray< plUInt16 > | m_FreeTrailData |
![]() | |
plTime | m_TimeDiff |
plUInt64 | m_uiLastExtractedFrame |
![]() | |
plProcessingStreamGroup * | m_pStreamGroup = nullptr |
Back pointer to the stream group - will be set to the owner stream group when adding the stream processor to the group. Can be used to get stream pointers in UpdateStreamBindings();. | |
Friends | |
class | plParticleTypeTrailFactory |
Additional Inherited Members | |
![]() | |
static plUInt32 | ComputeSortingKey (plParticleTypeRenderMode::Enum mode, plUInt32 uiTextureHash) |
|
overridevirtual |
Implements plParticleModule.
|
overridevirtual |
Implements plParticleType.
|
inlineoverridevirtual |
Reimplemented from plParticleType.
|
overrideprotectedvirtual |
This method needs to be implemented in order to initialize new elements to specific values.
Reimplemented from plParticleType.
|
overrideprotectedvirtual |
The actual method which processes the data, will be called with the number of elements to process.
Implements plProcessingStreamProcessor.
|
protected |