Tags: fugro/displaz
Tags
Release 0.4.0 ============= There have been a lot of changes since 0.3.1, with most of them focussing on making displaz "more hackable": We've added features to make it even easier to control the 3D window from an external program, and to get displaz interface events back into the external program. There's also been a bunch of graphical improvements to allow displaying more types of 3D data alongside point clouds. Here's a big list of features Hook key events via the command line API ---------------------------------------- * The `-hook` option allows events to be piped through to a listening process via the IPC interface, which can then respond with an alteration to the 3D scene, allowing simple interactive applications to be built by combining the language of your choice with the displaz 3D window. Modify point clouds efficiently without reloading them ------------------------------------------------------ * The attributes of points in a point cloud can now be mutated in place by loading a specially constructed ply file using the `-modify` option More command line API additions ------------------------------- * `-annotation` to add text annotations to the 3D window * `-querycursor` command for position of 3D cursor * `-label` option to label datasets with a name * `-unload` to remove a data set * `-quit` option to exit displaz * `-viewposition` to set the 3D cursor centre * `-viewrotation` sets the viewing angles using a full rotation matrix for scripting simplicity. API language binding examples ----------------------------- * Simplistic C bindings * Split out julia bindings into Displaz.jl * Minor improvements to most bindings 3D window - graphical features ------------------------------ * Support for simple texture mapping of 3D ply meshes * Triangulation of arbitrary polygons * 3D axis direction legend * Various shader tweaks * Improved clipping plane heuristic, to avoid some of the typical clipping issues. Not perfect, but a lot better for viewing dense data close up. * OpenGL draw order improvements Other Features -------------- * New icon * Shift+left click centres the view - for with mice without a usable centre button. * Centre cursor is much faster for large point clouds * Error message reporting for ply reader * Rework point selection algorithm for robustness * Move all shader handling to a shader menu for clarity. * Qt5 is the default version of Qt. Qt4 (possibly) still supported on linux, but this will be removed in the next version. * Syntax highlighting in shader editor Breaking changes ---------------- * Opening new datasets does not close existing ones. To do this, use the `-clear` flag explicitly * Datasets are deduplicated based on label / filename. You now need to use `-add` to override this if you want to load two different datasets of the same name. * Some changes to the shaders may take a little getting used to Bug fixes --------- * Much more robust interprocess communication, to allow scripts to drive displaz with as many requests as they like. Including robustly starting exactly one instance of displaz. * Ply reader fixes to avoid crashes with broken ply * Workarounds for rendering artifacts on Intel GPUs * Only recenter view when loading (not removing) geometry Windows-specific bug fixes -------------------------- * Open las files with arbitrary unicode names on windows. * Better behaviour starting displaz on the windows command line - "dual mode" interface with command line and GUI inspired by the devenv.{com,exe} approach. * Disable gl_FragDepth on windows intel drivers. It's just buggy. * Various interprocess communication bug fixes Internal changes ---------------- * Use catch framework for tests * Use Travis and Appveyor for automated builds on Linux, OSX and Windows. * Source code rearrangement * Port to OpenGL 3.3 * Update to rply-1.1.4 * Update to GLEW-2.0.0
Release 0.3.2 Workarounds for Intel driver oddities on windows: * Tweak to ensure depth testing is turned on so that distant objects appear behind foreground objects. * Blacklist gl_FragDepth/gl_FragCoord shader features on windows+intel to avoid various odd rendering artifacts (dark points disappear; light points are squares rather than circles)
Release 0.3 New features: * Data set interface - Display loaded datasets in a list - Control visibility of each dataset individually * Load files in the background for improved GUI responsiveness * Point selection mode based on return index * Generalized point attributes - Point attributes with arbitrary names may be loaded from file, and will be sent to any loaded shader which supports them. - Attributes may be 8,16,32 bit (un)signed integers, or 32 or 64 bit floating point numbers. Vector, arrays and color semantics are supported. - Integer shader attributes for non-scaled values * Experimental language bindings - Allows data to be sent to the displaz process from various languages via files and the displaz remote socket interface. - matlab, python, julia, C and C++11. * Ply support - Support point clouds in ply format - Support meshes with "triangle" element - Support displaz native ply point cloud format - General polygons (rendered as outlines) * Socket interface improvements - Control the dataset list externally using -add and -clear command line options - Camera pitch,roll,yaw and view distance may be automated from the command line * Experimental hierarchical point cloud generator ("dvox") and displaz viewer support for very large files. Tweaks: * Improved user guide and general documentation * Screenshot utility * Menu item to add files without closing current ones * Progress bar with text file reader * Use las "extended number of points" entry for large files * Remove FILE_LIST shader metadata hack (deprecated in favour of data sets UI) Bugfixes: * Avoid crashing with drag & drop of non-files * Correctly read truncated las files * Load line and mesh colours correctly * Set sensible default camera distance for meshes * Avoid crashing with files containing zero points * Avoid crashing when shader fails to compile * Don't crash when loading a large file allocates too much memory. Internal changes: * Build cleanups - Separate third party build system - Embedded GLEW - Make LAS input an optional dependency - Detect git version changes - Upgrade to LIBlas 150406 - Update PDAL support for changing API * Refactor geometry classes * Refactor file loader * Las colors are loaded as uint16 to save memory * Avoid deprecated glsl constructs * Frustum culling for faster rendering
Release 0.2 Features: * Incremental rendering for large point clouds, including dynamic estimation of allowable interactive point count. * Save and load shaders: Menu items for the GUI, and a command line option to set the shader on startup. Also install shaders rather than embedding them to improve hackability. * Single instance support: new files now open in an existing displaz instance, unless -noserver is specified on the command line * Drag and drop to open files * Html documentation in GUI * Binary installer for windows Tweaks: * New point colouring mode based on file number in default shader * Proper console help text and console debug output on windows * Log Euclidian distance between consecutive selected points * Support reading colour from .ply files * Cylindrical projection shader * Increase near clip plane to reduce z-fighting * Carefully acknowledge with third party licenses in binary distribution * Version numbering based on git-describe Bug fixes: * Fix for older ATI drivers which require #version to come before #define * Fix display of zero point size on non-nvidia hardware * Fix uninitialized shader variables when loading from text file * Fix crash when opening text files containing zero points Internal changes: * Octree data structure for better rendering and search * Make building the dependencies easier * Rearrange source tree
First release. Major features * Display point clouds using user-editable shaders * GUI elements for controlling shader uniforms * Point cloud simplification for frame rate control * Simple rendering of meshes and lines (non-flexible, non-editable shaders) * For points, input of .las, .laz, and basic .txt import * For meshes and lines, input of .ply files