simulating fire (flame) and smoke effect with Cesium v25

Howdy team!

I currently work on a project which requires some fire and smoke effects.
we have a wildfire model sitting in the backend which generates fire spread polygons for each simulation time step on the cesium globe, but have no clue how to add 3D fire or smoke animation effect on it. I see many stunning fire and smoke effects with webGL (e.g. this one http://webgl-fire.appspot.com/html/fire.html), is it possible to integrate them to cesium?

Could anyone point me out the right direction to go?

Heaps of thanks!

Benny

Hi Benny,

We have some very early work towards a particle system that can be used for fire, smoke, explosions, cloth, etc., but it has a ways to go and is only a side-project right now.

You could build your own fire simulation and then render it using Cesium’s BillboardCollection. A reasonable starting point is this chapter from GPU Gems - http://http.developer.nvidia.com/GPUGems/gpugems_ch06.html

Patrick

Thanks for the hints Patrick! The effect is stunning while it seems I have a long way to go :sunglasses:

I have another question, is there anyway to improve the quality (resolution) of cesium globe background imagery? I use Bing Map as imagery provider, but usually the background is quite blurry particularly when you compare it with bing map itself which is really sharp and clear. Other imagery providers such as mapquest and OSM are also have the same issue. Is there a quick fix for it?

Thank you so much!!

screenshot of cesium

screenshot of bingmap

Try changing maximumScreenSpaceError to 1.0 or maybe 0.5. This will hurt performance, but it may not be enough to matter.

You may also want to

Patrick

That does the trick! It looks much better now. Thank you Patrick :sunglasses:

Hi Patrick,

I also realize if we reduce maximumScreenSpaceError to 1.0 or even smaller, there will be many error tiles showing in the globe when zooming in and out.

A quick fix I find is to increase tileCacheSize value dramatically. Its default value is 100, I raise it up to 10000 to match with maximumScreenSpaceError = 1.0 setting.

The following two files need updated:

\Cesium\Scene\CentralBody.js

\Cesium\Scene\CentralBodySurface.js

Just make a log here and hope it is helpful to others.

Really appreciate your help!!!

Hi,

Can you tell me more about the “error tiles” you’re seeing? I can’t think of any reason why the tileCacheSize would have an impact on that.

Thanks,

Kevin

Have there been any updates to the particle system support?

Hi Scott,

There’s no recent progress on the particle system.

The closest related item is we added a compute pass for GPU Computing, http://cesiumjs.org/2015/09/22/Compute-Pass/, which can be the foundation for a GPU-accelerated particle system.

Patrick