Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2





Скачать 335.79 Kb.
НазваниеПрограмма по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2
страница9/9
Дата публикации01.02.2014
Размер335.79 Kb.
ТипДокументы
100-bal.ru > История > Документы
1   2   3   4   5   6   7   8   9

Shadow mapping

6. Дополнительные методы


В современных играх помимо стандартной, полигональной технологии представления трехмерной графики используются и другие, альтернативные. У каждой из таких технологий – своя область применения, свои достоинства и недостатки.

(Вставить видео, как в Maya или другом редакторе они делаются)

NURBS


В природе отсутствуют идеально прямые линии и равномерные плоскости, она содержит различной формы и сложности кривые. Поэтому для моделирования растений, деревьев, животных и человека требовался метод, отличный от полигонального.
Эта метод разрабатывался начиная с 50-ого года инженерами, преследовавшими цель создать математическое описание поверхностей произвольной формы. Пионерами его создания явился Пьерре Безье из компании Renault. Его именем были названы B-splines, т.е. Кривые Безье, математически рассчитанные кривые, плавно соединяющие отдельные точки. Существует фундаментальная теорема о том, что любую полиномиально заданную кривую можно разбить на кривые Безье, а кривые Безье сами по себе достаточно легко поддаются алгоритмизации, поэтому идеально подходят для представления сложных кривых в компьютере. Сокращение же NURBS расшифровывается как Non-Uniform Rational B-Spline (Неравномерная рациональная кривая Безье), - это метод представления кривых, который получил дополнительную гибкость за счет узловых точек, находящихся на кривой. Некоторый из этих узлов можно как бы наделить б’ольшим весом так, что при изменении его координат, т.е при его перетаскивании в другое место за ним, как за магнитом потянутся другие точки. А если мы используем совокупность кривых, то получаем криволинейную поверхность. Графическая программа после просчета всех уравнений кривых, требуемых для формирования поверхности в заданной области, получает набор точек в трехмерном пространстве, из которых затем формируются полигоны.
В первую очередь NURBS играют громадную роль в автоматизации проектирования (CAD-системы), так как позволяют инженеру или дизайнеру создавать и визуализировать требуемые формы будущего изделия.
Также генерация поверхностей с помощью NURBS широко доступна в пакетах трехмерного моделировнаия. 3D-художник может поставить на поверхность столько опорных точек, сколько захочет, точнее на сколько хватит вычислительных ресурсов и памяти. Если он потом изменит положение одной из этих точек, все остальные точки поверхности будут рассчитаны так, чтобы в поверхности не образовалось разрывов. Именно поэтому простая поверхность с всего парой десятков опорных точек может стать красивым платьем принцессы с множеством живописных складок, которое меняет свою форму в такт ходьбе.{FF из ролика игромании за 06.07.06 «танцующие девушки»}
К сожалению, для NURBS пока нет аппартного ускорения и поэтому они редко используются в приложениях реального времени, хотя первая попытка интерактивного рендеринга с их помощью была предпринята рабочих станциях компании Silicon Graphics в 1989 году. Именно поэтому NURBS в компьютерных играх в рамках динамической обработки не используются. И, например, редко встречающиеся колыхания одежды или другой ткани обычно просчитаны заранее.

Voxel



Как известно, любая двумерная картинка, которая выводится на экран монитора, состоит из пикселей. Само слово pixel происходит от picture element – элемент изображения. Такое представление довольно естественно, ведь экран монитора также состоит из дискретных элементов, каждый из которых может принимать тот или иной цвет. А почему бы этот принцип попробовать не перенести в 3D? Ведь любой объект в реальном мире состоит из атомов, молекул. Только на моделирование каждой молекулы уйдут тысячилетия. Зато можно использовать структурные единицы значительно больших размеров в качестве геометрических примитивов для построения трехмерных сцен. Этот принцип лежит в основе так называемой воксельной графики.

Воксель – это, по сути, трехмерный пиксель (слово voxel образовано из VOlumized piXEL, то есть «объемный пиксель»). Как и пиксель, он имеет свой цвет. Иногда воксель называют квантом объема. Любой объект в 3D, как из кубиков, составляется из вокселей. При этом воксели, как правило, образуют только внешнюю поверхность объектов, внутренности не заполняются. Да и зачем обсчитывать то, что мы и так не видим? Так как каждый воксель передает свой цвет, необходимость в текстурах отпадает. Объекты из вокселей очень просто сделать разрушаемыми – ведь перемещение каждого элемента объекта при, скажем, взрыве рассчитывается по очевидным законам. Воксельные объекты очень просто анимировать – достаточно задать последовательность трехмерных кадров.
Само собой, качество конечной картинки зависит от размера и формы вокселей. Чем они меньше – тем лучше. В идеале, даже в сложных криволинейных поверхностях они вообще не должны быть заметны. Форма вокселей подбирается из соображений производительности. Лучше всего выглядят воксели-сферы. Но их отрисовка довольно требовательна к ресурсам. В первых играх, которые использовали воксельную технологию, они были просто кубиками или даже плоскостями, повернутыми к наблюдателю. Из-за этого порой была заметна зернистость изображения и даже просветы между кубиками.

( http://www.ag.ru/screenshots/comanche_maximum_overkill/)
В целом, воксельное представление трехмерного мира куда более естественно, чем полигональное. Картинка, полученная с использованием этой технологии, будет четкой и красивой. Это в теории. У вокселей есть два существенных недостатка. Первый заключается в том, что для хранения даже небольшой сцены высокого качества уходит огромное количество памяти и дискового пространства, так как каждый. Конечно, есть хитрости, которые позволяют уменьшить эту цифру в десятки раз. Так как в объектах очень много пустот, можно хранить не матрицу вокселей, а их список или данные о вокселях можно хранить в сжатом виде. И все равно – качественное представление трехмерного мира потребует больших ресурсов памяти. Второй недостаток – это все та же архитектура графических ускорителей, которая не приспособлена к воксельному представлению.
Компьютерных игр, целиком сделанных по воксельной технологии, очень мало. Самый известный пример полного применения технологии вокселей – игра Outcast, вышедшая в 1999 году. Эта игра вообще не поддерживала трехмерные ускорители, а использовала лишь ЦП, однако максимальное разрешение игры было 640*480. (видео из Outcast)

7. 3D API


В современных 3D-ускорителях содержится больше транзисторов, чем в центральных процессорах Например, в видеокарте GeForce 8800 GTX их почти 700 миллионов, в то время как у ЦП Intel Core 2 Duo не больше 300 миллионов. У каждой видеокарты есть свой ассемблер и специальные команды, адреса и интерфейсы, через которые им можно управлять. У каждого конкретного ускорителя свои особенности, свои дополнительные команды.

Далеко не факт, что программная последовательность для одного ускорителя будет работать на другом. Поэтому для упрощения программирования графики для GPU существуют 3D API (Application Program Interface - Программные Интерфейсы Приложения). Трехмерные программные интерфейсы приложения выполняют следующие функции:

- Взаимосвязь с ресурсами CPU и их памяти.

- Взаимосвязь с драйвером GPU

- Взаимосвязь с интерфейсом операционной системы, например с Windows API

- Предоставление библиотечных функций для создания трехмерной сцены

- Обеспечение через функции библиотеки полного прохождения конвейера рендеринга

OpenGL http://en.wikipedia.org/wiki/OpenGL



OpenGL (Open Graphics Library)    Трехмерный API OpenGL был создан летом 1992 года в недрах корпорации Silicon Graphics (теперь SGI) на базе библиотеки IRIS GL . Для поддержки и главное определения спецификации нового стандарта (который был и по сей день остается абсолютно свободным и бесплатным) сильные мира сего создали консорциум The OpenGL Architecture Review Board (ARB), в который вошли крупнейшие производители компьютеров и комплектующих.

OpenGL — это универсальная, аппаратно-независимая библиотека, которая поддерживает разнообразные 3D-объекты и конструкции, начиная с примитивов типа треугольника или линий и заканчивая NURBS.

Основной язык программирования, использующийся в паре с OpenGL – это C/C++, однако существуют адаптации и для других, например Java. Программист, использующий OpenGL, не может ограничится лишь описанием сцены, он должен создавать код, учитывающий многие детали, требуемые для ее рендеринга. От него требуется достаточно глубокое знание этапов визуализации сцены, зато архитектура OpenGL дает возможность реализовывать нестандартные и оригинальные алгоритмы рендеринга.

     И еще одна деталь: в OpenGL есть интересный механизм расширений, когда любой желающий может добавить в библиотеку какие-то функции, не реализованные в базовой версии API. Например, какая-нибудь функция расширения компании Nvidia имеет название, которое заканчивается NV. Очень часто наиболее используемые расширения по решению большинства представителей ARB могут быть включены в официальную спецификацию.

Также, начиная с версии 2.0 OpenGL получил встроенное дополнение под названием OpenGL Shader Language, что позволило программисту выбирать между использованием жестко прописанных функций, обеспечивающих работу вертексных и шейдерных блоков конвейера и программируемыми шейдерами.

Популярность OpenGL во многом сложилась за счет очень грамотно оформленной и доступной официальной документации. (показать все книги Red,Blue,Orange.. ) Важной особенностью OpenGL является кросс-платформенность, она доступна на многих операционных системах серий Mac OS, Windows, Linux, Unix и BSD. Это повлияло на то, что ядро OpenGL не поддерживает никаких функций обработки окон, вывода на экран или устройств ввода, для этого используются дополнительные библиотеки, например GLUT.

    Direct3D http://en.wikipedia.org/wiki/Direct3D_10




Direct3D – это элемент комплексной библиотеки DirectX, разработанной компанией Microsoft для расширения и универсализации мультимедийных возможностей разных версий ОС Windows, начиная с Win95.

   Этот API может работать в двух режимах: Retained Mode и Immediate Mode. В режиме Immediate Mode API общается с железом напрямую и дает наибольшую производительность. Retained Mode — режим абстракции,

программировать в котором значительно легче, но цена этому — производительность. Также существует режим HEL - Hardware Emulation Layer, при котором используется ресурсы только ЦП. Его наиболее заметный признак — всякое отсутствие фильтрации, как следствие — сильно пикселизованные текстуры.

Рассматривая различные версии Direct3D, важно упомянуть версию 8.0, которая добавила поддержку шейдерных операций, что в результате вылилось в создание отдельного языка под названием HLSL (High Level Shader Language), доступного в уже в 9-ой версии. Версия же 10, встроенная в операционную систему Vista, позволит сделать также программируемым целиком сам конвейер рендеринга, отсюда и следует унификация шейдерной архитектуры, размытие четких граней между пиксельными и вертексными шейдерами.

Преимущество по части популярности Direct3D перед OpenGL у разработчиков компьютерных игр образовалось в основном за счет исторических факторов: версии Direct3D, начиная с 5-ой были проще в использовании. OpenGL же требовал при создании на нем программы включения всех его элементов, даже если они не поддерживались аппаратно, поэтому приходилось дописывать множество дополнительных процедур.
   

Glide http://en.wikipedia.org/wiki/Glide_API



    В 1995 году на свет появился легендарный 3D-ускоритель 3dfx Voodoo. Это был первый специализированный ускоритель 3D-Графики для домашнего ПК и стоил он по тем временам немалых денег. Для него и был написан API Glide, который по сути являлся урезанной версией OpenGL, использовавший его базовые функции обработки геометрии, но его главными двумя отличиями была закрытость кода и полная ориентация только на архитектуры Voodoo. Эта строгая ориентация на только на видеокарты от 3dfx сделало его и более низкоуровневым, нежели OpenGL и Direct3d, что также давало большую потенциальную производительность для своего времени. Самые известные игры серидины 90-х, поддерживающие Glide: MechWarrior 2, Quake 1/2, Tomb Raider, Descent 2, MDK.

Заключение.



Показывается Мегаботан в больших очках и сверху надпись «мегаботан», сидящий в аудитории на большом вузовском. Он читает книгу «Вычислительная геометрия и алгоритмы машинной графики». Далее происходит приближение к его сумасшедшему выражению лица и к глазу, потом все резко отдаляется обратно и он уже сидит в виртуальной аудитории (требуется довести до ума одну из смоделированных [соответствующую снимаемой]). Вокруг летают и ходят трехмерные монстры (например, паук из матрицы, птеродактели какие-нибудь, можно из звездных войн модельки поиспользовать).
1   2   3   4   5   6   7   8   9

Похожие:

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Проектно-образовательная деятельность по формированию у детей навыков безопасного поведения на улицах и дорогах города
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: Создание условий для формирования у школьников устойчивых навыков безопасного поведения на улицах и дорогах
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
«Организация воспитательно- образовательного процесса по формированию и развитию у дошкольников умений и навыков безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Цель: формировать у учащихся устойчивые навыки безопасного поведения на улицах и дорогах, способствующие сокращению количества дорожно-...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Конечно, главная роль в привитии навыков безопасного поведения на проезжей части отводится родителям. Но я считаю, что процесс воспитания...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспитывать у детей чувство дисциплинированности и организованности, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Всероссийский конкур сочинений «Пусть помнит мир спасённый» (проводит газета «Добрая дорога детства»)
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...
Поэтому очень важно воспиты­вать у детей чувство дисциплинированности, добиваться, чтобы соблюдение правил безопасного поведения...
Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...

Программа по формированию навыков безопасного поведения на дорогах и улицах «Добрая дорога детства» 2 iconПрограмма по формированию навыков безопасного поведения на дорогах...



Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск