You need Graphics Utilities to be able to compile this asset. Graphics Utilities enables lots of features for graphics programming via a DLL. You can read more about it by following the link.
Download executable: https://1drv.ms/u/s!AppH38QcoEBfh-RJMu_oxkTyD0u66g
This demo contains a set of different types of fireworks which uses vertex texture fetching and point sprites to efficiently render more than 100,000 particles at once. The logic of the particles is updated with the use of 32-bit color channel surfaces.
This was made for GMC member xygthop3's 3D effects challenge (#1): http://gmc.yoyogames.com/index.php?showtopic=678490. It has had a bit of further development, and now it's available here on the marketplace. The sound used in the challenge is not included.
Remember to read the asset's EULA:
Version 1.0.1. Published November 5, 2015
Created with GameMaker: Studio v1.4.1657
You can only review assets you've bought.
Worth it for the vetex buffer learning experience
This is simply an amazing demonstration on how to implement vertex buffer data storage via surface to be able to implement a varying particle system out of a static vertex buffer.
The system requires a second asset, which frankly, is deserving of attention.
Admittedly it's probably possible to achieve this effect without the other asset BUT the knowledge I gained from getting both this and the companion asset is well deserving for my $$.
The con part is a little lack of documentation in the fireworks code itself. I did not find an explanation on the concept itself and if you went at it with little understanding on how this is possible, you will be scratching your head looking at the code. But it's brilliant once you get it.
Thank you! Glad you've learned from it! I could probably have documented it better. It was originally an entry to a forum challenge, and after that I adjusted some things and made it more suitable for the marketplace so I could upload the code there. I have been thinking about ways of doing it without a DLL. The main problem is the vertex texture fetching; seems like there's no way to access textures from a vertex shader in GM without extensions. Another issue is the point sprites, you might need 6 vertices instead of 1 because of the lack of support for point sprites. I did find a way though which I believe can get you to 100k particles with a steady framerate: If you update your particle states as in this asset (to a surface using shaders), then you can use buffer_get_surface and convert the buffer to a vertex buffer. But you have to carefully organize the data in the 4 color channels so the bits line up correctly to what the vertex buffer expects.
Demo looks promising but scripts are missing
for now only 1 star
Hi, the description and readme file specify that you need the Graphics Utilities marketplace asset for this asset to work. I've updated the description of this asset for it to be a bit more clear.
And it shows what you can do with the Graphics Utilities asset. Thank you for giving it away for free! :)