Graphics.Release22 - lordmundi/wikidoctest GitHub Wiki
EDGE v2.2 Release Notes
« | EDGE User’s Guide | »
On this page… (hide)
- 1. Patches
- 2. Upgrading (please read)
- 3. Summary of Changes
- 3.1 Blooming and Ambient Occlusion
- 3.2 Auto-iris capability
- 3.3 ATI/AMD hardware support
- 3.4 Movie recording and offline rendering
- 3.5 Embedded Web Server
- 3.6 Frame locking
- 3.7 Tcl/Tk upgrade to 8.5
- 3.8 Trails/Breadcrumbs
- 3.9 DNS Service Discovery (DNS-SD)
- 3.10 Ability to scale models on load
- 3.11 Updated benchmarks
- 3.12 Lights on planet surface
- 3.13 New tcl block in config file
- 3.14 TRICK 10 Simulation support
- 3.15 New debugging tools
- 3.16 Mac support
- 3.17 Windows support
- 3.18 New Splash Screen
- 3.19 Better shell support for bash/sh
- 4. Installation
- 4.1 Linux and Mac
- 4.2 Windows
- 4.3 To integrate into your sim:
- 5. Fixes and Enhancements
- 6. Known Issues
NOTE: These are the release notes for EDGE version 2.2. You can find the release notes for other versions here.
1. Patches
No patches exist for this version yet.
2. Upgrading (please read)
EDGE v2.2 is considered a fairly significant release in terms of new features and compatibility issues. Projects should consider rebuilding their userdata directories to take advantages of the new configuration options, layouts, and features. To rebuild a userdata directory from scratch, copy the delivered userdata directory to a new name, and being making your customizations there. Some of the changes you should be aware of which may affect userdata compatibility are outlined below:
-
Model Cache Updated
- The base cache in EDGE v2.2 has been updated, which means any update caches that you may have generated will need to get rebuilt. If you get any error messages saying something like "The specified base cache is not compatible with the current cache", or something similar, that means you need to remove your update cache and let it reload the models in the new version.
-
EDGE manager changes
- Historically, running a manager meant that a separate exectuable (dsp_manager) was used instead of the full doug executable. In this release, a manager will also use the doug executable, but uses some command-line switches to run without any GUI. This means all of the tcl functionality available in DOUG is now available in the manager.
-
Display Context specification
- Prior to this release, only one DISPLAY context was defined (ENG_GRAPHICS). This meant that when the user added their own DISPLAY contexts, EDGE would automatically show a selection dialog for which context to use. However, there is now also a "MANAGER" display context, and to avoid the users having to select the context each time they start up, the run scripts specify which display to use. Users who were expecting the selection dialog should be aware that the run scripts are now specifying this and they should explicitly state which display context to use on the command line.
3. Summary of Changes
We are excited to release EDGE v2.2. Changes are many. See the full list in the "Fixes and Enhancements" below. Some of the most notable changes are:
Blooming and ambient occlusion add realistic lighting
3.1 Blooming and Ambient Occlusion
The new lighting features of blooming and ambient occlusion add a new level of realism to the EDGE product. Ambient occlusion is very costly in terms of performance, but many will find it especially useful when creating screenshots and movies. You can see a comparison of all the advanced lighting features here.
3.2 Auto-iris capability
In the lighting effects there is now a new option for "Auto Iris" which will automatically adjust the brightness and gamma to brighten up dark scenes and dim down saturated ones.
3.3 ATI/AMD hardware support
With the exception of ambient occlusion, EDGE v2.2 should now run on recent ATI hardware. We have very few users who are running ATI cards, so testing has been limited and we consider our support for ATI as beta at this time. We would really appreciate feedback from anyone using ATI cards.
3.4 Movie recording and offline rendering
Movie recording is by far one of the most often requested items we get, and now we have a great option for achieving it. Using the simdata interface that many are already familiar with using, you can now easily capture node motion into a file, and play that file back in non-realtime capturing each frame as an image that gets compiled into a movie. Some of our users who capture movies inside of 3d games may be familiar with this process as it is very similar. You can read all about how to capture great, high-fidelity movies of your simulation data here.
The embedded web server in EDGE v2.2
3.5 Embedded Web Server
The web commanding server is a complete web server embedded into EDGE. It can be very useful for remotely commanding an EDGE instance, getting health/status information, or even using web pages as GUIs for your project. The included pages will return pure XML pages for status, nodes, views, plugins, etc., and uses XSLT to transform this XML into web pages.
3.6 Frame locking
EDGE now contains a new executable known as the "broadcaster" and a "mc_client" plugin which use UDP multicast to frame-lock multiple clients. To support multiple channel display surfaces, such as in a graphics dome, it is highly desirable that each of the EDGE clients supporting the required multiple video streams be synchronized at the frame-to-frame update level. This keeps the display surfaces from disagreeing with one another or "tearing". With frame-locking enabled, all clients will run as fast as the slowest client and will swap their image buffers at the same time and with the same scene data.
3.7 Tcl/Tk upgrade to 8.5
DOUG has used Tcl 8.3 for a long time. This release brings EDGE to use tcl and tk 8.5, which allows users to use many new extensions and also some nice new capabilities. Also, the overall look and feel of tk widgets is much improved.
Add trails to any node, and in any frame
3.8 Trails/Breadcrumbs
This has been a long overdue feature for our friends in EG. Now, showing a history of where a node has been, and being able to specify in which frame to track it in, is very easy. The "trail-a-tron" is available in the Options menu to help you do this, and you can read more about the new capability here.
3.9 DNS Service Discovery (DNS-SD)
DNS Service Discovery, or DNS-SD is now included. Embedded services, such as the dcomm manager or the web commanding server will advertise their services via DNS-SD, and users can also advertise, browse, and resolve services using this industry standard method for discovery. More information is on the Using DNS Service Discovery page.
3.10 Ability to scale models on load
Since most DOUG users are running with models in inches, and since many models are built in meters, there is a conversion step needed. A new feature in the config file allows user's to specify a scale for each axis so that no model conversion is required! You can read more about this feature here.
3.11 Updated benchmarks
The benchmark utility has been updated to include some new tests, included a very heavy test at the end using ambient occlusion. Please send in your benchmark results!
Lights can now affect the surface of planets
3.12 Lights on planet surface
As planets are drawn from the planet2 plugin rather than a model file, lighting only came from the sun, and lights within the scene did not show up on the surface of planets. Now, lights can affect the lighting on the surface of planets, such as earth and the moon. This makes for some pretty interesting night launch scenes, or lunar rovers driving with headlights on!
3.13 New tcl block in config file
Previously all tcl commands were in a "GUI" block in the config file, but some doug instances run without any visuals or tk at all, as is the case of the manager. To specify which tcl scripts should run in non-visual instances, and which ones require a GUI, there is now a new block called "TCL" where non-visual scripts can be placed. These scripts will still get sourced, even if running with the "-notk" switch. More information here.
3.14 TRICK 10 Simulation support
Initial support for TRICK 10 simulations has been added to the simdata plugin in EDGE v2.2. This includes connecting to the TRICK 10 variable server, and the playback of TRICK 10 HDF5 data recording files.
Developers will love the new tcl command console
3.15 New debugging tools
There are quite a few tools added to EDGE v2.2 to help with debugging problems. The largest one is the addition of a the tcl command console, giving users a place where they can inspect the state of variables during run time and call functions, manipulate variables, modify the scene, etc. Along with this new console, there are some new informational dialogs in the Help menu to give you information on the plugins that are loaded, the scripts that have been sourced, and any errors they generated. There is also a new utility to drop out a final flattened config file, which helps when troubleshooting config file issues.
3.16 Mac support
This is the first full release that includes support for Mac OSX Snow Leopard and is built from the same code base as Linux. Testing on this platform was limited, and so far has only been done on Snow Leopard. We welcome feedback and bug reports from all of our Mac friends! We would love for you to run the benchmarks and send us the output so we can include it on our benchmarking page.
3.17 Windows support
This is the first full release that includes support for Microsoft Windows, although it is considered to be in a beta stage. We welcome feedback and bug reports from any windows users. Benchmarks are not supported on Windows at this time.
The new EDGE v2.2 splash screen
3.18 New Splash Screen
Our new splash screen helps us remove some of the ambiguity between EDGE and DOUG and also displays which version you are running.
3.19 Better shell support for bash/sh
Some bash users need to source the EDGE environment for their simulation, and since our environment files are in csh, this can be an issue. We now deliver an edge_env.sh file which mirrors the "edge_env" file. Sourcing this file will give you the edge environment. Also, the "edge_env.sh" will lookat the $USERDATA/user_env.csh file and automatically convert any setenv commands into export commands and honor those as well.
4. Installation
To install:
4.1 Linux and Mac
- Unzip the "EDGE_v2.2.zip" file.
- Change into the EDGE_v2.2 directory and run "./run_graphics"
That's it. As mentioned above, Linux and Mac users can also type "./run_benchmarks" to get a performance assessment of your machine. Email in your benchmark results to help us measure the effects of different drivers, kernel versions, etc., or just to brag about your fancy new hardware.
NOTE: Obviously the support libraries that are installed can vary widely from machine to machine. EDGE is 32 bit process, but it runs fine on 64 bit machines. The only requirement is that the 32 bit system libraries it needs are available. We haven't run into any situations where any missing 32 bit libraries aren't easily installable with yum or apt-get in most linux distributions. For example, some common packages you may need to install are (package names taken from red-hat based flavor - you may have adjust for debian or others):
- glibc.i686
- avahi-libs.i686 (sometimes called avahi-devel.i386)
- mesa-libglu.i686 (sometimes called mesa-libGLU.i386)
- libXmu.i686 (sometimes called libXmu.i386)
- libXScrnSaver.i686 (sometimes called libXScrnSaver.i386)
- libXft.i686 (sometimes called libXft.i386)
- libjpeg.i686 (sometimes called libjpeg.i386)
- glx-utils.i686
Note the .i686 suffix to force it to install the 32 bit version. Also note that some folks have much better success by making sure you do a full "yum update" before trying to install these libraries. If EDGE gives you an error about a missing library, you can find what package provides them using yum commands such as "yum whatprovides libXss.so.1" and installing the 32 bit version. For Centos 5, I used the following yum line: "yum install avahi-devel.i386 mesa-libGLU.i386 libXmu.i386 libXScrnSaver.i386 libXft.i386 libjpeg.i386" —frankie March 28, 2012, at 11:05 AM
As mentioned above, those package names are for yum-based (i.e., red-hat flavored) distros. For ubuntu, almost everything is included in the package "ia32-libs". On ubuntu 12.10, I also had to make the following symbolic links to get everything to work:
cd /usr/lib/i386-linux-gnu
sudo ln -s libGLU.so.1 libGLU.so
sudo ln -s mesa/libGL.so.1 libGL.so
sudo ln -s libstdc++.so.6 libstdc++.so
That got the code in src.dist/plugins compiling for me on ubuntu 12.10. —frankie November 19, 2012, at 03:24 PM
4.2 Windows
Eventually we want to have a nice installer to get rid of some of these manual steps. For now, do the following:
- Unzip the "EDGE_v2.2.zip" file.
- Double click "run_graphics.bat" to start EDGE.
4.3 To integrate into your sim:
- For simple desktop integration with a TRICK simulation, try using the simdata plugin found under the "Options" menu. You can read more about this on the Graphics.DspSimdataNew page. This supports both live sims and post-sim visualization of recorded data.
- If you want to integrate a simulation using the DCOMM library, see the Orbital sim integration page.
5. Fixes and Enhancements
- 00082 - Windows Support
- 00131 - request for trails / breadcrumb option
- 00136 - ATI hardware support
- 00168 - remove initial server drop out warnings
- 00174 - tcl command interface to dcomm plugin
- 00200 - add record button to simdata gui
- 00222 - add support HDF5 simulation data in simdata playback
- 00225 - Missing d_comm.h
- 00226 - Link issues with dcomm under C++
- 00233 - dcomm updates to support throttling and performance feedback
- 00234 - request for dcomm QoS settings
- 00237 - see which tcl scripts were sourced
- 00241 - doug command console
- 00242 - 2.1 appears to be broke on Mac
- 00243 - EDGE seg faults with NVIDIA driver < 180.29
- 00244 - add simdata support for connecting to TRICK 10 simulations
- 00245 - planet2 may have memory leak
- 00246 - add support in flycam for translational scale filter
- 00248 - remote_commanding_server fails if blipper menu doesn't exist
- 00249 - Upgrade tcl version
- 00250 - update platform plugin to report version and nodes
- 00252 - add way to easily run edge inside a debugger
- 00254 - document how to exclude models from a display
- 00255 - add tcl command to list all children of a node
- 00256 - add tcl command to comm plugin to report number of dropouts
- 00257 - Add capability to frame-lock multiple clients
- 00258 - generic tcl data dump capability
- 00259 - implement a tcl message type to dcomm
- 00260 - change UDDB printout from dcomm to LogStatus
- 00261 - make -tcldebug switchable during runtime
- 00262 - add discovery mechanism to remote commanding server
- 00263 - disallow use of exit command in remote commanding server
- 00264 - disallow setting of global variables over RCS
- 00265 - Spot light flares render incorrectly
- 00266 - Flares not occluded
- 00267 - add lighting effects/source on the moon terrain
- 00268 - request for tcl commands to get viewport geometry
- 00269 - add file retrieve capability to remote commanding server
- 00270 - Need the ability to query the euler sequence of a node from Tcl/Tk
- 00271 - allow dsp_manager to run without requiring an X display
- 00272 - Lensflares not rendered properly in multiple viewport configurations
- 00273 - add tcl commands to dcomm to get connection info
- 00274 - allow remote commanding server to generically advertise services
- 00275 - changed -fixed to sleep rather than spin
- 00276 - Jumpy shadows when controlling vehicle attitude in matrix mode
- 00277 - canvas addview and delview commands cause DOUG to hang
- 00278 - RCS sometimes throws errors when PIPE is broken
- 00279 - doug RCS example client shouldn't block on read
- 00280 - run_benchmarks may have problems if eng_graph.update exists
- 00281 - defines can overflow
- 00282 - Simdata crash on invalid plot session file
- 00283 - missing simcom.tcl should not be a fatal error
- 00284 - remote commanding server doesn't play well with client side timeouts
- 00286 - ability to scale models on load
- 00287 - add in stl loader
- 00289 - remove dependency on paletted texturing extensions
- 00290 - dnssd plugin for EDGE
- 00291 - quick key for ideal lighting
- 00292 - Add the ability to define nested macros
- 00293 - Allow command line defines to override defines in config files.
- 00294 - Config file parsing does not properly handle late defines when used as block headers
- 00295 - stars config may not be honored when running with -viewdata
- 00296 - have speedtest ignore sun nodes when doing planet2 lighting
- 00297 - state file loading does not honor light type
- 00298 - add ability to nest environment variables in config files
- 00299 - allow usage acceptance file to be written to home dir
- 00300 - show config file debug during verbose printout
- 00301 - show EDGE version and cpu info in "gde" script
- 00302 - show any known information about a plugin in dialog
- 00304 - allow for AUTO_UPDATE of model cache with fallback
- 00305 - unloading of a plugin should uninstall tcl commands
- 00306 - run_manager script is missing "-mode server"
- 00307 - allow tcl scripts to query if running in verbose mode
- 00308 - Modifying a camera using the doug.camera command does not update the view
- 00309 - make planet2 layer min sizes configurable
- 00310 - userdata user.cfg should be parsed after all other configs
- 00311 - Add the option to auto load a plugin when using a plugin's Tcl/Tk interface
- 00312 - request for a dsp_tclscript plugin
- 00313 - request for -nogui option in dsp_manager
- 00314 - speed up ac3d model loader
- 00315 - update dsp_state plugin to accept cmds when in manager
- 00316 - remote_commanding_server should check that doug commands exist
- 00317 - add doug manager only or -notk option
- 00318 - be able to specify TTL for dcomm multicast
- 00319 - request to unify pan tilt nodes for cameras between tcl and dsp
- 00320 - CCTV lens definitions don't work
- 00322 - add "tcl" block to config files for non-tk scripts
- 00323 - add a web commanding server
- 00324 - Simdata segfault on missing transform parameter
- 00325 - canvas plugin causes seg fault if font not found
- 00326 - change planet2 default to not use bmp maps
- 00327 - speedtest should not load if no openGL context available
- 00328 - config file preprocessing and flattening capability
- 00329 - request for autoiris capability
- 00330 - cev_plume_drive should only set flags for changes only
- 00331 - potential bug in fix_ideal_light.tcl
- 00333 - The STL loader fails on some binary files
- 00334 - doug dies when some defines get too long
- 00335 - Add ability to define a DOUG block inside of a MANAGER mode block
- 00336 - cev_plume_drive.tcl should not run on DOUG running as client
- 00337 - edge has issues when paths have spaces
- 00338 - add timestamps to output from manager and broadcaster
- 00339 - AC3D loader is improperly parsing the MATERIAL definition
- 00340 - add bash equivalent of edge environment file for bash users
- 00341 - Request to add ability to use a different repeat (uv scaling) on bump maps than texture map.
- 00342 - some doug tcl commands seg faults when missing arguments
- 00343 - add bgerror definition only when NOT running with tcldebug
- 00344 - Add script to generate skeleton config from existing config
- 00345 - Add quick menu item to reset to base state
- 00346 - Sometimes bumpmap shading is inverted on some triangles
- 00347 - make sleep time between non-updating frames configurable
6. Known Issues
- 00074 - problems with the -timing command line option
- 00086 - possible trackcam bug
- 00100 - script plugin doesn't handle toggles with flags other than HIDE flags
- 00102 - ztile boundaries show up as lines in planet2 textures
- 00103 - weird planet2 shading issues
- 00114 - comm connection error message can cause seg fault
- 00121 - DSF_GetMapData() may be returning grey when it shouldn't
- 00173 - Fix DCF_GetRelPosAtt for double precision
- 00219 - one canvas per viewport when using associate_canvas helper function
- 00251 - EDGE freezes after sim stop
- 00285 - simdata interacts with RCS when commanding liveconnect
- 00349 - Record plugin cannot handle command arguments with spaces
- 00350 - figure out why anti-aliasing looks poor on newer nvidia drivers
- 00351 - dsp_simdata plugin hangs when attempting to unload it on windows
- 00352 - initial focus issue on mac
- 00353 - Incorrect rendering of earth with shadows
- 00358 - EDGE does not honor the VSYNC setting using ATI under Linux
- 00362 - PLANET2_SUN and a planet being collocated can screw up lighting
- 00363 - ISS_LVLH_ATT node missing
- 00365 - edge manager not sourcing plume init or drive routines
- 00366 - BASE_ISS state has typos for JimboCam and JIMBO nodes
- 00368 - lightning callbacks sometimes execute before init routines run
- 00372 - When using the scale on load option it breaks the pick model function
- 00373 - When ambient occlusion is enabled the stars change brightness
- 00376 - web commanding server (WCS) fails to init on windows
- 00378 - simdata manual connection to TRICK 10 sims not working
- 00380 - Problem with dsp_cctv plugin when it is included in main DOUG and DISPLAY block when using -display
- 00381 - Sometimes DOUG can segfault if an attempt to render the scene is done before initializtion
- 00383 - Simdata can't connect on a standalone machine
- 00385 - Simdata misreads Trick 10 trk files
- 00386 - WCS sometimes not returning entire text file
- 00387 - CP_7 camera model doesn't rotate with pan/tilt
- 00389 - Unable to set the rotation sequence of a node from tcl/tk
- 00390 - perl remote commanding client example can hang
- 00397 - Sometimes a canvas with "-layer foreground" does not render in the foreground.
- 00400 - default_movie_file.dov is overwritten on EDGE startup
- 00402 - double arrow decrease on point light intensity edit has bug
- 00403 - poster2 images don't work well with ambient occlusion and blooming
- 00404 - Simdata slow to load csv files
- 00405 - trackcam plugin doesn't work inside manager
- 00408 - remove dsp_overlays plugin
- 00409 - broken XML in WCS with newer webkit browsers
- 00411 - DCF_ClientConnect function in DCOMM causes high CPU usage
- 00412 - doug.node command in manager not marking node as modified
- 00414 - Simdata stuck while initiating connection
- 00415 - dsp_hslloader does not error gracefully on unsupported str files
- 00416 - DOUG provided mouse coordinates not reliable
- 00419 - manager and novisual modes not working on mac
- 00420 - dcomm library on Mac gives warning
- 00425 - keyboard menu navigation doesn't work
- 00427 - ac3d loader may be loading some texture coordinates incorrectly
- 00429 - removing command at index zero in command group broken
- 00430 - dsp_trail prints extra message with setting width
- 00433 - Sometimes -ztile produces artifacts at or near the boundry between slices
- 00439 - switch to dynamic allocation for routines that process config file strings
- 00453 - Odd performance behavor seen when using Ambient Occlusion
- 00455 - dcomm get_num_overrun_frames hangs on clients
- 00456 - doug.load_plugin tcl command doesn't update dougplugininfo array
- 00459 - in simdata GUI pressing enter in dov filename field gives tcl error
- 00461 - canvas plugin may not be loading images correctly in windows
- 00462 - Lens flare sometimes turns off when it should not
- 00463 - joystick2_demo may have syntax error
- 00464 - memory leak in canvas plugin
- 00465 - flycam plugin reports it found data node when it has not
- 00466 - dsp_flycam segfaults when unloading the plugin at runtime
- 00467 - dsp_flycam sometimes has sudden motion at init
- 00475 - manual host entry on simdata dialog broken
- 00488 - dsp_jpeggrab can segfault if large images are requested after a small one
« | EDGE User’s Guide | »