Optimizations and very verbose scripts
2008-11-26
Recent changes:
- Instancing of skinned and dynamic meshes.
- Much faster stereo rendering due to shadows optimization.
- Terrain speedup.
- Alpha-channel of specular textures is no longer responsible for reflections, it modulates specular power (glossiness) now.
- Square brush in TerrainEditor.
- Manager has been renamed to RenderManager.
- Adjustable number of splits for WorldLights.
- Fixed material preview bug.
- Fixed flickering of water reflections.
- Added initial angle and velocity scale for particles.
- Visualization of occulsion query primitives in UnigineEditor.
- Added terrain sample with unique texturing (terrain_01).
- Intersection masks, engine.world.getIntersection() functions get a mask as third parameter.
- New order of arguments for initialization: Engine::init(UNIGINE_VERSION,argc,argv,project,password), where 'password' is a password for encrypted file packs.
- Script and shader preprocessor accepts only angle brackets for #include directive.
- Warnings on unused variables and arrays in scripts.
- More verbose script interpreter output on errors, including file name and line number.
Some notes on instancing follows. There is a pool for 64 bones drawn in once, so there is a huge speedup on skinned meshes with simple skeletons. Cloned ObjectMeshDymamic are also instanced, they are drawn by 32 in a batch. Plus there are some performance improvements in instancing of static meshes.
Here are pics for today, particle-based fountains from our unannounced game: