me
/
guix
Archived
1
0
Fork 0

gnu: Add recastnavigation.

* gnu/packages/game-development.scm (recastnavigation): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
master
Felix Gruber 2022-01-03 19:38:24 +00:00 committed by Leo Famulari
parent 0d15873d7e
commit 0aac289d61
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
1 changed files with 51 additions and 0 deletions

View File

@ -2837,3 +2837,54 @@ fully dynamic omnidirectional shadows, global illumination, HDR lighting,
deferred shading, morphological / temporal / multisample anti-aliasing, and
much more.")
(license license:zlib))))
(define-public recastnavigation
;; We follow master since there hasn't been a release since 1.5.1 in 2016.
(let ((commit "c5cbd53024c8a9d8d097a4371215e3342d2fdc87")
(revision "1"))
(package
(name "recastnavigation")
(version (git-version "1.5.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/recastnavigation/recastnavigation")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"034bm47gc3r285w1pnvkhmm74zz99d204b1r865gisaiq4qfbza0"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
"-DRECASTNAVIGATION_DEMO=OFF"
"-DRECASTNAVIGATION_TESTS=ON"
"-DRECASTNAVIGATION_EXAMPLES=OFF")))
(synopsis "Navigation system for games")
(description "Recast is state of the art navigation mesh
construction toolset for games.
@itemize
@item It is automatic, which means that you can throw any level geometry
at it and you will get robust mesh out.
@item It is fast which means swift turnaround times for level designers.
@item It is open source so it comes with full source and you can
customize it to your heart's content.
@end itemize
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.
Recast is accompanied with Detour, path-finding and spatial reasoning
toolkit. You can use any navigation mesh with Detour, but of course the
data generated with Recast fits perfectly.
Detour offers simple static navigation mesh which is suitable for many
simple cases, as well as tiled navigation mesh which allows you to plug
in and out 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 you may regenerate tiles as the world changes.")
(home-page "https://github.com/recastnavigation/recastnavigation")
(license license:zlib))))