256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов
|
|
Воскресенье, 20 Января 2019 г. 19:25
+ в цитатник
Публикую очередную главу из моего
курса лекций по компьютерной графике (вот
тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.
Подобных проектов в интернете уже море, но практически все они показывают законченные программы, в которых разобраться крайне непросто. Вот, например, очень известная
программа рендеринга, влезающая на визитку. Очень впечатляющий результат, однако разобраться в этом коде очень непросто. Моей целью является не показать как я могу, а детально рассказать, как подобное воспроизвести. Более того, мне кажется, что конкретно эта лекция полезна даже не столь как учебный материал по комьпютерной графике, но скорее как пособие по программированию. Я последовательно покажу, как прийти к конечному результату, начиная с самого нуля: как разложить сложную задачу на элементарно решаемые этапы.
Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!
Итак, сегодня я покажу, как отрисовывать подобные картинки:
Читать дальше -> https://habr.com/ru/post/436790/?utm_source=habrahabr&utm_medium=rss&utm_campaign=436790
Метки:
C++
Математика
Программирование
Разработка игр
трассировка лучей
компьютерная графика
математика на пальцах
геометрия для пятого класса
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-