We’re currently working on implementing a cone-style visualization to represent a camera’s field of vision, similar to what’s shown in the attached image (not included here for brevity). The goal is to dynamically visualize the orientation and range of the camera in 3D space, with smooth real-time updates and control.
Can this kind of conic field-of-vision visualization be implemented purely using CesiumJS? Or would we need to rely on Cesium ion SDK capabilities to achieve this effectively?
While researching available options, we came across mentions of conic geometries in the Cesium ion SDK documentation, which seem relevant to our use case. However, we’re not yet clear whether they directly support the functionality and level of interactivity we require — especially around dynamic updates, orientation control, and rendering performance in large-scale 3D environments.
So, we’d greatly appreciate any insights on the following:
Does CesiumJS alone provide sufficient tools to render and interact with cone-like geometries representing a camera’s field of view?
If Cesium ion SDK is needed, what additional features or capabilities does it offer that are particularly useful for this scenario?
Any best practices or examples you could point us to for visualizing dynamic camera frustums or fields of view in Cesium?
We’re aiming to build something performant and maintainable, so understanding the trade-offs between pure CesiumJS and ion SDK integration is key for us.
Thanks for your post and for being part of the Cesium community.
The visualization you are describing should be possible using CesiumJS. We may in fact have a similar feature implemented already to get you started. In this sandcastle Cesium Sandcastle if you checking the show frustums panes checkbox will plot the camera frustums on the globe at the current position. Then you can zoom and pan to view the plotted frustum planes relative to the earth.
Does this example look like the use case you were envisioning? If so happy answer more questions about how to it is implemented in the viewerCesiumInspectorMixin as shown and how you could implement it in custom code if you are interested.
Yes, the use case you described closely aligns with what I’m trying to achieve. However, I’d like to better understand the essential differences or additional capabilities that the Cesium ion SDK’s sensor geometries offer. Are they specifically designed to address this exact type of use case?
I’ve been having difficulty finding detailed documentation or examples that elaborate on the features and intended applications of these sensor geometries. Could you please help clarify this?
Thanks for following up and clarifying your question.
The Cesium ion SDK’s sensor geometries do offer additional capabilities in the API beyond what is provided in CesiumJS. Here is a product summary of the Cesium ion SDK which provides some demo view of the features including sensor geometries Cesium ion SDK – Cesium
The API docs for sensor geometry features provides additional details in the packages/ion-sdk-sensors section of the Cesium ion SDK docs for ConicSensors and RectangularSensors, including visuals, code demo snippets, and all the methods available in the classes.
As you may be aware, Cesium ion SDK is a paid product that works alongside open source CesiumJS. Please let us know if you have further questions about capabilities. And if you would like information about pricing etc. please let us know as well and we can direct you to the right place.
Thank you for the response. The features around ConicSensors and RectangularSensors look quite relevant to our use case of visualizing camera fields of view.
What we want to ensure is the ability to:
Render cone-style visualizations representing a camera’s field of view
Dynamically update these geometries in real-time based on orientation and range
Overlay them accurately on top of 3D assets , such as models or terrain
Maintain smooth interaction and performance within the scene (e.g., picking, visibility checks)
Given that the Cesium ion SDK is a paid product, we’d like to evaluate it thoroughly before making a decision. It would be really helpful if we could get:
Temporary or trial access to the Cesium ion SDK
Ideally, we’d like to test:
Rendering dynamic conic geometries representing camera frustums
Real-time updates to orientation, direction, and range
Accurate overlay on terrain and 3D models
Interaction support like picking and visibility checks
Glad to hear the features look relevant to your use case and you are interested in learning more. To set up an evaluation, please contact sales@cesium.com and someone will get right back to you.