Lucy Viewer

Lucy Viewer is an interactive viewing software for 4D models, i.e, dynamic three-dimensional scenes that evolve over time.


So far we have concentrated on the data management (the data manager) and the software architecture.

For now, there is only a development version available.

Before releasing the beta version, we want to add the following features :

  • image data and loader
  • simple texture mapping
  • the camera setup loader and renderer
  • switch to a QT user interface
  • camera trajectory generator from keyframes
  • record the playback as video file (or image sequence)

However, you can get an alpha version so that you can start to test it and tell me what are the most important features for you, and if the implemented features fit you needs.

Main implemented features :

  • multiple sequence loading and playback
  • asynchronous loading
  • run time binary caching
  • .off file loading
  • Mesh rendering

Current user interfaces :

  • command line arguments
  • Qt GUI

Architecture :

LucyViewer Architecture



The project’s sources, bug trackers and wiki are hosted on the INRIA GForge.

If you don’t have an account on the INRIA GForge, please create one. Send me an email or ask us directly so that we can add you as contributor of the project.

Then go to the project GForge page : in order to get the source on the git repository.

Get the the sources :

git clone git+ssh://

Bug Tracker :

If you have some bug report or feature wishes, you can express yourself on the GForge Tracker.

Wiki :

You can find the Lucy Viewer wiki here.

Contributions :

If you want to add some code modifications, please create a new branch with a clear and understandable name from the master branch, and commit/push the modifications in this new branch. We will merge these in the original branch afterwards. Please be careful not to commit in the master branch.

Development :


Third party librairies :

Install Numpy and PyOpengl.

  • Numpy
    • on Ubuntu : apt-get install python-numpy
  • PyOpengGL
    • on Ubuntu : apt-get install python-opengl


Download the test data :

GUI Usage :

  • Loading and Playback :
    • mouse left clic (or left clic with motion) on the playback/loading bar : select the frame to render
    • mouse right clic (or right clic with motion) on the playback/loading bar : select the loading buffer position
    • keyboard space bar : toggle run/pause sequence playback
    • keyboard left and right arrow keys : decrement or increment current playback frame id
  • Display
    • keyboard pad 0 : select all the sequence
    • keyboard 1, 2, … : select the corresponding sequence id (-1)
    • keyboard v : Toggle display only the selected sequence
    • mouse left clic with motion on the rendering area : trackball drag on the selected sequence
    • mouse right clic with motion on the rendering area : trackball pan on the selected sequence
    • mouse middle button clic with motion on the rendering area : trackball zoom on the selected sequence

Command line arguments examples:

Load and display one mesh:

python tests/data/models-1/

Load a sequence containing all the files in the directory given as argument :

python tests/data/models-1/

Get an exhaustive list of command-line arguments:

python --help


python -h

Modify the loading buffer properties :

python --databufferSize 15 tests/data/models-1

Load a second sequence:

python test-sample/models-0/ +sequence tests/data/models-1/


python +sequence tests/data/models-1/ +sequence tests/data/models-2/

Load 2 sequences using binary caching:

python --useBinaryCache True tests/data/models-1/ +sequence tests/data/models-2/

You can also define sequence specific parameters:

python +sequence --useBinaryCache True tests/data/models-1/ +sequence --dataBufferSize 5 tests/data/models-2/


Old Lucy Viewer

You can find here the old C++ version of the Lucy Viewer.



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>