JuliaGL / GLVisualize.jl

Visualization library written in Julia and OpenGL
Other
247 stars 34 forks source link

Build status:

Code coverage: Coverage Status

GLVisualize isn't under active development anymore, since all it's features + code have been added to Makie:

https://github.com/JuliaPlots/Makie.jl

GLVisualize

GLVisualize is an interactive 2D/3D visualization library completely written in OpenGL and Julia. Its focus is on performance and allowing to display animations/interactions as smooth as possible.

Installation of GLVisualize

You need OpenGL 3.3, which should be available on most computers nowadays. If you get an error like this, please try updating your system/video driver.

Please run:

Pkg.add("GLVisualize")
Pkg.test("GLVisualize")

Running the tests will walk you through all examples. I made a recording of me giving a descriptions for every example:

glvisualize_tests

GLVisualize can be used as a backend for Plots.jl

Plot examples created with Plots and GLVisualize as a backend:

plots

Support for hovers and unicode:

hover

Image marker type and hover:

Demo of GPU computing and visualization of the GPU object with GLVisualize

GLVisualize is GPU accelerated and we can use this fact to display computations run on the GPU as efficient as possible. This is a demo using the packages CUDAnative and GPUArrays to run Julia code on the GPU and visualize the result. Note that the CPU version takes around 60 seconds for every iteration. GPU acceleration brought this down to interactive speeds at around 0.12s per iteration!

Documentation

Please visit the documentation . Example code on the website is out of date, pleaser refer to examples folder to get the newest versions.

Known problems:

Try Pkg.test("GLVisualize") to see if things work! If things are working, you should see (after some delay for compilation) an animation pop up in a window with a spiral of cubes moving over a background of several other images and visualizations. Close the window when you tire of watching it, and you should see a "tests passed" message.