-
Notifications
You must be signed in to change notification settings - Fork 26
ReleaseNotes
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
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)
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)
- new module
webView
- improved module dependency resolver
cyclops
- Added a configurable post-processing framework based on osgEffectCompositor (https://github.com/xarray/osgRecipes)
- Improved multi-shadow soft shadow support, fixed several bugs
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
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.
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
Version 4.3 introduces shader-based widget rendering in omegaToolkit, and several other minor fixes and improvements.
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
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.
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]
andsetPixel
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
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.
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.
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
omega
- Added
Color
from omicron. AddedColor.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.