Skip to content
Alessandro Febretti edited this page Feb 24, 2014 · 94 revisions

This page contains release notes for omegalib starting from version 4. You can find release notes for older versions here Omegalib versions are identified by a major, minor and release number:

  • Major revisions are released when a breaking change in the API is introduced, or when a major new feature is first introduced, like cluster support or multi-view support.
  • Minor versions are released on iterative improvements of a major feature, or when a new minor feature is introduced (i.e. a set of new widgets for the ui toolkit, or a new stereo mode).
  • Releases are incremental updates to a specific version. All the features of an omegalib version are typically released in a few steps, to preview features, testing, or fixing bugs and regressions.

NOTE: for versions after 5.2, release notes will appear in the Releases github tab


omegalib v5.2

Notes

Major Changes

omega

  • Tracked object auto-hide timeout.
  • Improved secondary camera output, and added methods to python API to customize secondary cameras
  • added the olaunch python command, to spawn new processes from a script.
  • fixes to external project support on OSX
  • added mcsend python script
  • various minor bug fixes

cyclops

  • Added per-camera materials.
  • Added per-camera layers.
  • fixes to Entity getPiece

omegaVtk

  • Vtk python scripting now works on all platforms (Windows/Linux/OSX)

omegalib v5.1

Notes

Version 5.1 adds a lot of improvements to the cyclops engine, and extends porthole to support multiple interfaces, complex python callbacks and javascript callbacks.

IMPORTANT - FreeImage library Update: In this version the FreeImage library has been updated to solve issues with byte ordering on streamed images. To force a re-download and rebuild of FreeImage, delete FreeImage.tar.gz and the FreeImage directory in your build root.

IMPORTANT - OSG Update: The internal version of osg has been slightly modified to support the render queue debug overlay. If you are updating your source from 5.0, You will need to force a rebuild of osg (for instance doing `make -B osg -j' in your build directory)

Major Changes

  • new module webView
  • improved module dependency resolver

cyclops

omega

  • fixes in Texture and PixelData resizing.
  • Improved mission control, added configurable server port from the command line interface.
  • Added Stat class to Python interface, for custom performance statistics reporting.
  • Improved Keyboard + mouse navigation
  • (5.1.1) Ray-to-pointer converter support, refactored DisplayConfigBuilder to simplify customization of display geometries.

omegaToolkit

  • Container culling
  • Interaction support for scaled widgets

omegaOsg

  • added Render Queue debug overlay

omegalib v5.0

Notes

This version will introduce physics support in cyclops and will ship with updated versions of several internal libraries (OpenSceneGraph, osgWorks, FBX). No API breaks are planned for this version, but due to changes in the dependency structure, a full, clean rebuild will be needed after updating to this version. This release notes will still list changes to external modules that are considered part of the core omegalib distribution: omegaOsg, omegaVtk and cyclops.

breaking change the cyclops shadow API has been deeply revised. Old apps using the shadow API will need to be modified (the old shadow system was quite buggy so I don't expect any application except for experiments making use of the old API)

function change In cyclops newly added lights are enabled by default.

Major Changes

general

  • OpenScenegraph is now built automatically instead of being downloaded as a binary dependency
  • Fixed several project dependencies in the build scripts. omegalib should now compile without hiccups during parallel builds (make -j 32 is your friend)

cyclops

  • Added multi-texture support in Material C++ and Python API
  • Physics support (RigidBody API)
  • SceneLayer API
  • Single pass multiple shadow map support

omegalib v4.3

Notes

Version 4.3 introduces shader-based widget rendering in omegaToolkit, and several other minor fixes and improvements.

Major Changes

omega

  • (4.3.2) Fixes to node transform update (caused update lags in nodes attached to cameras)
  • (4.3.2, backport from 5.0) Added multi-texture support in Material C++ and Python API

omegaToolkit

  • Improved Container python API
  • Widgets now render through shader (mostly done to simplify alpha modulation but could have other uses in the future)
  • Fixed Mouse ButtonUp event flags
  • (4.3.1) Container clipping support

omegalib v4.2

Notes

This version greatly improves the speed of user-centered stereo tracking in cluster installations. The Equalizer/omegalib interface and rendering code has also been simplified. Porthole is now included as a separate module. The flipbookPlayer module has also been moved from the apps repository to the omegalib core repository. To support multi-view interaction, omegalib 4.2 also introduces ray-based wand event filtering: multiple applications can be controlled using the same wand device. Only the application currently pointed at receives input. Multi-view interaction is implemented in a new module (mvi).

breaking change: the overridePanopticStereo function has been removed due to it's confusing name. The same function can now be controlled by doing getDisplayConfig.panopticStereoEnabled = True / False

v4.2.4 breaking change: the CMake option HARDCODE_DATA_PATHS is disabled by default on new builds. Omegalib applications now use theOMEGA_HOME environment variable to find the main omegalib data directory. You should create this environment variable and set it to the data directory of your omegalib repository copy. Old installations will use the cached value of HARDCODE_DATA_PATHS and will keep working as expected. In version 4.3, all hardcoded build-specific data paths will be removed from Omegalib builds. This is a planned step to simplify installing omegalib from build, and consolidating the way from-source installs and precompiled installs look for data.

Major Changes

omega

  • removed obsolete Equalizer statistics output
  • added New statistics display in Console overlay
  • Render passes get sorted by priority
  • added SceneNode.rotate(Quaternion) python method.
  • fixes to event handling and rendering on non-planar configurations.
  • added querySceneRay flags (see https://github.com/uic-evl/omegalib/wiki/Scene-management#queryscenerayvector3-origin-vector3-dir-callback-flags)
  • added Event.isFlagSet to python API
  • added PixelData pixel access python API (getPixel[R,G,B,A] and setPixel functions)
  • Degree unit functions for node orientation (Issue #57)
  • (4.2.1) FIX: wrong up-vector orientation for nodes that are set to face a camera
  • (4.2.3) FIX: added missing setNearFarZ, getNearZ, getFarZ methods to camera python API
  • (4.2.3) added SceneNode facing camera fixed Y axis for billboard nodes.

Porthole

  • Porthole improved and moved to a separate module
  • Added touch / drag event forwarding
  • Added callbacks for client connection and camera creation
  • Added portholeBasic.py python demo

omegaToolkit

  • (4.2.4) FIX: 3D Menu jitter on very large scenes (Issue #44)
  • (4.2.4) Container child alignment methods added to python API
  • (4.2.5) Widget library: widgets are draggable, and can be pinned. Added a new example showing widget functionality. Various fixes to ui library.

cyclops

  • AnimatedObject.setCurrentModelIndex in python (Issue #50)
  • (4.2.4) Entity culling can be disabled

Misc

  • Started working on a multiview interaction (mvi) module.
  • (4.2.2) Fixed Oculus Rift support

omegaToolkit

  • 4.2.2: Widget navigation control in python API

omegalib v4.1

Notes

This version adds support for the Oculus Rift head mounted display through a custom omegalib module, introduces major improvements to mission control client-to-client communication support and further extends the python API. Omegalib 4.1 also introduces several add-in modules by Jason Leigh that add improved navigation, wand help and voice command support to python apps.

Major Changes

omega

  • death switch timeout automatically kills stuck slave instances
  • getButtonSetting python function
  • event dispatching enable / disable functions
  • tile show/hide commands
  • improved bounding box calculation
  • SceneNode.setChildrenVisible
  • Python event callbacks process events as modules with NORMAL priority level, instead of processing them after all modules (i.e. below Lowest priority). This allows python event callbacks to mark events as processed before they are passed to lower-priority modules.
  • python MissionControlClient class. Other improvements to mission control support
  • removed -mc client command line option. Mission control clients can be controlled directly through scripting now.
  • Fixed Node.lookAt
  • Cleaned up GPU resource allocation
  • Extended the SceneNode python API with rlative transform methods and other utility methods.
  • 4.1.1 Fix: incorrect C++ to python data layout for Quaternion

omegaToolkit

  • Wand manipulator quick commands for enabling move/rotate/scale
  • improved Button widget customization

omegaOsg

  • FIX fixed depth test issue on some linux installs

cyclops

  • FIX scene tree removal / addition of subtrees

omegaVtk

  • FIX actor bounding box and draw settings.

omegalib v4.0.6

Notes

Sound API changes All sound paths in applications need to switch to use relative paths. This version adds auto-update support for windows. The omegalib windows binaries are pulled from https://github.com/febret/omegalib-windows

Major Changes

omega

  • Added Color from omicron. Added Color.isValidColor
  • Added per-tile runtime camera controls: isHostInTileSection, setTileCamera.
  • pointerSize config option
  • Automatic multi-instance port adjustment for NetService
  • on the -I multi-instance switch, the port pool can be left unspecified. It will be set to 100 by default.
  • 4.0.2: omegalib can built using an external omicron installation
  • 4.0.2: python interpreter now does module lookups in the current script directory.
  • 4.0.2: fixed performance issue with SceneNode bounding box on-demand update.
  • 4.0.2: Extended Actor class is now derivable from python to create custom scriptable actors.
  • 4.0.2: Added global hitNode function for simpler node/ray intersection testing.
  • 4.0.2: Added windows auto-updater
  • 4.0.3: Added config support for inverted stereo (see invertStereo in ConfigReference)
  • 4.0.3: Added run flags to control PythonInterpreter.runFile
  • 4.0.3: FIX script running with relative paths was broken.
  • 4.0.4: Fixed inverted stereo
  • 4.0.6: Fixed keyboard/mouse camera orientation issue

cyclops

  • Major revision of the Material API. Materials have a lot more properties and flags. Multiple material layers can be added to an entity, without having to use the setEffect string. setEffect is not just a shorthand version of adding material layers to an Entity.
  • 4.0.1 FIX incorrect handling of -t transparent effect flag.
  • 4.0.1 FIX material state issues (issue #11)
  • 4.0.5 Material setlit, getLit (only working for fixed-function pipeline materials)
  • 4.0.5 FIX Text3D color issues

omegaToolkit

  • 4.0.2 Improved widget creation python API.

omicron

  • Improved sound asset management: sound assets now get copied automatically to the sound server.
  • NOTE FOR APPLICATION DEVELOPERS All sound paths in applications need to switch to use relative paths.
Clone this wiki locally