Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which Haskell library for computer graphics geometry?

I would like to do some experiments in computer graphics in Haskell. This will include doing some geometry calculations and ultimately writing a ray tracer. Which library should I pick for easy handling of vectors, matrices and relevant operations on them?

There are few on Hackage including nice looking ones like vect and AC-Vector, but it's easy to miss a good candidate among so many different libraries.

like image 981
Tener Avatar asked Feb 27 '12 21:02

Tener


1 Answers

For vectors and matrices that are used for transformations, vect probably is your best bet. It is optimized for fast, lower-precision (as in Double precision as opposed to Ratio precision) transformations like you described, and its role as the matrix stack in lambdacube (as an example of an application where performance is key) shows that it is fast enough for most applications.

For data matrices - that are used for images, for example - you'd probably want to use repa, especially when doing data-parallel computations such as ray tracing.

like image 124
dflemstr Avatar answered Oct 05 '22 06:10

dflemstr