Graphics.Release24 - lordmundi/wikidoctest GitHub Wiki
EDGE v2.4 Release Notes
« | EDGE User’s Guide | »
On this page… (hide)
- 1. Patches
- 2. Upgrading (please read)
- 3. Summary of Changes
- 3.1 Procedural Noise Capability on Planet Layers
- 3.2 Performance Profiling Capability
- 3.3 64-bit DCOMM Libraries for Mac and Windows
- 3.4 Higher Performance from Caching Web Commanding Server
- 3.5 Toggle Fullscreen at Run-time
- 3.6 DCOMM Debugging Capability Added
- 3.7 New Wavefront (OBJ) Model Loader Capability
- 3.8 Dynamic Cone Drawing Capability
- 3.9 Trick 15 support
- 3.10 New dsp_info plugin
- 3.11 Node dialog changes to indicate node attitude order
- 3.12 Configurable anti-aliasing for offline dsp_poster2 images
- 3.13 Low latency Video Streaming
- 3.14 Image Distortion Capability
- 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.4. You can find the release notes for other versions here.
1. Patches
No patches exist for this version yet.
2. Upgrading (please read)
While EDGE v2.4 is considered a fairly significant release in terms of new features and compatibility issues, most projects should be able to use their 2.3 userdata directories without much interruption. Follow the install instructions in this document and use the "USERDATA" environment variable to point to your userdata directory before starting EDGE (exactly as was done in previous versions). For windows users, the USERDATA directory is usually pointed to in the .bat file used to startup EDGE.
-
EDGE is now 64 bit only
- While the transition to 64 bit has been slow, now that we are on the train, we don't have enough resources to support both 32 bit and 64 bit builds. The good news is very few (if anyone) is still running 32 bit machines or operating systems any more so the impact of this should be low, but it should making installing dependencies much easier. However, if your userdata includes custom plugins, you will need to rebuild those as 64 bit plugins.
-
Base cache updates require deleting USERDATA update caches
- With the base model cache being updated, the update cache files that user's will have in their $USERDATA/cache folders will not be compatible with EDGE v2.4. As you bring over your existing USERDATA to EDGE v2.4, be sure and delete this update cache file to allow it to be rebuilt the next time you gracefully exit EDGE. If you don't do this, symptoms will include odd geometry with odd colors or crazy lighting. Delete your $USERDATA/cache/user_cache.update files if upgrading to EDGE v2.4! Keep in mind, to rebuild your cache file, all of the model files referenced in the scene requires that those model files be present and readable. Future cache files should be written with a version in them to avoid conflicts.
-
The latest ISS model requires more resources
- The ISS model in EDGE has been updated to the latest configuration which includes more modules and tons more cables and things like that. All of that adds up to more polygons and a bit more resource requirements on EDGE. This would only apply to scenes that load the ISS model.
-
The CCTV plugin has been removed from loading by default.
- If you were relying on the CCTV plugin (for example to enforce a 4:3 aspect ratio) and not specifically adding it into your display context, you will need to make sure to add it into your display context in the plugins block. It is still there commented out in cev.cfg and blank.cfg so you can use that as a guide.
3. Summary of Changes
We are excited to release EDGE v2.4 (codenamed "snead"). Changes are many. See the full list in the "Fixes and Enhancements" below. Some of the most notable changes are:
Lunar regolith in EDGE v2.4 when MOON_EFFECTS are turned on
3.1 Procedural Noise Capability on Planet Layers
Often time, pseudo-random noise is used to add detail procedurally in shaders. This capability now exists in EDGE v2.4, and it has a sample implementation delivered for the Moon ground layer. You can enable this effect from the Moon shader by making the node "MOON_EFFECTS" visible. For more details, see issue Issues.00507
3.2 Performance Profiling Capability
Running EDGE with the "-timing" command line switch will print out timing metrics on exit. You can also print timing information and reset it using tcl commands. Finally, you can instrument a specific section of code with a simple macro in your plugin. For more details, see issue Issues.00204.
3.3 64-bit DCOMM Libraries for Mac and Windows
DCOMM libraries for Mac and Windows are now available in 64 bit! Actually, all of EDGE is now 64 bit. :)
3.4 Higher Performance from Caching Web Commanding Server
For folks running the Web Commanding Server where they may be a high number of requests, or a large number of clients, a new caching capability has been added. If the same request comes more than once before the expiration period has elapsed, the cached result will be returned. Many default callbacks have expiration times appropriate for how often the data changes. Similarly, users constructing their own web resources can set the expiration for each resource however they want. For more details, see issue Issues.00486.
New menu allows the user to toggle the menu bar and fullscreen.
3.5 Toggle Fullscreen at Run-time
Running EDGE with the "-fullscreen" and "-noborder" command line options will allow you to run in a complete fullscreen mode with no window decorations. However, if you wish to also retain keyboard and mouse window focus, this is not effective. A new interactive method has been added in the right-click menu to let the user toggle the menu bar and fullscreen while retaining the ability to use the mouse and fly the camera with the keyboard. For more details, see issue Issues.00502.
3.6 DCOMM Debugging Capability Added
Two of the most common issues when dealing with DCOMM are nodes not being sent out when they are expected to be, or nodes being sent out when they aren't expected (sometimes leading to a performance issue). With this new capability, you can now make a call to set a "debug node" and see a printout any time that node is sent out over DCOMM. You can also set a special node name to see all outgoing nodes printed out. See issue Issues.00504 for more details.
3.7 New Wavefront (OBJ) Model Loader Capability
Wavefront models (usually a .obj extension) are very popular. With the release, we include a new model loading capability to support loading obj files and the associate material (.mtl) files. This capability is in beta and has some limitations, but the source is provided for you to enhance and fix as needed. For more details, see issue Issues.00541.
New coneatron plugin to dynamically draw cones
3.8 Dynamic Cone Drawing Capability
Often times in scenes, especially those with space vehicles, it is nice to be able to visually inspect some envelope or corridor. The new dsp_coneatron plugin in EDGE v2.4 allows the user to use a GUI to dynamically draw a cone in the scene and then export that cone to a model file for use later. To see more info on the coneatron plugin, read here: Graphics.EDGEConeatronPluginReference
3.9 Trick 15 support
Support for Trick 15 simulations has been added to the simdata plugin. This should allow users to hook up to live Trick 15 simulations as well as load recorded data. As Trick 15 is only beginning to be used, there has been limited testing so please let us know if you run into any issues.
3.10 New dsp_info plugin
Sometimes more information about a node is needed than the doug.node command can provide. With the dsp_info plugin and the "dsp_info.node" tcl command you can now query things such as what model filename(s) a node is using, what .str file it was loaded from, what the relative position of the node is relative to another node, and what the model scale is. You can find documentation on using the new dsp_info plugin here: Graphics.EDGEInfoPluginReference
Node Order field in dialog for non-PYR nodes.
3.11 Node dialog changes to indicate node attitude order
It is common for most nodes in EDGE to use PYR sequence for Euler angles. However, occasionally nodes will use other sequences, such as PRY for the EARTH_BODY_REF node. This update causes the node edit dialog to show an extra field when the order is not PYR. Otherwise, it will look the same.
3.12 Configurable anti-aliasing for offline dsp_poster2 images
The poster2 plugin is used for offline images for things like screenshots, and for frames of movies. The latest update let's user configure super-sampling and multi-sampling of the images, which is very useful for rendering high quality posters and movies. See Issues.00544 for more information and the tcl commands that are available.
3.13 Low latency Video Streaming
Previous releases of EDGE introduced video streaming such as the MJPEG stream to a web browser. In this version, a new low-latency version of streaming is added via the PixelStream plugin. It has the advantage of having a very low latency, however, as the packet format is not a particular standard, it will require a custom client to be used to render the received video. There is an example client included for linux and mac. You can read more about the PixelStream capability here: Graphics.PixelstreamPlugin.
Example distortion using the dsp_distort2 plugin.
3.14 Image Distortion Capability
Occasionally you may want to distort the images coming out of EDGE - for example to perform distortion correction, or to model the characteristics of a particular camera. A completely configurable image distortion capability (both from offline images from the dsp_poster2 plugin and real-time images in the EDGE window) is provided via the dsp_distort2 plugin. You can read about the dsp_distort2 plugin here: Graphics.PerformImageDistortion.
4. Installation
To install:
4.1 Linux and Mac
- Unzip the "EDGE_v2.4.zip" file.
- Change into the EDGE_v2.4 directory and run "./run_graphics"
- Optionally, run "./run_benchmarks" to get a performance assessment and mail in the results
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. 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
- avahi-libs (sometimes called avahi-devel)
- mesa-libglu (sometimes called mesa-libGLU)
- libXmu (sometimes called libXmu)
- libXScrnSaver (sometimes called libXScrnSaver)
- libXft (sometimes called libXft)
- libjpeg (sometimes called libjpeg)
- glx-utils
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.
4.2 Windows
Eventually we want to have a nice installer for Windows. For now, do the following:
- Unzip the "EDGE_v2.4.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 Trick simulation, or any other external program using the DCOMM library, see the DCOMM Light Client page.
5. Fixes and Enhancements
- 00134 - procedural noise capability in shaders for terrain
- 00204 - performance profiler troubleshooting tool
- 00352 - initial focus issue on mac
- 00416 - DOUG provided mouse coordinates not reliable
- 00421 - 64 bit native build of DOUG
- 00422 - 64 bit DCOMM library for Mac OSX
- 00473 - add crossplatform smarts for transform shared lib extension
- 00477 - libjpeg requires newer glib than RHEL 4.x boxes have
- 00478 - Incorrect planetary shading on some systems
- 00479 - EDGE version reported incorrectly as 2.2 when running in windows
- 00480 - EDGE WCS sometimes has error on Windows
- 00481 - Add ability to capture tcl output when running in windows
- 00484 - improve performance in cev_overlay_comm.tcl
- 00485 - WCS should deliver xsl and xslt files as application/xslt+xml
- 00486 - implement WCS caching to handle back-to-back requests
- 00488 - dsp_jpeggrab can segfault if large images are requested after a small one
- 00489 - modify WCS so that requests are not accepted until DOUG is fully running
- 00490 - add in mrest 2.0 resources to web commanding server
- 00491 - better support for Intel graphics chipsets
- 00492 - add comments to material definitions in speedy.cfg
- 00494 - Documentation for Tcl functions in canvas plugin
- 00495 - Ambient Occlusion feature not working in 319.xx series of NVIDIA driver
- 00496 - register_local_service corrupting entries if service name has spaces
- 00498 - add in RCS function examine env variables
- 00499 - 64 bit DCOMM library for windows
- 00500 - Add 3D TV support
- 00502 - Simple method for running fullscreen while maintaining keyboard focus
- 00504 - add debug capability to DCOMM to know when a node is sent out
- 00505 - add simple example of a DCOMM light client
- 00506 - src.dist makefile updates to address warnings on Mac OSX
- 00507 - lunar soil and regolith effects
- 00509 - problem when DEFINES expand to greater than 500 characters
- 00510 - bug when selecting user defined playback speed in simdata during dov playback
- 00511 - Simdata timebar does not update progress during image capture to disk
- 00515 - crazy lightning may occur with some driver versions
- 00516 - Add DCF_ClientConnectionAvailable to d_comm.h
- 00517 - Update headers for Trick 13 compatibility
- 00518 - add ability to get node model scale from tcl
- 00519 - update tcl RTD (radians to degrees) constant to have more precision
- 00520 - EDGE v2.3 appears to be incompatible with NVIDIA driver 340.24
- 00521 - bug in dsp_planet2.info -planets and -planet_layers tcl commands
- 00522 - bug when loading a state file where a node has only a parent change
- 00525 - Erroneously culled planet geometry when planet has large elevation deviations
- 00527 - DCOMM bug where unchanged nodes are still sent out over network
- 00529 - Scaling a model doesn't apply to graphics model frame
- 00530 - rendering accuracy issue in CCTV plugin
- 00531 - typo in lighting_effects_menu.tcl
- 00532 - src.dist transforms makefile needs mac and windows support
- 00533 - orbital transform for new JEOD3 is needed
- 00534 - allow speedy.cfg to be removed from startup
- 00535 - optimize string stream operations in simdata transforms
- 00536 - add in new JEOD3 quaternion version of transform
- 00537 - simdata does not search for transforms in userdata on win32
- 00538 - update simdata to support Trick 15 sims
- 00539 - make integrated debugger capability compatible with lldb
- 00540 - deleting a canvas deletes more than intended
- 00541 - add capability to load obj wavefront models
- 00542 - increase drawstar plugin performance
- 00544 - Upgrade poster2 to support configurable multisampling and supersampling
- 00546 - NVIDIA 355.x series driver has issues with ambient occlusion
- 00547 - add ability in tcl to get node position relative to another node
- 00548 - add tcl command to query filename of model that a node is using
- 00549 - dynamic cone drawing capability
- 00550 - ability to mirror a node position and attitude into another
- 00551 - Update node edit dialog to indicate node order
- 00553 - improve performance on Quadro cards
- 00554 - remove cctv plugin from default loads
- 00555 - Update benchmarks to work with latest NVIDIA drivers
- 00556 - update ISS model to latest version
- 00557 - add in json tcl package
- 00558 - simdata should check the sim rt cycle and warn if it is too slow
- 00559 - add plugin logging functions that accept variable argument lists
- 00560 - add logging function for printing out a matrix
- 00561 - fix compiler warnings about deprecated conversions of string constants
- 00562 - low latency video streaming
- 00563 - update defns.mk to allow redefinition of c files spec
- 00564 - add undo flags button to edit models GUI
- 00565 - userdata user.cfg has error in TEXTURE_MAP_PATH
- 00566 - add WCS information to show USERDATA version information
- 00568 - avahi-client and avahi-common should be included for linux
- 00570 - EDGE/DOUG interfaces issues under El Capitan
- 00571 - Trick 16 units change breaks EDGE variable server interface
- 00572 - EDGE surface shader plugin not working under El Capitan
- 00573 - potential memory issues in dcomm library
- 00574 - earth imagery looks a bit bleached out
- 00575 - request for plugin that will show any node changes
- 00576 - image distortion capability
- 00577 - output frames directory not being shown on simdata GUI
- 00579 - user cache filename should be version specific
- 00580 - jpegsave filenames should default to jpg instead of jpeg
- 00581 - bug with transparent textures when close to the earth
- 00583 - manager default tcl precision is too low
- 00584 - make get_global_var support arrays
- 00585 - change simdata default to Trick 1x sims
- 00586 - EDGE is broken on OSX Sierra
- 00587 - add more lightning storms
- 00589 - change default anti-aliasing settings for linux
- 00590 - add ability to scale a color channel in a canvas
- 00591 - retrieving canvas foreground and background colors doesn't work
- 00593 - DSF_LogStatusQ in PixelStream does not work on the Mac.
- 00594 - Increase initial window size
- 00595 - Add a new Input Device Framework (IDF) camera controller
- 00596 - Compile EDGE for Win64
- 00599 - Change point of contact to Eddie
- 00600 - Add config defines for window size
- 00601 - Create an edge-config utility
- 00604 - Enable anti-aliasing on the Mac
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
- 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
- 00366 - BASE_ISS state has typos for JimboCam and JIMBO nodes
- 00387 - CP_7 camera model doesn't rotate with pan/tilt
- 00403 - poster2 images don't work well with ambient occlusion and blooming
- 00414 - Simdata stuck while initiating connection
- 00415 - dsp_hslloader does not error gracefully on unsupported str files
- 00420 - dcomm library on Mac gives warning
- 00427 - ac3d loader may be loading some texture coordinates incorrectly
- 00433 - Sometimes -ztile produces artifacts at or near the boundry between slices
- 00439 - switch to dynamic allocation for routines that process config file strings
- 00487 - WCS mobile pages not updating correctly in Internet Explorer
- 00493 - trackcam causing flickering problems when recording frame images for a movie file
- 00497 - autocollapse command line option broken
- 00512 - Simdata dialogue window interferes with image capture
- 00513 - Jittery Camera Tracking with Simdata Image Capture
- 00545 - redefining STARS_CONFIG_FILE does not remove drawstar plugin
- 00552 - lod should hide nodes that are below minimum size or above max distance
- 00578 - time based lod animation doesn't work on windows
- 00592 - doug callbacks on nodes seem to be getting called twice
- 00598 - transparent models not showing correctly on Macs with AMD graphics
- 00603 - Ugly underlines for menu accelerators on Ubuntu 16.04
- 00606 - DCOMM on Windows no longer working
- 00607 - EDGE seg faults on some linux systems
- 00608 - MJPEG video streaming from WCS not working on linux
- 00612 - tkcon command console up arrow for history no longer works
- 00613 - tkcon command console has error on mouse over of err msgs
- 00616 - weird problems with WCS from browser
- 00617 - dsp_jpeggrab crashes during startup on the Mac
- 00620 - warning for indirect rendering no longer working
- 00621 - POST to dandelion web server in WCS not working
- 00623 - Toggling ATV on and off doesn't seem to do anything
- 00624 - Tcl/Tk headers missing
- 00626 - default_stars_ files missing from src.dist area
- 00627 - dsp_drawcanvas has error if all views are disabled
« | EDGE User’s Guide | »