Промінь променя з шишками: трикутники покриття, перекриття та опори


10

У своїй класичній статті « Промінь промені з конусами» Джон Аманатідес описує варіацію класичного трасування променів. Розширивши поняття променя на кут діафрагми , зробивши його конусом, зменшення ефектів (включаючи такі, що виникають із занадто мало зразків Монте-Карло) можна зменшити.

Під час перетину конуса-трикутника обчислюється скалярне значення покриття. Це значення являє собою частку конуса, яка охоплена трикутником. Якщо вона менша за , це означає, що трикутник не повністю покриває конус. Потрібні подальші тести. Без використання більш прогресивних методів ми знаємо лише, яка частина конуса вкрита, але не які саме частини.1

Аманатиди стверджують:

Оскільки в даний час використовується лише значення дробового покриття для змішування вкладів різних об'єктів, поверхонь, що перекриваються, буде розраховано правильно, але опорні поверхні не будуть.

Це для мене немає сенсу. З моєї точки зору, це навпаки. Візьмемо приклад: у нас є два опорні трикутники, зелений і синій, кожен з яких покриває рівно 50% нашого конуса. Вони знаходяться на однаковій відстані від глядача.

Зелений і синій трикутник

Зелений трикутник тестується спочатку. Він має значення покриття 0,5, тому синій трикутник тестується далі. Коли значення покриття блакитним кольором становить 0,5, наша шишка повністю покрита, тому ми закінчилися із сумішшю зеленого кольору синівкою 50:50. Чудово!

Тепер уявіть, що ми вбиваємо синій трикутник і додаємо червоний на деяку відстань за зеленим - перекриття . Зелений знову дає нам значення 0,5. Оскільки у нас немає синього для тестування, ми дивимось далі на конус і незабаром знаходимо червоний. Це також повертає деяке значення покриття більше 0, чого не повинно, оскільки воно знаходиться позаду зеленого.

Отже, з цього я роблю висновок, що опорні трикутники справно працюють, тоді як трикутники, що перекриваються, потребують трохи більше магії, як маски покриття, щоб бути правильними. Це протилежне тому, що говорить Аманатідес. Я щось неправильно зрозумів чи це прослизг у папері?

Відповіді:


3

Я реалізував промінь промінь на основі роботи Амантідеса, але, як це було років тому, моя пам’ять про папір трохи іржава.

Однак, ігноруючи цей конкретний випадок, як правило, якщо мова йде про роботу з дробовим покриттям, наприклад, альфа-композиція, (див. "А над В" ), я розумію, що звичайне припущення полягає в тому, що елементи, що складаються, не мають співвідношення.

Таким чином, якщо A з покриттям X% знаходиться на вершині B з Y% покриттям і C у фоновому режимі, тоді передбачається, що видно
X% * ​​A + (100-X%) * Y% * B + (100-X %) (100-Y%) * C

Чи має це сенс? Очевидно, це дасть «витоки» у випадку, коли А і В сильно співвідносяться.

Я думаю , що я міг би поставити невелику бітову маску на променях , щоб уникнути цих проблем, але це було дуже давно.


З цим поясненням цілком має сенс, дякую! Якщо ви пам’ятаєте, яким був ваш досвід пошуку конуса порівняно зі звичайним відстеженням променів? Звичайно, це наближення, але чи вдасться досягти значної швидкості при прийнятній якості?
Девід Курі

О, боже, це було давно. Насправді я здійснив лише трасування конуса. Невже я намагався вимкнути радіусну частину, я просто не можу згадати, але, якщо знайду час, я спробую запам'ятати плюси і мінуси спуску маршруту колійного кочення.
Simon F
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.