Existem alguns projetos que se adaptaram ao Generic Graphics Toolkit para isso. O GMTL é bom - é bem pequeno, muito funcional e foi usado o suficiente para ser muito confiável. O OpenSG, o VRJuggler e outros projetos passaram a usar isso em vez de suas próprias matemáticas de matriz / vertor.
Achei bastante legal - ele faz tudo via modelos, por isso é muito flexível e muito rápido.
Editar:
Após a discussão e as edições dos comentários, pensei em lançar mais algumas informações sobre os benefícios e desvantagens de implementações específicas e por que você pode escolher um sobre o outro, dada a sua situação.
GMTL -
Benefícios: API simples, projetada especificamente para mecanismos gráficos. Inclui muitos tipos primitivos voltados para a renderização (como planos, AABB, quatenrions com interpolação múltipla etc.) que não estão em nenhum outro pacote. Sobrecarga de memória muito baixa, muito rápido, fácil de usar.
Desvantagens: a API é muito focada especificamente em renderização e gráficos. Não inclui matrizes de uso geral (NxM), decomposição e resolução de matrizes, etc., pois estão fora do domínio das aplicações tradicionais de gráficos / geometria.
Eigen -
Benefícios: API limpa , bastante fácil de usar. Inclui um módulo de geometria com quaternions e transformações geométricas. Sobrecarga de memória baixa. Solução completa e de alto desempenho de grandes matrizes NxN e outras rotinas matemáticas de uso geral.
Desvantagens: pode ser um escopo um pouco maior do que você deseja (?). Menos rotinas geométricas / de renderização específicas quando comparadas ao GMTL (por exemplo: definições de ângulo de Euler, etc.).
IMSL -
Benefícios: Biblioteca numérica muito completa. Muito, muito rápido (supostamente o solucionador mais rápido). De longe, a maior e mais completa API matemática. Suporte comercial, maduro e estável.
Desvantagens: Custo - não é barato. Muito poucos métodos geométricos / de renderização específicos, portanto, você precisará rolar por cima das classes de álgebra linear.
NT2 -
Benefícios: fornece uma sintaxe mais familiar se você estiver acostumado ao MATLAB. Fornece decomposição e solução completas para matrizes grandes, etc.
Desvantagens: matemático, sem renderização focada. Provavelmente não é tão eficiente quanto Eigen.
LAPACK -
Benefícios: algoritmos comprovados e muito estáveis. Já existe há muito tempo. Resolução completa de matrizes, etc. Muitas opções para matemática obscura.
Desvantagens: Não é tão altamente eficiente em alguns casos. Portado de Fortran, com API ímpar para uso.
Pessoalmente, para mim, tudo se resume a uma única pergunta - como você planeja usar isso. Se seu foco é apenas renderização e gráficos, eu gosto do Generic Graphics Toolkit , pois ele tem um bom desempenho e suporta muitas operações úteis de renderização prontas para uso, sem a necessidade de implementar suas próprias. Se você precisar de uma solução geral para matrizes (ex .: decomposição SVD ou LU de matrizes grandes), eu usaria o Eigen , pois ele lida com isso, fornece algumas operações geométricas e é muito eficiente em soluções de matrizes grandes. Você pode precisar escrever mais operações gráficas / geométricas (além das matrizes / vetores), mas isso não é horrível.