Enhancement of the ParticleEmitter-Lib

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
PMV
Enthusiast
Enthusiast
Posts: 727
Joined: Sat Feb 24, 2007 3:15 pm
Location: Germany

Enhancement of the ParticleEmitter-Lib

Post by PMV »

With PB5.00 we will get the possibility to call GetScriptParticleEmitter
that opens a new dimension. :D

... now i have looked a little bit around what you can do with a
script. And yes, i want to do the same things at runtime. So what i
want (and need) to have is a GET- and SET-Function for any of this
attributes. There are already SET-Functions for the most (important)
attributes. But the first thing i have noticed: every particle_system
can have multiple emitters. So every function would need to have a
new parameter "#emitter_index" to define, which one should be
effected (or all?). with a script you have the possibility to emit
emitters, too ... but to make get/set-functions for that is a little
bit to much? :mrgreen:
Ah don't forgett the particle affectors, even if they are not that
important :lol:

Here is a (hopefully) complete list of all the attributes that be
defined for particle_system:

Code: Select all

http://www.ogre3d.org/docs/manual/manual_34.html#Particle-Scripts
quota 
material    -> ParticleMaterial()
particle_width -> ParticleSize()
particle_height -> ParticleSize()
cull_each 
billboard_type 
billboard_origin 
billboard_rotation_type 
common_direction 
common_up_vector 
renderer 
sorted 
local_space 
point_rendering 
accurate_facing 
iteration_interval 
nonvisible_update_timeout
Here is a (hopefully) complete list of all the attributes that can be
defined for emitters:

Code: Select all

http://www.ogre3d.org/docs/manual/manual_36.html#Particle-Emitters
http://www.ogre3d.org/docs/manual/manual_38.html#Standard-Particle-Emitters
type (can be point, box, cylinder, ellipsoid, hollow, ring)
width  -> ResizeParticleEmitter()
height -> ResizeParticleEmitter()
depth  -> ResizeParticleEmitter()
inner_width
inner_height
inner_depth
angle 
colour 
colour_range_start -> ParticleColorRange() 
colour_range_end  -> ParticleColorRange() 
direction         -> ParticleEmitterDirection()
emission_rate      -> ParticleEmissionRate()
position 
velocity 
velocity_min  -> ParticleVelocity
velocity_max -> ParticleVelocity
time_to_live 
time_to_live_min  -> ParticleTimeToLive()
time_to_live_max -> ParticleTimeToLive()
duration 
duration_min 
duration_max 
repeat_delay 
repeat_delay_min 
repeat_delay_max
All possible standard affectors are defined here:
http://www.ogre3d.org/docs/manual/manua ... -Affectors
I have noticed that PureBasic can create/ change a ColorFadorAffector,
because there is a function just for that:
ParticleColorFader(#ParticleEmitter, RedRate, GreenRate, BlueRate)
Maybe it would be better to have here the possibility to define the
affector-index like i want that for emitters, too. So you can
access every affector regardless if they are duplicated or where
they are defined. :)

MFG PMV