[Bf-committers] GSOC - Math Library Project

Campbell Barton ideasman42 at gmail.com
Sat Mar 29 16:46:28 CET 2008


On Sat, Mar 29, 2008 at 3:57 PM, Konstantinos Margaritis
<markos at codex.gr> wrote:
> On Σαβ 29 Μαρ 2008, Daniel Barbeau wrote:
>  > Hello,
>  >
>  > Has there been any investigation to find out if this wouldn't be
>  > duplicating efforts? I think there are already some libraries out
>  > there. Such an approach has the big advantage of not duplicating
>  > efforts.  Relying on a third party library does create some
>  > trouble, but it has the big advantage of not creating fresh
>  > untested code.
>  >
>  > I'm thinking of Blitz++ or GSL.
>  > http://www.oonumerics.org/blitz/
>  > http://www.gnu.org/software/gsl/
>  >
>  > Blitz++ has a reputation of being fast by using templates. There
>  > already are C++ libraries in Blender. Blitz++ could be part of it
>  > no in the "lib" directory? It seems to be stable so you would need
>  > to sync every month with the main code.
>
>  How would you use C code with a C++ template library? Blender renderer
>  (which is the time consuming module) is written in C, Blitz++ is
>  written in C++.
>
>  Personally, I would choose SIMDx86 (http://simdx86.sourceforge.net),
>  which provides optimized versions of each arch (SSE/3dNow, and I'm
>  working on the AltiVec/Cell parts myself, check
>  http://freevec.org/category/simd/algorithms/algebra/matrix_multiplication)
>  and includes both C and C++ interfaces, but that would require a
>  fundamental change in Blender. Such a thing has been discouraged
>  (from discussions in #blendercoders), so unless you're prepared to
>  redo most of Blender code only to have a rejected patch of ~3MB, I'd
>  suggest you help in reworking the existing infrastructure instead.
>  Same goes for GSL and other math libraries.
>
>
>  --
>  Konstantinos Margaritis
>  CODEX
>  http://www.codex.gr
>  markos at codex.gr
>

GSL only has matrix and vector functions, the matrix functions use a
gsl_matrix struct that has stuff blender dosnt need in it. and there
are no quat/euler rotation support.


More information about the Bf-committers mailing list