Development log: July 20, 2012
Full Support for Windows 8
- Added Overlap and Overlay modes for detail materials into mesh_terrain_base material. Now caves, cliffs and other meshes can have the same detail texturing as a terrain does.
- Improved support of geometry shaders on Mac OS X. Now wireframe mode and bokeh DOF are supported on this platform.
- Added SHADER_LANGUAGE definition to define a version of OpenGL and OpenGL ES shaders.
- Engine profiler and engine messages are now always rendered on top.
- Fixed incorrect rendering of static reflections for water.
- WorldOccluderTerrain now properly works with reflections (for example, on the water).
- Increased the number of HDR cross flares up to 32 (beware, high number of flares can cause a FPS drop on low-performance hardware).
- Fixed an issue with normal map orientation for one of the projection faces for mesh_triplanar_base material.
- Fixed an issue with triplanar projection for mesh_triplanar_base and terrain_base materials.
- Added an option to change normals rendering mode for mesh_overlap_base material (States -> Substitute option). Normal maps of an underlying and overlapping material are either combined together (by default), or only the overlapping material normals are used.
- Added support of two background cube map textures for sky_base material.
- Added Retina display support for iPhone 4 and 4S.
- The loading time of Android applications with a large number of files in assets folder is dramatically improved.
- On Android, custom project data can be stored into a folder on a SD card (specified via project_name start-up option).
- On Android, configuration file (unigine.cfg) can now be stored under assets folder.
- Lifted a limitation on screen resolution for Android applications. Now you can set any screen width and height, no matter what the physical screen resolution is.
- Improved exception handling and RTTI support on Android.
- Eliminated an issue with random crashes on Android.
- Added d3d119_render_use_rgba8 console command to use RGBA8 format (instead of R5G6B5) for all color buffers. It is applicable for OpenGLES and DirectX 11 renderer of DirectX 9 feature level. This option increases rendering speed, decreases memory usage (up to 2 times lower) at the cost of small quality degradation (artifacts are possible when rendering transparent objects). It is enabled by default.
- Status bar on iOS devices is now automatically hidden.
- Added detection of Qualcomm Adreno 320 graphics chips.
- Scrips are now faster by 10-20 per cent. This speed-up is especially noticeable on platforms with small cache memory (mobile tablets and devices).
- Improved performance of all callbacks: world, physics and GUI callbacks, as well as calls from Flash (ActionScript) to script are much more robust.
- Fixed a file size bug by saving and restoring the world state multiple times when the editor is loaded.
- Added a function to clear a loaded GUI dictionary with a localized interface (engine.gui.clearDictionary()).
- No lags when pausing/resuming playback of Theora video files.
- Fixed a crash on deletion of ObjectBillboards and WorldCluster nodes.
- Any of high-level Unigine::Widgets can be used to create an interface for editor plugins. There is no need to explicitly include them via #include directive.
- Fixed a bug with non-updated messages in Unigine::Widgets Dialog widgets.
- Small speed-up of all GUI widgets, faster rendering of fonts.
- Huge memory deallocation speed increase. On Unigine stress test samples with heaps of objects, world shutdown is now 15x faster.
- Increased performance of WidgetFlash: for example, interfaces in samples/widgets/flash_* now work 2 times faster.
- The number of draw calls for Flash is significantly decreased. Polygons and lines are batched when rendered. A texture atlas is automatically created for all textures smaller than 256x256 pixels in size (only non-tiled textures) to increase the rendering speed.
- Fixed a bug with incorrect scaling of rich text set via WidgetFlash::setFontScale().
- Added functions to get information on the number of triangles, lines and draw calls required to render a Flash movie widget: getNumTriangles(), getNumDips(), getNumLines().
- Improved detection of the number of available CPU cores for all Linux-based platform (Android included). This allows for more efficient load balancing.
- Added a new Interface color chart into the performance profiler that shows statistics on rendering time of GUI.
- Start-up option project is renamed into project_name.
- Added a new sample with mesh_triplanar_base material: samples/materials/triplanar_01.
- Fixed a minor bug with incorrect parsing of hspacing and vspacing arguments for text in UI files.
- Fixed a bug with crashes on multiple successive calls for engine initialization/shutdown.
- Added an additional implementation of Engine::init() function with a custom application path argument. Pass NULL value to skip this argument.
- Added an article on custom plugins for Editor (Tools -> Unigine Editor -> Custom Editor Plugins).
- Added information on LUT shading material: LUT generation tool (Tools -> Tools Panel -> LUT Generation Tool) and mesh_lut_base (Materials -> mesh_lut_base).
Windows 8: Full Support for Metro-Style Apps
We are glad to announce that Unigine engine is now fully compatible with Windows 8 Release Candidate SDK. To add a new Metro-style look and feel to your Unigine-powered application, all you need is to launch it. It just works.
Moreover, you can get support of upcoming tablets and other ARM-based mobile devices with Windows RT at zero development cost. Unigine already provides it out of the box - you simply take advantage.
Find the following features supported:
- Added full compatibility with Windows 8 Release Candidate SDK.
- Added support of Windows RT for ARM devices.
- Windows RT comes with NEON optimization support on the ARM platform.
- Added D3D11AppTablet class to initialize the video mode in Metro-style applications for Windows RT.
- Added support of DirectX 11 of feature level DirectX 9.1, 9.2, 9.3 to cover the whole range of next-generation Windows RT mobile devices.
- It is possible to set DirectX 11 renderer of DirectX 9 feature level (direct3d119) via video_app start-up option. With this feature, you can check how the application will be rendered on upcoming ARM mobile devices with Windows RT.
- Added detection of available CPUs for Windows 8, as well as a processor name.
- Added remote debugging support: connect to Windows RT application via Telnet application on port 8888 (telnet:8888).
- Added support of FileClient plugin for faster development iterations on Windows RT.