Twój obraz zdecydowanie nie wygląda poprawnie i wydaje się, że nie obliczasz prawidłowo wewnętrznej ścieżki promieni świetlnych, gdy przemieszczają się one przez twoją siatkę. Patrząc na to, powiedziałbym, że obliczasz odległość między punktem, w którym promień widzenia najpierw wchodzi do sześcianu, a miejscem, w którym najpierw uderza w ścianę wewnętrzną, i wykorzystujesz to jako odległość absorpcji. Zasadniczo zakłada to, że światło zawsze wychodzi ze szkła za pierwszym razem, gdy uderza w ścianę, co jest złym założeniem.
W rzeczywistości, gdy światło dostaje się do szkła z powietrza, często nie natychmiast wychodzi ono ze szkła. Wynika to z faktu, że gdy światło pada na interfejs szkło / powietrze, może wystąpić zjawisko znane jako całkowite odbicie wewnętrzne (TIR). TIR pojawia się, gdy światło przemieszcza się z ośrodka o wyższym współczynniku załamania (IOR) do ośrodka o niższym IOR, co dzieje się dokładnie w przypadku padania światła na wewnętrzną ścianę szklanego obiektu. Ten obraz z Wikipedii stanowi dobrą wizualną demonstrację tego, jak wygląda:
Mówiąc w skrócie, oznacza to, że jeśli światło uderzy pod niewielkim kątem, światło całkowicie odbije się od wnętrza ośrodka. Aby to uwzględnić, musisz ocenić równania Fresnelaza każdym razem, gdy twój promień światła uderza w interfejs szkło / powietrze (AKA wewnętrzna powierzchnia siatki). Równania Fresnela podadzą ci stosunek światła odbitego do ilości światła załamanego, podczas gdy będą wynosić 1 w przypadku TIR. Następnie możesz obliczyć odpowiednie kierunki światła odbitego i załamanego i kontynuować śledzenie ścieżki światła przez medium lub poza nim. Jeśli przyjmiesz prostą wypukłą siatkę o jednolitym współczynniku rozproszenia, to odległość do zastosowania dla prawa Beera będzie sumą wszystkich wewnętrznych długości ścieżek przed opuszczeniem ośrodka. Oto jak wygląda sześcian z współczynnikami rozpraszania i IOR 1,526 (szkło sodowo-wapniowe), renderowanymi przy użyciu mojego znacznika ścieżki, który uwzględnia zarówno wewnętrzne, jak i zewnętrzne odbicia i załamania:
Ostatecznie wewnętrzne odbicia i załamania są główną częścią tego, co sprawia, że szkło wygląda jak szkło. Proste przybliżenia tak naprawdę tego nie wycinają, jak już się przekonałeś. Jest jeszcze gorzej, jeśli dodasz wiele oczek i / lub niewypukłe siatki, ponieważ nie tylko musisz uwzględnić wewnętrzne odbicia, ale także uwzględnić promienie, które opuszczają medium i wchodzą do niego w innym punkcie.