May 2017
Released Esenthel for Windows, Mac and Linux:
-implemented new very high quality per-pixel material blending, greatly improving visual results of terrain with multiple materials, it's controllable with the new D.materialBlend (by default enabled), in order for it to work, your materials need to have a bump map
-improved parallax and relief mapping shader quality and relief shader performance
-restored relief mapping availability in the Editor Video Options
-greatly improved rendering performance on Mac
-greatly improved Image resizing performance with minor quality improvements
-greatly improved BC7 texture speed compression on Mac
-greatly improved ETC1 (Android) texture generation performance, with additional quality improvements
-added experimental support for 10-bit per-channel (30-bit total) color on DirectX 10+ via 'D.monitorPrecision'
-improved shader dithering function and overall color precision and in some cases reduced memory bandwidth and increased performance
-added support for baking per-vertex AO in Meshes (in Object Editor\Mesh\Operations menu)
-implemented multi-line TextBox gui object
-added new "Revert" button to the Material Texture Downsize menu
-added keyboard shortcut for "Material Texture Downsize"
-Material Texture Downsize can now upscale textures, if negative value is provided
-Object Editor \ Mesh tab \ Transform region now has option to move vtx UV's
-improved performance of accessing basic mathematic functions (like sin, cos, floor, ceil, ..)
-updated BC7 compressor to latest version for faster performance and better quality
-added a workaround for BC7 compression which could potentially convert fully transparent pixels with alpha=0 to alpha=4 (out of 255)
-implemented a high quality pixel shader for drawing stretched images (however very slow), based on latest image resizing improvements, useful for drawing fullscreen background images with highest quality, it is accessible through Image.drawFilter and Image.drawFs
-added new format for Image Project Elements (Compressed+) allowing to force high quality BC7
-added new method 'Image.monochromatic'
-improved 'Image.transparentToNeighbor'
-temporary generated files are now stored in a different location "Projects/*Project ID*/Temp" and this folder can be safely deleted if you want to free-up some disk space
-added new functions 'UID.fromCanonical' and 'UID.asCanonical'
-Material Editor macro and light maps can now use "?" file name transforms
-added new function to disable certain Mesh LOD's without having to remove them
-added new keyboard shortcuts Ctrl+PgUp/PgDn to cycle between active Objects/Materials/Animations
-improved 'CreateBumpFromColor' to allow operating on multiple blurs
-Material Editor bump from color option was moved to the quick menu in the right bottom corner, it now includes options to specify custom blur ranges
-greatly improved Material Editor bump from color quality
-'Image.blur' functions now can specify blur range in Flt instead of Byte for more precision
-added new plane shape for material preview
-added new function 'SweepPointShape'
-added new Object Transform option "Rest on Bottom"
-adjusted epsilons, now they have more sensible meaning
-improved precision and performance of Animation frame range clipping
-slightly increased 'MatrixProj' precision
-added a new parameter to 'List.scrollTo' "Flt center=0..1" allowing to control centering on the element
-updated the Editor to make use of the new scrolling improvements for faster element locating
-added support for 'Mouse.wheelI' (wheel input accumulated and converted to integer steps)
-increased performance and reduced memory overhead for 'SyncLock'
-added new method 'SyncLock.created' to check if the object is still valid
-added new 'MatrixM' class with mixed precision (Flt for scale, and Dbl for position)
-reduced shadow map blockiness when 'D.shadowReduceFlicker' is zero, however at the cost of increased shadow flickering
-added new Code Editor Paste option that doesn't move the cursor
-implemented a few minor TODO's in the engine's source code
-Mac will now display correct Image memory usage for BC7 in the Image Editor and Material Texture Downsize even if those formats aren't supported by the system
-reduced ambient occlusion artifacts on big view ranges
-added a new Code Editor option to auto-hide the menu bar allowing to have more visible space for editing codes
-made the background in Code Editor blue theme slightly darker to reduce eye fatigue
-tweaked Dark Code Editor theme to match latest Visual Studio 2017
-tweaked code line number colors for all themes
-added highlighting current line in the Code Editor
-added support for detecting GPU dedicated video memory 'D.deviceMemory' on DirectX
-improved precision for world terrain heightmap colors and materials
-added new method 'D.litColRTPrecision'
-added new method 'D.motionRes'
-exposed new IMAGE_TYPE IMAGE_R10G10B10A2
-improved mesh vertex cache optimization (meshes will now display faster)
-added new methods Mesh.setVtxAO
-added new method SlideBar.wantedAtEnd
-added a workaround for Google Keyboard on Android processing Enter key differently than other Soft Keyboards
-improved performance of drawing multi-line text when some lines are outside of visible range
-added new parameter to Gui Skin TextLine - Flt text_size
Fixes:
-minor improvements and fixes to material texture resize functionality
-fixed creating Mesh LOD's when pressing the OK button but the calculation wasn't finished yet
-added a workaround for some FBX skeleton bone names having too long names than what engine can support
-fixed water material bump channel always being removed when publishing
-minor fix to extract from atlas functionality if the source texture was composed of multiple files
-minor fix to changing material textures not immediately reflecting any new file size changes in the project list
-fixed 'UID.fromCString' if 2 Long numbers were specified and at least one of them was close to LONG_MAX value
-fixed potential crash in mesh vertex cache optimization
-minor fixes related to processing incorrect LOD in Mesh in case some LOD was highlighted
-fixed welding vertexes in game mesh optimization which happened even if they had different tangents/binormals
-minor improvement to 'GetRestMatrix' function
-minor improvement to mesh part box drawing in the Editor if it was rotated
-fixed Vec Reflect(Vec vec, Vec reflection_pos, Vec plane_nrm) not working as intended
-fixed a bug which could result in discontinuities when editing the world terrain
-fixed potential crash when shutting down the Editor
Name Changes:
SlideBar.offsetDesired -> wantedOffset
Region.slidebar_size -> slidebarSize()
API Changes:
-updated Universal Windows Projects to latest Windows SDK 15063, you may have to update your VS 2017 installation to be able to support this SDK
-'Image.drawHQ' was replaced with 'Image.drawFilter'
-'D.shadowReduceFlicker' now accepts 0..2 parameter ranges (and 1 is default value now)
-'SyncLock' is no longer safe to use after its destructor was called (for improved performance), which may result in crash, if you may be using 'SyncLock' in such a case, you now have to check for 'SyncLock.created'
-'Map' is no longer thread-safe by default (for improved performance) unless you specify true in its constructor or use 'ThreadSafeMap'
-'D.highPrecColRT' is now used only in Deferred Renderer, please check new 'D.litColRTPrecision' which is used for all Renderers
|