Gephi - Graph visualization platform using JOGL

Hi all, I would like to introduce Gephi, the graph visualization platform I’m developing. Gephi is open source and runs on Windows, Mac OS X and Linux.

Thanks to our JOGL-based rendering engine, we can display large graphs and provide real-time interaction. Graphs larger than 100 000 elements are well supported, but we plan to redevelop the engine using GLSL, with 1M elements target. If you have suggestions about that point, you’re welcomed. I think displaying so much elements is really an interesting challenge.

Technology highlight:

  • Octree and LOD for high-level optimization
  • Basic thread pooling for concurrent operations
  • Customizable text rendering and objects selection
  • Hi-res screenshots

Download: http://gephi.org

Thanks for any feedback!

http://gephi.org/wp-content/themes/gephi/images/illustrations/home_screenshot.jpg

I haven’t tried it yet, but you need to make an improvement in your website. It took me a while to figure how to download it. You need to have a direct link to download on your home page or a link directly to the download page.

good job. IMO one of the best looking NetBeans RCP based applications

OpenCL could be an interesting route too. I suppose one of the bigger problems Gephi is facing is calculating the positions of the nodes while keeping the data on the GPU? (This would map very well to OpenCL since you can share buffers between GL and CL) (code | screenshot)

Is it possible to use it in an Eclipse RCP application too? It seems very interesting ;D

[quote]I haven’t tried it yet, but you need to make an improvement in your website. It took me a while to figure how to download it.
[/quote]
What about the huge “Download” button on the home page ? Couldn’t be easier I think.

[quote]OpenCL could be an interesting route too. I suppose one of the bigger problems Gephi is facing is calculating the positions of the nodes while keeping the data on the GPU? (This would map very well to OpenCL since you can share buffers between GL and CL
[/quote]
Yes I agree, calculating the positions of the nodes, called “Layout” requires a lot of computation and using GPU could help a lot, as explained in this article (A. Godiyal, J. Hoberock, M. Garland, and J. C.Hart. Rapid Multipole Graph Drawing on the GPU. In Graph Drawing, volume 5417 of LNCS, pages 90–101. Springer, 2009.). Your demo is impressive. So if I move to JOGL2, which is in the task list, I could use OpenCL with ease ?

[quote]Is it possible to use it in an Eclipse RCP application too? It seems very interesting
[/quote]
Well I don’t think so. Go Netbeans dude ! :wink:

Oops sorry. I looked from work and they have us on IE6, so it didn’t come up the first time I went to the page. I see it now.

It is not so simple. I would like to use it in an existing very big application that heavily relies on Eclipse RCP. Do some widgets depend only on Swing or AWT?

Thanks. Yes, and I could probably even port it back to jogl 1.1.1 if this is a requirement (but this is very low prio for me).

GL-CL buffer sharing does not work on all OpenCL implementations yet (@see AMD) and isn’t bulletproof on Nvidia too. But you can easily share OpenCL allocated buffers on host memory without any interoperability extension. (e.g VBO stream draw for GL and CL_MEM_USE_HOST_PTR for CL, both using the same direct NIO buffer). One copy more but you can drive with full speed as soon the drivers are stable.

+1 dude! :wink:

Impressive work, I look forward to seeing more development.

I’ve trying to work out whether to use this myself, and started a thread http://www.java-gaming.org/index.php/topic,22034.0.html
Would appreciate any feedback.