Fixed a mistake with memory preallocation that caused strange behaviour and/or an access
Fixed the water fragment shader so now it runs with ATI cards too.
More compatibility issues fixed.
Please notice my new e-mail address: sewagn@googlemail.com
Release notes for FireBlade R2, v2009.05.22
Many compatibility issues with Delphi have been fixed. The license has been changed from the General Public License (GPL) to the compatible Lesser General Public License (LGPL). You can read the additional terms of the LGPL in the COPYING.LESSER file.
Please note that because of technical reasons, the documentation could not fully be updated. The description of the units haven't been updated so they still show the GPL as the used license, which isn't the case.
Release notes for FireBlade Revision 2, version 2008.09.06
FireBlade has been rebuilt nearly from scratch. This version is not compatible with previous versions. Beside some new features (you can find a small overview of all features in the file "fireblade_features.pdf" in the "doc" path) the internal structure of FireBlade was changed. It is now more consequent, flexible and up to 100% faster.
Release notes for version 2007.11.10
FireBlade
Lots of bugfixes
Last changes in physics discarded (except of speed limit remove)
Physics model now choosable with TParticleEffectContainer.SetPhysicsModel
New magnet point mode FB_MAGNETPOINT_REALISTIC
Density of the material around, choosable with TParticleEffectContainer.SetFlowDensity
FBEffectManager
Added pre- and post rendering callbacks
Release notes of 2007.11.04:
Simple smear bugfix
New enhanced smear calculation beside the existing one
Still more code cleaning and bugfixes
Changes in internal structure now allow full vertex and normal manipulation
Release notes of 2007.10.22:
Tools/Other:
This documentation
EffectManager (FBEffectManager.pas), see the documentation for more details
New demonstration
New tutorial sources for tut 1-4
Tutorials updated and now in PDF format
Tutorial "Using FBEffectManager"
All tutorials are now in PDF format
Note: Booleans in FBScript are now $true and $false
FireBlade:
Roadmap inside the units header
Loads of code cleaning & commenting
Some code optimizing for more performance
Particle Normals improved
Better VBO handling
Color swapping
Smear effect and rotation may now be used simultanely
New constant names (see documentation), but still backward compatible
Some changes in the class definitions, some properties & methods added for more accesibility (see below for more detail), but still backward compatible
It is now possible to calculate and render seperately
Nicer opacity calculation
Much nicer (= now usable...) filldelays instead of fillrates. The filldelay is the time until the container will reach maximum particle count
Physics change: Velocity does not longer behave like a decreasing force
Mass is now set to 1 if <=0
An inertia coordinate is now set to 1 if <=0
More work on particle font typeface (polyspace etc.)
Frustum culling implementation to enormusly improve speed when particles aren't in the field of view (Not for userdefined rendering)
More access to scripts
Work on FreePascal compatibility
64bit compatibility
Miscellaneous bugfixes
Some more details about the class definition changes/adds (For more detailed descriptions of the methods, please refer the documentation):
TParticleEffectContainer:
Ancestor class is now TComponent
!!! Changed method name "SetContainerTexturePropertys" to "SetContainerTextureProperties" !!!
TParticleEffectContainer.AddParticle is now a function, which returns the ID of the new particle
TParticleEffectContainer.AddParticle is now overloaded and may be called with only TextureID and LifeLength parameter, Position, Size and Color may be set with TParticleEffectContainer.SetPosition, TParticleEffectContainer.SetSize, TParticleEffectContainer.SetInitColor and TParticleEffectContainer.SetFiniteColor.
TParticleEffectContainer.AddMagnetPoint may now be called without parameters.
TParticleEffectContainer.SetCollisionConvexWorldGeometricData is now overloaded. Please see the documentation for more detail about this.
TParticleEffectContainer.SetCollisionConvexWorldPosition now allows to set the worlds position after being generated.
TParticleEffectContainer.SetFading is now overloaded and may be called with two Single values + ID as a convenience method.
TParticleEffectContainer.SetInitColor and TParticleEffectContainer.SetFiniteColor allow you to define two color states for a particle and now define a maximal alpha value a particle may have.
TParticleEffectContainer.SetColorSwap allows you to define color swapping times for the new color swapping feature.
TParticleEffectContainer.UseInternalCalculation allows you to switch off several internal calculations to avoid an overhead
TParticleEffectContainer.SetVBOLengthOffset lets you define a length offset to avoid unnecessary recalculation of the Vertex Buffer Object
TParticleEffectContainer.SetRenderMode may now take two parameters, RenderMode and RenderTime, whereas RenderTime lets you define when the effect is rendered.
TParticleEffectContainer.RenderContainer lets you render the container without any calculations done.
TParticleEffectContainer.MinExtremePoint, TParticleEffectContainer.MaxExtremePoint and TParticleEffectContainer.ArithmeticAverage properties let you easily get the effects boundaries
TParticleScript:
Ancestor class is now TComponent
Render" lets you render the whole script without any calculations done
TParticleScript.StartRefill starts the refill of the particle containers
TParticleScript.StopRefill stops the refill of the particle containers
TParticleScript.SetRenderMode allows you to change RenderMode and RenderTime of each container.
TParticleScript.OnPCalculated, TParticleScript.OnPDestroyed and TParticleScript.OnPGravitated properties allow you to assign the equivalent callbacks to all containers.
TParticleFont:
Ancestor class is now TComponent
TParticleFont.Render is now overloaded and may let you render the font without any calculations done
TParticleFont.StartRefill starts the refill of the particle container
TParticleFont.StopRefill stops the refill of the particle container
TParticleFont.SetColor is now obsolete and only exists for backward compabitility
Color methods equivalent to the new methods in TParticleEffectContainer were added.
TParticleFont.SetRenderMode allows you to change RenderMode and RenderTime of the container.
Several properties allow you to change the fonts parameters (for instance monospace or not)
TParticleFont.OnPCalculated and TParticleFont.OnPDestroyed properties allow you to assign the equivalent callbacks
TParticleFont.EffectContainer property allows you to directly access the effect container and set global options (this actually makes some methods obsolete)