FieldTrip [1] is a library for functional 3D graphics.&nbsp; It is intended for building static, animated, and interactive 3D geometry, efficient enough for real-time synthesis and display.&nbsp; Since FieldTrip is functional, one describes what models are, not how to render them (being rather than doing).<br>
<br>Surfaces are described as functions from 2D space to 3D space.&nbsp; As such, they are intrinsically curved rather than faceted.&nbsp; Surface rendering tessellates adaptively, caching tessellations in an efficient, infinite data structure (from the MemoTrie library) for reuse.&nbsp; Surface normals are computed automatically and exactly, using the derivative tools in the vector-space library.<br>
<br>For animation or interaction, FieldTrip can be used with the Reactive [2] library for functional reactive programming (and possibly other animation frameworks).&nbsp; By design, FieldTrip is completely orthogonal to any formulation or implementation of FRP.&nbsp; The reactive-fieldtrip [3] library links Reactive and FieldTrip.<br>
<br>FieldTrip now has a mailing list [4] and a feature/bug tracker [5].<br><br>[1] <a href="http://haskell.org/haskellwiki/FieldTrip">http://haskell.org/haskellwiki/FieldTrip</a><br>[2] <a href="http://haskell.org/haskellwiki/reactive">http://haskell.org/haskellwiki/reactive</a><br>
[3] <a href="http://haskell.org/haskellwiki/reactive-fieldtrip">http://haskell.org/haskellwiki/reactive-fieldtrip</a><br>[4] <a href="http://www.haskell.org/mailman/listinfo/FieldTrip">http://www.haskell.org/mailman/listinfo/FieldTrip</a><br>
[5] <a href="http://trac.haskell.org/FieldTrip">http://trac.haskell.org/FieldTrip</a><br><br>