mainpage_c.txt 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /// @mainpage Recast Navigation
  2. ///
  3. /// @image html recast_intro.png
  4. ///
  5. /// <h2>Recast</h2>
  6. ///
  7. /// _Recast_ is a state of the art navigation mesh construction toolset for
  8. /// games.
  9. ///
  10. /// - It is automatic, which means that you can throw any level
  11. /// geometry at it and you will get a robust mesh out.
  12. /// - It is fast, which means swift turnaround times for level designers.
  13. /// - It is open source, so it comes with full source and you can
  14. /// customize it to your hearts content.
  15. ///
  16. /// The latest version can be found on
  17. /// <a href="https://github.com/recastnavigation/recastnavigation">GitHub</a>.
  18. ///
  19. /// The _Recast_ process starts with constructing a voxel mold from level
  20. /// geometry and then casting a navigation mesh over it. The process
  21. /// consists of three steps: building the voxel mold, partitioning the
  22. /// mold into simple regions, and triangulating the regions as simple polygons.
  23. ///
  24. /// -# The voxel mold is built from the input triangle mesh by
  25. /// rasterizing the triangles into a multi-layer heightfield. Some
  26. /// simple filters are then applied to the mold to prune out locations
  27. /// where the character would not be able to move.
  28. /// -# The walkable areas described by the mold are divided into simple
  29. /// overlayed 2D regions. The resulting regions have only one
  30. /// non-overlapping contour, which simplifies the final step of the
  31. /// process tremendously.
  32. /// -# The navigation polygons are generated from the regions by first
  33. /// tracing the boundaries and then simplifying them. The resulting
  34. /// polygons are finally converted to convex polygons which makes them
  35. /// perfect for pathfinding and spatial reasoning about the level.
  36. ///
  37. /// <h2>Detour</h2>
  38. ///
  39. /// _Recast_ is accompanied by _Detour_, a path-finding and spatial reasoning
  40. /// toolkit. You can use any navigation mesh with _Detour_, but of course
  41. /// the data generated by _Recast_ fits perfectly.
  42. ///
  43. /// _Detour_ offers a simple static navigation mesh that is suitable for
  44. /// many simple cases, as well as a tiled navigation mesh that allows you
  45. /// to add and remove pieces of the mesh. The tiled mesh allows you to
  46. /// create systems where you stream new navigation data in and out as
  47. /// the player progresses the level, or regenerate tiles as the
  48. /// world changes.
  49. ///
  50. /// <h2>Recast Demo</h2>
  51. ///
  52. /// You can find a comprehensive demo project in the `RecastDemo` folder. It
  53. /// is a kitchen sink demo containing all the major functionality of the library.
  54. /// If you are new to _Recast_ & _Detour_, check out
  55. /// <a href="https://github.com/recastnavigation/recastnavigation/blob/master/RecastDemo/Source/Sample_SoloMesh.cpp">
  56. /// Sample_SoloMesh.cpp</a> to get started with building navmeshes and
  57. /// <a href="https://github.com/recastnavigation/recastnavigation/blob/master/RecastDemo/Source/NavMeshTesterTool.cpp">
  58. /// NavMeshTesterTool.cpp</a> to see how _Detour_ can be used to find paths.
  59. ///
  60. /// <h3>Building RecastDemo</h3>
  61. ///
  62. /// RecastDemo uses [premake5](http://premake.github.io/) to build platform specific projects.
  63. /// Download it and make sure it's available on your path, or specify the path to it.
  64. ///
  65. /// <h4>Linux</h4>
  66. ///
  67. /// - Install SDl2 and its dependencies according to your distro's guidelines.
  68. /// - run `premake5 gmake` from the `RecastDemo` folder.
  69. /// - `cd Build/gmake` then `make`
  70. /// - Run `RecastDemo\Bin\RecastDemo`
  71. ///
  72. /// <h4>OSX</h4>
  73. ///
  74. /// - Grab the latest SDL2 development library dmg from [here](https://www.libsdl.org/download-2.0.php) and place `SDL2.framework` in `/Library/Frameworks/`
  75. /// - Navigate to the `RecastDemo` folder and run `premake5 xcode4`
  76. /// - Open `Build/xcode4/recastnavigation.xcworkspace`
  77. /// - Select the "RecastDemo" project in the left pane, go to the "BuildPhases" tab and expand "Link Binary With Libraries"
  78. /// - Remove the existing entry for SDL2 (it should have a white box icon) and re-add it by hitting the plus, selecting "Add Other", and selecting `/Library/Frameworks/SDL2.framework`. It should now have a suitcase icon.
  79. /// - Set the RecastDemo project as the target and build.
  80. ///
  81. /// <h4>Windows</h4>
  82. ///
  83. /// - Grab the latest SDL2 development library release from [here](https://www.libsdl.org/download-2.0.php) and unzip it `RecastDemo\Contrib`. Rename the SDL folder such that the path `RecastDemo\Contrib\SDL\lib\x86` is valid.
  84. /// - Run `"premake5" vs2015` from the `RecastDemo` folder
  85. /// - Open the solution, build, and run.
  86. ///
  87. /// <h2>Integrating With Your Own Project</h2>
  88. ///
  89. /// It is recommended to add the source directories `DebugUtils`, `Detour`,
  90. /// `DetourCrowd`, `DetourTileCache`, and `Recast` into your own project
  91. /// depending on which parts of the project you need. For example your
  92. /// level building tool could include `DebugUtils`, `Recast`, and `Detour`,
  93. /// and your game runtime could just include `Detour`.
  94. ///
  95. /// <h2>Contributing</h2>
  96. /// All development is centralized in github. Check out the <a href="https://github.com/recastnavigation/recastnavigation/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> for more information.
  97. ///
  98. /// <h2>Discuss</h2>
  99. ///
  100. /// - Discuss _Recast_ and _Detour_:
  101. /// <a href="http://groups.google.com/group/recastnavigation">
  102. /// Recast Navigation Group</a>
  103. /// - Development Blog:
  104. /// <a href="http://digestingduck.blogspot.com/">Digesting Duck</a>
  105. ///
  106. /// <h2>License</h2>
  107. ///
  108. /// _Recast Navigation_ is licensed under the ZLib license.
  109. ///