NeoAxis Group is pleased to announce that NeoAxis Engine and it's SDK was updated to version 1.1. NeoAxis Engine is an all-purpose 3D engine for game development, simulation and visualization systems creation. New version introduced significant improvements in rendering as well as new pathfinding system, toolset localization support and some other improvements.
What's New in NeoAxis Engine 1.1?
NeoAxis Group has done much since 1.0 to provide new and exciting features that certainly will be useful for 3D projects developers. The key new features are the following:
- Depth buffer access — 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.
- Soft Particles — built-in Soft Particles technology support based on the new depth buffer access feature. Soft Particles is intended to eliminate graphic artifacts that can appear when particle intersects with scene geometry.
- Animation Tree System — 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, which is a scheme with operations and connections. A visual editor will also be added in later versions..
- Navigation mesh pathfinding — 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.
- Vegetation material — advanced Vegetation Material has been added. With this material it is now possible to make high quality trees, shrubs and grass.
- FXAA anti-aliasing — new anti-aliasing post-effect allows to achieve better image quality with less resources and higher performance, rather than when using FSAA or MSAA algorythms.
- Awesomium — 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 plug-in.
- Localization — the toolset supports localization now and can be easily translated to another language. Russian localization has been added.
Other improvements in NeoAxis 1.1:
- Autodesk Maya 2012 export 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 also remains.
- The TPS camera in the game has been improved. The camera no longer penetrates through walls.
- ColladaMeshLoader: Better importing and exporting support. Google SketchUp support.
- Fixed Frame Rate support has been added. EngineApp.Instance. MaxFPS property has been added.
- Skeleton animation: Blend masks for animation states have been added.
- The engine will now automatically unload old textures before loading a new map.
- 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.
- Better game character physics in PhysX.
Some optimization work has been done. Rendering system was optimized, clip volumes for reflections has been added, UISystem has been significantly optimized, less memory use during compilation for ShaderCacheCompiler. More than 15 known bugs werefixed in new version.
New Demos in NeoAxis SDK
NeoAxis Engine SDK 1.1 has three new demo maps added.
- A new "Mountain Village" demo 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.
NeoAxis Engine 1.1 is Evolution of the All-Purpose 3D Engine
With the release of version 1.1, the all-purpose 3D engine NeoAxis has become even more powerful, with rich functionality and tools. Improvements and new features that have been added in NeoAxis 1.1 made it even better solution for game and simulation development in any genre and area, including quick prototyping and ideas visualization. NeoAxis Engine is not just an engine, but a complete powerful and easy-to-use toolset for creating 3D applications. Demo maps included in the SDK enable fast start of development, based on the demos "skeleton" that are in fact templates/prototypes of games in different genres, as well as to save additional resources, involved into development, meaning that is saves you your time — and money.
About NeoAxis Engine
NeoAxis Game Engine is an all-purpose, modern 3D graphics development tool for 3D simulations, visualizations and games.
About NeoAxis Group
NeoAxis Group Ltd is a company focused on modern real-time 3D solutions. The development studio is located in Kazan, Russia. The main activity of NeoAxis Group is the development of NeoAxis Engine, a cross-platform engine for 3D simulations, visualizations and games.
Technical Details about New Features
This part is intended to provide additional information about new features and give a little deeper insight into relevant technologies.
Depth Buffer Access
One of the most long-expected and technically advanced new feature in NeoAxis 1.1 is the access to depth buffer as usual texture. This feature allows to integrate numerous modern rendering features such as Soft Particles, Depth of Field, SSAO, etc. Technically this feature uses Multi 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.
As the result of access to depth buffer Soft Particles technology has been added. Now any particle system and any material in general (because the "Soft Particle" is the property of the material) can be "soft", significantly improving visual quality of special effects like smoke, fire, explosions, etc. The purpose of Soft Particles is to get rid of graphic artifacts that appear when particle quad intersects scene geometry. In such places particles that aren't "soft" usually got "cut", resulting in bad-looking particle "edge" or "seam". There is a number of techniques to deal with this issue, and the one used in NeoAxis is just to fade the particle if it's getting to close to the scene. To do this, the scene without particles has to be rendered first and the depth saved in a texture. When drawing the particles, the depth of the particle will be compared to the scene depth. The alpha should be increased by a smooth fade by this depth difference. As result we get particles that are smoothly blended with the environment and scene geometry, making particle systems look significantly better.
Animation Tree System
A significant achievement was the intruduction of Animation Tree, that can be used to configure animations much easier. You don't need to write that much code for complex animation support anymore, like character animation, for example. 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. In sum, this will save you a lot of time for adding your animations and setting them to work right. Animation tree systems are widely used by other modern and powerful AAA-class game engines, like Unreal Engine 3 from Epic Games. Now this feature is also available in NeoAxis.
Navigation Mesh Pathfinding
A major problem in game development is implementing a fast and robust pathfinding system. NeoAxis 1.1 uses open-source Recast pathfinding system to implement powerful Navigation Mesh technology. Thus, in addition to grid and waypoint-based navigation system previously available in NeoAxis, now it is also possible to use the third system — Navigation Mesh Pathfinding. One of the advantages of creating a navigation mesh is that the process is fully automatic— the system automatically creates navigation mesh with the defined settings.
The Recast process starts with constructing a voxel mold from a level geometry and then casting a navigation mesh over it. The process consists of three steps, building the voxel mold, partitioning the mold into simple regions, peeling off the regions as simple polygons.
- 1. The voxel mold is build from the input triangle mesh by rasterizing the triangles into a multi-layer heightfield. Some simple filters are then applied to the mold to prune out locations where the character would not be able to move.
- 2. The walkable areas described by the mold are divided into simple overlayed 2D regions. The resulting regions have only one non-overlapping contour, which simplifies the final step of the process tremendously.
- 3. The navigation polygons are peeled off from the regions by first tracing the boundaries and then simplifying them. The resulting polygons are finally converted to convex polygons which makes them perfect for pathfinding and spatial reasoning about the level.
In general, navigation mesh pathfinding is a more up-to-date and "natural" way to implement navigation for AI-controlled actors, rather than grid and waypoint navigation systems. Using the navigation mesh technology provides additional benefits in terms of performance and speed due to reduced navigation graph density. With navmeshes one big open-space area can be represented by single navmesh polygon instead of dozen or even dozens of waypoints. This also reduces memory consumption because of decrease in the number of stored nodes, and can provide faster pathfinding through reduced overall navigation graph size.
Another advantage of Navigation mesh technology is the fact that it can be used for creation of multi-level pathfinding, when one level can be above or below another. With grid system pathfinding this option was unavailable. However, new system is not always the best one, and in some cases other systems can perform better — it is up to developer to use the most suitable pathfinding system in their projects.
New Vegetation Material
NeoAxis 1.1 is enhanced with new vegetation material. It can be used for realistic rendering of different vegetation, like grass, foliage and shrubs. New material uses combination of different approaches to achieve such results.
First, it uses Half-Lambert lightning, used by Valve in Half-Life 2. Translucency Maps support has been added to simulate effect of light passing through the vegetation material. Translucency maps in NeoAxis is the simple implementation of subsurface scattering effect that allows to achieve good results with good speed/quality ratio. Similar techniques for vegetation lightning was used in the most technically advanced PC first-person shooters of previous years — Crysis by Crytek.
For even better results foliage and other vegetation can be animated, using values stored in vertex color attributes of the geometry. Finally, another major problem with the vegetation was the edge aliasing, where the edges can have graphic artifacts — so-called "ladders" on the edges. NeoAxis 1.1 now has a new anti-aliasing effect to deal with this issue.
Fast Approximation Anti-Aliasing
Fast Approximation Anti-Aliasing (FXAA) — new anti-aliasing algorithm developed inside Nvidia by Timothy Lottes. FXAA advantages is the high speed and good quality. Technically FFXA is the single-pass pixel shader that applies to the image at post-processing stage. FXAA is less demanding in terms of resources , rather than FSAA (full-scene anti-aliasing) or MSAA (Multisample anti-aliasing).
That's it. Thanks for reading, hope you will enjoy using NeoAxis Engine!