Task 3 (1126109), страница 3

Файл №1126109 Task 3 (Task 3 часть 1) 3 страницаTask 3 (1126109) страница 32019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

Камера по сути - это точка впространстве с заданной ориентацией. Ориентацию можно задавать двумя углами всферической системе координат. Кроме классических путей решения задачи, можнопопробовать подход с кватернионами.7.4 ТекстураПример использования текстуры дан в шаблоне.Для использования полноценных текстур их необходимо предварительно загрузить из файла.Размер текстуры должен быть кратен степеням двойки, также должно использоватьсявыравнивание рядов по 4 байта в памяти. Чтобы обойти это ограничение используйтеglPixelStorei.В схематичном режиме при приближении к планетам может быть реализована подгрузка текстурдля заданных полигональных сеток (или, в более простом варианте, для всей планеты целиком).Текстуры всех планет можно скачать здесь.7.5 ОсвещениеФормулы для расчета классической модели Фонга можно посмотреть здесь.12В фрагментном шейдере необходимо рассчитать направление векторов от точки планеты илизвезды на источник и на камеру.

Положение источника задается встроенной переменнойgl_LightSource (в случае, если в коде на cpu источник присутствовал в виде glLight(...)). Впротивном случае вы можете передать в шейдер нужное число источников с параметрами,используя uniform.Для вычисления отраженного вектора в коде шейдера рекомендуется использовать командуreflect.Планетам соответствуют материалы и текстуры, с которыми рекомендуется связать uniformпеременные.

Uniform-ы можно заполнять при отрисовке каждой конкретной модели.Схематичный режим работыДля реализации схематичного режима работы программы возможно:1) масштабирование координат планет по некоторой функции2) масштабирование размеров планет по некоторой функцииВ качестве масштабирующей функции можно использовать логарифм.Важно: в схематичном режиме нужно менять только масштаб при рендеринге, никаких реальныхкоординат, использующихся в моделировании движения масштабировать не нужно, иначеможно запутаться.7.6 Расчет нормалейДля базы это можно сделать на CPU, при расчете на GPU в геометрическом шейдере выполучаете дополнительные баллы.При простейшем подходе к расчету нормалей можно посчитать нормаль для каждоготреугольника, а потом присвоить ее всем вершинам треугольника.

Нормаль вычисляется каквекторное произведение векторов-образующих сторон треугольника.Для подсчета гладких нормалей некоторых объектов можно использовать заранее известныеформулы (например, для сферы нормаль может быть вычислена аналитически в любой ее точке).Нормаль для произвольного меша можно вычислить в геометрическом шейдере следующимобразом:1) сначала берем треугольники, прилежащие к данному (3 штуки),2) для каждого треугольника вычисляем нормаль (вышеуказанным образом,3) для каждой их трех вершин 3 полученные нормали усредняются (возможно взвешенноеусреднение: например, учет раствора угла каждого треугольника или длины противолежащейстороны).13При таком подходе, вам нужно будет перестроить вашу модель, и передавать на отрисовку неGL_TRIANGLES, а GL_TRIANGLES_ADJACENCY (примитив из шести вершин).Можно также реализовать сглаживание нормалей через интерполяцию гладкими кривыми.8 Подсказки к решению: бонусы8.1 Подгрузка текста в окно openglКак подгружать текст в окно opengl, написано здесь.

Придется использовать команды видаglTranslatef(100,100,0);glutStrokeString(GLUT_STROKE_ROMAN,”Hello!”);Они установят курсор в заданную позицию окна и выведут на нам текст Hello в заданном стиле.Для красоты текст удобно расположить на полупрозрачной подложке: прямоугольнике спрямыми или сглаженными углами светлого цвета (при темном тексте) или темного с яркойрамкой (при светлом тексте).АтмосфераВ простейшем случае атмосфера представляет собой одну либо несколько прозрачных сфер,окружающих планету.

Если сфер несколько, прозрачность должна увеличиваться с увеличениемрадиуса. Атмосфера должна освещаться от Солнца по диффузной модели освещения. Атмосферабудет похожа на атмосферу, если во фрагментном шейдере будет установлена зависимостьпрозрачности от положения камеры (чем больше расстояние меша от камеры, тем большепрозрачность мешей атмосферы) - при таком подходе достаточно будет одной сферы.Хорошо, если эффект атмосферы будет реализован в отдельном шейдере.8.2 Плавная камераКак в схематичном, так и в реальном режимах работы программы движение камеры должнобыть согласовано с ее положением. Камера должна знать о положениях небесных тел иувеличивать шаг перемещения в зависимости от удаленности от планет.

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

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

Кольца могут плавноисчезать и появляться снова с некоторой заданной периодичностью. Данный эффект можнореализовать, установив зависимость прозрачности мешей колец (либо частиц, при хорошемприближении) от времени.Рекомендуется реализовать кольца Сатурна в отдельном шейдере.При отрисовке колец важно правильно воспользоваться буфером глубины и рисовать объекты вправильном порядке: сначала выводятся все непрозрачные объекты, затем прозрачные впорядке удаленности от камеры (сначала - наиболее удаленные).8.4 Тени от спутников на планетахВозможно несколько различных вариантов реализации теней от спутников на поверхностипланет.

Можно реализовать как простейшие резкие тени от Солнца (или от Луны, еслирассматриваем спутники Земли) либо более реалистичные размытые тени от двух и болееисточников. Поощряются все известные методы реализации теней (shadow volumes и др.).158.5 СозвездияВозможна реализация звездного неба в качестве сферического окружения. Приветствуетсяреализация нескольких отдельных созвездий, как минимум 3-х (для этого рекомендуетсязавести несколько дополнительных объектов созвездий и рисовать их при помощиGL_LINE_STRIP поверх сферического окружения).8.6 Отражения сферического окруженияОтражения сферического окружения на поверхности объекта можно получить при помощиотражения вектора камеры, попавшего на модель объекта, на сферическое окружение идальнейшей выборки текстуры в получившемся направлении.

При отражении вектора, идущего откамеры к объекту, рекомендуется использовать гладкую нормаль.16.

Характеристики

Тип файла
PDF-файл
Размер
1,03 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лабораторной работы

решение
Mashgraph2013-3task
bin
Win32
Release
Fragment-orbit.frag.cpp
Fragment.frag.cpp
Triangles.exe
Triangles.pdb
Vertex-orbit.vert.cpp
Vertex.vert.cpp
controls(1).bin
controls(1).xml
controls(2).bin
controls(2).xml
controls(3).bin
controls(3).xml
freeglut.dll
glew32.dll
x64
Release
Fragment-orbit.frag.cpp
Fragment.frag.cpp
Triangles.exe
Triangles.pdb
Vertex-orbit.vert.cpp
Vertex.vert.cpp
controls(1).bin
controls(1).xml
controls(2).bin
controls(2).xml
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7028
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее