High Resolution Terrains

by David 1. December 2009 15:47

Viewing and editing high resolution terrain files and DEMs (digital-elevation-models) is a challenge due to the large number of mesh triangles.  A 1024x1024 terrain without any LOD (level of detail) reduction is more than two million triangles that must be rendered each frame (2,097,152 triangles).
This really pushes current high-end computer hardware to the limit, especially if the terrain data must be designed to support dynamic updates at any frame with no LOD reduction.  After all, it's quite pointless to edit a terrain that is forced to a lower level of detail since then you cannot see what you are editing.  Many commercial game engine editors can drop as low as two frames-per-second on a C2Q-3GHz/8GB-1066/NV275 when editing a terrain of 1024x1024 with no LOD or materials.
TerreSculptor defaults to editing terrains in WorldSpace mode at the native non-LOD level with full terrain resolution, and includes two specialized methods of scene optimization to allow for editing higher resolution terrains.

A 3001x3001 full-resolution no-LOD digital-elevation-model terrain test in MapSpace mode:


-

Tags: ,

HMES

No crisis with Crysis

by David 16. November 2009 14:47

Crytek's CryEngine supports 16-bit unsigned RAW files for its terrain heightmap data.  This allows TerreSculptor to provide full support for conversion, editing, and creation of heightmap files for use with CryEngine.



Heightmaps from Crytek's Crysis and Crysis Wars' Shore and Mesa maps loaded into HMES.
-

Tags:

HMES

Altitude Coloring

by David 27. October 2009 10:42

One of the challenges of working with Heightmap based terrain is the visual rendering of the 16-bit altitude data to standard computer 8-bit displays.

When abstracted as an image, a Heightmap is essentially a 16-bit grayscale bitmap.  Unfortunately modern computers can only display an 8-bit grayscale.  This poses a number of questions regarding the optimal methods of rendering the Heightmap to provide a good visual representation of the full 16-bits of altitude data.

HMES approaches this issue in a two-fold manner, with full color gradient ramps and auto-ranging color gradient ramps.  A variety of gradient ramp styles are provided, including planet-like altitude simulations such as arctic, desert, and lush green worlds, where the colors can change from dark blue oceans to green forests to white snow-covered mountain peaks.  While other terrain software typically supply only one method of coloring, HMES supports both full color range and auto-ranging color sets, with the appropriate style set for each specific rendered 2D or 3D view.
The HMES full color range color sets always have their darkest color starting at the 16-bit absolute altitude of 0 and their lightest color ending at the 16-bit absolute altitude of 65535.  This is essentially how the standard RGB color space relates to conventional paint software, and is used in HMES when performing paint style functions such as brightness, contrast or gamma.  The limitation on using this type of colorset selection for displaying Heightmaps is the fact that most Heightmap content use such as video games is commonly limited to the central 4000 to 8000 altitude range out of the 65536 range total, resulting in an image display that is typically close to monochromatic when rendered on a 3D mesh.
The HMES auto-range color sets more closely resemble the planet-like range of colors from ocean or land up to mountain peaks.  The auto-range color sets also automatically scale to the current extents of the Heightmap altitude range, so the lowest Heightmap altitude is always the same ocean blue and the highest Heightmap altitude is always the same white mountain peak.  This type of colorset selection is excellent for displaying 3D rendered terrain meshes, and is used in most of the HMES 3D view modes.  Its limitation is that it does not work well in the 2D paint style functions, so it is typically not used in those views.

TerreSculptor HMES on an Atom 330 PC with Windows 7 displaying the auto-range desert colorset.  The axis icon and grid are hidden, the water level is visible.



-

Tags: ,

HMES

Custom Controls

by David 21. October 2009 11:28

The design of HMES has required the development of a large number of custom controls that provide input and visual feedback beyond what the standard Windows interface controls provide.  This effort has been both tiring and rewarding.  The biggest challenge has been to develop controls that function well with all of the supported Windows versions and their individual themes.

The current set of custom controls includes Glass Button, Color selection Button, Color selection ComboBox, Numeric TextBox, Angle and Direction indicator/selection controls, Spline graph editor, Altitude graph display, Histogram graph display, 3D border container, Text label with separator line, horizontal and vertical gradient panels, plus the massively featured 2D/3D preview rendering control and the main 2D/3D viewport control.
A future version design idea is to incorporate a better toolbar ribbon system that replaces the current standard toolbar.
-

Tags: ,

HMES

The "Graphical" in GUI

by David 12. October 2009 18:40

I once was told that good software design is 95% user-interface.  In trying to live up to that, the design goals of HMES have been to provide a strong interface with a lot of features and flexibility.
Instead of only providing input controls on many of the dialogs, HMES provides graphical displays for instant visual feedback.  For example, the various editing dialogs such as for changing the altitude or size, or applying filtering or smoothing, provide large preview images of the operation.  Taking this even one step further, the preview image display is an interactive control that allows for 2D top, front and 1:1 panning views, and 3D wire, solid and shaded views with lighting and camera movement.  Many of the dialogs utilize two of these preview controls, one for the original view and one for the function preview.  The supported interactivity varies accordingly with each dialog to provide a strongly intuitive user experience.  Numerous settings and options are available, either in the main application Options dialog or on a preview control contextual menu.




-

Tags: ,

HMES

Interface

by David 3. October 2009 08:41

The most important part of any software application, in my opinion, is the user interface.

A well designed interface will provide better and faster productivity, with a lower learning curve for new users.  To this end, the interface on HMES has been tweaked a number of times to create a better user experience.  The interface is very visual, with most of the editing dialogs including large customizable 2D and 3D preview windows, and graphical state displays.

The software operates in two independant modes, Map Space and World Space, with the capability of passing the current heightmap between the modes.  Map space is similar to using high-end paint software and provides import, export, conversion, and editing of heightmaps with dimensions up to 32768x32768.  World Space is similar to using high-end modeling software and provides a wide variety of terrain creation, terraforming and geomorphing functions.
-

Tags: ,

HMES

Threading

by David 30. September 2009 09:21

One of the requirements in the design of HMES has been to incorporate support for multi-core processors.

The Windows Threading API is being used extensively throughout the software, increasing performance and providing a smoother user experience.  The increase in software complexity is well worth the effort.
The various editing dialogs are using a number of threads to provide faster response to user input, with each dialog typically supporting up to three or four threads.  So persons using a quad-core or better computer will notice a faster and smoother application response.
The use of threading also benefits smaller hardware setups, as this software is also testing on Intel Atom processor based computers, and the Atom 330 1.6GHz dual-core dual-thread still performs exceptionally well.
-

Tags: ,

HMES

Welcome!

by David 29. September 2009 07:51

This blog will contain posts regarding the current state of my company's software development.

Currently under development is the TerreSculptor heightmap editing software, or HMES for short.

This software provides a massive number of features for creating and editing heightmap-based terrain systems.  It features support for heightmaps up to 32768x32768, it can import and export almost fifty different file formats and sub-formats, and includes a large number of creation and editing functions.

While this software is targetted for video game developers, it may also find a niche with any other business working with heightmap or geo systems.
-

Tags:

Blog

About David

IT Professional
Hardware Designer
Software Developer

Category list

Calendar

<<  March 2010  >>
MoTuWeThFrSaSu
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

View posts in large calendar
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent anyone else's views.

The contents of this site are copyrighted and may not be duplicated without permission.

Copyright © 2010 David R. Green