Class ParticleRenderCore
- Namespace
- HelixToolkit.SharpDX.Core
- Assembly
- HelixToolkit.SharpDX.dll
public class ParticleRenderCore : RenderCore, IDisposable, IGUID, IThrowingShadow
- Inheritance
-
ParticleRenderCore
- Implements
- Inherited Members
Constructors
ParticleRenderCore()
public ParticleRenderCore()
Fields
DefaultAcceleration
public static readonly Vector3 DefaultAcceleration
Field Value
DefaultBoundMaximum
public static readonly Vector3 DefaultBoundMaximum
Field Value
DefaultBoundMinimum
public static readonly Vector3 DefaultBoundMinimum
Field Value
DefaultConsumerGravity
public static readonly float DefaultConsumerGravity
Field Value
DefaultConsumerLocation
public static readonly Vector3 DefaultConsumerLocation
Field Value
DefaultConsumerRadius
public static readonly float DefaultConsumerRadius
Field Value
DefaultEmitterLocation
public static readonly Vector3 DefaultEmitterLocation
Field Value
DefaultEnergyDissipationRate
public static readonly float DefaultEnergyDissipationRate
Field Value
DefaultInitialEnergy
public static readonly float DefaultInitialEnergy
Field Value
DefaultInitialVelocity
public static readonly float DefaultInitialVelocity
Field Value
DefaultParticleCount
public static readonly int DefaultParticleCount
Field Value
DefaultParticleSize
public static readonly Vector2 DefaultParticleSize
Field Value
Properties
AnimateSpriteByEnergy
Change Sprite based on particle energy, sequence from (1,1) to (NumTextureRow, NumTextureColumn) evenly divided by tile counts
public bool AnimateSpriteByEnergy { get; set; }
Property Value
BlendDescription
Particle blend state description
public BlendStateDescription BlendDescription { get; set; }
Property Value
- BlendStateDescription
BlendFactor
Gets or sets the blend factor used for blending.
public Color4 BlendFactor { get; set; }
Property Value
- Color4
The blend factor.
BufferProxies
Gets or sets the buffer proxies.
protected UAVBufferViewProxy?[] BufferProxies { get; }
Property Value
- UAVBufferViewProxy[]
The buffer proxies.
ConsumerGravity
Gets or sets the consumer gravity.
public float ConsumerGravity { get; set; }
Property Value
- float
The consumer gravity.
ConsumerLocation
Gets or sets the consumer location.
public Vector3 ConsumerLocation { get; set; }
Property Value
- Vector3
The consumer location.
ConsumerRadius
Gets or sets the consumer radius.
public float ConsumerRadius { get; set; }
Property Value
- float
The consumer radius.
CumulateAtBound
public bool CumulateAtBound { get; set; }
Property Value
CurrentSimStateUAVBufferName
Set current sim state variable name inside compute shader for binding
public string CurrentSimStateUAVBufferName { get; set; }
Property Value
DomainBoundMax
Gets or sets the domain bound maximum.
public Vector3 DomainBoundMax { get; set; }
Property Value
- Vector3
The domain bound maximum.
DomainBoundMin
Gets or sets the domain bound minimum.
public Vector3 DomainBoundMin { get; set; }
Property Value
- Vector3
The domain bound minimum.
EmitterLocation
public Vector3 EmitterLocation { get; set; }
Property Value
EmitterRadius
Gets or sets the emitter radius.
public float EmitterRadius { get; set; }
Property Value
- float
The emitter radius.
EnergyDissipationRate
Gets or sets the energy dissipation rate.
public float EnergyDissipationRate { get; set; }
Property Value
- float
The energy dissipation rate.
ExtraAcceleration
public Vector3 ExtraAcceleration { get; set; }
Property Value
HasTexture
Gets a value indicating whether this instance has texture.
public bool HasTexture { get; }
Property Value
- bool
trueif this instance has texture; otherwise,false.
InitialAcceleration
Gets or sets the initial acceleration.
public Vector3 InitialAcceleration { get; set; }
Property Value
- Vector3
The initial acceleration.
InitialEnergy
Gets or sets the initial energy.
public float InitialEnergy { get; set; }
Property Value
- float
The initial energy.
InitialVelocity
Gets or sets the initial velocity.
public float InitialVelocity { get; set; }
Property Value
- float
The initial velocity.
InsertElapseThrottle
Minimum time elapse to insert new particles
public float InsertElapseThrottle { get; }
Property Value
InstanceBuffer
Gets or sets the instance buffer.
public IElementsBufferModel? InstanceBuffer { get; set; }
Property Value
- IElementsBufferModel
The instance buffer.
NewSimStateUAVBufferName
Set new sim state variable name inside compute shader for binding
public string NewSimStateUAVBufferName { get; set; }
Property Value
NumTextureColumn
Texture tile columns
public uint NumTextureColumn { get; set; }
Property Value
NumTextureRow
Texture tile rows
public uint NumTextureRow { get; set; }
Property Value
ParticleBlendColor
Gets or sets the color of the particle blend.
public Color4 ParticleBlendColor { get; set; }
Property Value
- Color4
The color of the particle blend.
ParticleCount
Maximum Particle count
public int ParticleCount { get; set; }
Property Value
ParticleSize
Particle Size
public Vector2 ParticleSize { get; set; }
Property Value
ParticleTexture
Particle Texture
public TextureModel? ParticleTexture { get; set; }
Property Value
SampleMask
Gets or sets the sample mask used for blending.
public int SampleMask { get; set; }
Property Value
- int
The sample mask.
SamplerDescription
Particle texture sampler description.
public SamplerStateDescription? SamplerDescription { get; set; }
Property Value
- SamplerStateDescription?
ShaderTextureBufferName
Set texture variable name inside shader for binding
public string ShaderTextureBufferName { get; set; }
Property Value
ShaderTextureSamplerName
Set texture sampler variable name inside shader for binding
public string ShaderTextureSamplerName { get; set; }
Property Value
SimStateBufferName
Set sim state name inside vertex shader for binding
public string SimStateBufferName { get; set; }
Property Value
Turbulance
public float Turbulance { get; set; }
Property Value
VectorGenerator
Random generator, used to generate particle for different direction, etc
public IRandomVector? VectorGenerator { get; set; }
Property Value
VertexLayout
Gets or sets the vertex layout.
public InputLayoutProxy? VertexLayout { get; }
Property Value
- InputLayoutProxy
The vertex layout.
Methods
OnAttach(IRenderTechnique?)
Called when [attach].
protected override bool OnAttach(IRenderTechnique? technique)
Parameters
techniqueIRenderTechniqueThe technique.
Returns
OnDetach()
Called when [detach].
protected override void OnDetach()
OnUpdate(RenderContext, DeviceContextProxy)
protected override void OnUpdate(RenderContext context, DeviceContextProxy deviceContext)
Parameters
contextRenderContextdeviceContextDeviceContextProxy
OnUpdateCanRenderFlag()
Called when [update can render flag].
protected override bool OnUpdateCanRenderFlag()
Returns
Render(RenderContext, DeviceContextProxy)
Called when [render].
public override void Render(RenderContext context, DeviceContextProxy deviceContext)
Parameters
contextRenderContextThe context.
deviceContextDeviceContextProxyThe device context.
UpdateInsertThrottle()
Updates the insert throttle.
public void UpdateInsertThrottle()