Table of Contents

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

Vector3

DefaultBoundMaximum

public static readonly Vector3 DefaultBoundMaximum

Field Value

Vector3

DefaultBoundMinimum

public static readonly Vector3 DefaultBoundMinimum

Field Value

Vector3

DefaultConsumerGravity

public static readonly float DefaultConsumerGravity

Field Value

float

DefaultConsumerLocation

public static readonly Vector3 DefaultConsumerLocation

Field Value

Vector3

DefaultConsumerRadius

public static readonly float DefaultConsumerRadius

Field Value

float

DefaultEmitterLocation

public static readonly Vector3 DefaultEmitterLocation

Field Value

Vector3

DefaultEnergyDissipationRate

public static readonly float DefaultEnergyDissipationRate

Field Value

float

DefaultInitialEnergy

public static readonly float DefaultInitialEnergy

Field Value

float

DefaultInitialVelocity

public static readonly float DefaultInitialVelocity

Field Value

float

DefaultParticleCount

public static readonly int DefaultParticleCount

Field Value

int

DefaultParticleSize

public static readonly Vector2 DefaultParticleSize

Field Value

Vector2

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

bool

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

bool

CurrentSimStateUAVBufferName

Set current sim state variable name inside compute shader for binding

public string CurrentSimStateUAVBufferName { get; set; }

Property Value

string

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

Vector3

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

Vector3

HasTexture

Gets a value indicating whether this instance has texture.

public bool HasTexture { get; }

Property Value

bool

true if 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

float

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

string

NumTextureColumn

Texture tile columns

public uint NumTextureColumn { get; set; }

Property Value

uint

NumTextureRow

Texture tile rows

public uint NumTextureRow { get; set; }

Property Value

uint

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

int

ParticleSize

Particle Size

public Vector2 ParticleSize { get; set; }

Property Value

Vector2

ParticleTexture

Particle Texture

public TextureModel? ParticleTexture { get; set; }

Property Value

TextureModel

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

string

ShaderTextureSamplerName

Set texture sampler variable name inside shader for binding

public string ShaderTextureSamplerName { get; set; }

Property Value

string

SimStateBufferName

Set sim state name inside vertex shader for binding

public string SimStateBufferName { get; set; }

Property Value

string

Turbulance

public float Turbulance { get; set; }

Property Value

float

VectorGenerator

Random generator, used to generate particle for different direction, etc

public IRandomVector? VectorGenerator { get; set; }

Property Value

IRandomVector

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

technique IRenderTechnique

The technique.

Returns

bool

OnDetach()

Called when [detach].

protected override void OnDetach()

OnUpdate(RenderContext, DeviceContextProxy)

protected override void OnUpdate(RenderContext context, DeviceContextProxy deviceContext)

Parameters

context RenderContext
deviceContext DeviceContextProxy

OnUpdateCanRenderFlag()

Called when [update can render flag].

protected override bool OnUpdateCanRenderFlag()

Returns

bool

Render(RenderContext, DeviceContextProxy)

Called when [render].

public override void Render(RenderContext context, DeviceContextProxy deviceContext)

Parameters

context RenderContext

The context.

deviceContext DeviceContextProxy

The device context.

UpdateInsertThrottle()

Updates the insert throttle.

public void UpdateInsertThrottle()