Latest News/Blog

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

So I got an ARM based Mac this weekend and got it compiling to create a universal app for ARM and Intel base Macs. I still have my old Intel based Macbook to test with and it seems to work fine on that too. Doing the ARM version meant that I had to map all of the Intel intrinsics to the ARM equivalents which was reasonably straight forward. A few work arounds were needed here and there and in other situations it was actually easier to do with the ARM intrinsics. Having the library also build for ARM processors is Read more

I’ve just uploaded a new version for Intel based Apple Macs. Unfortunately I have a MacBook Pro from 2015 which is intel based, and whilst I can cross compile to ARM from there there’s no way for me to properly test without a newer ARM based Mac. I would need to test as the code uses a lot of Intel intrinsics for SIMD instructions that don’t all map 1 to 1 to the ARM equivalents. I have already made a start on this but will wait until I get my hands on an ARM based Mac before continuing. I’ll probably 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

This is the first update where I’m trying to improve the usability of the editor. In this update I’ve completely reworked effect and emitter properties and attributes. Before there were 2 separate lists with properties where you adjust things like the draw order, the emission type, spawn options etc. And attributes where you would change how the particles behave overtime. I’ve combined these all into the same tab and made them all searchable by keyword. I have also rearranged the attributes so that they’re grouped together more logically. As you can see in the screen shot, instead of all the 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

Wow, 2 months went by already! Loads of work has been since then though, as mentioned in the last update I wanted to add sprite data exporting so that you could playback effects buy just uploading the sprite data to the GPU and interpolating between frames for smooth playback. And this is exactly what I’ve managed to do and it works extremely well! This is just an initial proof of concept but now the basics are done and now I know it will work well I can continue to improve and add features to it. Here’s how it works: Sprite Read more