PointPrimitive Overlap issues

Hi - first time poster, although I’ve been working with Cesium for about a year now. I’ve finally decided to push this question up to the community to see if anyone has any input. I am working with gridded data that I visualize using PointPrimitives, because I find that I can render a lot of them simultaneously (as long as I don’t care about removing them) and they allow for a nice compromise between interactivity (using mouseover events) and visual fidelity.

Anyway, below is an image from a project I’m working on using 0.1 degree lat/lon precipitation data:

I should say, these points are defined as follows:
points.add({
position: new Cesium.Cartesian3.fromDegrees(lls[i][0],lls[i][1],lls[i][2]),
color: clrs[clr],
pixelSize: 1.0,
scaleByDistance: new Cesium.NearFarScalar(2e6, 2.5, 1.5e7, 0.4),
outlineColor: Cesium.Color.WHITE,
outlineWidth: 0
});

``

Anyway, the fidelity of the points is quite good when they do not overlap, but when they do overlap, their behaviour is dependent upon which camera quadrant it lies in. If it is lower left, it looks quite good, but if it is upper right, they are dominated by what appears to be an implied transparent border that causes the visual to look quite poor. The lower right and upper left quadrants show some of this issue but not as much. This extends to the entire view window. The white outlineColor should have no impact because there is no outlineWidth.

I have tried to do tweaking with scaleByDistance, but there is always some level at which the points overlap to the extent that this issue occurs. Anyway, any feedback would be helpful - thanks!

Hello,

That screenshot looks really neat! What kind of project are you working on?

I think the artifacts you are seeing are caused by this bug: https://github.com/AnalyticalGraphicsInc/cesium/issues/2885

And a possible solution has been submitted here: https://github.com/AnalyticalGraphicsInc/cesium/pull/3784

Best,

Hannah

Hannah,

Thank you - after I figured out how to do a new build of Cesium (using the instructions Cesium provides) including the GLSL updates, I was able to get a version that I am much happier with. At the bottom are a couple screen captures of the updated product, including how it incorporates mouseover events to get values from the data points.

The product being visualized is called IMERG (information and static images at http://pmm.nasa.gov/precipitation-measurement-missions) - this is a development visualization that I’m working on based on some previous work I’ve done combining Cesium and satellite data. I’m a web developer at NASA Goddard, and I’ve been using Cesium to help scientists using the data we provide make better decisions on which files to download and what they might contain. The two currently publicly available products are https://storm.pps.eosdis.nasa.gov/storm/cesium/GPMView.html and https://storm.pps.eosdis.nasa.gov/storm/cesium/STORMVG.html (this latter link just goes to a default version of the page, but it will soon be integrated into the STORM download interface so that certain types of files can be visualized/explored prior to download).

The STORMVG (latter product) incorporates Java’s HDF5 bindings (HDF5 being a common gridded data format for Atmospheric Scientists among others) and JSON to directly visualize data off the data files without requiring storage of any post-processed files. GPMView uses CZML based off the HDF5 files to animate the satellite passage. Email me if you want more information.

Thanks for your help…now a couple images:

Hi Matt,

I hope you are doing well! I’m just bumping your first thread to let you know that Dan fixed this in #4886, which will be in Cesium 1.30 next Tuesday.

Also, as always, please let us know if you have any new projects we can showcase.

Patrick

Patrick,

Awesome! I look forward to seeing that incorporated as part of the Cesium code. I have a tangential project that I’ve been working on for a little while - hoping to publicize it soon, so when that happens I will let you guys know.

Also, any update on the PointPrimitives for mobile/Safari disappearing issue (#4712)? Is that fixed as part of this bugfix, or is that going to be a separate effort? Thanks for all of your hard work!

Hi Matt,

Cool, we look forward to hearing about your new project.

There’s no update on #4712 right now, it may be a GPU/driver issue.

Patrick