Release Notes for Version 2.5.5
Release date: April 14, 2011
Core Engine
Graphics
- The shadow mapping capabilities used by the landscape light have been redesigned. There is no longer any restriction on geometry size relative to the section sizes for a landscape light. This allows smaller section sizes closer to the camera, which produce higher-resolution shadow maps, without having to worry about objects spanning more than two consecutive sections.
- The timer query mechanism (for timing on the GPU) has been reworked to prevent a decrease in performance that could previously occur when the Rate window was open.
Interface Manager
- Many of the
Widget
subclasses now expose settings for the colors of the different parts of the widgets, such as the background color, border color, highlight color, etc. Each widget has a default color type that usually corresponds to one of the more specific color types, and most widgets also support one or more additional color types. Some color types can have default values that are read from system variables, and these have a check box next to them in the settings. If the box is not checked, then the default color is used.
- The Get Widget Color and Set Widget Color controller functions (accessible from the Call Controller Function script method) can now target any of the color types support by a widget.
- Two new built-in controller functions, Get Widget Value and Set Widget Value, have been added to the scripting system. These can get and set values for the check, radio, progress, slider, scroll, list, multipane, and popup menu widgets.
- The Pulsate and Fade mutators can now target any of the color types supported by a widget.
- The Pulsate mutator now supports three blend modes: interpolate (the default), add, and multiply. The interpolate mode smoothly interpolates between the widget color c1 and the pulsate color c2 based on the time parameter t, where t is always in the range 0 to 1. The resulting color is c1 * (1 - t) + c2 * t, and this is the same effect that the pulsate mutator had in earlier versions. The add mode causes the pulsate color to be fractionally added to the widget color, producing the color c1 + c2 * t. The multiply mode causes the widget color to be multiplied by the smooth interpolation between white and the pulsate color to produce c1 * (white * (1 - t) + c2 * t).
Effects
- The marking effect has a new flag called
kMarkingDepthWrite
that enables writing to the depth buffer for a marking. This was previously always on if thekMarkingLight
flag was specified, but now needs to be specified separately in order for a marking to modify the depth buffer.
Math Library
- The
GetSineTable()
andGetCosineTable()
functions have been replaced by a singleGetTrigTable()
function. This table is an array ofVector2D
objects for which the x component contains the cosine and the y component contains the sine of the array index times 2π/256.
World Manager
- The
Block
class has been renamed to theTerrainBlock
class. This was done because there will be aWaterBlock
class in a future release.
Tools
Collada Importer
- The Collada Importer is now able to handle more cases in which joint nodes (bones) are not properly indicated by the exporter that wrote a
DAE
file.
- Extra functionality has been added to the Collada Importer to prevent the fusion of vertices with opposing tangent vectors, but with otherwise identical positions and texture coordinates.