/// @mainpage Recast Navigation /// /// @image html recast_intro.png /// ///

Recast

/// /// `Recast` is state of the art navigation mesh construction toolset for /// games. /// /// - It is automatic, which means that you can throw any level /// geometry at it and you will get robust mesh out. /// - It is fast which means swift turnaround times for level designers. /// - It is open source so it comes with full source and you can /// customize it to your hearts content. /// /// The latest version can be found on /// GitHub. /// /// 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. /// /// -# 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. /// -# 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. /// -# 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. /// ///

Detour

/// /// `Recast` is accompanied by `Detour`, a path-finding and spatial reasoning /// toolkit. You can use any navigation mesh with `Detour`, but of course /// the data generated by `Recast` fits perfectly. /// /// `Detour` offers a simple static navigation mesh that is suitable for /// many simple cases, as well as a tiled navigation mesh that allows you /// to add and remove pieces of the mesh. The tiled mesh allows you to /// create systems where you stream new navigation data in and out as /// the player progresses the level, or regenerate tiles as the /// world changes. /// ///

Recast Demo

/// /// You can find a comprehensive demo project in RecastDemo folder. It /// is a kitchen sink demo containing all the functionality of the library. /// If you are new to `Recast` & `Detour`, check out /// /// Sample_SoloMesh.cpp to get started with building navmeshes and /// /// NavMeshTesterTool.cpp to see how `Detour` can be used to find paths. /// ///

Building RecastDemo

/// /// RecastDemo uses premake4 /// to build platform specific projects, now is good time to install it if /// you don't have it already. To build _RecasDemo_, in your favourite terminal /// navigate into the `RecastDemo` folder, then: /// /// - OS X: `premake4 xcode4` /// - Windows: `premake4 vs2010` /// - Linux: `premake4 gmake` /// /// See the premake4 documentation for full list of supported build file types. /// The projects will be created in `RecastDemo/Build` folder. After you have /// compiled the project, the _RecastDemo_ executable will be located in /// `RecastDemo/Bin` folder. /// ///

Integrating With Your Own Project

/// /// It is recommended to add the source directories `DebugUtils`, `Detour`, /// `DetourCrowd`, `DetourTileCache`, and `Recast` into your own project /// depending on which parts of the project you need. For example your /// level building tool could include _DebugUtils_, _Recast_, and _Detour_, /// and your game runtime could just include _Detour_. /// ///

Discuss

/// /// - Discuss _Recast_ and _Detour_: /// /// Recast Navigation Group /// - Development Blog: /// Digesting Duck /// ///

License

/// /// _Recast_ and _Detour_ is licensed under ZLib license. ///