Nebula
Loading...
Searching...
No Matches
particlesystemnode.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
12#include "shaderstatenode.h"
17
18//------------------------------------------------------------------------------
19namespace Models
20{
21class ModelContext;
69
70//------------------------------------------------------------------------------
73inline const Particles::EmitterMesh&
75{
76 return this->emitterMesh;
77}
78
79//------------------------------------------------------------------------------
84{
85 return this->sampleBuffer;
86}
87
88//------------------------------------------------------------------------------
91inline IndexT
96
97//------------------------------------------------------------------------------
100inline void
105
106//------------------------------------------------------------------------------
109inline const Particles::EmitterAttrs&
111{
112 return this->emitterAttrs;
113}
114
115} // namespace Particles
116//------------------------------------------------------------------------------
Definition modelcontext.h:58
Definition particlesystemnode.h:23
IndexT primGroupIndex
Definition particlesystemnode.h:65
ParticleSystemNode()
constructor
Definition particlesystemnode.cc:30
const Particles::EmitterAttrs & GetEmitterAttrs() const
get emitter attributes
Definition particlesystemnode.h:110
virtual void OnFinishedLoading(ModelStreamingData *streamingData) override
called once when all pending resource have been loaded
Definition particlesystemnode.cc:79
Particles::EnvelopeCurve ParseEnvelopeCurveData(const Ptr< IO::BinaryReader > &reader) const
helper function to parse an EnvelopeCurve from a data stream
Definition particlesystemnode.cc:134
Particles::EmitterMesh emitterMesh
Definition particlesystemnode.h:61
Resources::ResourceId meshResource
Definition particlesystemnode.h:66
virtual void UpdateMeshResource(const Resources::ResourceName &msh)
change a mesh during runtime
Definition particlesystemnode.cc:51
Util::StringAtom tag
Definition particlesystemnode.h:64
Particles::EmitterAttrs emitterAttrs
Definition particlesystemnode.h:60
Resources::ResourceName meshResId
Definition particlesystemnode.h:62
const Particles::EnvelopeSampleBuffer & GetSampleBuffer() const
get emitter sample buffer
Definition particlesystemnode.h:83
const Particles::EmitterMesh & GetEmitterMesh() const
get emitter mesh
Definition particlesystemnode.h:74
CoreGraphics::MeshId mesh
Definition particlesystemnode.h:67
Particles::EnvelopeSampleBuffer sampleBuffer
Definition particlesystemnode.h:59
IndexT GetPrimitiveGroupIndex() const
get the primitive group index in the emitter mesh
Definition particlesystemnode.h:92
static Util::FixedArray< CoreGraphics::ResourceTableId > CreateResourceTables()
Create resource table.
Definition particlesystemnode.cc:108
virtual ~ParticleSystemNode()
destructor
Definition particlesystemnode.cc:42
void SetEmitterAttrs(const Particles::EmitterAttrs &attrs)
set emitter attributes
Definition particlesystemnode.h:101
Definition shaderstatenode.h:19
A container for particle emitter attributes.
Definition emitterattrs.h:20
An emitter mesh holds positions and normals for particle emission.
Definition emittermesh.h:24
An Attack/Sustain/Release envelope curve class with optional sine/cosine modulation.
Definition envelopecurve.h:20
A lookup table for pre-sampled envelope curves.
Definition envelopesamplebuffer.h:19
Definition particlecontext.h:26
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Implements a fixed size one-dimensional array.
Definition fixedarray.h:20
A four-character-code is a quasi-human-readable 32-bit-id.
Definition fourcc.h:19
A StringAtom.
Definition stringatom.h:22
A model resource consists of nodes, each of which inhibit some information read from an ....
Definition model.cc:10
A resource table declares a list of resources (ResourceTable in DX12, DescriptorSet in Vulkan)
Definition mesh.h:29
Definition model.h:54
int IndexT
Definition types.h:48