Split SampleOffsets shader parameter to GBufferInvSize and ShadowMapInvSize parameters.
Set Offsets & InvSize parameters for user-defined rendertargets during postprocessing.
Fixed bug on some NVIDIA drivers caused by using tex2Dlod on the hardware depth buffer.
Fixed missing script bindings to the zone ambient gradient & camera override flags.
Added a default bounding box size for newly created zones.
Added documentation on zones.
Removed ambient + lit pass combining for less shader permutations, and to prime the Z-buffer with a lightweight pass in case there is a large amount of overdraw.
Moved ambient light calculation to the ambient pass vertex shader.
Added render mode toggle to the editor settings.
Note: OpenGL rendering is currently broken.
Find the zone at far clip plane and use it for the background color.
Added zone mask for drawables, allowing to select which zones they can belong to.
When zone moves or changes its bounding box, clear the cached zone from all drawables that were inside.
Instead of double buffered VBOs, avoid glMapBuffer & glUnmapBuffer in "discard" mode and use a CPU-side buffer instead.
Reduce UI & DebugRenderer vertex buffer size if grossly too large.
Updated documentation. Suggest AMD's Compressonator utility for normal map processing.
Added direct script access to the Controls object of Connection, instead of going through setter & getter.
Improved NinjaSnowWar controls responsiveness during low FPS, by checking for action button presses separately, and accumulating button presses for networking.
Added tracking of last assigned shader parameter per hardware register to D3D9Graphics. This allows reusing shader registers for different parameters in different shaders.
Removed the ElapsedTime shader parameter, as wrapping it is problematic depending on the calculations it would be used for.
Removed support for bool & int shader parameters from Graphics, as bool constants are not supported in OpenGL 2.0, and int parameters are not (at least currently) needed, and can lead to worse performance.
Do not render light to stencil if camera is inside the light volume.
Added optimization for directional light shadow casters that are fully occluded by another shadow caster: do not render the lit pass for them.
Removed the alpha masking hint. Alpha test no longer gives the batch a lower priority.
Optimized shaders to do more work in the vertex shader.
Deferred rendering removed, at least for now.
Switched to RGB normal maps, with specular intensity in the alpha channel. Removed NormalMapTool.
Optimization of light influence on objects by stencil masking.
Split shadowed lights are now rendered in one pass. A virtual shadow depth cube texture is used for point lights.
Refactored shadow map allocation. Allow to use lower resolution shadow maps than quarter size.
Added the Polyhedron math object, used for improved shadow map focusing.
Reversed the convention for the plane intercept parameter.
Math-related code cleanup.
Editor script fixes.
Fixed loading resources from script.
Fixed crashes when handling events from objects that subsequently get destroyed.
Fixed not being able to load elements of type UIElement from xml layouts.
Various networking and script API bugfixes.
Fixed kNet profiling compile errors due to STL -> Container library conversion.
Fixed loading of textures failing in headless mode (just return success without doing anything.)
The E_CLIENTCONNECTED and E_CLIENTDISCONNECTED events now also come from the Connection in question, to allow using GetSender() for convenience, instead of looking up the connection from event data.
Added simple network traffic statistics logging to Connection.
Added commented out package download test code to TestScene.as.
Increased kNet's UDP send rate upper limit and aggressiveness in increasing the send rate.
Fixed being unable to do sparse seeks in files when writing.
Container library bugfixes.
Removed light prepass rendering support, as it has implementation difficulties under OpenGL and is often unsatisfactory in performance and specular lighting quality.
Removed the shader subdirectories.
Added option to specify whether single-channel images are to be interpreted as luminance or alpha, when loading into a texture.
Tweaked NinjaSnowWar difficulty.
Moved CreateObject from Object to Context.
Made EventHandler & AnimationState RefCounted to simplify memory management.
Fixed deletion of object, if no shared pointer to it existed previously, and it sent an event.
Fixed threading issue with objects' static type names. Now they are defined inside OBJECTTYPESTATIC macro as well.
Fixed Engine crash when running without the script system.