Which package to use for 3d interactive graphics of complex geometries

Hello,
I would like to use Julia, among others, for 3d graphic interactive display of complex geometries. More specifically I want to display High Energy Physics detectors. I have used ThreeJS in the past which was fast and efficient. I have also seen that there is also a package ThreeJS.jl available but probably not supported any more by Julia.
Can anyone suggest the best package to use for this purpose?

1 Like

People have used Makie.jl for this before, and Makie can display in the browser (via Three.js, actually :D) via its WGLMakie backend.

2 Likes

Thank you Anshul,
I will use Makie then
Cheers,
ilias

@tamasgal was pretty successful in using Makie for visualizing neutrino events:

The discussion is all I can find for some background: Makie as a framework for an interactive 3D event display · MakieOrg/Makie.jl · Discussion #2386 · GitHub

4 Likes

Sure, I had seen the presentation I could not recall the package used for this purpose. Thank you.
I believe I have enough elements to start working.
Cheers

1 Like

Would love to see what you come up with! (If it’s not sensitive / classified :smiley: )

Depending on what exactly you’re trying to accomplish, maybe consider using Meshes.jl to model geometries, which has built-in extensions for visualizing them with interative Makie.jl tools.

1 Like

Just be warned that Meshes.viz isn’t guaranteed to work well with Observables (though it is great for single use plotting). Meshes.jl geometry tools are pretty good though!

That is not true. All Meshes.viz options should work well with Observables.jl

If an option is not working, it is a bug.

Thank you for the suggestion Mike.
Maybe it is the best solution to use the Meshes.jl to define the volumes and that can be then visualized by Makie.jl tools or as they are defined: backends. I imagine this includes also WGLMakie. It is not very clear for me yet how to use Makie backend but I guess something like “using WGLMakie” or “using CairoMakie” etc

I can fully recommend GLMakie.jl with GeometryBasics.jl

As @sdanisch already mentioned, I successfully created a fully interactive application to display neutrino events in the KM3NeT detector in an interactive way including full real-time control from the Julia REPL. Makie has an extremely mature toolset to make all this possible and it’s running very will (hundreds of thousands of objects with >30FPS).

3 Likes

I just realised I did not post a link to the repository of my 3D display. In case you need some inspiration: