Announce: FieldTrip library (functional 3D) and mailing list

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

Conal Elliott wrote:
FieldTrip [1] is a library for functional 3D graphics. It is intended for building static, animated, and interactive 3D geometry, efficient enough for real-time synthesis and display. Since FieldTrip is functional, one describes what models are, not how to render them (being rather than doing).
Surfaces are described as functions from 2D space to 3D space. As such, they are intrinsically curved rather than faceted. Surface rendering tessellates adaptively, caching tessellations in an efficient, infinite data structure (from the MemoTrie library) for reuse. Surface normals are computed automatically and exactly, using the derivative tools in the vector-space library.
For animation or interaction, FieldTrip can be used with the Reactive [2] library for functional reactive programming (and possibly other animation frameworks). By design, FieldTrip is completely orthogonal to any formulation or implementation of FRP. The reactive-fieldtrip [3] library links Reactive and FieldTrip.
FieldTrip now has a mailing list [4] and a feature/bug tracker [5].
Sounds very interesting, but... what, no pictures? From a library especially designed for generating pictures? :-)

Thanks for the prod, Andrew. (And thanks to Don S for prodding yesterday.)
Now there's a picture on the FieldTrip page [1]. The shading is done using
normals generated via derivatives from the vector-space package [2].
[1] http://haskell.org/haskellwiki/FieldTrip
[2] http://haskell.org/haskellwiki/vector-space
- Conal
On Mon, Nov 10, 2008 at 10:27 AM, Andrew Coppin wrote: Conal Elliott wrote: FieldTrip [1] is a library for functional 3D graphics. It is intended for
building static, animated, and interactive 3D geometry, efficient enough for
real-time synthesis and display. Since FieldTrip is functional, one
describes what models are, not how to render them (being rather than doing). Surfaces are described as functions from 2D space to 3D space. As such,
they are intrinsically curved rather than faceted. Surface rendering
tessellates adaptively, caching tessellations in an efficient, infinite data
structure (from the MemoTrie library) for reuse. Surface normals are
computed automatically and exactly, using the derivative tools in the
vector-space library. For animation or interaction, FieldTrip can be used with the Reactive [2]
library for functional reactive programming (and possibly other animation
frameworks). By design, FieldTrip is completely orthogonal to any
formulation or implementation of FRP. The reactive-fieldtrip [3] library
links Reactive and FieldTrip. FieldTrip now has a mailing list [4] and a feature/bug tracker [5]. Sounds very interesting, but... what, no pictures? From a library
especially designed for generating pictures? :-)

Conal Elliott wrote:
Thanks for the prod, Andrew. (And thanks to Don S for prodding yesterday.)
Now there's a picture on the FieldTrip page [1]. The shading is done using normals generated via derivatives from the vector-space package [2].
Mmm, nice. :-) (Actually... I just like shiny things!) What is the rendering backend? OpenGL? Or something else? Do you have any simple example code around?

We're using OpenGL as a rendering back-end. I've now added some sample code
to the wiki page (http://haskell.org/haskellwiki/FieldTrip). It's very fast
on my two-year-old machine. More examples are in src/Test.hs in the
reactive-fieldtrip package. - Conal
On Mon, Nov 10, 2008 at 11:32 AM, Andrew Coppin wrote: Conal Elliott wrote: Thanks for the prod, Andrew. (And thanks to Don S for prodding
yesterday.) Now there's a picture on the FieldTrip page [1]. The shading is done
using normals generated via derivatives from the vector-space package [2]. Mmm, nice. :-) (Actually... I just like shiny things!) What is the rendering backend? OpenGL? Or something else? Do you have any simple example code around? _______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
Andrew Coppin
-
Conal Elliott