2008-06-11
Link
Bunch of useful fixes
Recent changes:
- New 'world' samples: occluders, sectors and portals, WorldTrigger usage.
- Plugins for 3dsMax 2009.
- Xml module doesn't generate anymore due to standart compliance.
- 'quit' callback for the editor (quit from the world).
- Backup of .world file before saving new one.
- Brush rotation in TerrainEditor.
- Excluding support in Archiver.
- Visualization of ambient occlusion.
- Built-in packed resources instead of XPM files.
- New 'Resource' tool for packing of resources to be built-in into the binary.
- TTF fonts in ResourceEditor.
- 3x3 PCF for shadows in lightmap generator.
- More optimal ambient occlusion for open spaces owing to branching in shaders.
- Transformations of texture coordinates in ResourceEditor.
- isNode(), isBody(), isJoint() functions in UnigineScript for pointer type detection.
- call_stack() and stack_dump() functions in UnigineScript for easy debugging.
There are also tons of changes in UnigineEditor in our development branch, but they require some time for stabilization, so they will be introduced in next updates.
PS: Unigine team is hiring: see vacancies list. We would be happy to find more great developers, may be it is your chance to join us!
2008-05-15
Link
Don't worry, we are still here
There were no updates for a while because we are messing up with our new office, sorry (at the moment almost everything is done, we are ready to move in).
Plus we were at Russian Game Developers Conference (KRI), it also took some time.
Anyway, the development goes on even within these circumstances, so don't panic.
By the way, we met some of our customers at KRI (including Afterfall developers), we hope those meetings being fruitful.
Current update provides the following:
- New sound module is almost ready (except for reverberations).
- Added sound usage samples (data/samples/sounds).
- Improved ControlsApp: keys and buttons can be assigned from scripts.
- Optimized mesh intersections.
- Lightmap generator for all types of lights in UnigineEditor.
- User-adjustable containers inside "Materials" and "Nodes" windows.
- Great speedup of ResourceEditor / NormalMapper (now it uses dedicated tracing code).
- Less memory consumption by NormalMapper, it's more stable in Windows now.
- color_scale instead of alpha_scale in shaders.
- New WidgetVPaned and WidgetHPaned widgets, which can be adjusted in size by a user.
- Access to a swizzled member of arrays is allowed from user classes now: foo.array.size().
- Access to methods and members of a class is allowed if the object is a member of another class now: foo.file.close().
- isCallbackEnabled() in UnigineScript.
- copy, swap and compare functions for arrays in UnigineScript.
- Case-insensitive mode for filesystem (data_icase console variable).
- 'hidden' flag for widgets (it controls visibility).
- New WorldTrigger object with callbacks (see data/samples/worlds/triggers_00.cpp).
We are going to get back to normal development pace in 2 weeks.
2008-03-31
Link
New sound system is on the way
Recent changes:
- New cross-API sound framework.
- Wrappers for OpenAL/FMOD/XAudio2.
- New WorldSource and AmbientSource classes for sound in the framework.
- Rollback to alpha7 version of Theora, beta seems to be too buggy.
- Improvements of C++ API, now it's possible to work with UnigineScript's arrays.
- Image framework now allows rotation of an image, it's very useful for cubemaps.
- Fixed lack of HSV accuracy for image dialog.
- Additional render optimizations (less CPU cache thrashing).
- Updated stereo launchers.
- Support of 3DNow! technology in the framework.
- Interpreter optimizations (Variable is more compact now, vec/mat/quat parameters are passed more optimal also).
- RichText now can be expanded.
- ObjectGui and ObjectGuiMesh cannot load UI files anymore, they simply provide an interface for GUI object.
- Separators in WidgetMenuBox.
- Open menu can be hidden by a click of any mouse button.
- XML parser now skips EF BB BF sequence at the beginning of the file in order to be more compliant with Unicode standarts.
- Fixed old UnigineEditor bug with moving nodes up/down in the list.
- Node instancing framework in UnigineEditor.
- Updated MPEG video grabber for new ffmpeg.
- C++ API documentation update.
It seems that the new sound system is close to be completed.
Unfortunatelly there are a lot of bugs in OpenAL, some of them are really stupid ones.
Another headache is different reverberation models in different APIs, there can hardly be API-independent settings.
2008-03-11
Link
DirectX 10.1 support
What's new:
- DirectX 10.1 support (d3d10_render_use_feature_level_1 console variable, it's enabled by default; means that comparison sampling from texture arrays for cube and world lights is used).
- Support of MS Visual C++ 2008 Express Edition.
- New object for dynamic sky: ObjectSky (2 surfaces, 2 cubemaps with RGBE support, 2 layers of clouds).
- Shadowing by clouds of ObjectSky.
- Modulation of dynamic irradiance environment maps by ambient map.
- Geometry duplication via geometry shaders for rendering of cube and world shadow maps (it works really fast on ATI).
- Workaround for shadow biases (they are broken in ATI Direct3D10 drivers at the moment, the bug is submitted).
- R600-specific optimizations.
- Support of 16f and 32f image formats, loading of *.HDR files.
- Fixed ATI2 normals.
- Fair light scattering for reflections.
- SpriteVideo YUV output with shader-based conversion into RGB for ObjectGui and ObjectGuiMesh (it reduces CPU load while playing multiple videos).
- Dynamic access to textures by means of UnigineScript (e.g. for generation of procedural textures).
- KEY_PRESSED callbacks for WidgetEditLine and WidgetEditText.
- Saving of screenshots in different file formats (video_extension console variable, TGA is used by default).
- Fixed Alt-Tab issue with fullscreen mode on Direct3D9.
- Documentation updates: "Content Creation / Animation" and "Programming / Typical Architecture of a Unigine-Based Application" articles.
There is a funny thing with ATI2 components swapping on different cards and APIs (if you don't take it into account, there are artifacts):
|
R500 |
R600 |
NV40 |
NV50 |
| OpenGL |
YX (3dc) |
YX (3dc) |
XY (la) |
XY (latc) |
| Direct3D9 |
YX |
YX |
YX |
YX |
| Direct3D10 |
|
XY |
|
XY |
We hope our render to be completed for several months, it is already on the most bleeding edge.
Sound module and physics improvements are the following.
2008-02-21
Link
Joysticks support and some networking improvements
Recent changes:
- New Phong-rim material is now a default one for meshes.
- Full support of Xbox 360 gamepad.
- Support of standart PC joysticks and wheels (no force feedback is available yet).
- Fixed clip planes for all APIs (no more problems with 2D reflections).
- Optimization of shadow map memory usage.
- GUI refactoring, all widget classes now have "Widget" prefix, like WidgetVBox (use deprecate.h for backward compatibility).
- Visual limits of suspension travel in JointWheel.
- New WidgetMenuBox and WidgetMenuBar widgets.
- Mask buffers for GUI rendering (WidgetSprite).
- Fixed reading of empty string arrays from XML.
- Dedicated thread for networking in the engine.
- New Packet class for parallel data transfer in the thread.
- Added a lot of articles in "Content Creation / Materials" section of the documentation.
Here is a screenshot from the small racing demo, which will be included into Unigine SDK soon (there are both types of gear box available, physics interaction of objects, and some GUI elements, including minimap and speedometer):
|
|