Collisions and new LOD system
Recently Unigine v0.4 code base has exceeded 6 megabytes, 220000+ lines. There is more code to be integrated, which is outside the main branch for the moment.
- Refactored Players, PlayerSpectator collides with the world, has 2 speeds and acceleration.
- MathLib refactoring, new functions: signFast (2x boost) and fracFast (20x boost).
- Fast sphere-mesh collisions.
- 4x speed up of world.intersection.
- Improved ObjectBillboard, which can set its UV coordinates and able to be screen-aligned.
- Particles collision with the world.
- Build of plugins for 3ds Max 9.
- Config file of ResourceEditor is now stored in user's home directory on win32.
- Support of multiselection in TreeBox widget (by pressing SHIFT and CTRL, nodes hierarchy is now controlled with ALT pressed).
- Saving state of open/closed branches in TreeBox.
- Optimization of UnigineScript garbage collector.
- ~ operator in UnigineScript.
- UnigineAPI crash-tests: initialization of Direct3D9 via MFC, initialization of the engine in SDL (all tests have been passed successfully).
- 3rd incarnation of LOD system, the most flexible one.
- Updated reference manual (GUI layout and RC files).
New LOD system: surfaces of a mesh can be arranged into hierarchy (drag them inside the list with ALT pressed), so for the first LOD system is looking for parents through surface's hierarchy, then through the nodes hierarchy. There are two "parent" values: for minimal and maximal distance, so objects could be united into single on far LODs without breaking the whole system. LODs don't use hierarchy by default, parent = 1 (reference distance is calculated from the current node).
No screenshots for this time, sorry.