Задание 4 (Раздаточные материалы)

PDF-файл Задание 4 (Раздаточные материалы) Инженерная графика (39687): Другое - 5 семестрЗадание 4 (Раздаточные материалы) - PDF (39687) - СтудИзба2019-05-11СтудИзба

Описание файла

Файл "Задание 4" внутри архива находится в папке "Раздаточные материалы". PDF-файл из архива "Раздаточные материалы", который расположен в категории "". Всё это находится в предмете "инженерная графика" из 5 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Задание 4. Трассировка лучейАвтор задания: Груздев АлексейЦель задания - реализовать визуализацию сцены c полигональной геометрией припомощи алгоритма трассировки лучей. Предлагается визуализировать сцену интерьера,например, гостинную, спальню и т.п. В задании требуется использовать сложныегеометрические модели с разнообразными типами материалов. Необходимо реализоватьэффективный метод трассировки луча в сцене за счёт использования описывающихобъёмов. Также требуется обеспечить эффективное хранение высокополигональныхмоделей в памяти, не допуская лишнего копирования. В качестве дополнительной частипредлагаются варианты по улучшению скорости и качества синтеза, а такжепостэффектов.Правила оформления работыВнимание! При невыполнении указанных требований работа может не проверяться!Архив с заданием в формате zip должен быть залит в систему курса.

В случаепревышения максимального размера архива в системе нужно разбить его на частисредствами архиватора. Заливать архив на файлообменники можно только в случаеневозможностизалитьеговсистему,попредварительномусогласованиюспроверяющими.Содержимое архива:1.2.3.4.Папка src (исходный код)○ Файлы исходного кода○ Файлы проекта○ НЕ нужно включать в архив папку ipch, базы данных программы .ncb, .sdf.○ Проект должен собираться из папки srcПапка bin (исполняемый код - конфигурация Release, 32 бит).

Обязательнопроверьте, что программа запускается из папки bin. Желательно, на другоймашине.○ Исполняемый файл○ Библиотеки, необходимые для запуска○ Данные (модели, текстуры, файл настроек). Дублировать данные в папке src ненужно.Папка img (визуализированные изображения сцены)Файл Readme.txt○ Фамилия, имя, отчество, группа○ Операционная система○ Оборудование (процессор, видеокарта, объём памяти)○ Управление программой (формат задания настроек в файле настроек,описание интерфейса)○ Время работы программы для каждого варианта настроек○ Реализованные пункты из бонусной частиБазовая часть (5 баллов)Реализовать алгоритм трассировки лучей в сцене с полигональными объектами.Требуется создать сцену с не менее чем 10 объектами (более 200 треугольников каждый).Использование простых геометрических объектов (сферы, кубы) не засчитываются. Онимогут быть использованы как вспомогательные: пол в виде плоскости, яркая сфера наместе точечного источника света и т.п.

Разрешение результирующего цветногоизображения должно быть не менее 512х512 пикселей.1) Модели должны быть загружены из внешних файлов (.3ds, .obj и пр.) Допускаетсягенерация моделей в коде, но дожны использоваться математические формулы.Чтение из массива “захардкоденных” вершин не разрешается. У каждой моделидолжны быть корректные гладкие нормали.2) Необходимо реализовать простейший вариант камеры.Начало луча выбирается в позиции камеры, а направление выбирается длякаждого пикселя, как бы проходя через текущий пиксель через виртуальнуюкартинную плоскость перед камерой. Расстояние до виртуальной плоскостиопределяется выбранным углом обзора камеры (рекомендуется брать между 45 и60 градусами, если не уверены с чего начать). Камера не должна быть наклоненана бок.3) Трассировка лучей должна быть оптимизирована с помощью проверкипересечения с описывающими объёмами.

Не допускается поиск пересечениясразу со всеми треугольниками сцены. Каждый объект должен быть помещён вописывающую сферу или параллелепипед(Axis aligned bounding box). Сначалаищется пересечение луча со всеми описывающими объёмами в сцене. Затемсреди всех найденных выбирается наиболее близкий и рассчитываетсяпересечение луча со всеми полигонами объекта заключённого в выбранный объём.Если пересечение не найдено, то выбирается следующий по глубине объект.Обратите внимание, что красный параллелепипед со сторонами, параллельнымиосям координат (Axis aligned bounding box) предпочтительнее, так как с ним прощеискать пересечение луча.Для простоты можно размещать объекты на расстоянии друг от друга так, чтобыописывающие объёмы не пересекались.4) Требуется реализовать инстанциирование.

Т.е. в сцене должно быть несколькообъектов, использующих общий массив треугольников, а не собственные копии.Так как треугольники хранятся в локальных координатах, а луч долженпересекаться с объектами в мировых координатах, то необходимо переводить лучв локальные координаты каждого объекта, вместо того чтобы преобразовыватькаждый треугольник.Пусть- модельное преобразование локальныхкоординат объекта. Луч в мировых координатах задан парой позиции инаправления:). Чтобы получить луч в локальных(координатах, необходимо воспользоваться матрицей обратной к матрицепреобразования. Причём домножить направление луча надо на матрицу без учётапереноса, т.е.:()().К объектам должны быть применены различные преобразования. Требуется,чтобы было как минимум 2 повёрнутых и отмасштабированных объекта.

Объектыне должны быть слишком маленькими, то есть они должны быть различимы всцене на глаз.5) Обекты должны иметь как минимум 3 разных материала. Например, полностьюдиффузный, отражающий, бликующий, преломляющий. Также допускаетсяиспользование разных моделей освещения: Фонг, Ламберт, Кук-Торранс. Можноиспользовать табличную ДФО. (http://steps3d.narod.ru/tutorials/lighting-tutorial.html).В сцене должен присутствовать хотя бы один источник света.

Все источники светамогут быть точечными любого цвета.6) Результат работы трассировщика должен сохраняться во внешний файлформата .bmp или .png.Дополнительная часть(10 баллов)Внимание! Выполнение любого пункта дополнительной части не заменяет любой пунктбазовой части! Если реализована трассировка путей, это не значит что не надо делатьтрассировку лучей. Отрисовка в реальном времени не заменяет сохранение в файл.Поэтому все реализованные пункты дополнительной части должны конфигурироватьсячерез внешний текстовый (не бинарный!) файл настроек. У проверяющего должна бытьвозможность легко модифицировать файл, так чтобы в программе выполнялась толькобаза.

В ридми должно быть пояснение формата файла, как с ним работать. Текстурированные объекты (1-2.5 балла)Для объекта должны быть корректно заданы текстурные координаты и аккуратнопроинтерполированы внутри треугольниковОбратите внимание на необходимость реализации как минимум билинейнойинтерполяции при выборке из текстуры. При полном отсутствии фильтрации баллы затекстурирование могут быть снижены на 0.5.Билинейная - 1 баллТрилинейная - 1.5 баллаАнизатропная - 2.5 балла Реализация графа сцены (сценграфа) (2 балла)Позиционирование объектов в сцене происходит с помощью прикрепления объектов кузлам дерева.

Для каждой вершины могут быть заданы локальные преобразования(сдвиг, масштаб, поворот) относительно положения родительского узла. Передотрисовкой для каждой вершины высчитывается полное преобразование, с учётомвсех родительских узлов. Каждый объект использует полное преобразование тогоузла, к которому он прикреплён. К одной вершине графа может быть прикрепленолюбое количество объектов.В базе достаточно хранить все объекты в простом контейнере и задаватьпреобразования для каждого объекта отдельно. При наличие сценграфапреобразования задаются не для объектов, а только для вершин графа.В сцене должен явно использоваться сценграф. Например может быть задансоставной объект, состоящий из отдельный деталей.

(Дерево, робот, автомобильи.т.д.) Ускоряющие структуры (1-3 балла)Использование kd-дерева, BVH и других ускоряющих структур для ускорениятрассировки лучей. kd-дерево - 1-2 балла (в зависимости от алгоритма выбораплоскости разбиения; BVH - 2-3 в зависимости от эффективности описывающегообъёма (хороший описывающий объём - точно охватывающий геометрию идостаточно простой для поиска пересечения)(http://www.ray-tracing.ru/articles181.html, http://www.ray-tracing.ru/articles184.html) Моделирование глубины резкости (1.5 балл)Реализация через модель камеры с линзой. Изображение должно иметь областьрезкости и нечёткие области ближе и дальше фокуса, а не быть целиком размытым.Постобработка в виде размытия в зависимости от глубины не будет засчитана.

(см.пункт постэффектов) Ambient Occlusion (2 балла)http://www.ray-tracing.ru/articles232.html Трассировка путей (3-4 балла)Альтернативный алгоритм синтеза изображения вместо трассировки лучей. Незаменяет базовую часть, должна быть возможность переключения на трассировкулучей из базы.http://www.ray-tracing.ru/articles216.html HDR панорамы для моделирования фонового освещения (+1 балл) вдополнение к Ambient Occlusion и/или Path tracingИспользование куб-мапа или сферы вокруг сцены с натянутой текстуройпанорамы. Панорама считается бесконечно удалённой и, при выходе луча запределы сцены, значение освещённости выбирается из панорамы в соответствиис направлением луча. Параллелизм вычислений (1-3 балла)Использование OpenMP, pthreads, TBB, C++11 threads для параллельной генерацииизображения.

+1 баллВизуализация постепенного вычисления по блокам изображения в реальном времени+2 балла Генерация стереопары (1-2 балл)Рендеринг пары изображений из двух виртуальных камер. Для камер должна бытьреализованна корректная генерация лучейПозиции двух камер должны быть смещены, а картинная плоскость совпадать. У такихкамер используется искажённая пирамида видимости, а не симметричная, как упростой моно камеры. - 1 баллЕсли изображения сохранены в анаглифическое изображение или в виде gif анимации,то 2 балла. Антиалиасинг (1 балл)Например, выборка в пикселе нескольких точек и трассировка луча для каждой(multisampling). Тени (1-2 балла)Резкие тени - 1 баллМягкие тени - 2 балла Затухание света (1 балл)Интенсивность освещения от источника света должна убывать с расстоянием. Несколько источников света (1 балл) Объёмные источники света (2 балла)Использование источников света конечного размера.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее