Chciałbym napisać własny wielowątkowy raytracer w czasie rzeczywistym w C++, ale nie chcę implementować całej logiki wektorowej i macierzowej, która przychodzi z tym. Doszedłem do wniosku, że będę szukał w tym celu dobrej biblioteki, ale nie odniosłem wielkiego sukcesu ...Chciałem napisać raytracera, zatrzymanego na jakiej bibliotece algebry użyć (C++)
Ważne jest, aby implementacja była szybka, a najlepiej, gdyby zawierała przyjazne licencje. Przeczytałem, że boost
ma podstawową algebrę, ale nie mogłem znaleźć niczego, co byłoby dobre w odniesieniu do prędkości.
Co do reszty, Google dało mi Armadillo
, który twierdzi, że jest bardzo szybki i porównuje się z pewnymi innymi bibliotekami, o których nie słyszałem.
Potem dostałem Seldon
, który również twierdzi, że jest wydajny i wygodny, chociaż nie mogłem się dowiedzieć, gdzie dokładnie są na skali.
Wreszcie przeczytałem o Eigen
, o czym już wspominałem tutaj w StackOverflow podczas wyszukiwania tutaj.
Na wykładzie CG na mojej uczelni używają one HLSL
dla algebry (co pozwala uczniom implementować/optymalizować części raytracera), co pozwoliło mi zastanowić się, czy mogę użyć do tego celu GLSL
. Ponownie nie mam pojęcia, która opcja jest najskuteczniejsza, ani jaki jest ogólny konsensus dotyczący bibliotek algebry. Miałam nadzieję, więc może mi pomóc tutaj, więc mogę zacząć z jakiegoś rzeczywistego rozwoju :)
PS: próbowałem z linkami do stron, ale nie mam wystarczająco dużo rep jeszcze
bardzo polecam ompf.org (http://ompf.org) ich fora pełne są jedne z najszybszych raytracers w istnieniu. Wiele z nich zawiera szczegółowe informacje o tym, jak działają. –