Kolejnym podejściem do ray tracingu jest implementacja prostego silnika ray tracera w Scali.
Scala jest językiem funkcyjnym, działającym na wirtualnej maszynie Javy. Fajnie integruje się ze standardowymi klasami Javy, co znacznie zwiększa jego funkcjonalność.
Silnik obsługuje na razie tylko prosty model oświetlenia Phonga oraz przecinanie promienia jedynie z kulami.
Zamierzam dopisać do tego bump mapping, ale z czasem może być krucho i na zamiarach może się skończyć
Poniżej przykład wygenerowanego obrazu (zamierzam sprawić, że będzie to bardziej spektakularne
)
Projekt hostowany jest na code.google.com i dostępny na licencji MIT.
Link do projektu: http://code.google.com/p/scala-raytracer/
W chwili wolnego czasu opiszę kawałki kodu, gdyż języki funkcyjne delikatnie różnią się od tych, w których najczęściej programujemy
