October 2014
Released Esenthel for Windows, Mac, Android, iOS and Web:
-IMPORTANT: Sun.rays_res value meaning has changed, it now allows to specify 3 resolution modes (0=full, 1=half, 2=quarter)
-IMPORTANT: D.ambientRes value meaning has changed, it now allows to specify 3 resolution modes (0=full, 1=half, 2=quarter)
-IMPORTANT: D.superSample has been replaced with D.density (allowing you to specify both higher and lower resolution for rendering which allows to control quality/performance balance)
-IMPORTANT: D.multiSample has been replaced with D.samples, which now specifies the number of samples used for multi-sampling anti-aliasing, where both 1 and 0 values set 1 sample (AA disabled) while 2 stands for 2 samples, 4 stands for 4 samples and so on
-IMPORTANT: Custom shaders need to be recompiled
-added support for iOS 8.0
-added new D.densityFilter method allowing to control up-scaling filtering when <1 density is used
-added new Renderer.stage member allowing to display certain rendering stages (like color, normals, depth, etc.)
-increased performance of transparent window drawing
-increased performance of water reflection rendering
-increased performance and quality of ambient occlusion effect
-increased performance of Image.drawHQ which is used for bicubic up-scaling filter (including D.densityFilter)
-increased performance of Forward Renderer Point, Sqr and Cone light rendering
-increased performance and quality of full screen fog when DX10+ multi-sampling is enabled
-increased performance of Sky when DX10+ multi-sampling is enabled
-increased performance of displaying frame contents to the screen under DirectX
-improved D.dither quality
-reduced the number of render targets, which reduces the video memory usage
-mesh outline width can now be controlled with new D.outlineMode
-fade in/out effect on Window that contains a Viewport with 3D graphics will now work correctly
-multi-sampling can now work together with super-sampling (now known as density)
-palette and outline rendering can now work in DX9 with multi-sampling enabled
-MeshBase.createPhys now includes optional parameters "UInt flag_and=VTX_POS|FACE_IND, Bool set_face_id_from_part_index=false"
-Editor Interface now has new methods for setting/getting object meshes
-new method Renderer.get which works in a similar way as rendering to custom render target (via Renderer.dest_rt now known as Renderer.target), however unlike specifying our own Render Target, the 'get' functions returns the result as an internally created render target via 'ImageRTPtr'
-new method Vehicle.precision(Flt thresholdLongitudinalSpeed, UInt lowForwardSpeedSubStepCount, UInt highForwardSpeedSubStepCount)
-new function CompressionLevels(COMPRESS_TYPE type) allowing to get the range of supported compression levels for specified algorithm type
-D.dither is now available on OpenGL (previously it was available only in DX9 and DX10+)
-Volumetric Cloud Shadows are now available on OpenGL and DX10+ (previously they were available only in DX9)
-Water refraction will now work more precisely when viewport is not fullscreen
-D.hdr (now known as eyeAdaptation) is now more precise when the viewport is not fullscreen
-fixed MLAA/SMAA anti-aliasing on OpenGL
-fixed Water.max1Light(false) not working with stereoscopic rendering
-font created with sub pixel precision will now draw OK when used during RM_BLEND rendering, without the glow effect
-Image.drawFs default parameter Bool hq=true, is now of Int hq=-1 value, and can accept following values: 'true'=enable HQ filtering, 'false'=disable HQ filtering, '-1'=autodetect HQ filtering usage basing on platform (Mobile platforms have it disabled while others have it enabled)
-upgraded to latest LZ4 library version
-upgraded to latest VP9 library version
-changing many display options is now faster (shadow map size, multi sampling, density, high precision RT's, sync on OpenGL)
-improved fullscreen mode selection on DirectX 10+
-improved fullscreen Alt+Tab on DirectX 10+ and Windows OpenGL
-object skinning editor now colors faces basing on their bone assignment
-applying material onto a mesh part will now apply it on all other mesh LOD's as well (as long as the lod's are similar = have the same number of mesh parts with same names and materials)
-most of the Display class methods now include comments whether they are instant and can be called real-time, or if they're not, and calling real-time should be avoided
-object editor now has the ability to copy skeleton bones from one object to another (in the Bones sub-editor)
-world editor path settings now feature new buttons: copy, paste allowing to get/set all path settings at the same time
-compiling Engine Source for Android is now additionally available on Mac and Linux (Mac however does not support the phase of linking libraries, so please use Windows or Linux for that)
Api Changes:
-D.fxEnd now returns a new type ImageRTPtr, which acts as a pointer to an internal render target, it is similar to CacheElmPtr meaning that it is reference counted, and will automatically release itself in the destructor, to convert 'ImageRTPtr' to 'Image' please use one of its (), ->, * operators
-Renderer.use_hdr was removed, you can now disable Eye Adaptation quickly using D.eyeAdaptation(false)
-D.hpRt was split into highPrecColRT, highPrecNrmRT, highPrecLumRT allowing to control high precision render targets for different buffers separately
-D.hdr was split into D.highPrecLumRT and D.eyeAdaptation, however calling D.highPrecLumRT is not actually required for the eye adaptation effect
-EDGE_SOFTEN_NEAR and EDGE_SOFTEN_BOTH have been removed
-APP_NO_FX has been removed
-Gui.skin has been removed
-Renderer.dest_rt (now known as 'target') is now of ImageRC* type
Important note for LINUX users:
I'm currently away from my Linux laptop, therefore I cannot recompile some apps/libraries manually. I'll be able to do that at the end of October.
Therefore you'll have to recompile following elements on your own : "Esenthel Builder" from "Project" and "Project/Source/Esenthel Builder.cpp", "ThirdPartyLibs/LZ4", and optionally "ThirdPartyLibs/VP" (however since the new version of VP is not needed for engine to compile, due to VP complicated compilation setup I recommend not doing it).
|