All posts in News

Spin particles on all axis TimelineFX

Just a quick update! I’ve mainly been working on adding spline paths in to the library the last month which I’m still working on but I wanted to just get a new alpha out which fixes a bunch of bugs and also introduces a simple but very effective feature where you can now spin particles on their pitch and yaw axis. Previously you could only spin particles on the axis that faces the camera but now you can set the Particle Rotation settings to free align and then adjust the spin attributes under particle behaviour. I also added the ability Read more

TimelineFX author notes

This is the final update for version 25 where I’ve been focusing on help and documentation. In this version I’ve added 2 new features to help new and existing users get a quick insight into how each effect and emitter works.   Insights I’ve introduced a new tab labelled Insights. On this tab is auto generated documentation for each effect that gives a brief overview of the main properties that are used. Each property that is referenced has a link that you can click on that where that property is so you can easily get to grips with where things Read more

about popup window timelinefx

I just uploaded the latest alpha which builds on the last version with a brand new help section! This help is entirely in the editor and searchable by key word. It even works like a simple browser where you can go back and forward to previous sections you were looking at and it also has links that link either to other help files in the editor or externally too. I also added an About pop up that opens up on start up. It’s pretty basic for now but I can improve it at a later date. Both the about and Read more

Compute shader prerecorded particle playback

Happy New Year! Alpha version 24 has now been released. It has been a very busy period for me over the holiday, and a real time of learning new things.   Bounding Boxes for Sprite Data Something I wanted to accomplish was calculating the bounding boxes for each frame of a sprite data animation. This is where you can pre-record your effects and simply use a compute shader to interpolate the compressed data to playback the effects. It is a very fast way to use effects, as almost everything happens on the GPU. All the CPU has to do is Read more

I just completed a refactor of the TimelineFX library so it’s further along in terms of stability of code, ie., less chance of me making a lot of breaking changes. I mentioned in the last post what I’d be working on but here’s what I did: Implemented my memory allocator for much cleaner memory management. A large memory pool is now allocated on initialisation and then sub allocated from. If the pool runs out of space then a new pool is automatically added. This of course can be overridden if anyone wants to use their own allocator instead. I did Read more

New alpha version released powered by a new renderer! So last blog post I mentioned that I wanted to refactor the renderer I use and also write a memory allocator and both those things are now done! It was a lot of work the last 3 months but I’m really pleased with the way things are going.   Zest Pocket Render So I did a complete rewrite of the renderer (based on the previous one) and also re-wrote it in c which I really enjoy using. Zest is a very minimal but flexible renderer which currently focuses on rendering sprites Read more

Just uploaded a new Alpha version of the editor, which doesn’t have too many new features but does have a huge amount of new stuff going on under the hood. Fully implemented SIMD for updating particles I’ve spent a long time thinking about how I would go about doing this ever since taking on the rewrite of TimelineFX from the beginning. Being relatively new to C/C++ and SIMD in general, it has been a step-by-step process to get to this point. In the last blog post I made, I talked about how I made things multithreaded, and now I’ve added Read more

A long overdue post, but rest assured, lots of work has been done over the last couple of months! Optimizations of the TimelineFX Library Firstly, for most of December, I did a big refactor of the TimelineFX Library, not just to optimize it but also to open the door for a lot more optimizations in the future. This had two main steps: I transitioned all the data for updating effects, emitters, and particles to “structs of arrays”. Without going into too much technical detail, this makes it a lot easier to parallelize updating the particles. The problem with storing all Read more

I just uploaded a new version of the TimelineFX Alpha with a few new features and more bug fixes. Here’s the main highlights: Cylinders I added 2 new emission types for 3d effects. The first is cylinder, which is exactly as you’d expects – allows you to spawn particles in a cylinder shape. Also worth pointing out that making the cylinder have 0 height you also have a ring emission type. Icospheres Icosphere is similar to an ellipse but with the icosphere you can spawn in a grid with up to 5 subdivisions to give a unique effect. An icosphere Read more

For the last month and a half since the last blog post where I mentioned that I was strongly thinking about adding 3d particle effects to timelinefx – that’s exactly what I’ve been doing. It’s been a lot of fun mixed in with a lot of head scratching as I wrap my head around 3d math again (it’s been a while since I did any 3d stuff) but I’m mostly there with it. I still have a few things to iron out with it and would like to create an example library to go with the next alpha update but Read more