What's New in Daylon Leveller 2.2
New Features
-
Marker tool added. This lets locations of interest
be tagged and annotated. Markers can be navigated to
with the new Navigate, Go to Marker... command.
-
Gridline overlay added.
-
Navigate Map command added. This brings up a dialog showing
the entire heightfield; dragging on it pans the map pane
to where the mouse is.
-
Water tool added. This lets the water level be
interactively defined.
-
Tools menu added. External apps can be invoked and
passed custom arguments, such as the current document,
current tool map position, etc.
-
Public binary heightfield clipboard format used
when copying/pasting.
-
Public text heightfield clipboard format available.
-
Plug-in API now version 9; adds generic property
access functions.
-
If the file "default.lvw" exists in the Leveller
directory, it will be used to assign view settings
to newly created/opened documents.
-
If the file "default.ter" exists in the Leveller
directory, it will be used when new documents
are created.
-
Added world units labeling.
Improvements
-
Middle button click-drag pans the map.
Mousewheel on the map pane zooms in/out.
-
Brush preview effect marker is easier to see.
-
Alpha-channel (masked) textures supported.
-
The elevation tooltip is visible when a selection has
been made (instead of flashing as the mouse moves).
This also makes it possible to easily see what the
elevations are underneath a floating selection.
-
Ctrl+Spacebar toggles between the current tool and
the Pan tool.
-
Alt and Numpad +/- zoom the map in and out, respectively
(from the center of the map view if the mouse is not
over the map).
-
If Leveller is launched while it is already running,
the existing instance is switched to instead.
-
If the water level has a texture, it is now visible on the map.
-
Detect (on app activate) when document has been
externally modified. Prompt user and reload
if directed to do so.
-
Selection mask can be copied to the clipboard as a grayscale bitmap.
-
Secondary Copy commands placed in submenu.
-
Map overlay options moved from menus into Map Properties dialog box.
-
OpenGL nearplane constant changed from 0.05 to 1.0.
The previous value was very close to the camera,
promoting Z-buffer trashing in solid views.
-
Edit, Grid Size, Custom... dialog had resampling
notes added.
-
Filter, Scale... dialog supports interpolation style.
-
Raytracer uses doubles instead of floats
internally, appears to greatly improve
rendering of large heightfields.
-
If the time it takes for a filter to modify the heightfield
is less than 1/4 second, the overview map is redrawn
immediately. This makes it possible, on small heightfields
(or fast machines) to see filter effects "live" while
accelerator keys are held down (e.g., Smooth, Smooth More,
Sharpen).
-
Textures and alpha channels are bilinearly sampled in raytracer.
-
Textures modified externally are detected and automatically
reloaded on app activate.
-
Light object can be shown/hidden independantly between
scene and map panes.
-
Added surface area readout to Properties window.
-
Document file I/O uses exclusive share access
to help fix read/writes to remote volumes.
-
Heightfield's memory usage stats added in Properties dialog.
-
Camera object can be hidden on map view.
-
When a selection exists, its marquee no longer animates rapidly
if the mouse is moving when used with other tools.
-
Elevation tooltip drawn using a larger and
antialiased font.
-
The scene pane is drawn with the flight render style
when a document window or the application's main window
is resized, resulting in better performance for those
using the "Show window contents while dragging" option
in the Windows display control panel.
-
The app's idle handler is
no longer used to maintain map overlay elements,
which may improve stability and performance.
-
Saving a file writes it to a temp file in the same
folder as the target file, then deletes the target
and renames the temp to the target.
-
More dialog boxes share a consistent placement
of the OK and Cancel buttons.
Fixes
-
Scrollbar thumb position computation done outside
of the map's update handler. This may fix a
long outstanding but extremely hard-to-reproduce
bug where Leveller would suddenly quit for no
apparent reason.
-
Textures we're getting mapped horizontally slightly wrong,
causing textures the same pixel size as the heightfield
to show horz. distortion. Fixed.
-
Bilinear resampling bugs fixed. Bilinear is
currently the best choice when resizing smaller.
-
Leveller documents can be directly opened from
the Windows shell.
-
Starting Leveller when it is already running activates
the currently running instance instead of starting
another one.
-
File, Revert, didn't restore work area rect
to original heightfield's size; fixed.
The problem happens when resizing a heightfield
smaller and then reverting; editing couldn't be
performed on regions outside the rectangle
of the smaller heightfield.
-
Raytracer's surface normal perturber let
perfectly vertical shader normals cause
invalid operation; fixed.
-
Water object assumed imagemap ref was valid
when invoking Water Level dialog even if no
imagemap was attached. Fixed.
-
Span Filter correctly spans selected areas which
happen to be flat, instead of setting them to zero.
-
If the elevation tooltip was displayed, its ghost would
obscure things when the mouse was dragging something
on the map, e.g., a floating selection. This has been fixed.
-
Map overlay attributes stored in view files.
-
When a doc had multiple views, plug-ins calling GetMapDC()
would get the DC of the view that was last updated,
instead of the view that was active. One symptom was
the Measure tool drawing its preview line on the
wrong map pane. Fixed. ReleaseMapDC() was similarly
adjusted. DCs should be released at the earliest
possible time.
-
Raytracer instanced bumpmapping shaders
more than once for the same scene objects; fixed.
-
Raytracer's bumpmapper passed to the shader
the address of the shaderstruct's pExtra member
instead of pExtra itself; Fixed.
-
Raytracer's bumpmapper was referring to colorizer
info when invoking bump shaders. Fixed.
-
More dialogs support the F1 key to display help.
-
HTML files (used for documentation) can be opened
by passing the URL directly to the Windows' ShellExecute
function or by opening a specified browser and
passing the URL as an argument to it. This fixes
the problem where anchored URLs (those containing
trailing "#" references) didn't appear correctly
in newer versions of Windows/IE.
-
"jpg" filetype image_map option in exported POV scripts
replaced with "jpeg" instead, making JPEG textures exportable.
-
Opening bitmap file dialogs that only support BMP/TGA
no longer offer ".jpg" as the filename when the default
bitmap format is JPEG.
-
Added registry update verifier when Leveller requests
licence code. If update fails, a helpful dialog appears.
What's New in Daylon Leveller 2.0
New Features
- Plug-in API supports tool plug-ins, direct heightfield
pixel access, easy surface normal determination, and
easy inter-vertex height determination.
Functions added are:
GetHFdata, PanelLayout, GetMapDC, ReleaseMapDC, ShowStatusMessage,
ForceHFLo, ForceHFHi, GetHFnormal, SetHFnormalCompStyle,
SetHFnormalSmoothing, and GetPreciseHeight.
-
Two sample plug-in tools included: Measure, which measures
distances on the heightfield, and Noise Brush, which randomly
digs/raises the heightfield as you drag the mouse over it.
-
Informational tooltip added to map view, when
moving mouse over map (but not when dragging mouse).
-
Added 'File, Mail To...' command. Lets the current document
be sent to e-mail recipients.
-
Troubleshooting, Log Commands... command added.
This helps analyze runtime problems by seeing what happened
before the problem and at what point it occured.
-
Added 'Selection, Rectify' command, which converts the
current selection to its minimal bounding box.
-
Added 'How do I...' section to documentation.
Improvements
-
Documentation uses frames for easier topic browsing.
-
Glossary doc page has its topics directly reachable from other links.
-
'Edit, Resize Grid' command supports scaling the elevation
data to match the new HF dimensions, and choosing
the resampling style.
-
Pressing Enter in a settings panel edit field
updates the value to the tool, instead of having
to press Tab to move the focus away from the field.
This is handy if you want the focus to remain in
the field to try out different values.
-
Mouse map position's elevation is reported nicer.
-
Shape tools report mouse position.
-
Some plug-in API levutil_ routines had their interfaces simplified.
-
Filter, Span dialog makes it more obvious if the span
is for the selection vs. the whole heightfield.
-
Filter, Span command supports selected areas better.
-
Filter, Smooth More (Shift+F3) command added.
This uses a 5 x 5 kernel like the Heavy Smooth plug-in and
fixes its averaging divisor bug. It also uses much less memory.
-
Filter, Invert now has a dialog; lets one choose
the inversion point.
-
Doubled size of colormap CLUTs; made mapping of
colors to elevations more precise.
-
Made span readout in Span filter dialog more readable.
Same for Clip filter dialog.
-
Scale dialog offers world unit choices for vertical axis.
-
Build number included as part of Leveller version info.
-
Window Properties dialog shows more stats for
current non-floating sel mask, such as
pixels selected, span within mask, etc.
-
Tip of the Day dialog antialiases its text better.
-
8-bit bitmap output supports arbitrary span output.
-
Zoom tool supports arbitrary area selection.
-
Selection tools don't display out-of-bound marquees
when starting a mousedrag outside the heightfield.
-
Zooming out can be animated. Zooming can be done in large steps.
-
App prefs are saved when changed, not just when Leveller exits.
-
If a plug-in couldn't be initialized because it requires
a newer version of Leveller, the user is informed better.
Fixes
-
JPEG I/O works properly.
-
The Undo buffer's VM file is no
longer misread, and it is also read much faster.
-
The fullscreen mode properly redraws itself if the
document has its "After flying...", "Draw the scene..." setting enabled.
-
VRML export outputs water object correctly when world units
are used.
-
Superfluous file handle no longer used when
importing bitmaps as elevation data.
-
Off-by-one pixel problem in OpenGL texture mapper fixed.
-
Single pixels on bottomost row of heightfield can be selected.
-
One-bit Windows BMP bitmaps were not being
read correctly as selection masks; fixed.