Я хотел написать свой собственный многопоточный raytracer в реальном времени на С++, но я не хочу реализовывать всю векторную и матричную логику, которая поставляется вместе с ним. Я решил, что сделаю некоторые исследования, чтобы найти хорошую библиотеку для этого, но у меня не было большого успеха...
Важно, чтобы реализация была быстрой, и желательно, чтобы она включала некоторые дружественные лицензии. Я читал, что boost
имеет базовую алгебру, но я не мог найти ничего о том, насколько хорошо это касалось его скорости.
В остальном Google дал мне Armadillo
, который утверждает, что он очень быстрый, и сравнивает себя с некоторыми другими библиотеками, о которых я не слышал.
Затем я получил Seldon
, который также утверждает, что он эффективен и удобен, хотя я не мог узнать, где именно они находятся на шкале.
Наконец, я прочитал о Eigen
, о котором я также упоминал здесь в StackOverflow при поиске здесь.
В лекции CG в моем университете они используют HLSL
для алгебры (что позволяет студентам реализовать/оптимизировать части raytracer), и это заставило меня подумать, могу ли я использовать GLSL
для этого. Опять же, я понятия не имею, какой вариант наиболее эффективен, или общий совет по библиотекам алгебр. Я надеялся, что SO может помочь мне здесь, поэтому я могу начать с некоторой реальной разработки:)
PS: Я пытался подключиться к сайтам, но мне еще не хватает репутации