Lucy Viewer is an interactive viewing software for 4D models, i.e, dynamic three-dimensional scenes that evolve over time.
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
- 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 us 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
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 us an email or ask us directly so that we can add you as contributor of the project.
Then go to the project GForge page : https://gforge.inria.fr/projects/lucy-viewer/ in order to get the source on the git repository.
Get the sources :
git clone git+ssh://firstname.lastname@example.org//gitroot/lucy-viewer/lucy-viewer.git
Bug Tracker :
If you have some bug report or feature wishes, you can express yourself on the GForge Tracker.
You can find the Lucy Viewer wiki here.
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.
Third party librairies :
To install python libraries, use pip:
- on Ubuntu: apt-get install python-pip
Install Numpy and PyOpengl.
- Numpy: pip install numpy
- psutil: pip install psutil
- pillow: pip install pillow
- PyQt4 and QtOpengGL
- on Ubuntu :
apt-get install python-qt4
apt-get install python-opengl
apt-get install python-qt4-gl
- on Ubuntu :
Download the test data : testData.zip
GUI Usage :
- Loading and Playback :
- mouse left click on a sequence loading bar: select the first frame to render
- mouse right click on a sequence loading bar: select the loading buffer length
- mouse left click and drag on a sequence bar lateral border: hide/show part of the sequence
- mouse left click and drag on a sequence main bar: change sequence temporal offset
- Display (on the rendering area):
- mouse left click and drag: trackball rotate on the selected sequence(s) (or world)
- mouse right click and drag: trackball drag on the selected sequence(s) (or world)
- mouse wheel motion: trackball zoom
- left ctrl + mouse right click and drag: translate sequence with respect to its center of rotation
- left ctrl + mouse wheel: move center of rotation closer/farther
- mouse double click: move center of rotation
Command line arguments examples:
Load and display one mesh:
python LucyViewer.py tests/data/models-1/model_0000010000.off
Load a sequence containing all the files in the directory given as argument :
python LucyViewer.py tests/data/models-1/
Get an exhaustive list of command-line arguments:
python LucyViewer.py --help
python LucyViewer.py -h
Modify the loading buffer properties :
python LucyViewer.py --databufferSize 15 tests/data/models-1
Load a second sequence:
python LucyViewer.py test-sample/models-0/ +sequence tests/data/models-1/
python LucyViewer.py +sequence tests/data/models-1/ +sequence tests/data/models-2/
Load 2 sequences using binary caching:
python LucyViewer.py --useBinaryCache True tests/data/models-1/ +sequence tests/data/models-2/
You can also define sequence specific parameters:
python LucyViewer.py +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.