Open bagnell opened 6 years ago
This just came up on the forum. In this case, the tileset has no features. Since we now consider tilesets that don't have any features to implicitly all be one single feature (https://github.com/AnalyticalGraphicsInc/cesium/pull/7255), this may be easier to do now.
From what I read in Cesium3DTileset.js
this does not seem achievable without a large overhead. Since each tile is given its own pickId you would need to first recursively get all pickIds, then add them to the PostProcessingStageCollection.
Where it gets complicated is if any tiles unload/load back in; you would need to reflect those changes in the PostProcessingCollection. Managing that list of loaded/unload tiles would become burdensome. I think someone could implement this via existing API (without a cesium change) but certainty would be beneficial.
If I were to go about solving this here is how I would do it:
.selected
property of PostProcessingCollectionprovide inclusive and exclusive filtering. Currently post processing shaders will do one of three things: not respond at all _(the majority do this)_, filter selected inclusively, or filter selected exclusively. Because of the lack of consistency it makes it unclear what shaders work with the selected properties and which ones do not. Perhaps we have
.selectedand
.selectedMode: inclusive, exclusive`. From what I read in Cesium3DTileset.js this does not seem achievable without a large overhead. Since each tile is given its own pickId you would need to first recursively get all pickIds, then add them to the PostProcessingStageCollection.
Where it gets complicated is if any tiles unload/load back in; you would need to reflect those changes in the PostProcessingCollection. Managing that list of loaded/unload tiles would become burdensome. I think someone could implement this via existing API (without a cesium change) but certainty would be beneficial
Came up again over email. Here the 3D Tileset was an individual building that they were trying to highlight with an outline over mouse over.
Came up again over email. Here the 3D Tileset was an individual building that they were trying to highlight with an outline over mouse over.
Any solutions there?
Hey guys, is it still not possible?
I would want to apply custom color correction shader to custom tiles, but using czm_selected()
and stage.selected = [cesitum3DTileset]
simply doesn't do anything.
Per feature post processing only works on individual features of a tileset. It woul be nice if it worked on an entire tileset.
See https://github.com/AnalyticalGraphicsInc/cesium/pull/6476#issuecomment-388381350