Skip to content

NiharikaPatel/GLVisualize.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status:

Code coverage: Coverage Status

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:

GLPlot.jl, a GUI for plotting with GLVisualize

GLPlot allows you to interact with your plots and create GUI elements.

lorenz attractor

Hybrid GLPlot, Plots.jl

These examples use the lower level API of GLVisualize+GLPlot to allow interactions that would not be possible with Plots.jl alone. It is planned to integrate this more nicely with the higher level interface in Plots.jl.

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 glvisualize.com . Example code on the website is out of date, pleaser refer to examples folder to get the newest versions.

Known problems:

  • On Mac OS, you need to make sure that Homebrew.jl works correctly, which was not the case on some tested machines (needed to checkout master and then rebuild)
  • GLFW needs cmake and xorg-dev libglu1-mesa-dev on linux (can be installed via sudo apt-get install xorg-dev libglu1-mesa-dev).

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.

About

Visualization library written in Julia and OpenGL

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 73.8%
  • GLSL 26.2%