text:
- Graphic user interface of the tools has been updated.
- A tool to easily import 3D models from a file has been added.
- Example maps have been updated.
- Freeze Objects Manager has been added. The object is indended to optimize maps with big amount of objects on them. With this object the developer can make some objects on the map freeze to save resources.
- Streaming terrain has been improved. Better management of load/unload mechanism.
- The ability to skip mip maps during loading textures.
- Bug fix: Broken rendering with enabled SoftParticles parameter of the material.
- Bug fix: Broken decals on terrain.
- Bug fix: Broken export of 3D models from Map Editor to DAE.
- GUI: Latest version of built-in web browser control. CefGlue build 2526.
- Bug fix: Crash on web browser control.
- Bug fix: Freeze engine on exit.
- Updated tools skin.
- Latest PhysX 3.3.4. Works faster and is more stable. Good character physics, improved car physics, fixed terrain problems.
- OS X support has been improved. New Mono Runtime 4.2.1 with new Generational GC (SGen) support. OS X 10.8 now is the minimal supported system.
- Sound backend has been improved. OpenAL Soft updated up to 1.17.2. Internal SSE optimizations.
- All example maps have been updated.
- Better object selection algorithms in Map Editor. It's now easier to select zones, portals and other volumes.
- Post processing: Color correction lookup table support.
- Exporters: support of the latest Autodesk 3ds Max 2016 and Maya 2016. Ability to install exporter for yet unpublished versions of 3ds Max and Maya (2017+) added.
- Exporters: Ability to install exporters to a specified folder.
- File system: The ability to load archives during simulation. As example to use it for downloadable content.
- Map Editor: Ability to open the type of selected object in Resource Editor. Use context menu.
- MapCamera: Ability to set orthographic camera.
- Web Browser Control: You can now configure a local HTML start file. Zooming and mip maps generation for in-game 3D GUI.
- Bug fix: Native memory manager: Crash Memory_AllocAligned on 64-bit applications.
- Bug fix: Exporters: Unable to override material in some cases.
- Bug fix: Resource Editor: Object Type Editor: Attached Mesh: CastDynamicShadows property save is broken. Fix for Source SDK: http://www.neoaxisstorage.com/forum/viewtopic.php?f=4&t=9870
- Bug fix: HDR compositor fix. There is a bug with the glow: It doesn't work with some of the post effects.
- Bug fix: Tiled heightmap based terrain: Cracks between terrains during editing.
- Bug fix: Sound System: OpenAL: Sound not played to the end in streaming mode.
- Map Editor: The ability to add components to objects has been added. Now the developer can attach already existing types (or create a new ones) of components to the object. The components are used to give additional functionalities to the object. As an example, you can now attach a 3D model to any object in the Map Editor.
- Materials (Environment mapping): Cubemap reflections now supports Normal Mapping.
- Materials (Environment mapping): Box parallax correction for cubemaps has been added.
- CubemapZone (Environment mapping): The algorithm used to find affected CubemapZone has been improved. Better intersection check and support when one zone is placed fully inside another zone.
- CubemapZone (Environment mapping): The algorithm used to find objects has been improved. When DrawDynamicObjects is disabled, only StaticMesh objects and objects with attached meshes with disabled Static property are considered as static objects.
- Autodesk 3ds Max, Maya exporter: Small improvements and bug fixes.
- Resource Editor: Mesh Editor: Ability to select sub meshes with the mouse.
- Resource Editor: Ability to convert mesh files to .3DS, .OBJ, .X has been added.
- Map Editor: The ExtendedProperties property for entity has been removed. You can now add additional properties to objects with the new components system.
- Optimization: Faster skeleton file loading.
- Bug fix: Map Editor: Static batching + layers visibility causing issues.
- Bug fix: GUI system: Broken scrollbar with non square size.
- Bug fix: The exporter for Autodesk 3ds Max and Maya do not work on some systems.
- Bug fix: Map Editor: Enabled property for light sources fixed.
- Bug fix: Materials: Invalid cubemap reflections for scaled meshes (not 1 1 1).
- Depth Of Field: Default values have been updated.
- Bug fix: Map Editor: The terrain editing freezes.
- Bug fix: Map Editor: The hided layer never hide Directional light sources inside.
- Bug fix: Maya Exporter: Fix with inverted normals.
- Portal system improvements for maps with a large amount of light sources. Big performance improvement.
- Map Editor: Much faster loading for maps with large amount of objects.
- SSAO: Default parameters have been updated. Better performance.
- Sharpen post effect has been added.
- Lighting: Shadows for Point light sources fixed.
- Map Editor: DynamicCollision object has been renamed to CollisionVolume.
- Stencil shadows are not supported anymore.
- Bug fix: Static batching is always disabled for StaticMeshes when ForceMaterial is not specified.
- Bug fix: CameraAttachedObject: Enabled property fixed.
- Better add-on creation support. Add-ons now supports the creation of additional windows with 3D and 2D views for the Resource Editor and Map Editor, giving add-on makers the ability to create powerful extensions.
- Built-in web browser UI widget. The new Web Browser control allows you to easily embed web pages in your project UI. It's powered by an embedded Chromium Web Framework. This features is currently supported only on Windows.
- Map Editor: Allow to enable or disable the Portal System from the menu.
- Mac OS X: Now minimal supported version of the system is 10.6.
- Bug fix: Deployment Tool can't deploy the project for Windows.
- Bug fix: Small fixes for the 3D models importer of the Resource Editor.
- Bug fix: Mac OS X: Fullscreen doesn't work on OS X 10.9+.
- Bug fix: Maya Exporter: Problem with normals in some cases.
- NeoAxis 3D Engine is now completely free. You can freely download the recently published SDK 3.0, which includes all features of the engine and tools. Now the technology will developed as free tool. Paid licenses will gives bigger access to engine source code.
- Map Editor: Property Tags have been added. They give the ability to add any kind of text parameters to each entity.
New property replaces old TextUserData. Porting the code: "entity.TextUserData" replace to "entity.GetTag( "TextUserData" )".
- The object to make splines in the editor has been updated. Affected objects: MapCurve, MapCameraCurve, RenderableCurve. You can now add lines and lines with rounded corners.
- RenderableCurve object: The ability to add lines and lines with rounded corners has been added. You can now also add collision for the object and set the spline radius per point.
- StaticMesh object: The new property EnabledInSimulation has been added.
- Bug fix: Sound was not working in WinForms applications.
- The ability to create very large landscapes with background loading of sectors. The tool to import height maps and paint layers was added. This new feature is only included in the Unlimited and Source licenses.
- Background loading of resources. Supports background loading of textures and 3D models. This new feature is only included in the Unlimited and Source licenses.
- Heightmap terrain: Support of heightmaps with 32-bit precision. Earlier, only 16-bit precision was supported.
- Exporter support for Autodesk 3ds Max 2015 and Autodesk 3ds Max 2015 Design has been added.
- Exporter support for Autodesk Maya 2015 has been added.
- Exporter for Autodesk 3ds Max and Autodesk Maya: Can detect automatically if Vertex colors should be exported.
- Now the minimal supported version of Visual Studio is 2010. Previously was 2008.
- .NET 4.0 is now the minimal supported version of .NET framework. Previously was .NET 2.0.
- Bug fix: Incorrect work of docking windows in 64-bit versions of Resource Editor and Map Editor.
- Bug fix: Memory leaks in the material class when shadows are enabled.
- Bug fix: Autodesk Maya exporter: The problem when exporting instanced geometry from the groups.
- Bug fix: Autodesk 3ds Max exporter: The error when exporting textures in non-English packages.
- Character physics: Compeletely refactored code of character physics.
- Character physics: Crouching support has been added.
- Profiling tool has been added to Map Editor. The tool provides detailed information about engine's components, resource utilization and frame rendering statistics.
- RenderableCurve type has been added. Renderable curve allows to render curves with thickness and materials.
- ParticleSystemSource.type has been added. This is a special object that is used add particle systems on the map.
- WPF support: Performance optimization: D3DImage support has been added. D3DImage feature brings a new level of interoperability between WPF and DirectX by allowing a custom Direct3D (D3D) surface to be blended with WPF's native D3D surface.
- WPF support: Correct processing of "Device lost" event for WPF widget within 3D view.
- PhysX: Kinematic bodies now supported. Sometimes controlling an actor using forces or constraints is not sufficiently robust, precise or flexible. For example moving platforms or character controllers often need to manipulate an actor's position or have it exactly follow a specific path. Such a control scheme is provided by kinematic actors.
- PhysX: The abibility to unlock motion axes has been added to Ball joint. New properties: PhysX_MotionLockedAxisX, PhysX_MotionLockedAxisY, PhysX_MotionLockedAxisZ.
- Animation Tree: Source block: Loop flag has been added.
- Animation Tree: Transition block fixed.
- Bug fix: Sound System: Calculation of rolloff attenuation wasn't working correctly.
- Bug fix: Map Editor: Unable to run compiled C# code in some cases.
- Bug fix: Static batching: Bug with materials.
- Static batching feature to improve rendering and physics performance has been added.
1. Enables static batching optimization for rendering static geometry. Static batching is a special optimization that reduce the amount of draw calls on GPU.
2. Enables static batching optimization for collision detection of static geometry. Static batching optimization merges physical bodies into big tiles in order to reduce the amount of bodies on the map.
Static batching only works for StaticMesh objects. In order to enable the static batching feature, use the following properties of the Map object: StaticBatchingRenderingEnabled, Map.StaticBatchingPhysicsEnabledInMapEditor, StaticBatchingPhysicsEnabledInSimulation. In order to configure static batching per object, use StaticMesh.AllowStaticBatching property.
- Character class: Improvements of character physics behavior and animation support.
- 32-bit versions of Resource Editor and Map Editor have been added. ResourceEditor_32bit.exe, MapEditor_32bit.exe.
- Resource Editor: Mesh Editor: Fixes behaviour on invalid file paths to skeleton files.
- GUI System: For some input methods, it proceeds children control in the ControlsCollection order, instead of reverse order. Methods are: OnKeyDown, OnKeyPress, OnKeyUp, OnMouseWheel, OnJoystickEvent, OnCustomInputDeviceEvent. Read more: http://www.neoaxisstorage.com/forum/viewtopic.php?f=4&t=8476
- Map Editor: Logic Editor: The list of referenced assemblies can now be configured in the Logic Editor. Before, the list of references assemblies was specified in "Data\Base\Constants\EntitySystem.config" file.
- Particle System: ColourFaderAffector2: StateChange property has been added.
- Exporter for 3dsMax, Maya: InvertNormals parameter has been added to help fix problems with inverted normals.
- Resource Editor: 3D Model Importing: InvertNormals parameter has been added to help fix problems with inverted normals.
- Map Editor: Logic Editor: Small improvements of C# code generation.
- Fixes compilation of NeoAxis Source SDK on Visual Studio 2012+.
- Bug fix: WaterPlane: When PhysicsHeight = 0 physics influence must be disabled.
- Bug fix: Character class: Sometimes character physics can freeze after exiting the vehicle.
- Bug fix: Map Editor: Save/load selection feature can broke map when object was deleted after saving to selection.
- Bug fix: Map Editor crash on creation types from \Data\Types\Influences.
- Bug fix: TPSArcadeDemo map crash.
- Bug fix: ProjectEntities source says missing GameCommon reference.
- Bug fix: Map Editor: Crash on Terminal.type object on InitialControl property.
- Bug fix: Compilation errors on Visual Studio 2013 for Professional and Unlimited SDKs.
- Bug fix: Sometimes car physics can freeze.
- Bug fix: Crash on CutSceneDemo demo map.
- Bug fix: WinFormsAppExample application: Crash in Visual Studio when MainForm opens.
- Bug fix: 64-bit versions of tools never enabled.
- Bug fix: Compilation errors on Visual Studio 2010-2013 for Professional and Unlimited SDKs.
- Bug fix: Sometimes car physics can freeze.
- Bug fix: Bug fix for ATI cards. All screen is black.
Major Improvements
- Tools: Tools user interface have been thoroughly updated and revised. Added large icons, ability to change fonts, and more.
- Tools: The ability to create add-ons for the Resource Editor and Map Editor have been greatly improved. The examples of creation add-ons have been added.
- Tools: Editor's transformation tool have been fully updated. Now it is more convenient, informative and features more customization options.
- New components system has been added. Now the structure of the engine contains core files and set of separated optional components. With the new components system, it's now much easier for developers to expand the engine and it's tools. In the future NeoAxis Group will open a Component Store to allow easy components exchange and sell for developers.
- Physics system of the engine has been significantly redesigned and optimized. The latest version of NVIDIA PhysX 3.2.1 is now integrated and features fast multithreaded calculation.
- Physics system: Realistic car physics at the level of simulators was added. See CarDemo map.
- All editions of the engine now includes the 64-bit versions of editors and applications.
New Features
- Physics system: Per triangle material support for triangle meshes and heightfield has been added.
- Physics system: The masses are now considered conditionally in kilograms. This is done in order to be closer to the standard of the International Units System.
- Physics system: Ability to change shape material properties (static friction, dynamic friction, bounciness) during simulation without recreation of the body.
- Physics system: New properties to configure quality/speed of the simulation have been added: Body.PhysX_SolverPositionIterations, Body.PhysX_SolverVelocityIterations.
- Physics system: New properties to configure limits of joints have been added: LimitsRestitution, LimitsSpring, LimitsDamping.
- Physics system: Motors have been updated: servo motor, geared motor, attractor motor.
- Physics system: HeightmapTerrain: The ability to override collision material for each layer of the terrain has been added.
- Physics system: Separate scene creation example has been added to PhysicsDemo.
- Sound system: Big changes in the sound system of the engine. Logically clear setting of the sound rolloff depending on the distance. Better performance on scenes with large amount of sounds.
- Sound system: StaticSound object of Map Editor has been renamed to SoundSource. New properties have been added: RolloffMode (Logarithmic, Linear, Manually), MinDistance, MaxDistance, RolloffLogarithmicFactor.
- Map Editor: Ability to save and restore the list of selected objects.
- Resource Editor, Map Editor: Fullscreen mode has been added.
- Map Editor: All base engine objects now have properties descriptions.
- Map Editor: The usability of layers has been improved. Added undo/redo support for layers.
- The structure of the SDK and Data folder has been completely redesigned.
- Support for first person animated models of weapon and hands.
- Screen Space Ambient Occclusion has been improved.
- Brand new fast scene graph implementation based on Octree.
- For Professional and Unlimited SDK, license activation has been added for the tools.
- FXAA antialiasing post effect: Luma calculation fix.
- Region class is improved: The performance is improved. Internally, the body volume used to detect collisions is not used anymore.
- Engine general: The ability to change native libraries directory during engine initialization.
- Portal system: The ability to set portal visibility distance has been added. VisibilityDistance property.
- Each base object now can be disabled. New properties: Zone.Enabled, CubemapZone.Enabled, Light.Enabled, StaticMesh.Enabled, SkyBox.Enabled, SkyDome.Enabled, Region.Enabled, Fog.Enabled, HeightmapTerrain.Enabled, DecorativeObjectManager.Enabled, CameraAttachedObject.Enabled, SoundSource.Enabled.
- MathEx library: Math fast methods such as MathFunctions.Sqrt16(), Vec3.LengthFast() and similar are removed. Internally it worked before as usual, not as fast methods.
- NeoAxis Web Player is not supported anymore.
- Bullet class: The ability to configure list of actions at hit. See HitObjects property in the Resource Editor.
- Character class: The ability to take damage when the speed of character is changed very fast.
- Shader models 1.x and 2.x are not supported anymore. Videocards with unsupported shader version will need to use fixed pipeline rendering mode. Hint: the developer can use fixed pipeline rendering mode for faster engine loading during the development. Use Configurator to enable fixed pipeline mode.
- Game: Profiling tool: File System page has been added. Now the developer can see which files are loaded.
- Character class: The behaviour of the character has been improved.
- Archives with resources support: Now to load the archive, you need to add a file with the same name as the zip archive, but with .archive extension. The ability to set a priority for loading resources from the archives has been added.
- Rendering system: Vertical sync is now enabled by default. The developer can disable the setting from the Configurator.
- Big refactoring improvements of API for EntitySystem.dll, MapSystem.dll.
- GridBasedNavigationSystem has been updated. The properties and usability have been updated.
- Game: Options: More options: the ability to change the rendering technique, antialiasing settings, depth buffer access setting, filtering, vertical sync, language.
Exporter for Autodesk 3dsMax, Autodesk Maya
- Exporter: Support of Autodesk 3dsMax 2014, Autodesk 3dsMax 2014 Design, Autodesk Maya 2014 have been added.
- Exporter: Much faster exporting for Autodesk 3dsMax and Autodesk Maya exporters.
- Exporter: The ability to merge close to each other vertices has been added.
Bugs Fixed
- Bug fix: Incorrect definition of graphics card for laptops with two switchable graphics.
- Bug fix: MathEx library: Box.IsContainsBounds method works incorrectly.
- Bug fix: Networking support: Incorrect behaviour of ReceiveDataReader.ReadVariableUInt64() method.
- Bug fix: Animation Tree: "speedSource" parameter for Animation block works incorrectly.
- Bug fix: Resource Editor: Mesh Editor: Scale tool break the normals.
- Bug fix: Physics system: Physics models are not working with additional scenes.
- Sound System: Doppler effect has been added. To enable Doppler effect for the attached sounds, you need to enable CalculateSoundVelocity property. To configure scaling of Doppler effect on the map use Map.SoundDopplerEffectFactor property.
- Bug fix: Resource Editor: Material Editor: Preview models are not visible when DiffuseVertexColor = True.
- Bug fix: Resource Editor: Particle System Editor: Crash on editing list of emitters.
- Bug fix: Resource Editor: Error on import skeleton animation.
- Model Import: Assimp library has been updated to 3.0.
Porting news
- Need to update invalid paths to skeleton files on the meshes. Relative paths without prefix ".\" are not supported.
- StaticMesh: Fixed issues with performance on NeoAxis 1.3.
- SceneBox: SceneBox.AmbientLight property has been added. The ability to control color of ambient lighting for the scene box separately from the main scene.
- MapCompositorManager: New property Camera.AllowMapCompositorManager has been added. The ability to control the viewports that can apply post effects from MapCompositorManager object.
- Game: Profiler: Showing more information about physics system.
- Bug fix: Map Editor: Crash on CubemapZone when one of object properties has been changed.
- Bug fix: Engine crash on FPSWeaponMaterial materials in some settings.
Major New Features
- Screen Space Ambient Occlusion (SSAO) technique has been added. SSAO is a real-time rendering technique that is widely used for effective approximation of Ambient Occlusion in CG. SSAO in NeoAxis is implemented as a post-processing effect, has many adjustable parameters for fine-tuning and allows to maintain the best balance between performance and image quality.
- Heightmap Terrain: Maximum height map resolution is increased, from 1024x1024 to 4096x4096 pixels (16 times bigger resolution). It has become possible due to the significant reduction of memory consumption.
- Heightmap Terrain: Support for terrain Level of Detail (LOD) has been added, resulting in increased terrain rendering performance. Terrain LODs in NeoAxis is based on "Continuous Distance-Dependent Level of Detail for Rendering Heightmaps" (CDLOD) technique implementation.
- LensFlareManager - new object to simplify the creation of camera lens flares effects.
- UISystem: SceneBox — new type of control has been added to the NeoAxis GUI System. SceneBox is a control with the ability to draw 3D scene within. Models, effects and other supported entities can be added to it via the Resource Editor or be managed through the game code. This class is convenient for the output of a simple scenes. For example, a garage scene with a choice of a car in an auto simulator game. To test the feature go to Game.exe, in the main menu click "Gui Test 2" button.
- Model Import: FBX importing support has been added.
- Resource Editor: Mesh Editor: Ambient Occlusion calculation tool has been added. The tool is intended for making AO texture for one mesh.
- WinFormsMultiViewAppExample.exe example application has been added. This is WinForms based application with demonstration of creation multi view applications.
- Map Editor: Exporting geometry addon has been added. The addon is intended to export mesh geometry from the map to FBX or Collada (DAE) formats.
- StaticMesh entity: Level of Detail (LOD) support has beed added.
New Demo Maps
- Platformer Demo with 2D physics — new map has been added to the NeoAxis SDK. New demo map shows the example of platformer-like game with 2D physics.
- Pathfinding Demo — new map has been added, demonstrating the pathfinding based on Navigation Mesh technology.
New Features
- Relative file path support has been added. Now you can specity file paths for referenced object by relative path to owner object. As example texture paths in the material now supports relative paths. Example of path for diffuse texture in the Box.highMaterial: ".\\BoxDiffuse.dds". Not all properties supports relative paths.
- Physics System: Physics System: Multi scene support. This is ability to create additional physical scenes which simulated separated from other. Many properties of PhysicsWorkd moved to PhysicsScene class. Access to main scene via property: PhysicsWorld.Instance.MainScene.
- Map Editor: The list of recently opened maps has been added to the menu.
- Map Editor: All StaticMesh objects now will have unique name with template "StaticMesh_{mesh name without path and extension}_{unique number if need}". To save old behavior need open Types\Base\StaticMesh.type in the Resource Editor and set AllowEmptyName to True.
- Resource Editor: Ability to edit engine's ".config" files has been added.
- Resource Editor: Options: Default lighting settings were added. New parameters: Ambient color, light diffuse color, specular color and light direction.
- Deployment Tool: More options for preparing product binaries were added such as ability to exclude files by patterns, ability to execute custom system commands during compilation.
- GridPathFindSystem: Ability to create many instances on the map. Previous engine version supports only one instance of GridPathFindSystem.
- GridPathFindSystem: Ability to override algorithm of Motion Map creation by means new virtual methods OnFillMotionMapVolumeCast and OnGetMotionMapHeightRayCastPiercing.
- RecastNavigationSystem: Ability to create many instances on the map. Previous engine version supports only one instance of RecastNavigationSystem.
- WaterPlane: Ability to set custom mesh of water plan has been added. Use CustomMesh property.
- GameCharacterAI class has been refactored. Recast pathfinding support has been added.
- EngineApp: Ability to override automatic language detection alhorithm by means EngineApp.OnDetectLanguage virtual method.
- HeightmapTerrain: Ability to import heightmap from image file has been added. Ability to export heightmap to PNG, TIFF formats.
- HeightmapTerrain: Ambient Occlusion calculation tool: Formula of calculation lighting has been changed.
- UISystem: Button class: SoundMouseIntoArea property has been splitted to two properties SoundMouseOver and SoundMouseOut.
- UISystem: Control class: New BackTextureFiltering has been added which allows to change filtering mode of background texture.
- UISystem: TextBox class: Ability to set clip rectangle has been added. Use ClipRectangle property.
- UISystem: ListBox: HideSelectionWhenDisabled has been added.
- Render System: Ability to change polygon mode per object has been added. Use MovableObject.OverridePolygonMode, StaticMeshObject.OverridePolygonMode properties.
- GuiRenderer: Allow to change texture filtering mode. Use PushTextureFilteringMode, PopTextureFilteringMode methods.
- Game: Example of rendering to the texture has been added. To test the feature go to Game.exe, in the main menu click "Gui Test 2" button.
- Game: Maps Window: The list of recently opened maps has been added.
- Game: The class for easy implementation multi view applications has been added. To test the feature go to Game.exe, in the main menu click "Multi View.
- GameMap: Ability to make maps with 2D physics. Use ResetYCoordinateForDynamicBodies property of Map entity in the Map Editor.
- DecorativeObjectManager: Ability to control list of objects which used as collision for decorative objects has been added.
- Model Import: MaxTexCoordChannelCount property has been added to add ability to fix max amount of texture channels in output meshes.
- Exporter: Autodesk Maya 2013, Autodesk 3dsMax 2013, 3dsMax Design 2013 support were added.
- Exporter: MaxTexCoordChannelCount property has been added to add ability to fix max amount of texture channels in output meshes.
- StaticMesh: Internally StaticMesh entity now uses MeshObject/SceneNode objects for rendering. When SplitGeometry is enabled StaticMeshObject objects will used.
- OpenGL: Cg Toolkit has been updated to 3.1.
- MathEx: In addition to Single floating points Double floating points functions where added. Such as Vec3D, Mat4D and all other.
- Utils: Ability to change Floating Point Model has been added. Example: "FloatingPointModel.Model = FloatingPointModel.Models.Strict53Bits;"
- GameEntities: Door class: Ability to make door with two bodies has been added.
- MathEx: ExpressionCalculator class has been added. The class is intended for calculation simple formulas. Example: "3 + Cos(x + 5)*2".
- PhysX Physics System: The cache for cooked triangle meshes has been added. As result faster loading maps. Disable feature from Definitions\PhysicsSystem.config.
- Compositors: Ability to change texture size of compositors from the code. Use virtual CompositorInstance.OnCreateTexture method.
- ShaderBaseMaterial: Ability to disable ambient lighting per material has been added. Use AmbientLighting property.
Bug fixed
- Bug fix: Source SDK: Compilation errors on VS2010.
- Bug fix: World Serialization: Broken structure of bodies connected by joints after loading serialized world.
- Bug fix: Mac OS X: Fixed fullscreen mode on Lion 10.7.
- Bug fix: Mac OS X: Invalid system language detection.
- Bug fix: PhysX Physics System: Incorrect player character collision with walls in some cases.
- Bug fix: Model Import: Crash on DAE files created by the latest Blender.
- Bug fix: Model Import: Minor bug fixes.
- Bug fix: StaticLightingManager: Incorrectly calculation of gabarites of Irradiation Volume.
- Bug fix: ListBox: Working double click event when list box is disabled.
- Bug fix: Bug inside constructor Mat4( Vec4 x, Vec4 y, Vec4 z, Vec4 w ).
- Bug fix: ShaderBaseMaterial: Invalid rendering for Blending = AlphaBlend, Lighting = true.
- Bug fix: UISystem: TextBox class: Incrorrect rendering word wrap drawing mode.
Porting Issues
- DecorativeObjectManager: Need configure list of Geometries. The engine now supports to control list of objects (Geometries) which used as collision for decorative objects.
- MathEx: Some class were been renamed. Vec4i -> Vec4I, Vec3i -> Vec3I, Rangei -> RangeI, Boundsi -> BoundsI.
- Map.DoDebugRenderUI() method has been renamed to DoRenderUI().
Bug fixes
- Bug fix: Chinese localization bug fix. Unable to open map in the Map Editor. You can fix this bug manually: http://www.neoaxisstorage.com/forum/viewtopic.php?f=4&t=6337
- A new tool for importing 3D models has been added. This is a built-in tool inside the Resource Editor with the ability to import 3d models. This tool supports almost all popular 3D format, including Collada, 3DS, X, OBJ, partially Blender format and many others. Collada and X format supports importing of skeleton animation. The tool allows configuration of import preset for future usage.
- Map Editor: Automatic resource update mode has been added. This mode allows detecting external changes and updating resources that were changed from outside the editor. Mode supported for textures, materials and meshes. You can disable automatic updating in the Options dialog.
- Sun entity. New Sun entity has been added. This is improved Direction Light source with the ability to draw billboard of the sun. Also this entity used for new Light Scattering post effect.
- Toolset Gizmo is improved. Rotation tool is improved, cursors has been added, ability to change size of Gizmo from Options dialog.
- Map Editor: New ability to quickly move, rotate or scale objects using Step Movement tool. With this ability Map Editor become even more complete and powerful than it was before.
- Map Editor: New feature that we'd like to highlight is the ability to instantly move selected objects to the camera — Move Selected Objects to Camera. Now you can select required object(s) through viewport or Map entities list, hit the button and this object(s) will be moved to the camera. This feature can be useful when you need to place an object on where you're looking at and don't want to waste your time looking for this object, dragging it, moving, etc. — just position your camera, hit the button and your work is mostly done.
- Map Editor: Lock Selected Objects to Camera feature. This is an alternative way to get your objects to where you want them to be — upon feature activation selected objects will be attached and "locked" to the camera and will move with it. While it may be a little inconvenient to use this feature with large objects, many small objects like stones, barrels, boxes and stuff like that can really benefit from it — just lock them to your camera and move it while having your object before your eyes. When all things are in place — just hit the same button, disable this feature and objects will remain in their places.
- Resource Editor: Free camera behavior for editing mode has been added. You can activate free camera mode from ToolBar.
- Resource Editor, Map Editor: Add-on system has been added. Now developers can make various add-ons by means of standartized way.
- Resource Editor: "Refresh" button for Resources Tree has been added.
- Resource Editor: New Camera Options: Near Clip Distance, Far Clip Distance, Field Of View (FOV). You can change parameters from Options dialog.
- Toolset: Better stability on invalid textures, materials and meshes.
- Resource Editor and Map Editor: Better log messages display on the screen. Now with word wrapping of long messages.
- Localization: Localization Server service. This is a service that helps making translations of the engine to other languages. Service consists of a server-based translations database, a web interface and an add-on for Resource Editor (Localization Server Add-on), enabling convenient translation updates. The Localization Server Add-on is available via the new Add-on system of Resource Editor.
- Localization: Simplified Chinese translation, Ukranian, Belarusian and French localizations have been added.
- Localization: LanguageManager.AlternativeLanguageFileLoaderHandler event has been added. This enables the ability to load language texts from other source/format.
- Localization: Localization support for Deployment Tool and Shader Cache Compiler has been added.
- Deployment Tool: Ability to set default language has been added.
- Toolset: Selection language dialog during first run has been added.
Post Effects
- MapCompositorManager entity. This is a new entity that enables configuration list of post effects on the map.
- Depth of Field post effect has been added. This feature includes background and optional foreground blur, ability to make Tilt-Shift effect and auto focusing.
- Volumetric Light Scattering (God Rays) post effect has been added.
- Vignetting post effect has been added.
- Grayscale post effect is improved. The ability to specify Intensity has been added that allows making smooth transition.
- Profiler: Post Effects window is improved. Now it includes Manual Control option and showing queue of enabled post effects.
- Post Effects: Source code of post effects is refactored.
- Full Intel HD Graphics videocards support.
- Physics System: Ability to use dynamic bodies with triangle mesh shapes. In addition to convex-hull support, now usual triangle meshes can be used as a collision mesh. Internally mesh automatically divided to many convex-hulls. Developers can configure decomposition parameters in Physics Model Editor.
- Game Simulation: When game is paused the particle systems, texture animations and shader animations will be suspended.
- The behavior of Camera.ProjectToScreenCoordinates method has been changed. No more clamping negative values to zero.
- GuiRenderer: AddFillEllipse() method has been added.
- Engine Profiler: Ability to show list of loaded meshes and textures.
- Virtual File System: Special mode for logging all files operations. VirtualFileSystem.LoggingFileOperations property has been added.
- Fonts: BitmapFontGeneratorToNeoAxisConverter.exe is improved. Fonts with invalid characters in XML could produce errors before.
- Engine Console: Better display of log messages on the screen. Now with word wrapping of long messages.
- Gui rendering: Fog support for In-Game 3D GUI has been added.
- Switching windowed/fullscreen mode has been improved on Windows.
- Debug Geometry: Now draws with small depth offset to the camera to preventing z-fighting effect.
- WaterPlane: Now writes data to the depth buffer when it is not transparent.
- WaterPlane: AllowFog property has been added.
- FXAA antialiasing post effect now is enabled by default on OpenGL for modern video cards.
- The official support of new texture file formats has been added. This includes JPEG 2000, TIFF, GIF, ICO.
- DDSFormat.dll has been removed. Sources now are inside Renderer.dll.
- MathEx: Mat2, Line2, Rangei structures have been added.
- FreeImage library has been updated to 3.15.3.
- Networking: Lidgren networking library has been updated to 2012-02-15.
- Materials: Optimization: Bug fix in the OGRE which makes very slow loading when project contains big amount of materials.
- Materials: Faster loading by preventing double initialization of materials.
- ShaderBaseMaterial: Improvements for faster initialization.
- Virtual File System: Many internal improvements for better performance.
Bug Fixes
- Bug fix: Mac OS X: Broken fullscreen mode on 10.5 Leopard.
- Bug fix: Mac OS X: Error during joystick detection on some systems. "InputSystem: Joystick Initialization: Unable to get device name." error message.
- Bug fix: ShaderBaseMaterial: Incorrect rendering of double sided materials on OpenGL and Direct3D Shader Model 2.0.
- Bug fix: When EngineApp.SuspendWorkingWhenApplicationIsNotActive option is disabled application will frezee during switching between fullscreen/windowed modes.
- Bug fix: Configurator: Invalid detection list of available languages when files from Data directory are inside archive.
- Bug fix: Mesh Editor: Incorrect behavior of scaling tool for animated meshes.
- Bug fix: OpenGL: Unable to use DDS textures in ByteLA and ByteA formats.
- Parallax Occlusion Mapping (POM) technology support has been added. POM allows to improve rendering of surfaces using displacement mapping. This is an improved version of Parallax Mapping. POM in NeoAxis for now available only in Direct3D.
- Fonts: Font Editor in addition to ability to specify the necessary symbols by intervals, introduced new ability to specify the necessary symbols by string.
- Model exporter for 3dsMax: Adds support for Autodesk 3dsMax Design 2011 and 3dsMax Design 2012.
- Mac OS X: File handling was optimized.
- Mac OS X: Added ability to minimize the application by Cmd+Tab command.
Bug fixes
- Bug fix: Fatal error during loading of the map with pre-computed fonts.
- Bug fix: PhysX initialization error on some Windows systems.
- Bug fix: HDR Adaptation effect works incorrectly.
- Bug fix: Incorrect loading of symbols when using some TTF fonts.
- Bug fix: Mac OS X: After full-screen application minimization music continued to play.
- Bug fix: Interface system: Button could remain pressed if during the pressing it become invisible or inactive.
- Bug fix: ODE physics: Incorrect work of MeshShape if body contains several primitives.
- Bug fix: After the application closure error message could appear: "Fatal: PhysicsWorld: Shutdown: scaledMeshGeometries.Count != 0.".
- Bug fix: Editors: Most list editors when you press the Cancel button operated as if user has decided to save changes.
1.1 Final
- Deployment Tool: Engine has been adapted for deployment to Mac App Store. On Mac OS X all project files including code libraries and Data directory now will be compiled inside Game.app directory. Configutor.app has been updated too.
- UISystem: ControlManager.DrawCursorWithPerPixelAccuracy property has been added. This property provides the ability to draw cursor without per pixel accuracy. New per pixel cursor rendering mode has been added in NeoAxis 1.1 Beta.
- Bug fix: Corrupt rendering on nVidia videocards when depth access feature and additional posts effects are enabled.
1.1 Beta
Major New Features
- The long-expected option to use depth buffer as usual texture has been added. This feature allows to integrate numerous modern rendering features such as Soft Particles, Depth of Field, SSAO, etc. Technically this feature uses Multiple Render Targets (MRT) for preparing depth buffer. Now, you have no need for special Z pre pass, as well as no need for rendering geometry twice. Currently, this feature is only available for Direct3D.
- Built-in Soft Particles technology support based on the new depth access feature.
- A new Animation Tree system has been added. With this major feature you can configure animations much easier. You don't need to write that much code for animation support anymore. Now you can do this by means of an animation tree file. This file is a scheme with operations and connections. Later visual editor will also be added.
- New navigation mesh pathfinding has been added. In addition to grid based and way point navigation systems NeoAxis SDK now includes powerful pathfinding system based on navigation mesh technology. The engine uses the open-source Recast pathfinding system internally.
- The toolset supports localization now and can be easily translated to another language.
- A Russian version of toolset is now available. Resource Editor, Map Editor and a number of other tools were translated to Russian.
- The Awesomium library has been integrated into NeoAxis 3D Game Engine. The Awesomium library enables embedding full-fledged web browser functionality into applications and games. The library is provided as an additional engine plugin.
- Advanced Vegetation Material has been added. With this material it is now possible to make high quality trees, shrubs and grass.
- FXAA antialization post effect has been added.
New Demos
- A new VillageDemo map has been added. This new demo is a complex demo map, which demonstrates new vegetation shaders, special camera behavior based on splines and water plane reflection optimization.
- A new BallGame map has been added. This new game type demo is an example of a casual physics-based ball control game.
- A new DynamicGeometryExample map has been added. This new map demonstrates dynamic mesh creation and updating.
- Physics Model Editor: Undo support has been added.
- Physics Editor: You can now set body mass manually by specifying the Mass property. The old method, where body mass was calculated from shapes density will also remain. See MassMethod property description for more information.
- Autodesk Maya 2012 export support has been added.
- ShaderCacheCompiler: New purge cache option has been added. You can now update cache without deleting the old cache.
- Configurator: Automatic language detection option has been added.
- Resource Editor: Invert Mouse Wheel option has been added.
- DecorativeObjectManager: The strength parameter has been added to the painting tool.
Engine Features
- Character: Realistic wiggle of FPS camera when walking.
- ShaderBaseMaterial: Culling property was renamed to DoubleSided. Compatibility was saved.
- ShaderBaseMaterial: Translucency map support has been added.
- ShaderBaseMaterial: HalfLambert lighting has been added.
- ColladaMeshLoader: Better importing and exporting support. Google SketchUp support.
- GuiRenderer: The AddTextWordWrap() method has been added. This method enables automatically drawing word wrapped text.
- GuiRenderer: The AddTextLines() method has been refactored.
- UISystem: Button class: ClickMaskTextureCoord property has been added. Enables setting texture coordinates for a mask.
- UISystem: API has been slightly changed for performance reasons. Signature of Control.MouseMove event has been changed. Control.OnMouseEnter() and Control.OnMouseLeave() methods have been removed. You can use MouseEnter and MouseLeave events instead.
- UISystem: Improved cursor rendering with per pixel texture accuracy.
- EngineApp: Improved Visual Studio Debugger support in fullscreen mode.
- Engine Profiler: Loaded fonts count and using memory size information.
- Physics System: Joint.Motors property has been renamed to Joint.RelatedMotors. Another similar methods have been renamed as well.
- BillboardSet class: SetCustomGpuParameter() method has been added which enables adjusting custom per object shader GPU parameters.
- PortalSystem: An option to hide zones by camera distance has been added. Zone.VisibilityDistance property has been added.
- Fixed Frame Rate support has been added. EngineApp.Instance.MaxFPS property has been added.
- Support of language directory change. LanguageManager.LanguagesDirectory property has been added.
- Support of font directory change. FontManager.FontsDirectory property has been added.
- WinForms Framework: FXAA antialiasing support has been added.
- WFPApp Framework: HDR support and FXAA support have been added.
- WinForms, WPF frameworks and demo applications have been improved.
- WinForms, WPF example: Free camera support has been added.
- WinForms, WPF example: Networking support has been added.
- The TPS camera in the game has been improved. The camera no longer not penetrates through walls.
- Skeleton animation: Blend masks for animation states have been added.
- GameMap: PlayerUnitType property has been added. This feature enables specifying a type of player character for a map.
- The ShowDepth compositor has been added to display depth texture data.
- ShaderBaseMaterial: DepthOffset property has been added. With this feature you can change values while writing to depth buffer. You can use this for rendering multilayer Soft Particles.
- The engine will now automatically unload old textures before loading a new map.
- The engine now compiles with _HAS_ITERATOR_DEBUGGING=0, _SECURE_SCL=0 definitions on Windows.
- Weapon class has been improved. Now, it is possible to use two alternative weapon meshes separately, one for usual TPS camera, second for FPS camera.
- Log.Handlers.InvisibleInfoHandler has been added. You can now get detailed logs.
- HeightmapTerrain: Visible property has been added.
- PhysX has been updated to 18.104.22.168.
- Better game character physics in PhysX.
- TextBlock Editor: Multi-line strings support has been added.
- WaterPlane: Clip volumes for reflections. With this feature you can set volumes on map to cull objects which are never to be seen on reflections. Well-configured volumes can increase performance.
- Optimization: UISystem has been significantly optimized.
- ShaderCacheCompiler: Less memory use during compilation.
- Shader Cache: Less memory use.
- Optimization: NUmerous internal optimizations related to shaders binding.
- Optimization: Matrix4.inverse() is now optimized for SSE on Windows.
Bug fixes
- Bug fix: Crash in fullscreen mode on Mac OS X 10.7.
- Bug fix: When you drag mouse game FPS can decrease.
- Bug fix: Mac OS X: Cannot load JPG textures on some systems.
- Bug fix: Exporter: Unable to export after changing source model in some cases.
- Bug fix: Exporter: Incorrect exporting when model has invalid file path characters.
- Bug fix: Crash when set EngineApp.AllowJoysticksAndCustomInputDevices to False in some cases.
- Bug fix: UISystem: Control.Enable property doesn't affect children classes.
- Bug fix: Unable to run game with installed Microsoft .NET Framework 4 on some systems.
- Bug fix: MouseIntoArea sound plays when the control is not visible.
- Bug fix: WPFAppFramework: UI controls are deleted when window size is changed.
- Bug fix: WPFAppFramework, WinFormsAppFramework: water reflections are drawn with latency.
- Bug fix: MapObject: The attached MapObject can jitter when attached to a bone slot.
- Bug fix: On systems with big DPI text size engine can crash in fullscreen mode.
- Bug fix: TTF Fonts: Minor periodic freezes in some cases.
1.0 Final
- Multi-Monitor mode was added. Now you can run application which will use all available monitors. New option was added to Configurator.
- MonoDevelop IDE is supported now.
- Networking: Lidgren library was updated to 2011-06-09.
- EngineApp: EngineApp.AllDisplays property was added. Returns list of all available monitors.
- EngineApp.SetWindowRectangle method was added.
Bug fixes
- Bug fix: Resource and Map Editors crashes if installed only .NET 4.0 Client Profile (no installed .NET 4.0 Extended).
- Bug fix: Incorrect compilation of Logic Editor's C# code when .NET 4.0 is installed.
- Bug fix: Deployment Tool: Can't deploy OpenAL Sound System.
- Bug fix: Networking: Crash in some cases. "Message too large! Fragmentation failure?" error.
- Bug fix: COLLADA loader: Crash then two sub meshes have one material.
- Bug fix: Crash on client in networking mode during loading map in some cases.
1.0 Beta
- Apple's Mac OS X now supported.
- Map Editor: HeightmapTerrain editor was refactored.
- Resource Editor: Sort resource tree by Name, Date, Size, Type.
- Resource Editor: Resources tree: Multiselection by Shift and Control keys.
- Toolset: Ability to reset properties of resources in the editors.
- Exporter: Import/Export settings.
- Exporter: Maya 6.x support.
- Exporter: 3dsMax 2012 support.
- 3dsMax Exporter: Normal Modifier support.
- ShaderCacheCompiler: More detailed information provided during compilation process.
- ShaderCacheCompiler: Maps can be preloaded as well during shader compilation. HeightmapTerrain shaders will be pre-compiled with this new method.
- Map Editor: Added "Move Selected Entities To This Layer" context menu.
- Resource Editor: Gui Editor: Scaling option for Test Mode. See Options Window.
- Resource/Map Editor: Gizmo: Rotation Sensitivity option in Options Window.
- Resource/Map Editor: MaterialScheme property in Options Dialog.
- Resource/Map Editor: "Show Splash Screen At Startup" option.
- Resource Editor: Show detailed info about ogg, wav and ogv files.
- Resource Editor: Added frame-rate limiter options in editor. Previously was limited to 50 FPS and cannot be changed.
- Debug Information Window was refactored. Now called Engine Profiler.
- EngineApp.TimeScale and SoundWorld.MasterChannelGroup.Scale properties were added. You can now control world time speed. Values can changed from the Engine Profiler.
- Engine Profiler: Joystick page was added.
- Post Effects Window and Debug Options were moved to the Engine Profiler.
- Game: Can now control player movement with keyboard arrow keys alongside WSAD as defaults.
- Game: LongOperationCallbackManager during map loading on client in networking mode.
- EngineApp: Better window management during engine system pause (Inactive or minimized application window).
- EngineApp: Particle systems and ribbon trails will be suspended during engine pause.
- EngineApp: Better application cursor management.
- Engine Profiler: More details for frame statistics. Compositors rendering information.
Entity System and Game Objects
- CubemapZone: Completely refactored. Entity now supports dynamic cubemap generation. Next properties were added: UpdateEveryFrame, ShadowsEnabled, MaterialScheme, UseHDRTexture, AllowHDRCompositor. See DynamicCubemapExample map as example.
- WaterPlane: Wide source code changes for generation reflections. Simpler and more understandable code.
- WaterPlane: UseHDRTexture property was added.
- StaticSound: ReplayDelay property was added. Number of seconds before playing the sound again.
- Logic System: Ability to resume waiting thread. Access from C#: entity.LogicObject.WaitingThreads property. From Logic Editor: Logic.ResumeWaitingThread( Entity entity, string threadName ).
- MapObject: Ability to reload new physics model after entity creation.
- MapObject: Attached Mesh: Ability to recreate list on linked bodies to sleketon.
- MapObjectAttachedParticle.ForceCoefficient property has been removed. Users must implement this manually. See MapObjectAttachedParticle.SourceParticleSystem property. See PhysicalStream.cs as an example.
- Added MapSystem: RenderQueueGroup property for attached objects.
- MapObjectAttachedMesh, MapObjectCreateMesh, CameraAttachedObject: ForceMaterial property support for manual level of detail.
- ColorCorrection post effect was added.
- Hardware Instancing optimized for better performance.
- More options for Hardware Instancing. See Data\Definitions\Renderer.config.
- OpenGL Rendering System: CG Compiler 3.0.
- DDS format: ByteA, ByteAL formats are now supported.
- Mesh.SubMesh: TextUserDictionary. This is list of string key-value pairs of items that can be configured in Mesh Editor (Resource Editor). Can be used for specifying custom data for individual meshes.
- WinFormsAppFramework, WFPAppFramework: HDR support.
- HDR is now disabled by default.
- ShaderBaseMaterial: ReceiveSimpleShadows property was added.
- PhysX 2.8.4. One of the new feature of PhysX 2.8.4.x branch is the driver-less model. In a word, with driver-less model, the PhysX system software is no longer required to run a PhysX app.
- Added PhysX 64-bit binaries for Windows.
- HingeJoint: PhysX_SetSpring, PhysX_SetMotor features were added.
- PhysicsSystem: ServoMotor was refactored. Need reconfigure parameters for PhysX.
- PhysXWheelShape: GetAxleSpeed, SetAxleSpeed methods were added.
- Physics System: Names for Body, Joint, Motor, Shape can have any characters including Unicode characters.
- Configurator: Physics: "Allow hardware acceleration" check box was added.
- Networking: Reloading of the map without the need to re-create the server.
- Updated dedicated server application. Map loading dependence removed. Maps can be changed without clients being disconnected.
- Lidgren Network library has been updated to 19.02.2011.
Collada Support
- Collada loader: Material support.
- Collada loader: Better support, especially for Softimage and Blender.
- Support exporting from mesh to Collada (mesh -> dae).
UI System
- UISystem: Controls classes were renamed, removed the "E" prefix. Example: EButton -> Button. Recommended to update your map files manually.
- UISystem: EditBox: TextTypingFilter, UpdatingTextControl events. Can be used for making password and masked text fields. See examples in Gui Test Window in main menu.
- UISystem: Control.Name can have any characters including Unicode characters.
- UISystem: Control.OnMouseMove now occurs even if control covered by other control by means of MouseCover property.
- UISystem: Control: MouseEnter, MouseLeave events were added.
- UISystem: Faster loading of *.gui files.
- OpenAL implementation was switched to OpenAL Soft library.
- OpenAL now is the default sound system.
Input System
- Input System: Force Feedback now supported bringing NeoAxis 100% joystick support.
Web Player
- NeoAxis Web Player 1.4 now supports .NET 4.0.
- Web Player: Unicode file paths now supported.
- Engine will use .NET 4.0 if it is installed on the system otherwise it will revert to using .NET 2.0.
- Improved Unicode support. Resource names can now include Unicode characters. Example: Entity type names can have Unicode characters. Rendering system and OGRE internally use Unicode strings.
- Mono Runtime 2.10.1. Uses .NET 4 profile now. .NET 2.0 was removed.
- Optimization: Faster engine loading (faster shader cache loading).
- Optimization: Faster map loading (faster shader initialization).
- EngineApp.IsResourceEditor, EngineApp.IsMapEditor properties were removed. Use EngineApp.ApplicationType property now.
- Added EngineApp.IsKeyLocked() method. These keys can be checked for toggle state: EKeys.Insert, EKeys.NumLock, EKeys.Capital, EKeys.Scroll.
- MyNativeDLL example. Example for connecting native libraries to the project.
- Renamed EngineApp: EngineApp.UseSystemMouseDeviceForRelativeMode to EngineApp.UseDirectInputForMouseRelativeMode.
- TextBlock: Names can now contain any characters including Unicode.
- SharpZipLib has been updated to 0.86. Early was 0.85.5.
- Nvidia Texture Tools 2.0.8.
- Custom Mesh Support: Custom meshes saving support in addition to loading support. dae -> mesh support.
- Video support: Files in *.ogv format can be used. Early only *.ogg extensions was supported.
Bug fixes
- Bug fix: MapObjectAttachedObject: PositionOffset, RotationOffset, ScaleOffset. Incorrect behaviour when the properties were changed before attaching (before MapObject.Attach call).
- Bug fix: Save window state in windowed mode in next run.
- Bug fix: GuiRenderer: Text rendering: Fixed position of characters could be incorrect by one pixel vertically.
- Bug fix: Some meshes with pose animation can crash the engine.
- Bug fix: Fullscreen fading effect artifacts with fullscreen anti-aliasing enabled.
- Bug fix: UISystem: After control creating Control.MousePosition will returns "0 0". MousePosition returns true value only after first MouseMove event.
- Bug fix: UISystem: Incorrect Control.MousePosition property value for hidden controls. I.e. when Control.Visible = false.
- Bug fix: Crash joystick support in 64-bit version.
- Bug fix: Resource and Map Editor: Arrow keys are now supported for movement alongside WSAD keys.
- Bug fix: Mouse wheel crash on 64-bit version.
- Bug fix: Crash during the change from fullscreen/windowed mode on 64-bit version.
- Bug fix: EngineApp: KeyDown event: RMenu key never detected.
- Bug fix: OpenGL Render System: No anisotropy filtering.
- Bug fix: MeshManager.Instance.CreatePlane(). Generated invalid mesh if number of segments was greater than 65,025. This was due to the use of 16-bit index, engine now uses 32-bit index if vertex count is greater than 65,025.
- Bug fix: Post Effects: Black screen when "Apply to screen GUI" was enabled and SceneManager.Instance.Enable3DSceneRendering = false.
- Bug fix: Engine crash if file path to Bin directory had Unicode characters.
- Bug fix: Web Player: Crash if system user name had Unicode characters.
- Bug fix: MapObject attached particles: Incorrect behaviour when RepeatDelay property was initialized.
- Bug fix: Crash for maps with logic code which loaded from file archive.
- Bug fix: Invisible objects attached to bone slots flicker.
- Bug fix: Lowest LOD in mesh files for shadow generation was always used.
- Bug fix: HeightmapTerrain: Black lines on tile borders with enabled full-scene antialiasing.
- Bug fix: HeightmapTerrain: Incorrect physics interation near holes on PhysX.
- Bug fix: WaterPlane: No reflections for additional render targets, WinFormsAppExample and WPFAppExample.
- Bug fix: Collada loader: Texture coordinates wrapped by Y.
- Bug fix: 3dsMax Exporter: Incorrect normals for skinned models.
- Bug fix: Collada loader: 90 graduces rotated model when importing from Softimage.
- Bug fix: HeightmapTerrain: Textures can be broken after Direct3D device lost.
- Bug fix: WFPAppFramework: No full-scene antialiasing.
- WPF support. Framework for WPF applications with example (WPFAppExample.exe).
- Game: DebugGeometry is no longer used for object selection. New method projects to screen GUI renderer. Visual upgrade compared to old method, looks much nicer.
- WindowsAppFramework.dll has been renamed to WinFormsAppFramework.dll.
- WindowsAppExample.exe has been renamed to WinFormsAppExample.exe.
- Bug fix: Major bug fix with Regions in Map Editor. Cannot change scaling of regions.
Major changes
- Parallel-Split Shadow Map (PSSM) technology has been added.
- Full support of point light shadows. Shadows are based on cubemaps now.
- Web Player 1.3. Web Player: Networking support.
- Binaries for 64-bit systems.
- Visual Studio 2010 and .NET 4.0 support.
- GuiRenderer: Custom GUI shader mode rendering. Now you can make custom shader programs for GUI. See video: http://www.youtube.com/watch?v=ED_UtcgMNQc.
- 3dsMax and Maya 64-bit versions support. 3dsMax 2011 support. Maya 2011 support.
- Custom mesh format support. Now can be implemented any other format in addition to base OGRE mesh format.
- COLLADA mesh format support.
- New formula for calculating attenuation for Point and Spot lights.
- Binaries for 64-bit systems. By default engine uses 32-bit mode. If you want to use 64-bit version you need compile Game.csproj project with "Any CPU" option.
- Deployment Tool: Supports deployment of 64-bit version of engine.
- Motion Blur: Calculation formula has been changed. Now blur factor is not dependand of current frames per second.
- Custom mesh format support. Now you can implement any other format in addition to base OGRE mesh format. This will works as usual mesh, just with different loading method. As example you can attach it to MapObject in the Entity Type Editor as usual mesh file.
- COLLADA mesh format support. Now you can use COLLADA files directly in NeoAxis. Also you can convert this to usual mesh file in the Resource Editor. Does not support animation and materials import at this time.
- Game: Callbacks during engine/map loading. It is now possible to update screen during map loading. Loading progress bar can be realized now.
- Game: Gui Test Window. See main menu. There you can find example of custom GUI shader mode.
- Game: Fadeout effect after map loaded.
- Game: Shadows options has been updated.
- Game: Not showing cursor during engine loading.
- Visual Studio 2010 and .NET 4.0 support.
- EntityTypes class: Use DestroyType() method instead of ManualDestroyType(), ManualUnloadType().
- EntityTypes class: Use LoadType() method instead of ManualLoadType().
- Map: SceneGraphType now is Octree by default.
- Scene Management: Better culling of visible objects.
- Scene Management: Better culling for Point, Spot and Directional lights.
- Renderer: Ability to manage affecting lights for each object. See RenderingLowLevelMethodsImpl.cs.
- Light: Vec4 CustomShaderParameter property. Now you can easily transfer custom parameter to shaders for each light.
- GridPathFindSystem: Source code available in the Indie SDK now. Earlier only in Commercial SDK.
- RenderQueueGroup: "Background" and "Overlay" items are removed because they are not neeeded at all.
- Log: Returns log file path for fatal event handler.
- Gun: Better dispersion angle calculation.
- World load/save: Custom serialization values will be cleared after saving world now.
- ShaderBaseMaterial: Defines shader extensions: VERTEX_BODY_SHADOW_CASTER_END, VERTEX_BODY_SHADOW_CASTER_BEGIN.
- RendererWorld class: Initialization options like MaxVertexShadersVersion, FullSceneAntialiasing has been moved to RendererWorld.InitializationOptions property.
- Configurator: You can choose rendering device for Direct3D (if you have many videocards on system).
- Mono Runtime: System.Xml.dll, System.Security.dll has been added to base package.
- RadialBlur post effect: Now you can change blur factor and center parameter from C#. See RadialBlurCompositorInstance.
- DirectX runtime has been updated to June 2010 (d3dx9_43.dll, D3DCompiler_43.dll).
- ShaderBaseMaterial: No HeightMap support for Shader Model 2 anymore.
- ShaderBaseMaterial: For Shader Model 3 light attenuation is calculated in pixel shader now. Earlier it was in vertex shader. For Shader Model 2 this is done in the vertex shader as earlier.
- GameCommon: LowLevelSceneManagement.cs -> RenderingLowLevelMethodsImpl.cs
- Lighting: New formula for calculating attenuation for Point and Spot lights in shader mode. New properties has been added: AttenuationNear, AttenuationFar, AttenuationPower. For fixed pipeline old formula is saved. Be attentive, you need configure light properties, because compatibility with old engine version is not saved. Thanks to Sodan Kerjuu for this formula.
- Full scene antialiasing now is 2 by default. You can change default value in the GameEngineApp.OnBeforeRendererWorldInit() or in the Configurator.exe as early.
- Editors: Multiselection support for next types of properties: ColorValue, Font, Texture, Vec2, Range.
- Resource Editor: Font Definition Editor: PreviewText property in the Options.
- Resource Editor: No limitation to Shader Model 2 by default. See \Data\Definitions\ResourceEditor.config.
- Map Editor: Selection by mouse double click in specified radius. You can change selection radius in the Options.
- Map Editor: Clone and delete items support from the menu.
- Map Editor: MapObjects with physics model do not support scaling. Now you can't scale them by gizmo and in runtime.
- Map Editor: Logic Editor: Using ScintillaNET for source editor now.
- Gui Editor: No geometry scaling in the test mode.
- Exporter: 3dsMax and Maya 64-bit versions support.
- Exporter: 3dsMax 2011 support.
- Exporter: Maya 2011 support.
- Shadows: Parallel-Split Shadow Map (PSSM) technology has been added. Low setting: PSSM3 + PCF2x2, Medium setting: PSSM3 + PCF4x4, High: PSSM3 + PCF poisson disk filter 32.
- Shadows: Full support of point light shadows. Shadows are based on cubemaps now.
- Shadows: Casting shadows from transparent objects (For alpha blend materials).
- Shadows: Calculation of shadow depth bias has been improved. Now you can calibrate shadows easier.
- Shadows: In the SDK (even in Non-Commercial SDK) practically all code for shadow generation is now available. This means you can implement other shadow tecnhiques easy. As example Variance Shadow Maps (VSM).
- Shadows: StaticMesh, MapObject attached mesh: RenderingDistanceForShadows property.
- Shadows: DefaultShadowCaster material now done as high level material. See source in the GameCommon.
- Shadows: shadowCasterRenderBackFaces parameter has been removed from \Data\Definitions\Renderer.config. See RenderingLowLevelMethodsImpl.cs if you want to change that.
- Shadows: Better shadowmap texture distribution for non-PSSM mode.
- Shadows: Camera.FarClipDistance can't be zero for stencil shadows anymore. Now this issue has been solved internally into engine core.
- Shadows: Many Map shadows settings has been updated. See Map Editor.
- Shadows: Better culling during generation shadowmaps.
- Shadows: New DrawShadowDebugging options. At this time this option shows only PSSM splits. You can activate this mode in Game and Map Editor.
- GuiRenderer: Custom GUI shader mode rendering. Now you can make custom shader programs for GUI (quads, text, lines, triangles). Ability to bind textures added. Transfer gpu parameters to shaders from code. See video: http://www.youtube.com/watch?v=ED_UtcgMNQc. See example in the Main Menu.
- GuiRenderer: Now parameters such as clip rectange, blending type must be passsed via Push/Pop methods. See PushSpecialBlendingType(), PopSpecialBlendingType(), PushRenderBehindScene(), PopRenderBehindScene(), PushClipRectangle(), PopClipRectangle().
- UISystem: New scale type has been added. ScaleValue.Pixel. Now you can specify position and size of controls in screen pixels.
- UISystem: EControl: OnLoad(), OnSave() virtual methods.
- UISystem: Ability to bind Custom GUI shaders to UI controls. Now you can bind to one control or to control with children.
- UISystem: TextBox: Now returns supported in the Text property.
- UISystem: ScaleValue.Texture has been renamed to ScaleValue.ScaleByResolution.
- UISystem: VideoBox: Blinking black screen during rewind from end to start.
- UISystem: EControl: SizeByBackTexture property has been removed. Use EControl.Size = "Pixel X Y" to support same functionalty.
Web Player
- Web Player 1.3.
- Web Player: Networking support.
- Web Player: System.Xml.dll, System.Security.dll has been added.
- Web Player: Now you can close engine application and go back to Run dialog.
Bug fixes
- Bug fix: Scene Management: Invalid object culling for Directional light shadows in some cases.
- Bug fix: UI System: Double rendering of TopMost controls.
- Bug fix: No particles in WindowsAppExample.exe.
- Bug fix: ShaderBaseMaterial: Property ReflectionSpecificCubemap does not work in Map Editor and Game.
- Bug fix: ATI Radeon 5xxx Series shadow fix.
- Bug fix: Fixed broken 3Dc textures on nvidia G6x and G7x.
- Bug fix: Map Editor: Crash in fixed pipeline mode when set SimpleRendering to True.
- Bug fix: GUI Editor: Fixed bugs with cloning controls. Early you can see cloning issues in the UI Editor for ComboBox and ListBox.
- Bug fix: RenderSystem.ConvertColorValue(): Issues if color components < 0 or > 1.
- Bug fix: Joysticks support: No more warning message during engine loading on some joystick models.
- Bug fix: Exporter: Invalid skeleton after exporting in 3dsMax.
- Bug fix: Exporter: Maya exporter is not working at all on some systems.
- Bug fix: Exporter: Installer cannot detect some non English 3dsMax versions.
- Bug fix: EVideoBox: Engine will crash when invalid file path is set in the FileName property.
- Bug fix: Frustum.Axis has invalid direction of Y-axis. Better to use Frustum.Rotation property now.
- Bug fix: Crash when trying to select shape in the Resource Editor.
- Detection gpu code names for Radeon_R800, GeForce_G100, GeForce_G200, GeForce_G300 and GeForce_G400.
- Enable HDR and Anisotropic filtering by default for unknown gpu code names.
- Bug fix: Broken texture based shadows on Radeon HD 5xxx Series. This is ATI drivers bug. At this time Fetch4 is disabled for these cards as workaround.
- Stencil shadows now finished. See StencilShadowsExample map as example. But remember you need to adapt your models and maps for stencil shadows.
- NeoAxis Web Player 1.2.
- 3Dc format support. ShaderBase material and terrain now supports 3Dc. Automatic convertion to RGB if vodeocard does not support 3Dc. GL_EXT_texture_compression_latc, GL_EXT_texture_swizzle extensions are need for 3Dc support in OpenGL.
- Swizzed DXT5 is no longer supported. You may use 3Dc format now.
- TrueType fonts support. Automatic generation of font texture for current resolution and best quality. TrueType fonts can be created and configured in the Resource Editor. No need for third party tools.
- Resource Editor: New Resource types "Font Definition" and "True Type Font" have been added.
- Native dll files now placed in \NativeDlls\Windows_x86.
- Fallback to original hlsl compiler (d3dx_31.dll). For faster shader compilation.
- ShaderCacheCompiler: Now uses less memory.
- VideoBox: Highly optimized.
- VideoBox: Restore image after device lost in Direct3D.
- MaterialSchemes: Low scheme changes: receiving shadows are now disabled.
- WaterPlane: HeightmapTerrain simple rendering mode for reflections.
- WaterPlane: Better performance (Low schemes are used. No more shadow shader code inside).
- WaterPlane: Blend texture in fixed pipeline mode.
- HeightmapTerrain: SimpleRendering mode. Can be activated in the properties or code.
- HeightmapTerrain: AmbientLight for fixed pipeline mode.
- GridPathFindSystem: DebugDrawDistance and HeightByTerrainOnly properties.
- GridPathFindSystem: DoFind() method: Added "maxFieldsDistance" and "maxFieldsToCheck" parameters. GridPathFindSystemType.MaxFieldsDistance has been removed.
- Exporter: Skeleton and morph animation export support.
- Exporter: Scale for bones support in 3dsMax and in Maya.
- DebugGeometry: SetSpecialDepthSettings() and RestoreDefaultDepthSettings() methods have been added. DepthTest and DepthWrite properties have been removed.
- DebugGeometry: No jitterring during rendering.
- Map Editor: Grid can be enabled from the Options.
- ShaderBaseMaterial: Will show the material name in the compilation error message.
- PhysXLoader.dll has been removed from \Bin directory. This is no longer needed as it will be installed with the PhysX Runtime.
- Resource Editor: Hardware instances have been disabled.
- GuiRenderer: Supports RenderBehindScene for additional render windows.
- Renderer: Shows the mesh name when Direct3D vertex declaration cannot be created.
- GPU auto parameter: LightCastShadows: Now for enabled shadows this value will be 1.0 and -1.0 if no.
- GpuParameter: New "AlphaRejectValue" auto parameter.
- Bits per pixel of video mode is now taken from system prefences.
- DedicatedServer: No more "HDR is not supported" warning messages.
- ShaderBaseMaterial: True culling and lighting for fixed pipeline.
Bug fixes
- Bug fix: FSAA and AlphaToCoverage rendering problems on ATI cards.
- Bug fix: Web Player: Potential crash when multiple engine applications are loaded.
- Bug fix: Exporter: Morph export issues in 3dsMax 2010.
- Bug fix: Exporter: Incorrect exporting of skeleton in some cases.
- Bug fix: WaterPlane on map causes client to crash in networking mode.
- Bug fix: WaterPlane: Every frame recreating reflection texture.
- Bug fix: Self-shadowing shadow problems in some ShaderBase materials.
- Bug fix: VirtualFileSystem: AddFileRedirection: Does not work in some cases.
- Bug fix: ShaderBaseMaterial: Incorrect emission blending in fixed pipeline.
- Bug fix: Crash when shadow technique is changed in fixed pipeline mode.
- Exporter: 3dsMax: Linked objects export support.
- Big fix: Missed Microsoft.VC90.CRT.manifest in the \Bin directory.
- LanguageManager. File redirections will removed after shutdown now.
- Physics System: MaxAngularVelocity now is 100. Early 20. Ragdolls can be unstable with small max angular velocity on ODE.
- Bug fix: RenderDemo loading error.
- Bug fix: VideoBox: crash after device lost in Direct3D.
- NeoAxis Web Player 1.1. All known bugs fixed.
- Hardware Geometry Instancing. Faster rendering of identical objects. (Direct3D only).
- New scene format. Scene file is a collection of entities. This is intended to transfer entities between maps and for exporting groups of objects from 3dsMax/Maya to the Map Editor.
- Map Editor: Opportunity to export selected entities to a scene file and import to a different map.
- Map System: Opportunity to export/import scene files from code during simulation.
- Shader cache and tools for compilation. Shaders are now compiled offline for faster engine loading.
- Depth textures supported (Direct3D only).
- Vendor specific shadow optimizations. Fetch4 for ATI and NV Hardware Shadows for nVidia. (Direct3D only).
- Better shadow quality.
- Custom scene management. Ability to configure visibility for each object and shadow casters. Source code available in Non-Commercial SDK. See GameCommon.dll: LowLevelSceneManagement classes.
- Exporter: Autodesk Maya support.
- Exporter: Opportunity to export groups of objects to scene file and import into Map Editor.
- Exporter: Morph, Pose, Skeleton&Pose animation support.
- Exporter: Additional material properties supported.
- Exporter: Groups support. Export many objects as one mesh.
- Exporter: Can specify UVUnwrap channel for sub meshes.
- Exporter: SampleRate property has been renamed to FrameStep.
- DecorativeObjectManager: Random item scaling support. Options can be configured in entity type file.
- WaterPlane: ReflectionTextureSize property.
- Renderer: new HLSL compiler (d3dx9_42.dll). Support of 1.x shaders saved (need d3dx9_31.dll in addition to d3dx9_42.dll).
- Deployment Tool: Direct3D9: Shaders 1.x support option.
- Projects now compiled with Visual Studio 2008.
- Tank class: Contacts are disabled between chassis and tower bodies.
- Resource Editor: Texture Viewer: Shrink to fit option.
- EVideoBox: Volume property.
- Nvidia Texture Tools (Converting to DDS) updated to 2.0.7 version.
- VirtualFileSystem: Init method: specialUserDirectoryPath parameter.
- StaticMesh: ReceiveStaticShadows property. Disabled by default.
- HeightmapTerrain: ReceiveStaticShadows property.
- HeightmapTerrain: Start at 50% height for new terrain.
- HeightmapTerrain: Casting dynamic shadows is always switched off for fixed pipeline.
- ShaderBaseMaterial: Fixed pipeline: disable receiving shadows when alpha function is enabled.
- Definitions\Renderer.config: fixDirect3DSynchronizationIssueInWindowedModeOnRadeon = false.
- Definitions\Renderer.config: limitToShaderModel2InResourceEditor. Parameter moved to Definitions\ResourceEditor.config.
- ShaderBaseMaterial, Light, Attached light: DiffusePower parameter.
- SkyBox: Power property.
- SkyDome: Power property.
- PhysXWheelShape shape. See /Data/_Tests/Physics/PhysXWheelShape.physics for example.
- Irradiace Volume: Custom static light list generation for objects. protected virtual method StaticLightingManager.GetDynamicLightsInfoByPosition().
- Native Memory Manager: Uses less memory.
- Map.Fov, Map.NearFarClipDistance cannot have zero value (default value) anymore. MapType.Fov, MapType.NearFarClipDistance has been removed.
- Map draw debug settings is moved to EngineDebugSettings class (EngineApp.dll).
- Map Editor: Map draw debug settings now available via menu.
- MeshObject.ManualLodLevels property. Opportunity to change materials for manual LODs.
- ShaderBaseMaterial: SpecularShininess is now 20 by default.
- DebugGeometry: AddVertexIndexBuffer: "copyData" parameter has been removed.
- DebugGeometry: Faster rendering.
- Resource Editor: "Open Folder in Explorer" in the context menu.
- Map Editor: Show FPS, triangle and batch count. See Options.
- EngineApp.ForceRenderSystemName property. EngineApp.DisableRendering has been removed.
- WaterPlane: Visible property.
- WindowsAppFramework: UI controls supported.
- WindowsAppExample: UI controls example. Click "Show UI" button.
- Map Editor: Options: RunSimulationParameters property.
- Web player: "Run" button shown after loading.
- EngineConsole: Source code moved to GameCommon.dll.
- Tank class: Adaptive tracks follow ground by means of skeleton.
- Tank class: Tracks animation for fixed pipeline.
- WeifenLuo.WinFormsUI.Docking.dll: Updated to 2.3.1.
- Ogg, Vorbis, Theora: Has been updated to latest version.
Bug fixes
- Bug fix: Web Player: Cannot run if system user name contains unicode characters.
- Bug fix: Web Player: No theora video support.
- Bug fix: Web Player: Large memory leaks after shutdown of the application.
- Bug fix: HeightmapTerrain: Incorrent texture blending when terrain have normal maps and three or more layers.
- Bug fix: ShaderBaseMaterial: Clone() method: Incorrect cloning of diffuse maps.
- Bug fix: ODE: PhysicsWorld: Incorrect work of MaxAngularVelocity property.
- Bug fix: WaterPlane: Incorrect clip planes in some cases for OpenGL.
- Bug fix: SkyBox, SkyDome: Incorrect rendering for custom NearFarClipDistance in some cases.
- Bug fix: StaticMesh: Visible property does not work.
- Bug fix: Direct3D: Crash after device lost on some systems.
- Bug fix: Mono Runtime Launcher: Unicode file path issues.
- Bug fix: Mono Runtime: VirtualFileSystem.Init() can crash on some systems.
- Web browser support! NeoAxis based applications can be deployed to web browser now. FireFox, IE, Google Chrome, Opera and Safari are supported.
- NeoAxis Web Player: Javascript calls support from application.
- OpenAL sound system.
- LDRBloom compositor. Emulating HDR effect in low dynamic range.
- Nmechanics car physics addon now is free.
- Debug information window: Detailed rendering info. Textures, materials, meshes.
- Renderer: NULL render system. Used for dedicated server and 3dsMax exporter. Dedicated server uses less memory. Can be activated via EngineApp.DisableRendering property.
- New tangent vector channel format (4D float). Mirrored geometry problems are fixed. Tangents for meshes must be recalculated.
- MapObjectAttachedBillboard: BillboardType, CommonDirection and CommonUpVector properties.
- Mono Runtime now supported by the Non-Commercial SDK.
- Mono Runtime: Garbage collector configured. Compiled with maximal optimizations.
- Mono Runtime: Available in Non-Commercial SDK now.
- Mono Runtime Updated to 18.104.22.168.
- Mono Runtime: C# compiler is removed.
- WaterPlane: ReflectionLevel = None, ReflectionColor property.
- WaterPlane source is now available in the Non-Commercial SDK.
- FMOD sound system removed and not supported anymore. You can download sources here: www.neoaxisgroup.com/downloads/addons/FMODSoundSystem(0.82).rar.
- Configurator: Recommended setting option for filtering.
- EngineApp.AllowWriteEngineConfigFile property.
- Engine: No limitation for using one processor (ProcessAffinityMask).
- ODE, OGRE compiled with precise floating point model (early: fast).
- msvXX80.dll are not used anymore. CRT compiled into .dlls now.
- Source code of OgreNativeWrapper.dll and FreeImage.dll included into OgreMain.dll.
- Logic System: dlls are compiled in the map directory now (early to UserSettings).
- Logic System: dlls cannot be compiled on Mono Runtime anymore. Dlls must be prepared with .NET Framework.
- VirtualFileSystem.GetRealPathByVirtual(): Now returns full path.
- fullScreenAntialiasing -> fullSceneAntialiasing.
- filtration -> filtering.
- Now you can set all engine global settings from code. RendererWorld.FilteringMode, RendererWorld.MaxVertexShadersVersion, RendererWorld.MaxPixelShadersVersion, RendererWorld.FullSceneAntialiasing.
- EngineApp: MousePosition in relative mode now will returns Vec2(.5, .5) always. Use OnMouseMove for getting value.
- MapObject.GetMapObjectBySceneNode() method.
- EngineApp.Language property. You can set language without Engine.config right now.
- 3dsMax Exporter: Multiselection for objects when changing export properties.
- Source code of GameCommon.dll now available in the Non-Commercial SDK.
- Game: Non entity classes moved to GameCommon.dll.
- Dynamic: OnDie method: Disable contacts for shapes before die.
- Networking: Lidgren network library has been updated to 07.07.2009.
- Console command: showDebugInformationWindow.
- Internal optimizations for UISystem.dll and Renderer.dll.
Bug fixes
- Bug fix: Networking: Bug with animation on the client. Playing of walk animation can break and starts from beginning.
- Bug fix: FileSystem multithreaded issues fixed.
- Bug fix: Deployment tool: Error during making Data.zip.
- Bug fix: Logic system cannot work from archives.
- Bug fix: System cursors cannot be loaded from archives.
- Bug fix: Game.exe can crash on exit on Windows 7.
- Bug fix: Resource Editor: Convertion to DXT1: Transparency not supported.
- Bug fix: HeightmapTerrain: Cannot stretch texture on whole map.
- HeightmapTerrain: Fixed pipeline layer blending now supports all layers.
- GUI: Widescreen support. GUI interface has proper aspect ratio on widescreen monitors now.
- GUI: Shader support. GUI interface is rendered by shaders now.
- Deployment Tool. Preparering finished binary package is very easy task now.
- All configuration and temporary files are written to "User directory" now. No additional files are written to \Data directory while engine is working. You can choose any of two variants for storing temporary files: 1. In \UserSettings folder near \Data folder. 2. In user's "Document and settings" directory. These settings could be configured by development tool.
- New virtual file path option. File paths with "user:" prefix will be loaded from user directory. Example: "user:filename.txt".
- Orthographic projection camera support. Map.CameraProjectionType, Map.CameraOrthoWindowHeight properties.
- Alpha to coverage support. ShaderBaseMaterial: AlphaToCoverage property. Pass: AlphaToCoverage property.
- Rendering distance for objects. MovableObject.RenderingDistance property. Attached objects RenderingDistance property (Mesh, Particle, Billboard, RibbonTrail, Gui). StaticMesh: RenderingDistance property.
- Light: Better light culling for point and spot lights.
- UI System: Button: ClickMask bitmap.
- UI System: EditBox: Clip text by control rectangle.
- ODEPhysicsSystem: Internally optimized.
- Body: LastStepAngularVelocity property.
- Dynamically loading libraries for archive support are searched by mask "*Archive.dll". Definitions/FileSystem.config for the list of .dll is deprecated.
- 3dsMax Exporter: Automatically limits number of bones assigned to vertex.
- OGRE 1.6.3 support.
- CG 2.2 support.
- DecorativeObject: CastShadows property.
- Simple Example material: Shader support.
- Changes of \Data directory structure. Some files are moved to different place.
- Full screen antialiasing: You can choose between 2, 4, 6 and 8 levels against only 2 and 4 as before.
- CameraAttachedObject: Mesh: ScaleMultiplyByCameraFarClipDistance property removed. AllowFrustumGlobalClipPlanes property was added.
- Shader gpu parameters LightDiffuseColorArray, LightSpecularColorArray now don't use PowerScale property but use LightDiffuseColorPowerScaled and LightSpecularColorPowerScaled instead.
- Support of caching files in the memory for faster loading. See Definitions/FileSystem.config.
- Caching .cg_hlsl files in the memory. Faster engine loading.
- CG is supported only for OpenGL now. You cannot use CG for Direct3D9.
- GUI: GuiRenderer: AddTriangles: Clip rectangle support.
Bug fixes
- Bug fix: Now you can archive .cg_hlsl files and it will works good.
- Bug fix: 3dsMax Exporter: Invalid textures coordinates for animation meshes.
- Bug fix: 3dsMax Exporter: Inverted triangles in some cases.
- Bug fix: 3dsMax Exporter: Wrong calculation bounding radius for animated meshes.
- Bug fix: Full screen antialiasing: Don't crash if selected level of FSAA is not supported.
- Bug fix: Resource Editor: Resource creation wizards: Invalid behavior of dialog when user enters invalid data.
- New 3dsMax Exporter: Mesh export, material export, texture export and converting, skeletal animation support.
- MapObjectAttachedParticle: UpdateWhenItNotInView has been property. Not visibled on screen particle system will be suspended. This property intended for better performance.
- ParticleSystem: Option for automatic quota calculation. AutomaticQuota property. To update existing .particle files you need to open and just resave file in the Resource Editor.
- ParticleSystem: Particle system management has been optimized.
- Game animation: Animation source code has been refactored. All animation code removed from MapObjectAttachedMesh and moved to MeshObjectAnimationController.cs (GameCommon.dll). Dynamic entity class highly simplified.
- HeightmapTerrain: Fixed pipeline support (only the first layer).
- Resource Editor: Tool for converting textures into different formats (PNG, TGA, JPG and compressed DDS).
- Mesh: SkeletonName property has been added.
- Resource Editor: Mesh Editor: SkeletonName property can be changed.
- Map Editor: Now you can not create entity if the selected layer is locked.
- MapObjectAttachedMesh: LinkBonesToBodies functionality has been expanded: It is possible manually customize bone linkage. MapObject.OnAttachedMeshLinkBoneToBody() method.
- StaticLightingManager: Lightmaps property has been added. Now you can disable lightmaps, but use irrandiance volume.
- PhysicsSystem: Ability to add custom shapes and joints.
- PhysicsSystem: Now physics world is created only once during initialization engine instead of creating every time during map loading.
- PhysicsSystem: enum ContactGroup is moved to PhysicsSystem.dll.
- Installer: Included PhysX system software updated to PhysX_9.09.0408_SystemSoftware.exe.
- OGRE sources: Now source codes of OgreNativeWrapper.dll are shared.
- StaticLigtingCalculationTool: Now NVIDIA Texture Tools are used for dds generation providing better quality for mipmap generation.
- Resource Editor: Entity type creation: You cannot create default entity types which already exists like StaticMesh.type, HeightmapTerrain.type, etc.
- MapObjectAttachedMesh: ForceSubMeshMaterials property has been removed. Be attentive!
- Map: GetStaticMeshItemByBody() method has been renamed to GetStaticMeshByBody().
- MeshObject: SetCustomBoundsAndRadius() method has been added.
- FMODSoundSystem: "A call to a standard soundcard driver failed" warnings are ignored now.
Licence conditions
- Cost of Commercial License reduced to 395$.
- Period for free updates of Indie and Commercial licenses increased up to two years.
- Commercial SDK now includes source code for heightmap terrain, decorative object manager and PhysX physics integration.
Bug fixes
- Bug fix: Map Editor: Crash if entity type are not exists during map loading.
- Bug fix: Server crashed when a client is trying to connect during loading a map.
- Bug fix: Particle System: "CommonDirection" property cannot be saved.
- Bug fix: GridPathFindSystem: Not initialized motion map after loading in the Map Editor.
- Bug fix: Resource Editor: Mesh Editor: Doesn't crash anymore if mesh cannot be loaded.
Networking support
- Networking support based on UDP protocol.
- Seamless integration of networking support into the Entity System and game classes.
- Practically all game specific classes are adapted for networking support.
- Networking lobby features.
- Chat application example.
- Debug information window: Network statistics page.
- Jigsaw puzzle game example with networking support.
- Dedicated server application.
- Networking deatchmatch game example.
- Dynamic created map has been adapted for networking support.
- Entity interpolation on the clients for smooth movement.
- Map Editor: Work with layers improved. Layers window features moved to MapHierarchy form.
- MapEditor: Form for searching objects.
- ShaderBaseMaterial: Optimizations for shader model 3.0. Amount of DIPs is lower if scene have directional light. Ambient pass and directional light pass are merged into one pass.
- Game: Options dialog: "Show decorative objects" option.
- UISystem: Speed-up gui files loading.
- HeightmapTerrain: Shaders changed to look like ShaderBaseMaterial.
- CameraAttachedObject: Reflected camera support (WaterPlane reflection, etc).
- Renderer.dll memory optimizations.
- Configurator: Shaders are disabled by default on Intel video cards.
- EngineApp: System video mode will be used by default for fullscreen mode.
- Console command: Detail native memory allocations statistics (logNativeMemoryStatistics).
- Dynamic class: GetIntellectedRootUnit() method has been renamed to GetParentUnitHavingIntellect().
- GameMap.GameMusic property. Now you can specify music for each map from Map Editor.
- PlayerCharacter and PlayerIntellect classes has been refactored.
- EntitySustem: OnPreCreate() method now is invoked in Entities.Create() (before this change it was invoked from PostCreate() method). Also it is have new semantic. See documentation for more info (Entity System: Creation/Deletion).
- Definitions\EntitySystem.config: defaultWorldType parameter. Definitions\MapEditor.config: mapTypeForNewMaps parameter.
- Character: Improved algorithm for calculating the distance to the ground.
- PlayerCharacter: Contusion motion blur code is moved to ActionGameWindow.cs.
- PlayerManager: Player class has been moved to PlayerManager.cs.
Bug fixes
- Bug fix: Wrong results of static lighting calculation on some mesh objects.
- Bug fix: World serialization: The player is not be loaded properly.
- Bug fix: Wrong results of properties Camera.Rotation, Camera.DerivedRotation.
- Bug fix: Switching fullscreen to windowed mode application window issues (no window border).
- Bug fix: Map Editor: In some cases crashed on properties form after mouse double click.
- HeightmapTerrain: Holes support
- HeightmapTerrain: Structure of terrain has changed a little bit. Heightmap size on one cell is longer now. Heightmap.raw on one cell is longer now respectfully. Compatibility of old maps is saved, but you will see a small shift of geometry and layers on the map. You can restore it with Map Editor or external tool like Photoshop. Be attentive!
- Car physics support! New great third party addon for car physics support is made by Mohsen sadeghi gol (msg_gol).
- Pre-loading resources during map loading (textures, materials, meshes, etc). OnPreloadResources() methods have been added for EntityType, Entity and HighLevelMaterial classes.
- Maps Updated: TPSArcadeDemo, TurretDemo, ConstructionsDemo (early CraneDemo).
- Base shaders and entity types restructured in the \Data\Materials and \Data\Types directories.
- TurretDemo: Game logic has been rewritten as special GameType (TurretDemoGameWindow class).
- HeightmapTerrain: Level-Of-Detail (LOD) has been temporarily disabled. It's a performance hog and is slow (takes twice more batches). New LOD algorithm will be realized a bit later.
- Source code of ODEPhysicsSystem, DirectXSoundSystem and FMODSoundSystem has been added to the Commercial License. Now you can to implement any physics or sound library into NeoAxis Engine.
- EngineApp: Support of system cursors. EngineApp.SystemCursorFileName property. System cursor by default in \Data\Cursors directory.
- Physics System: Ability to disable gravity (Body.EnableGravity property).
- UISystem: EEditBox: PreKeyDown and PreKeyPress events have been added.
- UISystem: EListBox: Automatic scrolling to selected item at change SelectedIndex and SelectedItem properties.
- CameraAttachedObject: Billboard support added.
- StaticMesh.SplitGeometry property changed. AutoDetect option is removed. Now by default splitting is disabled. Be attentive!
- Light: AllowDynamicLighting property has been added to disable dynamic lighting for specific lights. This is good for making lights that are only for static lighting.
- Physics System: Heightfield shape: Holes support has been added.
- DecorativeObjectType: DestroyBatchOnDistance property now is a boolean property.
- WaterPlane: DecorativeObjects now reflected only when reflection level = "ReflectAll". Early "ReflectAll" and "OnlyModels".
- RenderFrustum: GetViewMatrix(), GetProjectionMatrix(), GetProjectionMatrixRS(), GetProjectionMatrixWithRSDepth() methods added.
- StringUtils.InvalidFilePathChars property is removed. You can use system method Path.GetInvalidFileNameChars().
- UISystem: Destroyed event, OnShouldDestroy(), OnSetDestroyed() are removed because it is not used.
- EngineRandom: Better performance for time-dependent default seed value.
- You can purchase various parts of NeoAxis in addition to the Commercial License. See licensing page.
- You can purchase engine by money transfer to our bank account in Russia.
Bug fixes
- Bug fix: WaterPlane: Wrong water after minimization application window in Direct3D.
- Bug fix: MapEditor: CameraAttachedObject entities are not visible when we looking from camera by means "C" key.
- Bug fix: UISystem: EListBox: Wrong updating via SelectedItem property.
- Bug fix: Logic System: Compilation failed when map path contains "-" characters.
- Bug fix: Logic System: Compilation failed when one class is defined inside of another.
Featured projects updates
- Added new game project: Stunford. Stunford is a student project. It is an adventure and investigation game.
- Added new non game project: Warehouse Visualization System. Accellos is a global provider of warehouse management, 3PL, logistics, transportation and mobile fleet management solutions.
- Updated info about Sacraboar. Sacraboar is a real-time capture-the-flag strategy game. Release in Q1 2009!
- Depth shadows have been improved. Is smoother now. A lot of artefacts is fixed.
- Shadows: Shadow intensity for ShadowMapLow mode.
- Shadows: Various soft filters have been implemented. (PCF3x3, PCF4x4, PCF6x6, PCF8x8, PCF10 tap fixed disk, PCF16 tap fixed disk filters).
- Shadows: Shadows are generated by front faces by default now (Earlier by back faces).
- PhysicsSystem: Convex hulls support (Only on PhysX).
- PhysicsSystem: Collision entity has been removed.
- PhysicsSystem: Fallback to PhysX 2.7.3. We have random crash on 2.8.x and cannot to solve it. Also on 2.8.x we have issues for CCD bodies and raycasts.
- PhysicsSystem: Faster and more precise Body.GetGlobalBounds() method.
- PhysicsSystem: Shape.CalculateApproximateGlobalBounds() was renamed to Shape.GetGlobalBounds().
- PhysicsSystem: Physic model test files is updated (\Bin\_Tests\PhysicsTests\).
- Indie license is only for game projects now. Old licensees (before 06.10.2008) can use Indie License for any project types.
- Technical support cost is reduced to 299$.
- MonoRuntime is not supported in the Non-Commercial SDK now.
- You can purchase engine via WebMoney.
- TankDemo and RTSDemo has been updated.
- PhysicsEditor: New solid rendering mode. See checkbox "wireframe" for activating old mode.
- CameraAttachedObject entity. This entity is intended for binding meshes and particle system to the camera. Now you can make any geometry and material for sky, rain and snow can be realized. See TankDemoSky for example.
- WaterPlane: ConvexMesh support.
- Support simulation when window is minimized. See EngineApp.SuspendWorkingWhenApplicationIsNotAtive property.
- ShaderBaseMaterial: Swizzled DXT5 normal maps support.
- ShaderBaseMaterial: AllowFog, DepthWrite, DepthTest properties.
- StaticLighting manager: Algorithm of mipmap generation for DDS is improved.
- Mesh, SubMesh, VertexData: Now you can received texture coordinates by means of GetSomeGeometry() method.
- Mesh.SubMesh: AllowCollision property. Now you can disable collision for selected submeshes.
- Map Editor: object alignment has been improved. Now during alignment process unnecessary alignment will not proceed.
- PhysicsEditor: Selection of objects by mouse is improved.
- Tank: When tank has overturned, it will be destroyed.
- WindowsAppFramework is improved. Now it is works faster.
- Renderer: Ability to make additional render windows. See RendererWorld.CreateRenderWindow(), RenderWindow.WindowMovedOrResized().
- MapObjectAttachedBillboard: Multiple render targets support.
- HeightmapTerrain editor: More precise control for changing height.
- Renderer.config: ShaderBaseMaterial: limitToShaderModel2InResourceEditor option.
- Detection of code names for new NVIDIA and ATI videocards.
- ActionGameWindow: Weapon target render as textured quad now. No info about entity under target now.
- EntityTypeResourceEditor: Support CameraAttachedObject entity preview.
- EngineRandom: Performance improved.
Bug fixes
- Bug fix: Possible crash of the application at change of the window size in Direct3D with switched on HDR or shadows. WOOHOO!
- Bug fix: World serialization error. Error when directory for saved world is not created.
- Bug fix: Wrong detection shader model 3.0 support in OpenGL.
- Bug fix: Wrong generation of non-round 2 texture mipmaps on some ATI videocards in OpenGL.
- Bug fix: PhysXPhysicsSystem: Random unknown crash ("Unknown error: Unable to create broadphase entity.").
- Bug fix: PhysXPhysicsSystem: Raycast for CCD bodies is not always working.
- Bug fix: MapObject: Synchronization issue for physic model and meshes position.
- Bug fix: PhysicsSystem: Incorrect working for MeshShapes when mesh data is not exists.
- Bug fix: PhysicsSystem: Body.GetGlobalBounds(): Wrong result in some cases.
- Bug fix: HeightmapTerrain: No normal maps on videocards without shader model 3.0 support.
- Bug fix: Editors: Black viewport when camera oriented to up.
- Bug fix: ResourceEditor: Crash during creating attached ribbon trail.
- Bug fix: Crash compositors on additional render targets in Direct3D.
- Bug fix: Wrong lighting for additional render targets when shadows is disabled.
- Bug fix: UISystem: Wrong text rendering in the ListBox.
- Bug fix: GuiRenderer: Clip rectangle issue.
- Bug fix: Crash windowed applications on exit in some cases.
- Bug fix: Logic system: Incorrect working when we have two maps with one directory name.
- Bug fix: Config: Shadow texture size settings never saved.
- Bug fix: Rendering latency issues on ATI, windowed mode in Direct3D on some systems.
Loading and saving during simulation
- Loading and saving during simulation (or world serialization). Now you can create support for loading and saving during a simulation.
- Game classes are adapted to support loading and saving during a simulation.
- "Load/Save" added to the game menu window in the GUI.
Framework for windowed applications
- Framework for creation of windowed applications based on NeoAxis (WindowsAppFramework.dll). Creating a windowed application is now easier. WindowsAppExample.exe has updated.
StaticMesh entities
- StaticMesh: Ability to dynamically create and delete objects during simulation.
- StaticMesh: The object is now presented into simulation as entity object. (earlier StaticMesh was not created for optimization which is not efficient). Now you will receive StaticMesh objects, by means of calling the Map.GetObjects() methods. Be attentive! StaticMesh: Map.GetStaticMeshItemByBody() method has been removed. It is now necessary to use StaticMesh.GetStaticMeshByBody().
- StaticMesh: CollisionSpecialMeshName property has been added.
Material schemes
- Material schemes. Each material can now support little techniques which will get rendered depending the settings of the camera. Now you can create materials and shaders with level of detail settings; ex. Low, Medium, High. These LOD settings can be applied as a technique for a certain camera. These properties have been added: Technique.SchemeName, Viewport.MaterialScheme, CompositionTargetPass.MaterialScheme.
- In example, two schemes of materials are created: "Default" and "Low". See MaterialSchemes enumeration in GameCommon.dll. ShaderBaseMaterial supports these schemes.
- WaterPlane: For creation of the reflected surfaces the "Low" scheme of materials is used.
Dynamic created map support
- Support for dynamically created maps without the need to create them in the Map Editor.
- For an example of a dynamically created map, see "Maps Window".
PhysX support
- PhysX 2.8.1 is now supported.
- PhysX: Installation better integrated with NeoAxis installation. PhysX Game Software Installer is used (PhysX_Game_installer_281.msi). If you will have problems with running of 0.57 (old versions of the engine have incorrectly installed PhysX) it is necessary to remove and anew to install PhysX_Game_installer_281.msi.
- Updates of animations in game classes (GameCharacter, RTSCharacter, Weapon, Corpse). The common code of management is moved to the Dynamic class.
- Now animations smoother (only 30 times per second earlier were updated).
- The engine does not use Microsoft Windows.Forms in a code of simulation (System.Windows.Forms.dll, System.Design.dll, System.Drawing.Design.dll).
- Editors: Automatic updating of textures when the files are changed outside of the editors.
- Debug information window - Window for drawing of the debugging information (replacement of Performance counter). You can activate window with the F11 key or from "Debug" window in the menu.
- DebugGeometry: Now the debugging geometry is supported for all cameras, and not only for the default camera. See Camera.DebugGeometry property.
- Renderer: Property RendererWorld.RenderTime is renamed to FrameRenderTime. Property RenderTimeStep is renamed to FrameRenderTimeStep.
- ShaderBaseMaterial: Now fixed pipeline technic for AlphaAdd blending the fog unique entity will be be switched-off.
- CompositorManager.Compositors property.
- Code of TextBlock moved to Utils.dll.
- Editors: The class PropertyGridUtils.ModalDialogCollectionEditor is removed. Now it is not necessary.
- EngineApp: RenderTime, RenderTimeStep properties are removed. Now it is necessary to use RendererWorld.FrameRenderTime and FrameRenderTimeStep properties.
- Physics System: Hinge2Joint. SetODESuspension() method are added for ODE.
- Physics System: PhysicsWorld.InitialBounds property is removed. Now it is necessary to use Map.InitialSceneObjectsBounds or Map.InitialCollisionBounds properties.
- PhysicsSystem: SolverAccuracy property is removed. Now to specify accuracy it is possible by means of iterationCount for everyone libraries separately in file "Definitions\PhysicsSystem.config".
- Collision entity is deprecated. Now it is not necessary. In following release it will be removed. To use functionality of Collision.CustomMeshes, now it is necessary to create StaticMesh with empty value of property "MeshName" and initialized "CollisionSpecialMeshName".
- MapObjectTypeAttachedMesh: CollisionSpecialMeshName property is added.
- MapObjectAttachedMesh: Collision, CollisionMaterialName, CollisionSpecialMeshName properties are added.
- The code for support of management of the player unit control is moved to PlayerIntellect.cs. It is made for support for load/save during simulation.
- DebugGeometry: DebugGeometry.Instance is removed. Now it is necessary to use Camera.DebugGeometry property. For the default camera it is possible to use a following code: "RendererWorld.Instance.DefaultCamera.DebugGeometry".
- Fan: Fan.InfluenceRegionScale property is added. For set the size of region. Early Scale of Fan are used. Compatibility is not saved. Be attentive!
- MapObjectAttachedParticle: SetParticleSystem() method is removed. Now it is necessary to use ParticleName property.
- MapObjectAttachedMesh: SetMeshObject()
method is removed. Now it is necessary to use MeshName property.
- Map: Map.GetObjectsWithCollision() method is removed.
- Map: More it is not necessary to call Map.DoRender() method from code. Now it is doing automatically.
- EngineApp: EngineApp.OnRender() method is renamed to OnRenderFrame(). OnRenderUI() method to OnRenderScreenUI().
- Physics System: Now at manual moving a body, attached joints to a body, will not be recreated.
- Map Editor: Methods for communication EntitySystem with the Map Editor are moved from EntitySystemWorld class to the MapEditorInterface class.
- MapSystemWorld: The interface of load/save methods is changed. MapLoad() and MapSave() methods now accept path to files, in a virtual file system. Be attentive!
- Configs/MapEditor.config: Parameter "lastLoadedMapName" path to last loaded map now presented as path to virtual file system.
- RenderTarget: Call Update(), will now generate RendererWorld.BeforeRenderFrame and AfterRenderFrame events if there was an extraordinary call of this method.
- Renderer: RendererWorld.BeforeRenderFrame and AfterRenderFrame events are removed. Instead of BeforeRenderFrame event now it is necessary to use BeginRenderFrame event. The end of the previous frame now it is considered the beginning new (i.e. generating of event BeforeRenderFrame).
Bug fixes
- Bug fix: Saving of pressed keys and buttons of the mouse flag at deactivation of a window.
- Bug fix: EntitySystem: Invalid serialization of array and lists.
- Bug fix: EntitySystem: Error at serialization of structures.
- Bug fix: EngineApp.Config: Error at serialization of structures.
- Bug fix: StaticMesh: Crash during geometry splitting.
- Bug fix: SkyDome: Crash at choice ColorBlend blending.
- Bug fix: ResourceEditor: Gui Editor: Crash at not chosen file in VideoBox.
- Bug fix: ODEPhysicsSystem: Crash after hinge joint breaking to which it is adhered servo the motor.
- Bug fix: DirectXSoundSystem: At minimization of a window, the application of editors will continue to using the processor.
- Bug fix: PhysicsSystem: After removing primitive, in the editor dimensions of a body are not updated.
- Bug fix: Bug with orientation of the attached particle systems.
- Bug fix: Renderer: Rare fatal error at updating SceneGraph.
- Bug fix: EntitySystem: Wrong processing of DefaultValue attribute at serialization enumeration types.
- Bug fix: MessageBoxWindow: Now it is closed by "OK" button.
- Bug fix: UISystem: Properties ETextBox. AutoSize and SupportLocalization are serialized now.
- Bug fix: TextBlock: In attributes it was impossible to write "{", "}".
- Bug fix: Problems with the timer of a engine on some systems. Q274323.
- Bug fix: Mono runtime: Problems at switching to a full-screen mode and back.
- New scene graph. Octree and Quadtree support (Map.SceneGraphType property). Fast automatic reconstruction of the graph structure for optimal performance (Map.SceneGraphDynamicTree property). Also performance is increased.
- Joysticks, gamepads, steering wheels and XBox360 controller support. Interface for integration of other input devices.
- Mono Runtime support. Now the engine can be started without installed .NET Framework.
- Fast native memory manager. Allocation and freeing unmanaged memory is about 3 times faster now.
- Controllers class is refactored and renamed to GameControlsManager. It also has been moved to GameEntities.dll assembly. Now all code of player management is accessible in the Non-Commercial SDK.
- Static lighting for attached meshes of MapObject's is supported. Earlier only StaticMesh was supported.
- Opportunity to create BoneSlots for the attached meshes in real-time. (MapObjectAttachedMesh.CreateBoneSlot(), DestroyBoneSlot()).
- Source code of MonoRuntimeLauncher in the SDK. This application is intended for convenient run of a engine on Mono Runtime. It's generates Game_MonoRuntime.exe and Configurator_MonoRuntime.exe files.
- Sound System: Opportunity to load a sound from a stream or from memory.
- Improved code of ActionGameWindow.cs for working with GameControlManager and 3D gui.
- Map: Method for getting objects by box and clip planes (GetObjects()).
- SceneManager: Methods for getting render objects (GetSceneNodes(), GetStaticMeshObjects()).
- Map.DrawNodes is renamed to Map.DrawSceneGraphInfo.
- OggVorbis 1.2.0.
- MapObject: Added method for recalculation of MapBounds (RecalculateMapBounds()).
- MapObject: MapBounds will be updated after Attach(), Detach() now. It's working for attached meshes, MapObject's and GUI.
- Quat: GetDirection() method is renamed to GetForward().
- MapCurve: Getting rotation of curve. (CalculateCurveRotationByTime()).
- Weapon: FPSMeshName property is removed. Added FPSMeshMaterialName property. Be attentive.
- Teleporter: "Active" property by default is "True" now.
- Example class for creation of new types of input devices has been added (ExampleCustomInputDevice class).
- MapObject: Events for working with attached objects have been added (AttachEvent, DetachEvent, AttachToMapObject,
- MapObject: Methods and events for working with die objects have been added (OnIsAllowToCreateDieObject(), IsAllowToCreateDieObject, OnDieObjectCreate(), DieObjectCreate).
- MapObject: OnDieMapObjectCreate() method has been removed. Need to use OnDieObjectCreate() now.
- StaticMesh: Added SplitGeometryPieceSize property for setting size of batches at geometry splitting. Early for this purposes Map.NodeSize property was used. Compatibility is granted.
- ActionGameWindow: Earlier, when controlling units like tank, crane or turret, the previous unit was moved outside of the map. Now it becomes deactivated, invisible and moves with the vehicle (i.e. it will "sit" in it).
- Interface for working with keyboard and mouse has been changed. Changes apply to EngineApp, UISystem, GameEntities and Game assemblies. You will note many little changes in the demo code. It is made gradually in order to avoid the need of System.Windows.Forms.dll assembly in the game code.
- Map: NodeSize and NodeBoundsIndents properties have been removed. Node size is calculated automatically now.
- Map: FilterGroups for MapObject's can be combined now. One object can have many filter groups.
- Optimizations of PhysXPhysicsSystem.dll, ODEPhysicsSystem.dll, DirectXSoundSystem.dll.
- Optimizations of Parse() methods in the MathEx.dll.
- DebugGeometry: Culling flag for AddVertexIndexBuffer().
- Resource Editor: Attached "Helper" object now are drawn more informatively.
- Bug fix: Problem with animations of weapons in FPS mode when additional render targets were visible.
- Bug fix: Map loading error, when map files had "read only" flag.
- Bug fix: BoneSlots of attached meshes did not use BoneSlot.Position and BoneSlot.Rotation.
- Bug fix: Bug in the .csproj files. There was a message about "Game.exe not found" when launching the debugger.
- Bug fix: Fatal error after mouse double click in Maps Window.
- Bug fix: Incorrect animation blending for attached meshes.
- Bug fix: Incorrect working of Physics._AddCustomMeshGeometry() method for scaled MeshShape shapes.
- Bug fix: Map Editor: Incorrect working of layers after undo/redo.
- Bug fix: Incorrect working of the portal system if occluder.Active = false.
- Bug fix: Memory leaks in EVideoBox and DirectXSoundSystem.
- Bug fix: Incorrect mouse working if "EngineApp.UseSystemMouseDeviceForRelativeMode = false".
- Bug fix: Incorrect working of GetObjects(Sphere sphere).
- Bug fix: Incorrect "Passed portal" value in the performance counter.
- Bug fix: Crash on exit if OpenGL enabled.
- Bug fix: StaticMesh: Problems at splitting geometry.
- Bug fix: MapCurve: After point creation by means "Create point" button, new point was created on the different layer than MapCurve layer.
- Bug fix: MapCurve: Incorrect working of CalculateCurvePointByCoefficient() method, time beginning not from zero.
- Bug fix: MapCameraCurve: CalculateCamepaPositionByTime(): Vectors "forward" and
"up" are always perpendicular now.
- Bug fix: Crash at startup on some computers.
- New font rendering system with Unicode support. New font format (.fontDefinition). Fonts can be generated using "AngelCode Bitmap Font Generator". Tool for converting from "AngelCode Bitmap Font Generator" to the NeoAxis font files (SDK\Tools\FontTools).
- Language localizations support. Support for multiple languages using new format (.language).
- Added Russian language localization as example of multiple languages
- Resource Editor: .language file editor
- OGRE *.fontdef have been depreciated and are no longer used
- Configurator: Allows selection of language localization
- PhysXPhysicsSystem: Support hardware acceleration (tested with PhysX 100 Series)
- Configurator: Opportunity to enable or disable physics hardware support
- New post effects: HeatVision, Tiling, Invert, Blur
- Resource Editor: Mesh Editor: Bounding boxes of meshes while viewing animations is now realized
- Renderer.dll complete re-write from C++/CLI to C# and PInvoke
- Merged RendererAddition.dll code base moved to Renderer.dll
- Engine ready for Mono port and ready for port to other platforms (Mac, Linux). No more C++/CLR based assemblies.
- TextBlock: Support of any symbols in the attribute name. Example: "Xx vv..." = value.
- TextBlock: Unicode support. Example: AttributeName = "\x043a\x043b\x043c".
- MeshObject: NormalizeNormals property is removed and is done automatically now
- HeightmapTerrain: Ability to change heightmap layers from code and not only through the CollectionEditor
- MapObject: OnAttachToMapObject() and OnDetachFromMapObject() methods
- Skeleton: New BlendMode property for changing animation calculation method
- Native memory manager. Finding leaks (to log file after end working of application). Information about memory using in the performance counter.
- Merged code base Plugin_ParticleFX.dll to OgreMain.dll
- Logic system: Added AssemblyInfo to map assemblies
- StaticGeometry class is removed
- Optimizations of MapObject class (MapObject.Position, MapObject.Rotation, MapObject.OnSetTransform)
- Optimizations of scene manager
- Optimizations of text rendering
- Bug fix: Incorrect working of light sources which not cast shadows
- Bug fix: GuiRenderer: Incorrect rendering of lines in the OpenGL (GuiRenderer.AddLine())
- Bug fix: GuiRenderer: Incorrect rendering of triangles (GuiRenderer.AddTriangles())
- Bug fix: GuiRenderer: Problems when working with many different fonts
- Bug fix: Impossible to open/close console if language distinct from English is switched on
- Bug fix: Resource Editor: Invalid lighting on some videocards
- Bug fix: Resource Editor: Channel editor of mesh. Not saving UVWrap flag.
- Bug fix: Resource Editor: Incorrect playing of mesh animations
- Bug fix: Map Editor: Incorrect saving map by means "Save As"
- Bug fix: Map Editor: incorrectly rendering of selected StaticMesh
- Bug fix: ODEPhysicsSystem: Memory corruption and leaks
- Bug fix: PhysXPhysicsSystem: Fatal error on some computers
- Bug fix: PhysXPhysicsSystem: Incorrect return value of PhysicsWorld.MaxAngularVelocity
- Bug fix: HeightmapTerrain: Fatal error, if version of pixel shaders is not more 2.0
- Bug fix: HeightmapTerrain: Inexact lighting rendering on the old videocards. (half shader precision problem)
- New philosophy for creation of static geometry. StaticGeometry entity is deprecated and replaced by StaticMesh entity, which from now on should be used to create static geometry. Now you can use layers and modify objects with editor gizmo together with other map entities. Optimizations of StaticMesh for simulation. Automatic tool for porting old maps (here in sdk "SDK\Tools\StaticGeometryToStaticMeshPort").
- Support of older video cards and integrated cards. (Tested on GeForce MX
400 and Intel 82845G).
- Physics System: For VolumeCast is not need create volume body now
- Post Effect: Radial blur
- Documentation: "Tutorial: Creation of a New Map" is updated
- GuiRenderer & UISystem: Opportunity of rendering behind scene
- Configs: Settings for fullScreen, videoMode, verticalSync, allowChangeDisplayFrequency are moved from Game.config to Engine.config
- Configurator: Now changes only Engine.config
- Configurator: Opportunity switch off shaders for OpenGL
- GameMapType: Properties CameraDistanceRange, CameraCenterOffsetRange are removed
- SpawnPoint: Methods GameMap.GetRandomSpawnPoint, GameMap.GetDefaultSpawnPoint, GameWorld.GetFreeSpawnPoint are moved to SpawnPoint class
- Item: RandomItemCreator type is deleted
- GameMap.NeedExit is moved and renamed to GameWorld.NeedWorldDestroy
- WaterPlane: Faster rendering on old video cards. Using "half" in the fragment shader.
- Platform.dll is removed. All functionality moved to EngineApp.dll.
- EngineRandom class is renamed to Utils.dll
- ShaderBase material: Improved working for DiffuseScale != (1,1,1) for fixed pipeline
- ShaderBase material: Improved working for emission map for fixed pipeline
- RenderTarget: Rendering to memory. RenderTarget.WriteContentsToMemory() method.
- Camera: Methods Camera.SetFixedUpAxis and ResetFixedUpAxis are removed. Now is need to use property Camera.FixedUp
- VideoBox: More stable working
- Sound System: Running on the computers without sound card will not error
- DecorativeObjectManager: Moved to separated DecorativeObjectManager.dll
- EngineApp: Working with application window at startup is improved
- Sound System: Working on the some bugged sound card drivers is improved. Changing volume problems.
- PhysXPhysicsSystem: Faster raycast for dynamic bodies
- PhysXPhysicsSystem: Ready for Mono port. Rewritten from C++/CLI to C# and PInvoke.
- DirectXSoundSystem: Ready for Mono port. Rewritten from C++/CLI to C# and PInvoke.
- Map Editor: Faster working for scaling entities by means gizmo
- Bug fix: Strong performance loss at use boneslots in the attached objects. It is shown on the characters and especially in the TPSArcadeDemo.
- Bug fix: PhysXPhysicsSystem: Incorrect working of RayCast. Arises when we manually move bodies and do RayCast between two ticks of simulation.
- Bug fix: StaticGeometry: Objects selection problems after moving
- Bug fix: PhysXPhysicsSystem: Incorrect working of RayCastPiercing for Mesh and HeightField shapes. Finds only the first collision.
- Bug fix: DebugGeometry: Incorrect working of AddVertexIndexBuffer() methods
- Bug fix: Entity.RemoveRelationship() "null reference" problem
- Bug fix: Character: Incorrect working for extra tall characters
- Bug fix: SoundSystem: Small bug after changing volume in enclosed ChannelGroup
- Bug fix: Map Editor: Incorrect reset of selected node in TreeView. It is shown in the Entity types, Decorative object manager and Static geometry forms.
- Static lighting: Static geometry support
- Static lighting: Irradiance volume for dynamic objects
- Static lighting: Opportunity to omit the calculation of shadows for lightmaps (CalculateShadows property)
- Static lighting: Better calculation for mixing lightmap and dynamic shadows in shader
- Water: Beautiful water shader
- Better culling for spot light sources
- Shadows working is improved, when amount of shadow textures is less than light sources in the frame
- PlayerCharacter: Improved working for melee-weapons
- Weapon animation (idle, fire, reload)
- Weapon animation. Animations for parent unit are played from weapon
class now. (Earlier from intellect classes)
- GameCharacter: Jump animation
- Mesh: Simple UV unwrapping tool (See Resource Editor, Mesh Editor, "Channels" button). Very simple realization. Only for tests.
- Mesh: Opportunity to let calculate UV Unwrap channel in the third party software (3d modeling package) and use in the engine
- Correct error processing when working with files
- Dynamic class: "Shape shape" parameter in OnDamage() method.
- Decal: Static lighting support (Irradiance volume)
- HeightmapTerrain: Moved to separated HeightmapTerrain.dll
- Method VertexDeclaration.FindElementBySemantic(VertexElementSemantic semantic) searches for the first matching element now. Earlier searched for the first one with a zero index.
- Tools: BitmapFontBuilderTool.exe is working at all now
- Cg 2.0
- Bug fix: HeightmapTerrain: Black spots of shadow after device lost
- Bug fix: Invalid update shadow parameters after change
- Bug fix: OpenGL: Application exits after shader compilation error
- Bug fix: GameCharacter: Ugly switching of animation after finishing
- Static lighting manager. Lightmaps support. Integrated tool for lightmap calculation (at present only HeightmapTerrain is supported).
- The interface for implementation another calculation algorithm of static lighting
- StaticLightingDemo (is not finished)
- Scene Management: More exact and faster scene management for generation of shadow textures
- Dynamic class: Sound collision detection is improved
- Shadows: Shadow color for the ShadowMapHigh shadow type
- HeightmapTerrain: CastDynamicShadows property
- Map Editor: "Enable dynamic lighting" option
- Physics System: Internal optimizations and reduction of use of the Garbage Collector
- Map System: Reduction of use of the Garbage Collector
- MathEx: Big internal optimizations
- MathEx: The optimized methods passing values through ref, out parameters are added
- MathEx: Some missing methods are added. The duplicated methods are removed.
- Bug fix: Incorrect working of shadows with fog
- Bug fix: HeightmapTerrain: Incorrect working of the editor after change of layers
- Bug fix: Sound System: Possible falling of the application at change of property ChannelGroup.Pause
- Bug fix: MathEx: Incorrect working of Box.GetVolume() method
- Bug fix: UISystem: Leaks in not removed references in events. Potential bugs.
- Bug fix: Physics System: Invalid working of method Shape.IsContactableWithShape() with use ShapePairFlags.DisableContacts flag
- Depth shadow mapping. Soft shadows. Self-shadowing. Correct shadows from alpha test objects. Correct shadows from Vegetation material.
- CutSceneDemo, TPSArcadeDemo, MainDemo are updated
- HeightmapTerrain: Normal Mapping
- HeightmapTerrain: Smooth transition between materials LODs
- HeightmapTerrain: The way of calculation uv coordinates is changed. It is more convenient, when the texture stretches on all map without tiling.
- All materials in a demo are changed to high level materials
- ShaderBase material: "Add", "Modulate", "ColorBlend" blending are removed (do not confuse with blending of diffuse maps). AlphaAdd blending is added. It is necessary to change manually in all material files "blending = Add" to "blending = AlphaAdd". Be attentive!
- ShaderBase material: Diffuse map blending: ColorBlend is removed
- ShaderBase material: Scale property for textures
- Physics System: Opportunity to switch off collisions for any shape pair. PhysicsWorld.SetShapePairFlags() method.
- Physics System: The formula of calculation of Bounciness is changed at collision of two shapes. Earlier average value calculated. Now calculated as product. bounciness = shape1.Bounciness * shape2.Bounciness.
- StaticGeometry: CastShadows property
- Region: Opportunity to consider static bodies and objects without bodies
- Region: CheckFilter, ShapeType properties
- CutSceneManager: Method for playing animations of objects. CutSceneManager.PlayObjectAnimation() method. See example in the CutSceneDemo.
- DecorativeObjectManager: Now a directory \DecorativeObjectManager does not delete at serialization of a map. For correct working of svn, cvs.
- Resource Editor: Directories with a name cvs and .svn now for convenience are painted with gray color. Opportunity to add other filters in Options.
- FMODSoundSystem: For Windows Vista now Windows Audio Session API is used. Earlier DirectSound.
- Decal: Now leave at destroying of parental object
- ComboBox: Enable property support
- Entity System: [FieldSerialize] - Support of types sbyte, byte, short, ushort, char, long, ulong
- Configurator: noSetMaxFrequency renamed to allowChangeDisplayFrequency
- Automatic choice of optimum settings at the first start
- Lights: AttenuationRangeAutomatic property
- Sound System: More correct working on the some bugged soundcard drivers
- Bug fix: HeightmapTerrain: Fading of detail maps by distance does not work when LODs are switched off
- Bug fix: Incorrect working of DecorativeObjects in OpenGL
- Bug fix: GridPathFindSystem: The motion map does not ignore NoContact shapes
- Bug fix: ShaderBase material: Incorrect working of AlphaBlend at the switched on fog
- Bug fix: PhysicsSystem: Invalid working of methods Body.IsContainsPoint(), GetPointDistance() when shape has not default Position or Rotation
- Bug fix: Region: Incorrect hit detection of object when ShapeType = Capsule and CheckType = Center
- Bug fix: Region: Absence of serialization of property CheckType
- Bug fix: Mesh Editor: The wrong information about quantity of triangles in a .mesh file
- Bug fix: Incorrect working of IndexData.CreateFromArray() at startIndex != 0
- Bug fix: Resource Editor: Error of playing of some .wav files
- Bug fix: Error of working with some archives when archive does not give the list of directories.
- Bug fix: Sound System: Repeated playing in the attached sounds
- License conditions, scheme and prices have changed. Licenses now differ by functionality.
- Fixed engine problems with some ATI cards in Direct3D
- ShaderBase material: Support ps_2_0 or above (Earlier ps_2_a or above).
- DirectSound system implemented
- OpenALSoundSystem is removed
- File archives support. An interface for file archive type creation has been added.
- Zip archives support
- Example of file archives (Data\_Tests\ZipArchiveTests)
- Dynamic parameters in gpu programs
- Example of use of dynamic parameters in gpu programs in RenderDemo
- ShaderBase material: Scroll and Rotate properties
- ShaderBase material: The format of files is changed. Compatibility for options of animation is lost. It is necessary to set up properties of animation anew. Be attentive.
- ShaderBase material: Dynamic parameters (DiffuseScale, EmissionScale, ReflectionScale, SpecularScale, FadingByDistanceRange)
- Decal: Tangent vectors calculation
- Decal: High level materials support
- Sound System: Property MinDistance for channels. The MinDistance property sets the minimum distance, which is the distance from the listener at which sounds in this buffer begin to be attenuated.
- Sound System: Division inside of the engine on 3D and 2D channels
- Sound System: Now by a call of method SoundWorld.SoundPlay(), the new object of class VirtualChannel is created. Earlier the free channel was used. There could be problems when parameters of the channel change during playing.
- For compilation of shaders in Direct3D now is used the hlsl compiler
- Camera: Orthographic projection
- SkyBox, SkyDome: Automatic distance calculation
- Gamma correction. Options in the game.
- SceneNode: Event SceneNode.AddCurrentToRenderQueue is removed. Now it is necessary to use event MoveableObject.AddToRenderQueue.
- Tank: For tracks now are used high level materials. The dynamic parameter in gpu program for animation of tracks is used.
- Textures: Now the loaded textures are destroyed by a call of method Texture.Dispose()
- Bug fix: Incorrect work of DecorativeObjects with switched on stencil shadows
- Bug fix: Incorrect work of class Character in PhysX. The character flies on inclined planes.
- Bug fix: UISystem: Invalid serialization of buttons for switching pages in TabControl. There was a duplication of buttons after serialization. It was caused in file Gui\OptionsWindow.gui.
- Bug fix: FMODSoundSystem: Incorrect work of FMODSoundSystem on the some SoundBlaster cards
- Bug fix: FMODSoundSystem: Leaks at disposing of sounds
- Bug fix: Gizmo: Not always true work in a moving mode
- Bug fix: Resource Editor: Small error at renaming materials
- Bug fix: Problems in working of editors if there are files with empty extension
- Bug fix: Item: Small problems in the Resource Editor at moving the attached objects
- Decorative objects. The new tool for rendering a plenty of simple objects. This object is convenient for creation of a grass, bushes and other simple objects.
- Entity extended properties. Extension of Entity System. An opportunity to add various properties to entities and to set up them. Property ExtendedProperties in the Map Editor.
- TankDemo
- Example of realization of a vehicle (on an example of the tank)
- Animations blending
- MapObject class and Map Editor: The tool for automatic alignment of objects on a landscape is added. MapObject: property AlignmentMethod.
- Physics System: New HeightFieldShape shape. It is supported only in PhysX.
- HeightmapTerrain: Speed of working of physics is increased (owing to support of HeightFieldShape shape)
- PhysXPhysicsSystem now it is active by default
- GuiRenderer: Rendering of triangles
- MeshEditor: Viewing texture uv channels
- ExtendedPropertiesDescriptor class is renamed in ExtendedFunctionalityDescriptor
- HeightmapTerrain: The heightmap size is increased up to 1024x1024
- Unit: Now the intellect is initialized before call Intellect.OnPostCreate(). Be attentive.
- Map: Property SoundDistanceFactor in the Map Editor
- Physics System: Now static and sleeping objects can accept event Body.Collision
- Dynamic class: In event Damage now prejudicial has type MapObject. If this event is used in Logic Editor it is necessary to correct manually a map in the text editor. It is necessary to find a method "methodName = Damage" and replace "parameterType = GameGeneral.Dynamic" in "parameterType = Engine.MapSystem.MapObject". Be attentive.
- All internal methods now are called with a prefix "_"
- GrassWaverMaterial is renamed in VegetationMaterial. It is necessary to edit the created files of materials manually
- Vegetation material: DecorativeObjects support
- ShaderBase material: True calculation of illumination for Culling = false
- ShaderBase material: Property UseNormals
- ShaderBase material: Property FadingByDistance
- ShaderBase material: Property ReceiveShadows
- MapObject attached particles: Now the particle systems are destroy when are invisible (i.e. are switched-off). The particle systems can be recreated during simulation. Property ParticleSystem can give null. Be attentive.
- Dynamic class: Properties InfluenceSlotNames, FireInfluenceParticleName are removed. See Influence: Use of the attached objects.
- Influence: Use of the attached objects. Now at activation of influence, all the attached objects at which Alias coincides with a name of type of influence, become visible. See ExplosionBarrel.type for example.
- InfluenceType: Property particleName is renamed in defaultParticleName. Compatibility is not saved. Be attentive.
- DynamicType class: Property InfluenceOnDamage is removed. Now it is necessary to use property AutomaticInfluences. Compatibility is not saved. Be attentive.
- DynamicType class: Property AutomaticInfluences
- Resource Editor: MeshEditor: Visual selection of active sub mesh
- Ageia PhysX 2.7.2
- Bug fix: Visual latency of objects which are attached by means of boneSlot.
- Bug fix: Resource Editor: Separate materials tool: Invalid work when in names of materials there are inadmissible symbols for names of files
- Bug fix: The Map Editor falls, when there is an map nodes is expanded. Happens when the object has others attached MapObject objects.
- Bug fix: ShaderBase material, HeightmapTerrain: Correct calculation of distance for a fog
- Bug fix: ShaderBase material: Bug at the switched on fog and AlphaReject function
- Bug fix: Explosion: Wrong prejudicial by a call of method DoDamage
- Bug fix: Falling of the application at incorrect values of a position of the camera
- Bug fix: Potential bug in dynamically attached sounds
- StaticGeometry: Opportunity to move, rotate and scale objects. An opportunity to work by means of gizmo. Various additional options.
- ShaderBase material: 4 diffuse textures, texture animations, clamping, choice of texture channels
- Sky domes
- WaterPlane: Reflections (simple method), fog, splashes
- Sound System: Opportunity of reception of a sound from a microphone
- RenderDemo is updated
- CraneDemo is updated
- SoundDemo is updated. Example of reception of a sound from a microphone and generation of a sound from a code
- Map Editor: Button "Focus Camera to Object"
- Documentation: Tutorials is updated
- Scene Management: Correct work of cameras with reflections
- Resource Editor: The tool for moving axes of meshes
- HeightmapTerrain: Now supports ps_2_0. (early ps_2_x and above)
- Game options: Opportunity of a choice of a level of water reflections
- Work of gpu programs cache is improved
- Indoor Scene Manager is optimized
- Shape: Property SpecialLiquidDensity. For adjustment of special density in water.
- Bug fix: ShaderBase material: Incorrect work of spot light sources
- Bug fix: ShaderBase material: Incorrect work an alpha blending with a fog
- Bug fix: Wrong serialization of layers in the Map Editor
- Bug fix: In some cases invalid work of WaterPlane and SkyBox during simulation
- Bug fix: Wrong detection of visibility of flares at the switched on shadows
- Bug fix: Problems of a relative mouse mode on the multimonitor systems
- Bug fix: Map Editor: Incorrect work Undo/Redo at creation/removal of objects
- Bug fix: Bullet: Wrong orientation of bullets with gravitation
- Bug fix: Door: Twitching mesh at closing a door
- Bug fix: Invalid work of occluders in some cases
- Bug fix: Error of creation of new type on base of
class Turret
- 64-bit High Dynamic Range rendering (Bloom, adaptive exposure)
- Option of global technique of rendering (At present it Standard and HDR techniques)
- Game: HDR options in the post effect window
- HeightmapTerrain: There is no limit by three light sources
- HeightmapTerrain: Spot lights
- HeightmapTerrain: Opportunity in real time to change parameters of the fog
- Warning! ShaderBaseHighLevelMaterial is renamed to ShaderBaseMaterial. It is necessary manually in all .highMaterial files to replace "ShaderBaseHighLevelMaterial" on "ShaderBaseMaterial". Be attentive.
- ShaderBase material: Spot lights
- ShaderBase material: True work of normal mapping, parallax mapping in the ambient light
- ShaderBase material: Lighting, Blending, Culling, Alpha rejection properties
- ShaderBase material: Transparent property is removed. It is necessary to use Blending property. Be attentive.
- SkyBox high material is removed. Now creation of a material for skyboxes is not necessary. It is necessary to specify a texture of skybox in object SkyBox.
- Resource Editor: Work with files of materials and particle systems is improved
- The code for work with composers is changed. Now he is easier and more clear.
- FPSWeapon and GrassWaver programs is removed. Now it is necessary to use respective high level materials.
- Light: Attenuation range now is automatically calculated
- Option for debugging drawing of a light sources (Debug: Draw lights)
- Ingame GUI: Opportunity for rendering from a backside (property DrawFromBackSide in the attached object)
- ScrollBar: Enable property
- Light: Visible property
- Bug fix: Some render problems on multiprocessor systems
- Bug fix: Resource Editor: Error at renaming materials
- Bug fix: Superfluous calculation of management scene at active posteffects
- Bug fix: True calculation of bounds for attached ingame GUI
- Bug fix: CheckBox: Incorrect work at Enable = false
- High level materials. High level materials - it is a extension above standard materials for procedural generation of standard materials and shaders. High level materials simplify creation of new materials. Allow to generate various variations of shaders. From the point of view of designers, the high level material represents the list of properties (a paths to textures, colors, etc.). Also there is an opportunity to create the templates of materials on the basis of SDK.
- The Material Editor for a high level materials.
- ShaderBase high level material: Base template for creation shader materials. diffuse maps, specular maps, emission maps, normal mapping, parallax mapping, cubemap environment mapping, vertex colors, transparency (ShaderBaseHighLevelMaterial template).
- RenderDemo updated: Parallax mapping and cubemap reflections example
- Example of a class of a high level material (SimpleExampleHighLevelMaterial template)
- Template of a high level material for creation a skyboxes. (SkyBoxHighLevelMaterial template)
- CubemapZone. Cubemap zones are intended for accommodation on a map of zones for cubemap reflections (environment mapping). Cubemap zones at loading a map render a scene in a cubemap textures. During rendering a scene, the object being a zone, uses a cubemap texture of a zone. It is used in ShaderBase high level material.
- Shader programs PerPixelLighting, BumpMapping, OffsetMapping are removed. Now it is necessary to use ShaderBaseHighLevelMaterial.
- HeightmapTerrain: Smoother switching of LODs
- HeightmapTerrain: Smaller amount of used memory
- HeightmapTerrain: Per pixel lighting
- Entity System: Complete support of serialization through FieldSerialize attribute. Including support of custom structures and classes.
- Documentation: Serialization in Entity System is updated
- Resource Editor: The tool for scaling models. The button "Scale axises".
- WindowAppExample. Example of initialization of a engine in the WinForms application.
- Skyboxes now are correctly oriented
- Properties Portal.Active, Occluder.Active (Are not visible in the Map Editor)
- More detailed limitation of the shader version in the Configurator (vs_2_0, vs_2_a, ps_2_0, ps_2_a, ps_2_b)
- It is not necessary to specify attributes any more for QuatShowAsAnglesConverter, ColorValueAsByteConverter. Now it is made automatically.
- MaterialManager: Now the created material has no any techniques by default (method Create)
- TextBlock: It is a little more user friendly serialization of attributes
- 3dsExporter: Export of vertex colors
- Bug fix: HeightmapTerrain: Errors appearing at edges of map are corrected
- Bug fix: HeightmapTerrain: Incorrect display at creation of a new map
- Bug fix: Crash of the Resource Editor at opening Decal.type
- Bug fix: Wrong limitation of the shader version in a Configurator
- Bug fix: Wrong value Viewport.Dimensions
- Bug fix: Resource Editor: Error of creation of new type with a class
- Bug fix: Incorrect work of posteffects at change of the window size in Direct3D
- Bug fix: Incorrect work of dynamic geometry with stencil shadows.
- Bug fix: Explosion class: Absence of influence from explosion at death of object. (an example: zombie do not burns, if it killed by grenade).
- Bug fix: Map Editor: The error of rotate objects in which is joints exists (for example the crane)
- Bug fix: Wrong serialization of object StaticSound
- Bug fix: Wrong dimensions of models after turn of axes in the Resource
- Ageia PhysX implemented
- Decals (only for static objects)
- Physics System: Continuous collision detection
- Physics System: Work of joints is improved (axises and limits). Bug fixes. Be attentive.
- Physics System: Work of motors is improved (geared and servo motors)
- Physics System: Static and dynamic frictions
- Physics System: The method of calculation of destruction joints is changed (for compatibility with PhysX)
- Physics System: It is allow to change contact group of shapes during simulation (Shape.ContactGroup).
- Physics System: Now RayCastResult is a structure. Be attentive.
- Physics System: RayCastResult: triangleID for Mesh shapes
- PhysicsDemo: Demonstration work of continuous collision detection
- PhysicsDemo: Demonstration of creation of destructible objects
- ODEPhysicsSystem: Simple continuous collision detection (see the documentation for the more information)
- WoodBox: Example of creation of destructible objects (PhysicsDemo)
- Configurator: Opportunity to choose physics library
- EntityType Editor: Option "Show invisible attached objects"
- EntityType Editor: Option "Filter attached objects by alias"
- Log: thread safe
- SDK: The source code of a Configurator is accessible
- MathEx: Class for generation of simple geometrical models (sphere, cylinders, capsules, boxes)
- Resource Editor: The tool for rotation axes of models. The button "Rotate axises".
- 3dsMax LEXIExporter: Adapted for the NeoAxis Engine (Correct export of axes)
- 3dsMaxExporter: Correct work with XmlConverter, more convenient export of materials, a grouping of geometry to smaller amount of subMeshes
- Documentation: The information on physics systems (ODE and PhysX)
- ComboBox: Correct display of the dropping out list at outside the limits of the screen
- Dynamic class: The code of copying of velocities to children from DieObjects is removed. Now there is property CopyVelocitiesFromParent in the attached objects.
- BlinkGrid class: Example of creation of dynamic geometry (see RenderDemo)
- Entity System: Tick the created object can be caused only on following Tick the world (earlier at once in this Tick)
- GridPathFindSystem: Now there is an opportunity to add in MotionMap objects without physical model
- HeightmapTerrain: A little more correct creation of geometry
- Bug fix: UISystem: Correct work with non round2 textures
- Bug fix: Incorrect Damage detection at compound objects (reception damage twice if the object has the attached objects)./li>
- Bug fix: Attached sounds: Interruption not looped sounds at MapObject.Visible = false
- Bug fix: Resource Editor: Error at creation of a material
- Bug fix: Incorrect transformation of the attached objects (when there are local transformations)
- Bug fix: Entity System: Incorrect serialization of some fields (invalid work with default values)
- Bug fix: Incorrect work with bones in some models
- Free Non-commercial license
- Work on 64bit systems and Windows Vista
- HeightmapTerrain: fog
- Resource Editor: The editor of vertex channels of mesh
- Weapon: Now does not get through walls in a FPS mode
- Correct work with tangent vectors in shaders. It is necessary regenerate tangent vectors for meshes.
- PerPixelLighting, BumpMapping, OffsetMapping: Rewritten for variable quantity of light sources. Speed of work is increased, ambient light, specular maps.
- Templates of materials BumpMapping, OffsetMapping are removed. Now it is necessary to create a full material.
- Correct work of BumpMapping and
OffsetMapping shaders in OpenGL
- Attached meshes: Property PhysicsToCollision is removed. Now it is necessary to use property ToCollision for the attached meshes. Compatibility with old versions is saved.
- ;Collision: Properry UseStaticGeometry is removed. Transferred in property StaticGeometry. Compatibility with old versions are _not_ saved. Be attentive.
- StaticGeometry, Collision, MapObjects: Property CollisionMaterialName.
Opportunity to specify a physical material.
- Collision: Custom meshes. Now it is possible to create many meshes. Property CustomMeshName is removed. Compatibility with old versions are _not_ saved. Be attentive.
- WaterPlane: Physical influence on objects
- WaterPlane: Automatic change skybox in a material
- Correct texture filtration in ingame GUI
- Work in a full-screen mode is accelerated
- Map Editor: Work of a mode "Run simulation" is improved
- GridPathFindSystem: Opportunity to set a many bounds for one object (OnGetObjectBounds)
- GridPathFindSystem: Opportunity temporarily to clear many rectangular areas (DoTempClearMotionMap)
- GridPathFindSystem: Correct work with HeightmapTerrain
- Region: Work for the big count of objects is optimized
- Shape: Property for get volume of shape
- Log: Now Ogre.log data will write to the general log file of the application
- Bug fix: HeightmapTerrain: Incorrectly displayed geometry bugs are corrected
- Bug fix: MathEx.Bounds.RayIntersection()<;/li>
- Bug fix: In some cases crashing program by call Map.GetObjectsWithCollision
- Bug fix: Unstable work at use a post effects in additional render targets
- Bug fix: Map Editor: It is impossible to change properties at the several selected objects
- HeightmapTerrain (paint layers, geomorphing in a vertex shader, material LODs)
- HeightmapTerrain Editor
- TerrainDemo
- Link to bones of model with physical bodies. An opportunity to create any ragdolls in the physics editor.
- RagdollDemo
- Conditions of licensing are changed
- Example: Creation of a water plane (WaterPlane entity)
- Example: Vegetation shader (fir example)
- Map Editor: Collision it is updated automatically
- EControl: MouseWheel event
- Explosion entity: The formula of calculation of force of an impulse is changed
- Collision: Faster generating
- Check for not removed objects of a render
- Attached meshes: Normalization of normals when the scale is not equal to 1
- Map: Opportunity to set node size for each map
- MathFunctions.Clamp: the interface is changed
- Bug fix: Resource Editor: White texture at viewing materials and models
- Bug fix: Wrong rendering at the switched on clipping
by rectangle. SetScreenClipRectangle.
- Bug fix: Editors: Possible crash at an exit
- Bug fix: VideoBox: Incorrect rendering in some videocards
- Bug fix: Logic System: The error of compilation when exists a entity class with same name of a logic class
- Bug fix: Incorrect rendering of debug geometry in some cases
- Non-commercial license
- Entity Type Editor: Attached objects can now be adjusted visually
- Opportunity to create objects by means of Objects Creation Collection and to transfer them to the attached objects list. It enables to create objects which follow the owner. For example flashes from shots attach to the gun and move together with him.
- Resource Editor: Support of viewing of file types: hdr, psd, bmp, gif
- Resource Editor: Save button
- Map Editor: Tips above objects (to include go to options dialog)
- Map Editor: Camera control: Alt + right button - Camera move front/back
- Map Editor: Camera control: middle button - Camera strafe
- Resource Editor: MeshEditor: bones view
- "Solid" renamed to "Body". Compatibility with old .physics files is saved.
- Entity Type Editor: AttachedObject.Solid, SlotName, BoneName properties with combo boxes for convenience
- Dynamic.SoundPlay3D: The parameter at which the sound attach to object is added. Now sounds can move with object of the owner.
- Caching on a disk a static geometry tiles
- The opportunity to change a near/far distance of the camera for each map separately is added
- Class MapType: CameraNearFarRange renamed to NearFarClipDistance
- Faster work of texture shadows
- Class MeshObject.BoneSlot moved to MapObjectAttachedMesh.BoneSlot
- Resource Editor: Work with ".type" files is improved. Renaming of types, removing.
- Attached Ribbon Trail: CastShadows property
- Class GameGeneral.PlayerCharacter correrted and bugs are fixed
- Class MapObjectAttachedParticle: EnableStartTime property renamed to StartTime.
- Objects Creation Collection: class MapObjectCreateMesh. To create temporary models and to attach them to the owner
- Resource Editor: In a name of materials it is allow to use "/"
- Copying a log files at a fatal error
- Contact groups removed ContactGroups.Dynamic1 and ContactGroups.Dynamic2
- Logic System: The file of the control sum for check of changes of files of maps is added.
- Classes Mesh, SubMesh, VertexData, IndexData: Methods for simple creation of buffers from managed arrays and extraction of data from buffers are added
- Map Editor: More correct selection of objects by the mouse
- Scene management is a little optimized
- Bug fix: Visually the physics never falls asleep
- Bug fix: Impossibility to add in StaticGeometry models containing diffuse color in vertices
- Bug fix: Wrong definition of flares visibility at the switched on shadows
- Bug fix: Impossibility to receive the notice on pressing keys Keys.LShiftKey, Keys.RShiftKey, Keys.LControlKey, Keys.RControlKey
- Bug fix: Incorrect work of method Map.GetObjectsByScreenRectangle at switched on stencil shadows
- Bug fix: Wrong calculation Solid.Bounds
- Bug fix: Incorrect work of many methods ToString( int precision ) in MathEx assembly
- Bug fix: Incorrect work of methods of a class RenderFrustum (ViewMatrix, ProjectionMatrixRS, GetReflectionMatrix)
- Bug fix: Incorrect rendering of a grid in the Physics Editor
- LOD's. Adjustment in the Resource Editor. Automatic generation.
- Game: It is a little changed GameWindow.cs for more simple creation of new game modes
- PostEffects: Option "Apply PostEffects to Screen Gui"
- Map Editor: Dialogue at map loading for change of missing entity type
- MapsWindow: Now maps are searched on all "Data"
directory. Earlier only in "Data\Maps".
- Collision: Opportunity to set custom mesh
- Culling ingame 3D gui by means of the scene manager (earlier only by frustum)
- Rendering ingame 3D gui in additional render targets
- Splash screen for a game logo at start
- GUI rendering speed increased
- The buffer of color now is not cleared if is active SkyBox
- Some optimization of physical system
- FMOD updated to 4.6.9
- "Relations" system renamed to "Relationships"
- Class DefaultMapRenderTargetListener is not used any more since it is not necessary
- The part of the documentation is written. It will be presented in SDK.
- Bug fix: True rendering ingame 3D gui
- Bug fix: Occluders does not cut outdoor portals
- Bug fix: Configurator: dump of the screen resolution in a windowed mode
- Bug fix: Game: a decreasing window size at game restart in windowed mode
- Bug fix: Twitchings of a player gun at active posteffects
- Bug fix: Leaks in LogicSystem at destruction of a map
- Bug fix: Map Editor: impossibility to select some objects in just created map
- Bug fix: The impossibility to edit a .type files if a directory to it has been renamed
- Scene management. New portal system for the culling of invisible geometry. Ability to set zones and connect them with portals. Work in a mixed indoor-outdoor scene manager, with the ability to set occulers.
- Map Editor: Undo/redo support (Except for Logic Editor)
- FPSDemo (Only demonstration of zones and portals)
- Material: Per pixel lighting for three light sources in one pass
- Material: Bump mapping for three light sources in one pass. With specular texture and without.
- Material: Offset mapping for three light sources in one pass
- Diagnostics mode "FrustumTest". Allows to see cull objects behind the screen. To switch on it is possible through the menu "Debug".
- Mode of debugging drawing of zones, portals and occluders
- Gizmo: World and local transformations of objects
- Gizmo: Improved work a position mode
- Map Editor: More correct transform object at its creation
- Map Editor: Sound. Volume control.
- Map Editor: Modified flag. For display of dialogue about necessity of save of a map.
- Map System: Reception of objects on a screen rectangle now is faster
- Map System: Reception of objects by frustum
- Map System: The type "StaticSound", intended for simple creation of static sounds on a map is added
- Resource Editor: Opportunity to create a new empty material
- Vertical sync control
- Filtration control: Bilinear, Trilinear, Anisotropic 2-16x
- ListBox: Vertical scroll bar
- Gui Renderer: ClipRectangle for quad and texts
- GameGeneral: RespawnPoint renamed to SpawnPoint
- The object "WindMill", as an example of creation of dynamic physical objects is added
- The part of the documentation is written. It will be presented in SDK.
- Bug fix: Leaks in UI System at detach control from the parent
- Bug fix: Short-term playing of inactive static sounds at loading a map
- Bug fix: Map Editor: Error of start of simulation at just created map
- Bug fix: Physics Editor: Shapes Collection Editor: Impossible to create shapes.
- Bug fix: Map Editor: Correct calculation of objects in a layer
- Gui Editor
- Sound Demo
- Virtual channels management. Virtual channels allow thousands of channels to play on limited hardware/software. Sounds are swapped in and out according to 3d distance and priority.
- Opportunity to add new control types (by means of foreign dynamic linkable assemblies)
- Map Editor: Selection layers
- UI System: VideoBox (with sound support)
- Ogg Theora Video updated to 1.0 alpha7
- Depth Of Field (not finished)
- Flares
- Full screen antialiasing
- Posteffects management in a demo moved to menu
- The installer: Progress bar during optimization
- Resource Editor: Correct renaming and copying of materials
- Bug fix: Crash program at minimization with active posteffects
- Bug fix: Sound System: Identical scaling of sounds remoteness at OpenAL and FMOD
- Physics Model Editor
- Crane Demo. A demonstration of complex physical constructions.
- Tests of physical models. In directory Data\_PhysicsTests.
- Abstract wrapper for physics it is completely refactored and rewritten on C#. Now it is even easier implement another third-party physics libraries. There is a base physical system PhysicsSystem.dll and implemented ODEPhysicsSystem.dll.
- Physics Demo: RayCast and VolumeCast tests
- The format of physical models is changed
- Breakable joints
- Per shape RayCast (earlier was on bodies)
- Per shape collision events of physical objects (earlier was on bodies)
- Physical materials
- Dynamic user-defined triangular mesh collision shapes
- Physical motors are advanced. Bug fixes.
- Resource Editor: renaming, copying of resources
- Resource Editor: automatic resource updating from external modification
- Resource Editor: Opportunity to edit physical model with viewing the attached models to bodies
- Particle System Editor: It is displayed the list affectors. An opportunity them to select.
- Particle System Editor: multiselection, copying
- Particle System Editor: creation of emitters and affectors through the context menu
- ODE is updated up to version 0.7
- Open Physics Abstraction Layer (OPAL) is not used any more
- Character: impossibility to go on strongly inclined surfaces
- Turret: The class is strongly simplified both by a principle of work, and on a way of designing of new objects
- Map Editor: EntityExpandedToolBar - Opportunity entities to add buttons in toolbar
- OpenAL implemented
- Sound library FreeSL is removed
- Demo: The option of the screen size and quality of color is divided.
- Work with a window of the application is improved
- New dialog of options for editors. In the editor of resources for each editor the options.
- Optimization of productivity .NET assemblies under concrete system at installation of a demo
- Bug fix: Incorrectly oriented fastened particle systems
- Bug fix: Problem with joints connected to static bodies
- Bug fix: Mat3.ToQuat()
- Particle System Editor
- TPS Arcade Demo. A sample implementation of a third-person shooter game.
- Cut Scene Demo. A demonstration of cut-scene creation.
- UI System Demo
- Opportunity to limit as much as possible used version shaders. By means of a configurator.
- Work on videocards without shaders support
- Curves. Bezier, uniform cubic splines.
- Cameras. Static and moving on splines.
- Cut scene manager
- UI System: VideoBox. Supportogg theora video (while without a sound)
- UI System: EditBox
- Design methods in Logic Editor: copy/paste, drag and drop, multiselection
- Script Editor: Find and Replace
- Change of the video resolution in a configurator
- Gizmo more correct scaling and a step
- Character bug fixes and optimizations
- Various small additions, bug fixes and optimizations
- and an animated rabbit :)
- The sixth demo. RTS Demo. A sample implementation of a real-time strategy game.
- Expandable grid-based path finding system
- Virtual multithreading in the logic system. An opportunity of parallel execute design methods by means of commands of expectation (Logic.Wait).
- Management of cameras
- More convenient work with static objects in the Map Editor (creation, selection)
- Free Sound Library FreeSL partially implemented (no streaming)
- Opportunity of a choice of sound system in a Configurator
- Various small additions and bug fixes
The first public release.