L3DT users' wiki
Large 3D terrain generator


ZeoGraph change log

Next update

  • Nothing yet!


  • Included with L3DT v2.9 build 14
  • Fixed filter graph version number handling.
  • Automated creation of map project if uninitialised.
  • Closed threaded progress box on completion of graph.


  • Added automatic type casting between pins of dissimilar types without need for intermediary casting filters.
  • Allowed variant↔variant pin connections, using an intermediary casting filter to define connection type.


  • Added ability to define filters from text/script files (extension is '.zfilter').
  • Added automatic data type casting, using 'Cast' intermediate filter.
  • Added ZeoScript filter, to allow custom operations.
  • Added 'disable filter' option.
  • Added filter 'copy' and 'paste' options.
  • Alpha sorting of filters in 'add filter' window.
  • Other changes are documented in L3DT v2.9 change log.


  • In FilterTreeDlg:
    • Added help link in bottom-right hand corner, as per L3DT standard UI.
  • In ZeoGraphWnd:
    • Implemented graph panning.


  • For ZeoGraphWnd:
    • Added 'rename filter' menu option.
    • Always prompt for filename when attempting to save 'default.zgraph'.
    • Changed 'run' and 'stop' buttons to triangle and square, respectively (using VCR metaphor, rather than traffic lights).
    • Check run state when editing options, connecting pins, loading graphs, and creating new graphs.
    • Clicking on the run button when the graph is running will stop the graph (button acts as toggle).
    • Changed the name of the graph that is automatically loaded on startup from 'default.zgraph' to 'start.zgraph'.
  • Filters:
    • Split 'scalar math' into 'add', 'subtract', 'multiply', 'divide', 'power', 'min' and 'max' filters.
    • Added nice options window to 'Project.GetProjectMap' and 'Project.SetProjectMap'.
    • Added 'Project.GetProjectMap2' and 'Project.SetProjectMap2', with string inputs for map name.


  • For ZeoGraphWnd:
    • Added 'copy to clipboard' menu option.
    • Added 'connect to…' context menu option for pin.
    • Prevented user from connecting pins on same filter.
    • Allowed input pins to be variants.
    • Added pin connection and disconnection notification.
    • Added 'Tee' filter.
    • Added 'CastType' filter.
  • In CzGraph and CzFilter
    • When connecting pins, check for circular input dependencies (looking upstream for self).


  • Included with L3DT Professional v2.7 build 14.
  • In ZeoGraphWnd:
    • Automatically loads 'Default.zgraph' filter the first time ZeoGraph is loaded.
    • Added 'Help→User guide (on-line)' menu item.
    • Set enable state of options/disconnect/etc menu items.
    • Added toolbar (new/load/save/new filter/run/stop/disconnect/options/etc.)
    • Fixed run/stop toolbar button state.
    • Added blue highlight rect around topmost filter.
  • In FilterTreeDlg:
    • Counts filters in each namespace, and appended to namespace label in tree (e.g. 'Generate (5)').
  • Filters:
    • Modified 'project.SetProjectMap' to force refresh of map in view (optional, with flag).
    • Renamed 'PerlinEx' filter to 'Perlin2' for consistency and future-proofing.
    • Ensured all filter options pages say 'filter options' (not 'properties').
    • Implemented 'stop graph' feature in threaded build.
  • All:
    • Test behaviour when filters fail, or when rendering is cancelled.
    • Fixed error reporting in filter & graph functions (couldn't show log view from worker thread).


  • Implemented CzGraph, CzFilter, CzPin and CzFilterFactory as portable classes that may be used in other plugins.
  • Implemented graph load/save in CzGraph.
  • Associate 'zgraph' extension with L3DT in installer, and handled in command line processor.
  • Added progress display to 'CopyMapArea' function (In L3DT) so that filters such as GetProjectMap have a display whilst they are copying large maps.
  • In FilterTreeDlg:
    • Implement filter picker tree dialog, for nested tree namespaces.
  • In ZeoGraphWnd:
    • Added text overlay on mouse hover over pins, and render their current value.
    • Implement double-buffered rendering (all rendering funcs take CDC arg, for portability).
    • Made file open/save window default to graph directory in resources if no filename is set.
    • Provided menu options for topmost filter in dropmenu.
    • Saved and restored window size using GetWndSetting/SetWndSetting.
    • Set title from file name.
    • Re-sorted filters for z-ordering.
    • Changed connection rendering to handle filter z-ordering.
    • Add visual queue to indicate filter has editable options.
    • Truncate filter names to remove namespaces.
    • Show topmost filter in different scheme.
  • Provide some demo filters:
    • Project — in 'ZG_project' plugin
      • GetProjectMap
      • SetProjectMap
    • Map — in 'ZG_map' plugin
      • CreateMap
      • CreateMap2
      • CreateMosaic
      • CreateMosaic2
      • GetDimensions
      • GetMapType
    • Copy — in 'ZG_copy' plugin
      • CopyMap
      • CopyMapArea
    • File — 'ZG_fileio' plugin
      • LoadMapFile
      • SaveMapFile
      • ExportMosaic
      • FindFormat
      • FindDefaultFormat
    • Transform — in 'ZG_transforms' plugin
      • Resize
      • RotateCW
      • RotateCCW
      • MirrorY
      • MirrorX
    • Heightfield
      • GetRange — in 'ZG_CalcHF' plugin
      • SetRange — in 'ZG_CalcHF' plugin
      • CombineMaps (allows add, subtract, max/min, etc.) — in 'ZG_Combiner' plugin
      • ScalarMath (allows add, subtract, multiply, power, etc.) — in 'ZG_CalcHF' plugin
      • Generate
        • Fractal — in 'ZG_fractal' plugin
        • Perlin — in 'ZG_perlin' plugin
        • PerlinEx — in 'ZG_perlin' plugin
        • ConePeak — in 'ZG_CalcHF' plugin
        • GaussianPeak — in 'ZG_CalcHF' plugin
  • Add options windows for filters:
    • Heightfield
      • CombineMaps
    • UI
      • FileDialog
plugins/calc/zeograph/changes.txt · Last modified: 2017/08/31 06:25 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki