Main Page   Modules   Alphabetical List   Data Structures   Data Fields  

RpPrtAdv
[FXPack]


Modules

RpPrtAdv Tools and Management
Circular and Cylindrical Shaped Emitters
Spherical Shaped Emitters
Point List Based Emitters
Multi-Property Animations
Particle-Emitter Animations
Stepped Texture Coordinate Animations (non-interpolated)

Detailed Description

Advanced Particle Animation Plugin for RenderWare Graphics.

RpPrtAdv Plugin Overview

Requirements

Overview

RpPrtAdv is a collection of advanced properties and features for the basic particle system RpPrtStd.

The advanced particle tools and management is discussed in RpPrtAdv Tools and Management. The remainder of this reference had been divided into sections, each dealing with a specific particle extension:

Circular and cylindrical shaped emitter
To create a circular or cylindrical shaped emitter class, add the flag rpPRTADVEMITTERDATAFLAGCIRCLE when calling RpPrtAdvEClassStdCreate.
The emitting parameters are accessible using the rpPRTADVPROPERTYCODEEMITTERCIRCLE property with RpPrtStdPropTabGetPropOffset.
Spherical shaped emitter:
To create a spherical shaped emitter class, add the flag rpPRTADVEMITTERDATAFLAGSPHERE when calling RpPrtAdvEClassStdCreate.
The emitting parameters are accessible using the rpPRTADVPROPERTYCODEEMITTERSPHERE property with RpPrtStdPropTabGetPropOffset.
Point list based emitter:
To create a point list based emitter class, add the flag rpPRTADVEMITTERDATAFLAGPOINTLIST and pass a pointer to a RpPrtAdvParamBlock containing the number of points needed and the optional use of a direction-per-point, when calling RpPrtAdvEClassStdCreate.
The emitting parameters are accessible using the rpPRTADVPROPERTYCODEEMITTERPOINTLIST property with RpPrtStdPropTabGetPropOffset, including the list of points and directions.

Note:
Only one type of emitter can be used in a single emitter class.
RpPrtAdv adds three new types of particle animation:
Multi-property animations (multiple property and stepped texture coordinate animations):
Multi-property animations allow the creation of more complex animations for color, size or texture coordinates. The basic particle animation system allows simple color, size or texture coordinate animations, using a begin and end value, whereas the multi-property animations can provide more complex animations.
For example:
Particle Standard Color Animation
Emitter Standard Start Color -> Interpolated between End and Start Color -> Emitter Standard End Color.
Multi-property Color Animation
Emitter Standard Start Color -> Interpolated between First Frame and Start Color -> First Frame Color -> Interpolated between Second Frame Color and First Frame Color -> Second Frame Color -> Interpolated between End Frame and Second Frame Color -> Emitter Standard End Color.
To create a multi-property emitter class, add one of the flags and pass a pointer to a RpPrtAdvParamBlock containing the number of frame required when calling RpPrtAdvEClassStdCreate.

The emitting parameters are accessible using the

properties with RpPrtStdPropTabGetPropOffset.

To create a multi-property particle class, add one of the flags

and pass a pointer to a RpPrtAdvParamBlock containing the number of frame required when calling RpPrtAdvPClassStdCreate.

The emitting parameters are accessible using the

properties with RpPrtStdPropTabGetPropOffset.
Particle Emitters:
The use of particle emitters allow each particle to control another emitter, the sub-emitter. A particle's position and velocity are used to orient the sub-emitter. The sub-emitter can carry any properties and any emitter type, even customized user-data and callbacks. A particle emitter system will always use the next emitter in the emitter list attached to an RpAtomic.
To create a particle emitter emitter class, add the flag rpPRTADVEMITTERDATAFLAGPRTEMITTER when calling RpPrtAdvPClassStdCreate.

The emitting parameters are accessible using the rpPRTADVPROPERTYCODEEMITTERPRTCHAIN property with RpPrtStdPropTabGetPropOffset.

To create a particle emitter particle class, add the flag rpPRTADVPARTICLEDATAFLAGPRTEMITTER and pass a pointer to a RpPrtAdvParamBlock containing the number of frame required when calling RpPrtAdvPClassStdCreate.

The emitting parameters are accessible using the rpPRTADVPROPERTYCODEPARTICLEEMITTER property with RpPrtStdPropTabGetPropOffset.

See also:
RpPrtStd Plugin Overview , RpPTank Plugin Overview

Criterion Software © 1993-2004 Criterion Software Limited. All rights reserved. Built Thu Feb 12 13:47:03 2004. Send Feedback