Mam nieskończoną sześciokątną podłogę, wygenerowaną przez mozaikowanie siatki punktów w parze modułów cieniujących mozaikowania:
Zauważ, że jest to płaski szkielet - „cienie” to sztuczka oświetleniowa:
Teraz chciałbym, aby wyglądało to na grube, refrakcyjne szkło, ale nie jestem pewien, jak postępować.
Pierwszą rzeczą, jaka przyszła mi do głowy, jest
- ustaw mundur zawierający żądaną „grubość” bloków
- Podczas obliczania oświetlenia użyj prawa Snell'a, aby obliczyć długość ścieżki optycznej, którą promień przejdzie przez blok heksadecym, jeśli faktycznie jest tak gruby, jak mówi mundur „grubości”, i zsumuj wartość alfa na tej długości. To dałoby przezroczystość, ale nie radzi sobie z takimi rzeczami jak odbicie wewnętrzne / TIR itp.
Jeszcze tego nie próbowałem, więc nie jestem pewien, jaki byłby efekt wizualny.
Ostatecznie, na tym konkretnym poziomie, staram się uzyskać ten szklany, sześciokątny wygląd podłogi użyty w Tron: Dziedzictwo podczas bitwy na dysku. ( Zobacz to zdjęcie jako przykład .)
Propozycje?