Each version of shapeViewer is numbered as major.branch.minor, following a semantic versioning convention:

  • major versions introduce significant code and interface changes, breaking compatibility

  • branches add major functionality, while aiming to remain compatible with previous versions

  • minor versions indicate small updates in functions, data, performance, and bug fixes

Short history:

  • 2010 v1: first release, with only a command line interface.

  • 2011 v2: added a full graphical interface to be more user-friendly. This version evolved with the Rosetta mission, adding features as needed by the science team.

  • 2018 v3: shapeViewer became a more general tool, taking its input data from “mission packages” provided with the software or user-generated.

  • 2021 v4: new rendering engine to allow multiple ojects to be displayed (e.g. for missions to binary asteroids)

VERSION 4 “Multiple bodies”

BRANCH 4.1 “JSON configuration”

Warning: although this branch is not a major version, it does break compatibility with previous releases as the format of configuration files have changed from XML to JSON.

shapeViewer 4.1.0 - 14/07/2023

    - new user data format (lat, lon, angular coverage)
    - console tool to export this projected data for further analysis
    - roughness model, calculated when loading a shape
    - support both square and rectangular field-of-view
    - mission packages for Hayabusa, Hayabusa2, NEAR, DART, Hera
    - autosave configuration

    - debug mode is now started by calling "shapeViewer.exe debug" instead of modifying a config file
    - converted all configuration files from XML to JSON
    - shapeViewer automatically detects mission packages and populates menus accordingly
    - switch to a new mission in one click, shapeViewer will remember your last choice
    - updated existing mission packages to the new format
    - secondary objects oriented as if rotationally locked to primary at startup
    - pre-calculated gravity/slopes included in mission packages
    - removed the check-for-update function, current code not compatible with HTTPS server
    - removed user-defined screenshot size. Will be reintroduced with future FITS renderer

    - shadows sometimes not rendering at startup
    - image resolution not showing
    - front plane clipping issues at close distances

BRANCH 4.0 “Multiple bodies”

shapeViewer 4.0.3 - 05/07/2022

    - Hera/Didymos/Dimorphos kernels updated to latest ESA planning kernels (v1.3.0)
    - Updated documentation
    - Cleaned up typos in the command line tools
shapeViewer 4.0.2 - 21/06/2022

     - Hera/Didymos/Dimorphos kernels updated to latest ESA planning kernels (v1.2.0)
     - Tools that are currently being upgraded (topo profile, painting brush) are not visible anymore in the menu
     - Screenshot generation is now much faster
     - Screenshot resolution can be modified with the command line tools
     - Cleaned up typos and outdated functions in the command line tools
     - gravity vectors using the wrong color scale
     - data file crashing the program when trying to load an out-of-bound facet id
shapeViewer 4.0.1 - 16/02/2022

    - Hera/Didymos/Dimorphos kernels manually updated to correct spin axis orientation
shapeViewer 4.0.0 - 30/05/2021

    - support for multiple objects, in preparation for the DART/Hera missions
    - Hera is now the default mission scenario
    - objects can be selected with either right-click, the "View" menu, or with the command "activeobj"
    - individual objects can be replaced with other shapes while program is running
    - colormaps automatically adjust to the active object
    - rewrote all documentation
    - New mission config files. This breaks compatibility with earlier shapeViewer versions
    - removed the dependency in the OpenIL/DevIL library. No change for the user, faster screenshots
    - shadow calculations now 100x faster, activated by default but can be disabled from "View" menu
    - image projection also 100x faster than before
    - reorganized items in menu bar
    - rewrote the movie mode and added an interactive progress bar
    - movie mode set to the full mission epoch by default
    - console can now be started from the graphical interface (and still with keys [=] or [F12])
    - "info" command will display information on the currently selected object
    - harmonized syntax of many commands
    - upgraded SPICE to version N0066
    - "spin" function removed from GUI (available in console, see user manual)
    - performance improvement on map projection and graticule funcions
    - text labels sometimes not checking properly against depth buffer.
      This is an issue with FLTK 1.4, fixed by reverting to latest FTLK stable (v1.3.6)
    - viewing geometry not reset properly when loading new mission package
    - error in display of surface area

VERSION 3 “Multiple missions support”

BRANCH 3.0 “Mission packages”

shapeViewer 3.0.4 - 22/02/2021

    - "exportgrat" command to write a grid of the current graticule to a file
    - "exportgrav" command to export the surface gravity in spherical coordinates
    - a progress bar is now displayed for the more expensive calculations
      (shadows, image projection, gravity)
    - if gravity/slopes data exists, selecting a point with right-click in "Coordinates" mode will display
      the local gravity/slopes value
    - upgraded FLTK to version 1.4, no change for the user
    - no more loss of precision when loading gravity data from a file
shapeViewer 3.0.3 - 01/09/2019

    - "turbo" colormap is the new default (see Google AI blog)
    - wireframe set to black when background color is white
    - UP and DOWN keys in console navigate history of commands (instead of both commands+results)
    - incorrect position of a camera footprint in the field of view of another camera.
      Non-aligned boresights are now properly modeled.
shapeViewer 3.0.2 - 27/07/2018

    - support for Hayabusa 2 mission (config files not publicly available for now)
    - "activecolor" command to define the color of selected lines/facets
    - "paintfov"    command to paint the facets currently in the FOV with the active color
    - "outlinefov"  command to mark the projected contour of the current FOV (EXPERIMENTAL)
    - "exportfov"   command to write facets currently in FOV to a data file
    - "clean"       command to reset the colors
    - "export" command renamed to "export3d"
    - "clim" command now works also when displaying angles (i, e, phase)
    - corrected syntax for loading "facet" data in this help file
    - wrong FOV definition in Lutetia package
    - typos in user manual
shapeViewer 3.0.1 - 26/06/2018

    - "sun" command to define the subsolar point
    - "clim" command to define the boundaries of the current color map
    - simplified output format of topographic profiles
    - improved loading of large files, and startup time
    - sequence files with no textures are now rendered properly once again
shapeViewer 3.0.0 - 16/03/2018

    - new concept of "mission packages", which let the user define and load various mission scenarios
    - info command displays more information about the shape
    - loading of multiple data types, to easily mark regions or landmarks
    - "Help" menu now offers an option to check for shapeViewer updates on the server
    - support of OBJ files
    - Removed external CLI interface as it was quite broken and very rarely used.
    - reorganized menu bar, moved "Set time" action to "View" menu
    - console now accepts all characters you can type, upper and lower case
    - [Esc] key disabled in console, so that you do not close shapeViewer when attempting
      to leave the console
    - no more out of memory when loading large models (up to ~1 million facets).
    - proper freeing of memory upon exiting the software


BRANCH 2.9 “Embedded console and usability improvements”

shapeViewer 2.9.6 - 30/11/2017

fixed: corrected the wrong projection of some WAC images
fixed: "real colors" options appeared toggled off in GUI
shapeViewer 2.9.5 - 15/11/2017

modified: updated SPICE kernels to the official ESA 1.1.0 release
modified: default 3d shape is now the <a href="">DLR SHAP7 model
          (Preusker et al, A&A, 2017)</a>
modified: time/distance view now displays distances spacecraft-target center and spacecraft-surface
modified: the coordinates tool now displays the altitude of the selected point
shapeViewer 2.9.4 - 04/10/2017

fixed: some textured facets not showing in map mode
modified: updated SPICE kernels to the official ESA 1.0.0 release
added: graticule resolution can now be modified in map view as well as in 3D view
added: "info" command to get some information from the shape file
added: "export" command to export textured shape as an OBJ file
shapeViewer 2.9.3 - 10/07/2017

fixed: "set time" dialog now disabled in movie mode
fixed: "set time" dialog will remember time of last frame after exiting movie mode
fixed: scalebar length is correct even if target not intersecting boresight
modified: complete rewrite of the graticule function. It is now faster, and customizable
modified: similar rewrite of the topographic profile tool, now guaranteed to catch
          all facets between two points
modified: 'View Axes' now shows both positive (solid line) and negative (dashed line) axes
modified: replaced gravity model with Cheng 2012. Slower but more accurate
modified: some operations parallelized with openmp, slight gain of performance
modified: slopes displayed in colors by default, use CLI to change colormap
added: inline help in command line interface
added: various colormaps accessible from the console
shapeViewer 2.9.2 - 11/05/2017

Release 42 ! 2500 days since version 1.0 :)
fixed: improved and sped-up raytracing. Shadows are now very accurate
fixed: shift camera with arrow keys when time is set
fixed: improved panning and zooming in all map modes
modified: shapeViewer remembers the last valid time set
modified: improved display of graticule, some issues with concavity remain to be fixed
added: implemented Kavrayskiy VII conformal map projection
added: on screen display of sub-Sun and sub-S/C coordinates when Sun or S/C display is activated
added: many new commands in console
shapeViewer 2.9.1 - 31/03/2017

fixed: image projection sometimes repeating the texture
fixed: error message appearing when displaying camera footprint in movie mode
modified: map view can be zoomed in/out and panned with the mouse
shapeViewer 2.9.0 - 26/03/2017

fixed: application closing when exiting movie mode
fixed: improved rendering
added: generic colorbar for all modes (including (3d view)
added: read basic PLY files (binary, little endian, with or without vertex color information)
added: console interface embedded in shapeViewer (toggled with [F12])
       console implements new displays and options (fps, scalebar, vertex color, edges, ...)
       console is undocumented in this version and highly experimental

BRANCH 2.8 “Image projection/texturing”

shapeViewer 2.8.0 - 25/01/2017

added: Rosetta images can now be overlaid on the shape model, after time and camera have been set
       This release supports only .JPG, .PNG, and .BMP images.
added: "Facet" files can now contain data which can be displayed in 3D
modified: Rewrote part of the camera code to have more intuitive interaction in all views
modified: If selected, camera footprint now showing at all levels of zoom
modified: shapeViewer application is now resizable
modified: Time can be input with hours/min/sec separated by ':' or '.'
modified: updated compiler to gcc 5.3
modified: updated SPICE library to allow processing of fast kernels (NAIF Types 6 and 19)

BRANCH 2.7 “Public release”

shapeViewer 2.7.1 - 12/10/2016

modified: Harmonized console output
modified: "Surface Area" tool now exports also facet normal vectors.
shapeViewer 2.7.0 - 04/10/2016

First public release
Restricted time set to 2014-07-01T12:00 to 2016-09-30T12:00
Shape provided by default is latest NavCam model
modified: CLI now uses the right FOV

BRANCH 2.6 “CLI interface”

shapeViewer 2.6.5 - 20/09/2016

added: Rosetta NavCam FOV [Ctrl+r], and footprint [Alt+r]
added: label to footprint drawing
modified: frustum culling between distance/100 and distance*10 instead of [1km, 1000km].
shapeViewer 2.6.4 - 11/09/2016

modified: Viewing geometry/time preserved when loading new shape.
shapeViewer 2.6.3 - 02/09/2016

added: FAC "Far away camera": 90deg FOV camera for full scene view. Activate with [Ctrl+f]
modified: CLI interface now always render in FAC mode.
shapeViewer 2.6.2 - 15/06/2016

added: NAC and WAC footprints can be toggled with shortcuts [Alt+n], [Alt+w].
fixed: Rendering used ortho projection instead of perspective, which created a lens distortion artifact.
modified: The perspective view may distort the rendering when resizing the window.
          As resizing was rarely used, it is now disabled.
shapeViewer 2.6.1 - 07/06/2016

added: use keys {shift+ X,Y,Z] to view and illuminate shape from axes -X, -Y, -Z.
modified: updated SPICE library to use Type 19 kernels (much faster)
modified: drawing pipeline. Colors/shading calculated only when needed, and not each frame.
modified: better raytracing, not 100% accurate yet, but good and fast enough to be used.
shapeViewer 2.6.0 - 23/03/2016 - "CLI"

added: first implementation of a command line interface
added: option to hide labels when exporting view
fixed: camera footprints not correct when zooming
modified: increased line thickness for camera footprints

BRANCH 2.5 “Sequence mode, and usability improvements”

shapeViewer 2.5.10 - 17/08/2015 - "Perihelion 2"

fixed: map overlay not aligned with shape when setting time
fixed: movie not looping back to beginning
fixed: shape reseting orientation when exiting movie
shapeViewer 2.5.9 - 13/08/2015 - "Perihelion"

fixed: distance not correct in camera class
shapeViewer 2.5.8 - 17/06/2015 - "Better slopes"

improved: slope calculations
added: display of slopes values in black and white
fixed: display of slopes values in legend
shapeViewer 2.5.7 - 08/05/2015 - "Improved Pointing"

fixed: rendering implementation introduced an offset in apparent pointing
added: simplified gravity model (2 central masses) to speed up calculation,
       future versions will let you chose between different models
shapeViewer 2.5.6 - 04/03/2015 - "Angles and facets"

added: display of incident/emergent/phase angles with [F2, F3, F4]
added: export of angles as one RGB image (R=i, G=e, B=phase)
added: export area now saves all selected facets in a file
added: such list of facets can be reloaded
improved: facet selection
shapeViewer 2.5.5 - 14/11/2014 - "We have landed !"

fixed: kernel keyword being ignored in config file
fixed: when exporting view, filename gets writen on the image
added: display of incident, emergent, phase angles
shapeViewer 2.5.4 - 31/10/2014 - "Halloween public release"

Unified interactive display and movie mode
Both modes will now show the correct pointing and illumination
Unified rendering loop, merged all SPICE calls in one function
Interactive mode displays distance and camera Id when time is set
Added configuration file to change startup options
Debug console can now be activated from this config file
Added display of incident, emergent, and phase angles
Harmonized keyboard shortcuts
shapeViewer 2.5.3 - 28/07/2014 - "SHAP1"

Added graticule
shapeViewer 2.5.2 - 15/07/2014 - "RPMOD7"

Added new shape model
Change rotation rate with [ and ]
Fixed bug in rotation
shapeViewer 2.5.1 - 26/02/2014 - "MPS release"

Added graticules to maps
Harmonized keyboard shortcuts
3D view can now be shifted with the arrow keys
shapeViewer 2.5.0 - 23/09/2013 - "Sequences"

Modified movie mode. Possibility to save frames, by default in a directory called "screenshots",
automatically created.
Generates screenshots from a given sequence, provided as an external xml file.
Reference frames are now defined in SPICE meta-kernel.
Possibility to load a predefined sequence from an XML file. In that case screenshots are
automatically saved.


shapeViewer 2.4.1 - 20/12/2012

Added raytracing rendering to the photometric model selection menu.
This feature is very demanding for the CPU and can take a long time for a model
with more than a few thousand facets.
The rendering uses only the LAMBERT photometric model for the raytracing,
and does not calculate reflections.
It does, however, provide the right feel for illumination conditions.
shapeViewer 2.4.0 - 02/11/2012 - "COSSIM"

Added COSSIM (COma Structures SIMulator) to shapeViewer.
The user can now define active regions in an external XML file,
and visualize the structures created by the activity in real time (movie mode).
The example XML file (<i>COSSIM.xml</i>) contains a description of the format.

BRANCH 2.3 “Movie Mode”

shapeViewer 2.3.0 - 09/07/2012

Added a "Movie mode" which animates a trajectory based on SPICE kernels.

BRANCH 2.2 “Photometric models”

shapeViewer 2.2.4 - 26/06/2012

Projection bug corrected in version 2.2.1 had not been propagated in subsequent versions...
Added application icon.
shapeViewer 2.2.3 - 25/06/2012 - "Sliders"

Rewrote definition of photometric models,
parameters for Lunar-Lambert and Minnaert functions can be set interactively.
shapeViewer 2.2.2 - 22/06/2012 - "NAC &amp; WAC"

Added more photometric functions
Added display of NAC and WAC FoV.
shapeViewer 2.2.1 - 23/04/2012

Corrected bug in equatorial projection
shapeViewer 2.2.0 - 12/04/2012 - "Photometry"

Added Lommel-Seeliger photometric model, and options to select different models


shapeViewer 2.1.0 - 05/04/2012

SPICE library is now integrated in shapeViewer, no need for spiceData.exe anymore.
Code migrated to the CVS server.


shapeViewer 2.0.2 - 22/02/2012

Added distances and areas measurements.
shapeViewer 2.0.1 - 23/01/2012

Finished to implement extraction of topographic profile.
shapeViewer 2.0.0 - 29/09/2011

Rewriting of the interface. shapeViewer has now a GUI written with FLTK.


shapeViewer 1.6 - 22/03/2011

implemented gravity model
shapeViewer 1.5 - 22/02/2011

performance optimization
shapeViewer 1.4 - 21/11/2010

added calculation of solar elevation,
selection of facets, areas measurements
shapeViewer 1.3 - 09/09/2010

added conversion to cylindrical maps
shapeViewer 1.2 - 20/08/2010

added SPICE support, and texture mapping
shapeViewer 1.1 - 20/07/2010

can read both ".shape" and ".ver" file formats
shapeViewer 1.0 - 07/07/2010

1st version.