Sign in to follow this  
Kyro_FB

OpenGL FireBlade PE Rev2

Recommended Posts

Hey folks, maybe you remember this thread: http://www.gamedev.net/community/forums/topic.asp?topic_id=338296&whichpage=1� unfortuneately, I ain't able to access my old account since the email-address became invalid meantime and my password was resetted so I couldn't log on my old account in any way... There was much about this engine which happened in the meantime and I want to present it here on a new state of art. It was completely reworked and now is a lot faster, more reliable, more usable and more powerful than ever. Currently it is still based on Delphi/FPC and OpenGL, but it could, without any changes, also be used for DirectX applications either. Also, encapsulating the class functionality in a library is in work and so it will soon be available for other programming languages too. The License is currently LGPL, but will be changed to MPL soon. I would be pleased to see the FireBlade Particle Engine in your own project! And if you do so, I would be pleased to announce this on the projects web on sourceforge.net: http://sourceforge.net/projects/fireblade/ For help and support, please consider either the DelphiGL.com forum, project web help forums or contact me under the email-address you will find with the source files. With the source comes a small demonstration. Project Thread and Support Thread: Project: http://www.delphigl.com/forum/viewtopic.php?f=13&t=3715 Support: http://www.delphigl.com/forum/viewtopic.php?f=14&t=3717 Don't bother to post in english! You're welcome =) FireBlade has won the "Best Project of the Year 2008" award by DelphiGL.com To give you an overview of what you get, take a look at the following feature overview. Please note that this does not describe what you can actually get out of the engine. Particle Appearance: ● Support for standard quads and Point Sprites ● Billboards ● Blending function is choosable ● Color fading ● Texture fading ● Two modes for resizing during a particles life ● Two modes for color, texture and size interpolation ● Normals for a plastic appearance ● Rotation ● Smear effect with adaptive texture shifting ● Fast concurrent depth sorting, which nearly always has bestcase conditions ● Frustum culling Particle Physics: ● Two physics models, simple and realistic ● Movements calculated with Newtons laws ● Correct air resistance calculation ● Wind ● Fast, extensible collision detection with sphere, cube, cone, face and heightmap primitives built­in ● The collision trees are generated separately and can be used for several contexts ● Simple, overwritable collision friction model, featuring materials ● Magnet points with 5 predefined modes, including a realistic mass gravitation model Miscellaneous: ● Event­ driven effect creation possible, events for destroying, calculating, gravitating (magnet points) and colliding a particle ● Vertex storage choosable between Vertex Arrays, Vertex Buffer Objects or user defined storage methods ● Several parts of the calculation (physics, appearance, vertex calculation) can be disabled if not necessary, to increase the performance ● Each calculation can be modified or overwritten. full access up to the particles vertices. This guarantees a maximum of flexibility ● Preallocation of memory possible Emitters: ● General emitter functionality ○ Compatible with the effect manager ○ Fill delay and emitter lifespan ○ Automatic refill ○ Level of Detail ○ Not statically connected to one context, can be used to fill several contexts ○ Two Velocity modes, point orientation and controllable randomized initial velocities ○ Several renderpasses possible (with different blending functions) ● Sphere emitter ○ Emits particles between an inner and outer radius ○ Spawning region controllable ● Cube emitter ○ Emits particles in a cube with variable width, height and depth ● Cone emitter ○ Emits particles in or on a cone with variable base radius, top radius and height ○ When spawning on a surface, base and/or top plane can be excluded from the spawn region ○ Presumption fix can be enabled for a homogenious spawning ● Face emitter ○ Spawns particles on a surface described by triangles ○ The triangles may be generated the same way as in OpenGL ○ Transformation of the initial velocity by the triangles matrix can be enabled ● Font emitter ○ Writes texts using particles ○ The font itself is generated separately from a btimap (so called bitmap­fonts) and can be used for several font emitters ○ Mono­ and Polyspace choosable ○ Character and Linegap variable Effect Manager: ● comfortable handling of particle effects ● Global manipulation functions for registered effects ● Frustum culling ● Depth sorting ● Efficient time delays adjustable for updating effects, which can enormously increase the performance ● Cone emitter ○ Emits particles in or on a cone with variable base radius, top radius and height ○ When spawning on a surface, base and/or top plane can be excluded from the spawn region ○ Presumption fix can be enabled for a homogenious spawning ● Face emitter ○ Spawns particles on a surface described by triangles ○ The triangles may be generated the same way as in OpenGL ○ Transformation of the initial velocity by the triangles matrix can be enabled ● Font emitter ○ Writes texts using particles ○ The font itself is generated separately from a btimap (so called bitmap­fonts) and can be used for several font emitters ○ Mono­ and Polyspace choosable ○ Character and Linegap variable Effect Manager: ● comfortable handling of particle effects ● Global manipulation functions for registered effects ● Frustum culling ● Depth sorting ● Efficient time delays adjustable for updating effects, which can enormously increase the performance I would be pleased about some feedback! Best Regards, Sebastian

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this