Development log: November 30, 2010
Reduced memory consumption, PlayStation 3 sound
- Improved detection of NVIDIA Quadro cards.
- Improved quality of LightWorld.
- Fixed lightmap material for grass.
- Added WorldManager for managing loaded masks of ObjectGrass, WorldOccluderTerrain and WorldClutter.
- WorldClutter supports R8 mask format.
- ObjectGrass supports R8, RG8, RGB8 and RGBA8 mask formats only.
- Fixed LODs issue with positive values of render distance scale.
- Added trace radius for WorldOccluderTerrain. The object speed was also optimized for multi-core machines.
- Image::save() now has a second argument: quality of JPG compression (default value is 0.85).
- Added lightmaps sample.
- Added SSAO/SSDO visualization mode ('render_show_occlusion' console variable).
- SSAO/SSDO require re-adjusting due to some improvements.
- Rendering of object surfaces was optimized to have less CPU load.
- Added texture manager in GUI.
- Access to sizes of all layers in WidgetSprite.
- Added new ALIGN_FIXED flag for OVERLAP elements in GUI to prevent their sorting by focusing.
- Speedup of WidgetCanvas.
- Added support of textures in WidgetCanvas.
- Fixed crash on attempt to access a wrong global namespace.
- Recurrent namespace declaration with Foo::Bar syntax.
- Added script memory consumption analyzer ('world_memory_usage' console command).
- Less memory allocations on script compilation.
- Support of the following syntax: assert(1 == 1 && "true").
- Per-file parentheses balance check.
- Full support of sound on PlayStation 3 with I3DL2 multi-zone reverberation.
- Fixed cone sound sources geometry in accordance with OpenAL Soft (Creative OpenAL Hardware implementation uses two times bigger angle for cone sound sources).
- OpenAL sound now works in relative coordinates instead of world ones.
- Added Creative EFX reverberation presets.
- 'Reverb' flag for sounds to toggle their reverberation per-source.
- Switched to OpenAL Soft with support of EAXREVERB.
- OGG files with Ogg Vorbis sound must be renamed in OGA. Ogg Theora files are loaded with OGV extension.
- WidgetSpriteVideo is synchronized with AmbientSource and SoundSource.
- Added samples of sound/video sync.
- Reduced memory consumption.
- Less memory allocations.
- Improved memory allocator, which produces less memory fragmentation.
- Fixed filesystem access bug.
- Huge speedup of filesystem search.
- All masks are 1 by default instead of ~0.
- Fixed crash on saving the state of the deleted node with set callbacks.
- Fixed collision detection with terrain edges.
- Fixed a bug with loading of PhysicalTrigger from a node file.
- Added an exclude list for WorldTrigger.
- Added a physical mask for BodyDummy in UnigineEditor.
- Updated network samples.
- Fixed build.py script errors caused by stereo launchers.
- Identical behaviour of Xbox 360 and Sixaxis gamepads in Windows and Linux.
- Updated documentation on plugins for 3ds Max.
- Updated UnigineScript library documentation.
- Removed obsolete "Technologies Overview" section.
- Updated "Rendering Sequence" article.
Good news, everyone! We have started video tutorials series on Unigine! Here is the first one, "Exporting an Object from 3ds Max to Unigine Engine", that covers exporting static geometry from 3ds Max and some of the UnigineEditor basics.
Stay tuned, there is more to come!