Как стать автором
Обновить

Введение в трассировку лучей: простой метод создания 3D-изображений. Часть 1 — как создается изображение?

Время на прочтение4 мин
Количество просмотров7.7K
Всего голосов 10: ↑7 и ↓3+5
Комментарии9

Комментарии 9

А в чём смысл очередной статьи про трассировку лучей? На хабре их уже было много, лучшая, как по мне эта https://habr.com/ru/articles/436790. Не хватает статей, которые идут дальше рисования сферы/куба/конуса/etc, а именно статей, где бы подробнее рассматривалось освещение, тени и материалы, потому что картинка, которая получается в результате среднестатистического трассировщика из статьи выглядит совершенно нереалистично и некрасиво.

Большое спасибо Вам за развёрнутую и обоснованную критику! Это моя первая статья и для неё я решил взять не сложную, уже разжёванную тему, потому что ищу свой стиль донесения "полезной нагрузки" до читателя. Уже готовлю публикации на тему освещения и теней, а так же реализации весьма обобщённо описанных здесь алгоритмов на функциональном псевдоязыке программирования (это конечно тоже уже было на хабре, но так я всё же движусь в сторону уникального контента)

Дело ваше, но можно сразу перейти к продвинутому освещению и теням, зачем описать то, что уже было на русском языке описано множество раз? Ну и вместо функционального псевдоязыка, можно использовать настоящий, например haskell. Под него есть библиотеки https://hackage.haskell.org/package/massiv и https://hackage.haskell.org/package/repa, которые позволяет легко писать параллельные вычисления для массивов, что в общем-то и требуется для трассировки лучей.

Сейчас все трссировщики на рынке проф софта от блендера до 3дс макса используют Intel embree думаю было бы интересно и про эту библиотеку почитать

Запомнился Ваш комментарий, дошли вот руки, думаю почитаю литературы, напишу статейку, или может переведу какую на эту тему. И натыкаюсь на отличную статью -> *тык*. Так что приятного чтения:)

Вы меня извините, но содержание не отражает заголовка. Если трассировка, то зачем пишите про аксонометрическую проекцию? Это же классический метод рендеринга в экранный буфер через отрисовку треугольников. Но тогда конвейера рендера треугольников я тоже не вижу в статье. Не лучше ли стразу перейти к трассировке лучей?

Дело в том, что я работаю над циклом статей и в название первой я поставил тему всего цикла. Я отредактирую названия, добавлю номер части и подтему, расскрывающуюся в конкретной статье. Спасибо за ценный комментарий, только разбираюсь с хабром и учусь писать статьи:)

Если группа фотонов попадает на объект, могут произойти три вещи: они могут быть либо поглощены, либо отражены, либо переданы. Процент отраженных, поглощенных и переданных фотонов варьируется от материала к материалу и обычно определяет, как объект выглядит в кадре. Однако единственное правило, общее для всех материалов, заключается в том, что общее количество входящих фотонов всегда равно сумме отраженных, поглощенных и прошедших фотонов.

Сначала написано, что фотоны «переданы» (куда?). Потом упоминается, что они «прошли». Опять же куда? Видимо имеется в виду материалы с прозрачностью? Или подповерхностное рассеивание?

Спасибо за вашу внимательность! Я неправильно выразился: имеется ввиду преломлённые фотоны (то есть фотоны могут: поглощаться (увеличивая кинетическую энергию тела), отражаться и преломляться (в случае с полупрозрачными средами)). Отредактировал статью. Подробнее тема преломления разбирается в четвёртой части цикла этих статей, там написано правильно:)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории