Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
402 lines (338 sloc) 22.4 KB
16 May 2018, version 2.0.7
- Replaced the LSPSM with VDSM in the F+ plugin, updated SilverLining and Triton plugins
to run with current packages as of this date. Sent in from NickTrajce for all OIG users
- corrected some spelling and line ending off screen issues on the on-screen help.
- added path for Linux uses to the resources directory in the Plugin-OSGParticleeffects
- corrected spelling of the continuous_smoke.rgb texture in the Plugin-OSGParticleeffects CGR
- Commented out to allow smoke trails to be white until we can fix whatever the shader issue
is at the moment in the Plugin-OSGParticleeffects.. CGR for NICK
This comment is in the file so it will be easy to find once the shader issue is resolved.
Sent in from NickTrajce for all OIG users to take advantage of.
- Check for validity of an entity before adding light to it.
Sent in from NickTrajce for all OIG users to take advantage of.
- Caching based on full pathname is not reliable as the same models can
on occasion be loaded from a different folder, which would cause them
to be reloaded when using the full pathname. Using only the models
filename now with no path information.
Sent in from NickTrajce for all OIG users to take advantage of.
- Ensure caching of subentites are handled properly so that they
only get loaded once now.
Sent in from NickTrajce for all OIG users to take advantage of.
- Fixed bug where an enity that is unbound from its parent was not
added to the scene as its own super entity.
Sent in from NickTrajce for all OIG users to take advantage of.
- Fixed crash when using large paged databases with lots of lights
Sent in from NickTrajce for all OIG users to take advantage of.
- New "lpb" LightPointsBrightnessCommand, adjust lightpoint brightness
by name via commandline.
Sent in from NickTrajce for all OIG users to take advantage of.
- Mark terrain to only receive shadows. This gives a nice performance boost.
Sent in from NickTrajce for all OIG users to take advantage of.
- Some misc fixes in the TCPServer to get it working better.
Sent in from NickTrajce for all OIG users to take advantage of.
- New Red Crash Screen added to OpenIG that can be displayed utilizing the two new
commands -- turnoncrashscreen TextToBeDisplayedOnCrashScreen -- turnoffcrashscreen
- Fixed what appeared to be a network transfer issue with commands being repeated, but
actually ended up being an issue with the malloc not clearing the memory buffer used
for the network data and the stale data left in this memory location was apparently
being re-read sometimes as new incoming commands. Changed malloc to calloc to clear
buffer and the issue appears to have been resolved, was affecting Linux for sure
unclear if any other systems were affected.
- Brought unbindeffect and removeeffect out to the external command line so that they
can be used over the network on effects.
29 Mar 2017, version 2.0.6a
- Two new files that were added to the Library-Protocol library as part of the 2.0.6
release were inadvertently left out of the when the release
was committed and finalized on GitHub. This caused anyone who is using qmake to build
OpenIG to fail during the compile process of the Simulation project section of OpenIG.
The DeadReckonEntityState.cpp and DeadReckonEntityState.h files have now been added to
the file. Qmake builds should now complete successfully.
17 Mar 2017, version 2.0.6
- Introduction of DeadReckonEntityState packet that caries only entity ID, and
positional and orientational velocities. Much thinner packet then the EntityState
that will allow the host to send updates for more entities in one network frame,
or spread the updates of dozen entities thru more then one network frame
- Update in the Simulation project to use simple Dead Reckoning on the HOST and the
IG side. This works in combination of sending EntityState (which contains the whole
entity Matrix) at the beginning (thus the IG needs to run before the HOST) for initial
positioning and after updating the entities with the new DeadReckonEntityState. The
Client plugin that is responsible for OpenIG UDP communication with the HOST can be
configured in it's xml file to use this feature or to work as before relying only on
use of EntityState packets
- Fix minor bug in CMake build of Simulation project where it would not find the
installed OpenIG include files on case-sensitive systems such as Linux...
22 Feb 2017, version 2.0.5
- Turn of osgShadows until the OSG users have time to fix some of the issues present
in their shadowing system.
- Moved looping demo cloud layers to new iitsec.txt file so we do not take time
away from loading the standard/normal A320 demo.
- Anti-collision lights on A320 were changed a bit to show more light on the
terrain, to include the red lower center light on the fuselage and wing tip
strobes. NOTE: This requires the user to copy the new version of the
Plugin-ModelComposition/DataFiles/a320.ive.xml file into the directory that
contains their a320.ive model, which varies depending on their installation.
On Windows binary installations the updated a320.ive.xml file can be found
in the installdir/bin/UpdatedMiscDatafiles directory.
22 Nov 2016, version 2.0.4
- Camel case file naming convention as in OSG, osgearth, SilverLining, Triton and bunch of other modern software projects.
The file names were lowercase since the start of the project was on Linux with QtCreator. Now it matches the known
opensource standards
- Core-OpenIG openig.h/cpp renamed to Engine.h/cpp. It is unobvious the file name to be different then the contained class
- Core-Base/Attributes.h renamed to Types.h - this was also due historical reasons from the time where this file was
containing only the Attributes struct before adding more stuff into
- Small optimization for F+
- Use of upper case only commands across all the CMakeLists.txt .. it was mixed lower/upper from copying code
- Fixed few build scripts to get clean build on Windows removed ccl.lib and instead used the variables from the
CMake macros - ${CCL_LIBRARY}- Fix minor bug in CMake build of Simulation project where it would not find the
installed OpenIG include files on case-sensitive systems such as Linux...
- SilverLining plugin has some new commands: createcloudfile, loadcloudfile, removecloudfile and enableclouds. These new commands
are used to create a cloud layer and save it to a file at start of the OpenIG application so that you can use the loadcloudfile
command later during realtime and not have as long of a delay before the clouds are loaded into the SL atmosphere. To even make this
faster you can load the clouds into the SL amosphere already disabled, then just re-enable them when you want them visible.
The enable happens almost immediately. This is the purpose of the new enableclouds command, using it you can disable or enable a
cloud layer from showing on your scene. Once the layer is disabled, it no longer cause a performance hit within your application,
its like it is not there at all. The enableclouds command just requires the OIG ID number of the cloud layer and a true or false.
We also added an optional enable argument to the current addclouds command, which can be used to load the cloud layer enabled or
disabled now using true/false as the new argument at the end of the argument list, true being the layer is enabled and visible.
- NickT - fixed a bug in the lightenable command that dealt with lights that are animated/pulsing and would not turn off. These
animaged lights now turn on/off correctly via the enablelight command.
- Updated Sundogs SilverLining to 4.073 and Triton to 3.76 for the Windows binary release, these releases contain bug fixes and some
performance increases.
- Remove Plugin-Muse as it was confusing some users since it will not compile due to missing some proprietary include files and libs.
It was only meant to serve as an example plugin.
- The Dataset binaries that go with this binary release have also been updated due to some changes in a few of the models xml config
- This release has been tested on Windows 7 with VS2013 SP3 and QT5.4.2 and on OpenSuSE 64bit Linux 13.2, Qt 5.4.2 and the latest GCC
compiler and linker as of this release. The Windows binary installers were built with the just referenced packages.
12 Oct 2016, version 2.0.3
- Merge in parts of a bugfix from pull request #6 on OpenIG on GitHub from jenglish.
- Change the UDP network formally it was hard-coded to only send out broadcast messages.
Using the file directives you can now send out
broadcast messages or send out non-broadcast messages as well. This was also suggested
in the same pull request #6 on the OpenIG GitHub repository, but that code was modified
to allow use of the file as mentioned above to configure
the transfer required.
- Artistic changes to the SilverLining sky for the A320 demo.
- Some other misc changes in the OpenIG Core in preparation for requested non-public plugin code updates.
06 Jul 2016, version 2.0.2
- New "date" command added to command line command list to set the simulation date. This affects how
Silverlining displays its atmospherics, sun, moon, stars, etc..
- New "location" command to set Latitude and longitude, right now mainly for the SilverLining Plugin. The
latitude and longitude settings can also be set in the SilverLining plugins XML datafile, along with
the timezone value. Between this and the new date command above it allows Silverlining to be more accurate
in its representation of the atmosphere at the location specified.
- New "utc" command, when used this sets the simulation time to timezone 0(UTC) and resets the simulation time
to that input with this new command.
- New Simulation project consisting of 3 sample applications and one sample plugin. The applications are:
>> Sample Image Generator - driven by a host over UDP - simply moving an entity clamped on a terrain. It uses
the sample Plugin that listen on the network for UDP packets from the Host using sample Protocol
>> TerrainQueriesServer - sample TCP server that provides HOT (Height of Terrain) and LOS (Line of Sight)
queries and send responses to the Host
>> Host - sample host that talks to the Terrain Queries Server for HAT and LOS and drives the scene in the
Image Generator.
And the sample Plugin for the sample Image Generator for the Networking - to fit the OpenIG design.
This "simulation suite" is for fast start and the users are free to extend with features they wish
- New CIGI Plugin. Very simple plugin that implements very basics packets from CIGI using the Boeing CIGI Class Library.
Works together with the Application-Earth based on osgearth and was tested with the CIGI Host Emulator.
- Updates in the ImageGenerator interface with features to bind/update/unbind entities to the camera
- Better visual look of the SilverLining sky by using the simple-sky - setting in the SilverLining.config together
with some Gamma settings. Slowes down the performance but looks impresive. If you chase performance then dont
use this
- The Sample Networking plugin was removed from the Application-Bullet demo due to the new simulation project
that demonstrates better the networking in OpenIG. Now works only in standalone to present the osgBullet integration
in OpenIG
- Sundog's Silverlining revision 4.051 tested against this release of OpenIG
- Sundog's Triton revision 3.59 tested against this release of OpenIG
Known issues(bugs) fixed in this release:
Public GitHub issue list
Issue #2: (fixed) F+ lights attached for entities are not computing the screen space direction/position properly during flight/moving
Issue #3: (fixed) The CameraManipulator inherited from the TrackballManipulator can zoom out indefinitely
Issue #4: (fixed) F+ lighting system is not working properly with only the Sun or Moon light source present in the scene
Work around is to have at least one F+ light in the scene
Local Development Repository issue list
Issue #A: (fixed) Triton visibility on the water not workng properly
Issue #B: (fixed) Silverlinings GL shaders are failing to compile due to our custom SL UserFunction shader changes
Issue #C: (fixed) A320 Demo model landing lights do not visually turn off
Issue #D: (fixed) LogZ, F+ flag toggle not working right
Issue #E: (fixed) SilverLining lensflare broken -fixed as a result of issue #B
Issue #F: (fixed) new Cigi plugin fails to compile on Linux
Some other misc things were fixed as well that were discovered during testing and developement.
29 Mar 2016, version 2.0.1
Known issues:
Issue #3: The CameraManipulator inherited from the TrackballManipulator can zoom out indefinitely
Issue #4: F+ lighting system is not working properly with only the Sun or Moon light source present in the scene
Work around is to have at least one F+ light in the scene
These issues are scheduled to be fixed in one of the next release
Updates in this release:
- Added new Mersive(tm), blending and warping support via the new Plugin-Mersive
- Refactored and faster F+, also fix for the F+ lights artifacts
- Support for multiple views and sharing the OpenIG scene across these views
- Added back the SimpleLighting plugin - might be handy for MacOS users
since we are still working on F+ to make it run on MacOS which seams to
be an OSG issue
- Along with the SimpleLighting plugin added support for simple 'psudo'
sensors for EO and IR (really very simple implementation of these)
- Fixed the RenderBins of lights with sprites and clouds
12 Feb 2016, version 2.0.0
Known issues:
Issue #2: F+ lights attached for entities are not computing the screen space direction/position properly when moving
Issue #3: The CameraManipulator inherited from the TrackballManipulator can zoom out indefinitely
Issue #4: F+ lighting system is not working properly with only the Sun or Moon light source present in the scene
all three issues are scheduled to be fixed in release 2.0.1
Updates in this release:
- added support for Normal Mapping
- changed the headers for deployment for the SDK to include
OPENIG_SDK define. All client code that will use OpenIG from
the installed headers will need to include -DOPENIG_SDK
- Refactored the whole code base to use nested namespaces.
different library names and few different classes
= namespaces =
* All the code is now under the namespace of OpenIG
* Core libs have nested namespace with the name of the library
* Library libs (Bullet, Networking and Graphics) libs have nested name of the
name of the library under a common nested namespace OpenIG::Library
* Plugins libs are under nested namespace OpenIG::Plugins
= libs =
IgCore is renamed to Core-Base (in the install SDK it is OpenIG-Base)
IgPluginCore is renamed to Core-PluginBase (in the install SDK it is OpenIG-PluginBase)
OpenIG is renamed to Core-OpenIG (in the install SDK it is OpenIG-Engine)
= plugins =
All plugins are being renames from IgPlugin-NameOfThePlugin to
OpenIG-Plugin-NameOfThePlugin. Also the default path for plugins
has been renamed from igplugins to plugins
= classes =
The only class that was renamed is the igcore::OpenIG class from the
old OpenIG lib. Now it is OpenIG::Engine, in the Core-OpenIG lib
(OpenIG-Engine in the install SDK)
= examples =
The executables are following the name pattern of openig-demo-*
- Minimal version of Sundog's SilverLining SDK is Version 4.040 January 12, 2016
- Added USE_FORWARDPLUS_LIGHTING #define in SilverLining and Triton
fragment user shaders to turn on/off the F+ lighting on the clouds
and water
- Added new IgPlugin-UI
This plugin is in its early stages and its being designed
as a GUI interface for all of the xml datafiles that are
part of OpenIG's setup and control and not only. This plug-in is
based on the opensource MyGui cross-platform set oflibraries.
Available for download at:
- Added Graphics library needed for the Forward+ lighting implementation
- Added Forward+ lighting that is default for OpenIG since now.
Also it supports Sundog Softwares Silverlining and Triton SDK packages.
This involved removal of some of the previous lighting plug-ins
and replacing them all with the new IgPlugin-ForwardPlusLighting.
Plugins removed:
- Added LightsControl plugin that supress the
IgPlugin-RunwayLights and IgPlugin-RunwayControl plugins.
This plugin works with lights on a runway, convert the
runway lights into F+ lights and manage multi-switches
on runwyas.
- Removed the IgPlugin-TimeOfDayBasedMaterial
- Added Packet Factory singleton for cleaner and easier Packet
construction based on an opcode. Modified the Sample IgPlugin-Networking
to use this new feature
- Updated Sundogs SilverLining to version 4.042 -- this revision is currently required
for use with our Forward+ lighting system and SilverLining clouds, etc..
- Updated Sundogs Triton to version 3.51 -- this revision is currently required
for use with our Forward+ lighting system and Triton
11 Sep 2015, version 1.2.0
- Added support for TCP/IP and UDP Network transfers between
a host and the OpenIG through the new library IgLib-Network
and the new IgPlugin-Networking Plugin. These API's are
designed as generic interfaces, to be able to support
just about any network protocol required. For example
the CIGI protocol is one that is being added using this
new library and plugin and should at least be partially
supported in a future release. Timing of the network
transfers is based on the framerate of the monitor you
are running on. Best results can be obtained if you
ensure your MASTER and SLAVES are using the same
VSYNC rate on their respective monitors. This new
plugin can be tested/demonstrated using the OpenIG Bullet
demo, which has the Network added to its running configuration
The user simply needs to modify the appropriate
copy of the config file.
It resides in the IgPlugin-Networking plugin directory
before installation. You need ONE MASTER and as many
SLAVES as you want to configure. This file is
responsible for all network configuration parameters.
You modify it for local and server/client IP addresses,
whether you are using the TCP or UDP protocol, etc...
- Added support for Sundog's Triton ocean SDK version 3.38,
through the OpenIG's IgPlugin-Triton plugin. Tritons
userfunctions shaders where modified to support OpenIG's new
logarithmic depth buffer and OIG's gl lighting functions.
So if you have a database that has bathymetric data in it
you should be able to load the Triton plugin and use it
with your database. We will be providing a sample Triton
capable database in an update of the OpenIG datasets in
the near future to demostrate these new features.
- OpenIG was modified to support a logarithmic depth buffer
Z-buffer implementation, which allows for better support of Triton
in OpenIG, especially in areas where the water is very shallow.
- Updated Sundogs SilverLining plugin to support version 4.024
as well changes to SilverLining's userfunction shaders for
the new logarithmic depth buffer implementation.
- Added new updateclouds command to cli, was already in the
- Minor changes to Cmake configuration files, they should
now find the required dependencies better. We also
added some of the "Extra" files to the files that will
be listed in an IDE when using one for development to make
them easier to open and modify as necessary.
- The OpenIG core was changed from a delayed entity
addition/removal/reload process in the ViewerOperation,
to one where they are now managed directly in their respective calls.
(See: openig::OpenIG::addEntity or openig::OpenIG::removeEntity)
- The Muse OpenIG installer now checks to see if there is already
a copy of it innstalled. If there is, it asks the user to uninstall
the previous copy before installing the new one.
- The Muse OpenIG installer now checks to see if the redistributable
VC libraries package is installed already before just installing it
again. If not it runs the installer, if it is already installed it
just skips this step and proceeds with the rest of the Muse OpenIG
6 Jul 2015, version 1.1.0
- Added support for FBX animations through the new
IgPlugin-FBXAnimation plugin
- Added support for OSG ParticleEffects (smoke, explosions,
fire ..) through the IgPlugin-OSGParticleEffects plugin
- Added support for osgEarth and osgEarth's SimpleLighting
through the IgPlugin-OSGEarthSimpleLighting plugin, as well as shader
composition and a sample demo application, openig-earth.
- Added support for Bullet vehicle physics through the
IgPlugin-Bullet as well as a sample openig-bullet demo application
- Moved the clouds related commands into the IgPlugin-SilverLining
plugin and out of the OpenIG main application.
Same for the SkyDome plugin, all plugin related commands now
reside in their respective plugins.
- Temporary workaround for TOD 0 and model lighting. This will be
revisited in a future release for a more permanent fix.
- Reorganized the OpenIG file structure. All demo apps now reside
in their own directories, each with its own set of
configuration and support files. This keeps things a bit more
structured and easy to find for configuration changes.
- Added a new light attibute for adjustment of the brighness on
SilverLining clouds, together with matching changes to the
SilverLining userfunctions shaders/files.
- Added support for light brightness adjustment based on TOD as
read from an XML configuration file.
- Revisited CMake configuration files for the newly reorganized
file structure of OpenIG, as well as a few minor bug fixes.
9 Jun 2015, version 1.0.1
- Added CMake support
- OpenIG, added support to allow adjustment of the brightness/attenuation
of the landing lights on the SilverLining clouds
billboards types work now, Stratus should be in next release.
- Fixed command line terminal so it takes no input unless
it is enabled via the F8 key
- IgPlugin-SilverLining, updated SunDog Software's SilverLining to release 4.008
- IgPlugin-SimpleLighting, changed the uniform based branching to use
the new OSG #pragmatic shader composition methods
- IgPlugin-ModelComposition, fixes for AMD/ATI video cards
19 May 2015, version 1.0.0
- OpenIG version 1.0.0