У мене є нескінченний шестикутний підлогу, породжений тесселяцією точкової сітки в парі шейдерних тесселяцій:
Зауважте, що це плоский каркас - "тіні" є світловим фокусом:
Тепер я хотів би, щоб це здавалося товстим, заломлюваним склом, але я не знаю, як діяти.
Перше, що прийшло в голову - це
- встановити форму, що містить запитувану "товщину" блоків
- Розраховуючи освітлення, використовуйте закон Снелла, щоб обчислити довжину оптичного шляху, який промінь проходив би через шестигранний блок, якби він насправді був настільки ж товстим, як говорить уніформа "товщини", і підсумовуйте альфа по цій довжині. Це дало б прозорість, але не справляється з такими речами, як внутрішнє відображення / МДП тощо.
Я ще цього не пробував, тому не впевнений, який би був візуальний результат.
Зрештою, саме для цього рівня я намагаюся отримати той скляний, шестикутний вигляд підлоги, який використовується у Tron: Legacy під час битви на диску. ( Для прикладу дивіться це зображення .)
Пропозиції?