Вопросец о том, что все-таки является движком всей компьютерной промышленности, издавна заботит почти всех Что такое 3D графика? юзеров. Или это компания Intel, которая, не переставая, выпускает и выпускает новейшие процессоры. Но кто тогда принуждает их брать? Может, во всем виноват Microsoft, который безпрерывно делает свои окна больше и краше? Да нет, можно ведь наслаждаться старенькыми версиями программ - тем паче диапазон их способностей фактически не меняется.
Вывод напрашивается сам собой - во всем виноваты игры. Да, конкретно игры стремятся все наиболее и поболее уподобиться реальному миру, создавая его виртуальную копию, желают все наиболее массивных ресурсов. Вся история компьютерной графики на PC является тому доказательством. Вспомните, сначала были тетрисы, диггеры, арканоиды. Вся графика заключалась в перерисовке маленьких участков экрана, спрайтов, и нормально работала даже на XT. Но прошли те времена. Взошла звезда симуляторов. С выходом таковых игр, как F19, Formula 1 и т.п., в каких приходилось уже перерисовывать весь экран, предварительно заготавливая его в памяти, всем нам пришлось обзавестись, по последней мере, 286 процессором. Но прогресс на этом не тормознул. Желание уподобить виртуальный мир в игре реальному миру усилилось, и возник Wolf 3D. Это, можно огласить, 1-ая 3D-игра, в какой был смоделирован кое-какой, но все таки реалистичный мир. Для его реализации пришлось употреблять верхнюю (наиболее 640 Кб) память и загнать програмку в защищенный режим. Для настоящей игры пришлось установить процессор 80386. Да и мир Wolf 3D мучился недочетами. Хотя стенки и были не попросту одноцветными прямоугольниками, но для их закраски использовались текстуры с маленьким разрешением, потому поверхности смотрелись прилично только на расстоянии. Естественно, можно было пойти по пути наращивания разрешения текстур, вспомним, к примеру, DOOM. Тогда нам пришлось опять перейти на наиболее новейший процессор и прирастить количество памяти. Правда, все равно, хотя изображение и улучшилось, но Здесь то и взошла звезда Quake. В данной нам игре был использован революционный подход - z-буфер, позволивший ему были присущи все те же недочеты. Ну и плоские объекты и монстры - кому это любопытно. придать объемность всем объектам. Но вся игра все равно работала в низком разрешении не различалась высочайшей реалистичностью. Назревало новое аппаратное решение. И решение это оказалось, в общем-то, лежащим на поверхности. Раз юзеры желают играться в трехмерном виртуальном мире, то процесс его сотворения (вспомним минутки ожидания, проведенные за 3D Studio перед возникновением очередной рисунки) нужно кардинально убыстрить. А раз центральный процессор с данной для нас задачей справляется из рук вон плохо, было принято революционное решение - сделать спец. Здесь то и вылез производитель игровых автоматов 3Dfx, сделавший эту сказку былью при помощи собственного графического процессора Voodoo. Население земли сделало очередной шаг в виртуальный мир. А так как операционной системы на PC с текстурными окнами, уплывающими назад, в туман, пока нет, и не предвидится, весь аппарат трехмерной графики можно пока применить лишь к играм, что удачно Для изображения трехмерных объектов на экране монитора требуется проведение серии действий делает все цивилизованное население земли. (традиционно именуемых конвейером) с следующей трансляцией результата в двумерный вид. Сначало, объект представляется в виде набора точек, либо координат, в трехмерном пространстве. Трехмерная система координат определяется 3-мя осями: горизонтальной, вертикальной и глубины, традиционно именуемых, соответственно осями x, y и z. Объектом быть может дом, человек, машинка, самолет либо целый 3D мир и координаты определяют положение вершин (узловых точек), из которых состоит объект, в пространстве. Соединив вершины объекта линиями, мы получим каркасную модель, именуемую так из-за того, что видимыми являются лишь края поверхностей трехмерного тела. Каркасная модель описывает области, составляющие поверхности объекта, которые могут быть заполнены цветом, текстурами и освещаться лучами света. Даже при таком упрощенном разъяснении конвейера 3D графики становится понятно, как много требуется вычислений для прорисовки трехмерного объекта на двумерном экране. Можно представить, как возрастает размер требуемых вычислений над системой координат, ежели объект движется. Программируемый интерфейс приложений (API) состоит из функций, управляющих 3D конвейером на программном уровне, но при всем этом может применять достоинства аппаратной реализации 3D, в случае наличия данной нам способности. Ежели имеется аппаратный ускоритель, API употребляет его достоинства, ежели нет, то API работает с хорошими опциями, рассчитанными на самые обыденные системы. Таковым образом, благодаря применению API, хоть какое количество программных средств может поддерживаться хоть каким количеством аппаратных 3D ускорителей. Компания Apple продвигает собственный свой интерфейс Rave, сделанный на базе их собственного API Quickdraw 3D. Для приложений общего и развлекательного направления, есть последующие API: Для проф приложений, работающих под управлением WindowsNT доминирует интерфейс OpenGL. Компания Autodesk, наикрупнейший производитель инженерных приложений, разработала собственный свой API, именуемый Heidi. Свои API разработали и такие компании, как Intergraph - RenderGL, и 3DFX - GLide. Существование и доступность 3D интерфейсов, поддерживающих множество графических подсистем и приложений, наращивает потребность в аппаратных ускорителях трехмерной графике, работающих в режиме настоящего времени. Развлекательные приложения, основной потребитель и заказчик таковых ускорителей, но не стоит забывать и о прфессиональных приложениях для обработки 3D графики, работающих под управлением Windows NT, почти все из которых переносятся с высокопроизводительных рабочих станций, типа Silicon Graphics, на PC платформу. Веб приложения сильно выиграют от неописуемой маневренности, интуитивности и гибкости, которые обеспечивает применение трехмерного графического интерфейса. Взаимодействие в World Wide Web будет еще Рынок графических подсистем до возникновения понятия малтимедиа был относительно прост в развитии. проще и удобнее, ежели будет происходить в трехмерном пространстве. Принципиальной вехой в развитии был эталон VGA (Video graphics Array), разработанный компанией IBM в 1987 году, по этому производители видеоадаптеров получили возможность применять наиболее высочайшее разрешение (640х480) и огромную глубину представления цвета на мониторе компа. С ростом популярности ОС Windows, возникла острая потребность в аппаратных ускорителях двумерной графики, чтоб разгрузить центральный процессор системы, принужденный обрабатывать доп действия. Отвлечение CPU на обработку графики значительно влияет на общую производительность GUI (Graphical User Interface) - графического интерфеса юзера, а потому что ОС Windows и приложениям для нее требуется как можно больше ресурсов центрального процессора, обработка графики осуществлялась с наиболее низким ценностью, т.е. делалась чрезвычайно медлительно. Производители добавили в свои продукты функции обработки двумерной графики, такие, как прорисовка окон при открытии и свертовании, аппаратный курсор, повсевременно видимый при перемещении указателя, закраска областей на экране при высочайшей частоте регенерации изображения. Итак, возник процессор, обеспечивающий ускорение VGA (Accelerated VGA - AVGA), также узнаваемый, как Windows либо GUI ускоритель, который стал неотклонимым элементом в современных компах. Внедрение малтимедиа сделало новейшие трудности, вызванные добавлением таковых компонентов, как звук и цифровое видео к набору двумерных графических функций. Сейчас просто увидеть, что почти все продукты AVGA поддерживают на аппаратном уровне обработку цифрового видео. Следовательно, ежели на Вашем мониторе видео проигрывается в окне, размером с почтовую марку - пора установить в Вашей машине малтимедиа ускоритель . Малтимедиа ускоритель (multimedia accelerator) традиционно имеет интегрированные аппаратные функции, дозволяющие масштабировать видеоизображение по осям x и y, также аппаратно преобразовывать цифровой сигнал в аналоговый, для вывода его на монитор в формате RGB. Некие малтимедиа акселлераторы могут также иметь интегрированные способности декомпресси цифрового видео. Создатели графических подсистем должны исходить из требований, отчасти диктуемых размерами компьютерного монитора, отчасти под влиянием GUI, и частмчно под влиянием графического процессора. Первичный эталон VGA с разрешением 640х480 пикселов был адекватен 14" мониторам, более всераспространенных в то время. Сейчас более предпочтительны мониторы с размером диагонали трубки 17", Основной тенденцией при переходе от VGA к малтимедиа ускорителям была возможность размещения как можно благодаря способности выводить изображения с разрешением 1024х768 и поболее. больше зрительной инфы на мониторе компа. Внедрение 3D графики является логичным развитием данной тенденции. Огроммные объемы зрительной инфы могут быть втиснуты в ограниченное место экрана монитора, ежели она представляется в трехмерном виде. Обработка трехмерной графики в режиме настоящего времени дает возможность юзеру просто оперировать представляемыми данными. 1-ое правило компьютерных игр - нет никаких правил. Обычно, создатели игр больше заинтересованы в крутой графике собственных программ, чем следованию советов технарей. Не взирая на то, что в распоряжении разрабов имеется множество трехмерных API, к примеру - Direct3D, некие программеры идут по пути сотворения собственного 3D игрового интерфейса либо мотора. Собственные игровые движки - один из путей для разрабов достигнуть неописуемой реалистичности изображения, практически на пределе способностей графического программирования. Нет ничего наиболее хотимого для разраба, чем иметь прямой доступ к аппаратным функциям компонентов системы. Несколько узнаваемых разрабов сделали свои собственные игровые движки, работающие с хорошим внедрением аппаратных ускорителей графики, которые принесли им известность и средства. К примеру, движки Interplay для Descent II и id Software для Quake, обеспечивают настоящую трехмерность деяния, используя наполную аппаратные функции 3D, ежели они доступны. Дискуссии, ведущиеся уже достаточно длительное время, о перспективах внедрения трехмерной графики в таковых областях, как утехи и бизнес, допредела подогрели энтузиазм возможных юзеров, на рынке уже возник новейший тип товаров. Эти новейшие технологические решения, совмещают в для себя великолепную поддержку 2D графики, подобающую нынешним требованиям к Windows акселлераторам, аппаратную В принципе, эти продукты можно смело отнести к новенькому поколению графических подсистем, обеспечивающих поддержку функций 3D графики и проигрывают цифровое видео с требуемой частотой смены кадров. графику без компромиссов, занимающих достойное место обычного оборудования в настольных вычислительных системах. Посреди представителей новейшего поколения можно именовать, в качестве примера, последующие продукты: процессор Ticket-To-Ride компании Number Nine Visual Technologies серия процессоров ViRGE компании S3 Inc. SGS Thomson и nVidia Пусть нам все-же удалось уверить Вас испытать трехмерную графику в действии (ежели Вы до этого времени процессор RIVA128 , разработанный вместе компаниями не сделали это), и Вы решили сыграть в одну из трехмерных игр, созданных для внедрения 3D-видеокарты. Допустим, таковой игрой оказался симулятор авто гонок, и Ваша машинка уже стоит на старте, готовая устремиться к покорению новейших рекордов. Идет предстартовый обратный отсчет, и Вы замечаете, что вид из кабины, отображаемый на экране монитора, незначительно различается от обычного. Вы и до этого участвовали в схожих гонках, но в первый раз изображение поражает Вас исключительным реализмом, заставляя поверить в реальность происходящего. Горизонт, вкупе с удаленными объектами, тонет в утренней дымке. Дорога смотрится необычайно ровно, асфальт представляет собой не набор грязно-серых квадратов, а однотонное покрытие с нанесенной дорожной разметкой. Деревья вдоль дороги вправду имеют лиственные кроны, в каких, кажется, можно различить отдельные листья. От всего экрана в целом складывается воспоминание как от высококачественной фото с настоящей перспективой, а не как от ничтожной пробы смоделировать действительность. Попробуем разобраться, какие же технические решения разрешают 3D-видеокартам передавать виртуальную реальность с таковой реалистичностью. Каким образом изобразительным средствам PC удалось Часть вычислительных операций, связанных с отображением и моделированием трехмерного мира переложено добиться уровня проф студий, занимающихся трехмерной графикой. сейчас на 3D-акселератор, который является сердечком 3D-видеокарты. Центральный процессор сейчас фактически не занят вопросцами отображения, образ экрана сформировывает видеокарта. В базе этого процесса лежит реализация на аппаратном уровне ряда эффектов, также применение легкого математического аппарата. Попробуем разобраться, что все-таки непосредственно умеет графический 3D-процессор. Ворачиваясь к нашему примеру с симулятором гонок, задумаемся, каким образом достигается реалистичность отображения поверхностей дороги либо спостроек, стоящих на обочине. Для этого применяется всераспространенный способ, именуемый текстурирование ( ). Это часто встречающийся эффект для моделирования поверхностей. К примеру, фасад строения востребовал бы отображения множества граней для моделирования множества кирпичей, окон и дверей. Но текстура (изображение, накладываемое на всю поверхность сходу) дает больше реализма, но просит меньше вычислительных ресурсов, потому что дозволяет оперировать со всем фасадом как с единой поверхностью. Перед тем, как поверхности попадают на экран, они текстурируются и затеняются. Все текстуры хранятся в памяти, традиционно установленной на видеокарте. Кстати, тут нельзя не увидеть, что применение AGP Разумеется, что когда поверхности текстурируются, нужен учет перспективы, к примеру, при отображении делает вероятным хранение текстур в системной памяти, а ее размер еще больше. дороги с разделительной полосой, уходящей за горизонт. Многообещающая корректировка нужна для того, чтоб текстурированные объекты выглядели верно. Она гарантирует, что битмэп верно наложится на различные части объекта - и те, которые поближе к наблюдающему, и на наиболее дальние. Корректировка с учетом перспективы чрезвычайно трудозатратная операция, потому часто можно встретить не совершенно верную ее реализацию. При наложении текстур, в принципе, также можно узреть швы меж 2-мя наиблежайшими битмэпами. Либо, что бывает почаще, в неких играх при изображении дороги либо длинноватых коридоров приметно мерцание во время движения. Для угнетения этих проблем применяется фильтрация (традиционно Bi - либо tri-линейная). Билинейная фильтрация - способ устранения искажений изображения. При медленном вращении либо движении объекта могут быть приметны перескакивания пикселов с 1-го места на другое, что и вызывает мерцание. Для понижения этого эффекта при билинейной фильтрации для отображения точки поверхности берется Трилинейная фильтрация несколько труднее. Для получения каждого пиксела изображения берется взвешенное взвешенное среднее 4 смежных текстурных пикселов. среднее значение результатов 2-ух уровней билинейной фильтрации. Приобретенное изображение будет еще наиболее точное и наименее мерцающее. Текстуры, при помощи которых формируется поверхность объекта, изменяют собственный вид в зависимости от конфигурации расстояния от объекта до положения глаз зрителя. При передвигающемся изображении, к примеру, по мере того, как объект удаляется от зрителя, текстурный битмэп должен уменьшаться в размерах совместно с уменьшением размера отображаемого объекта. Для того чтоб выполнить это преобразование, графический процессор преобразует битмэпы текстур вплоть до соответственного размера для покрытия поверхности объекта, но при всем этом изображение обязано оставаться естественным, т.е. объект не должен деформироваться непредвиденным образом. Для того чтоб избежать непредвиденных конфигураций, большая часть управляющих графикой действий делают серии предфильтрованных битмэпов текстур с уменьшенным разрешением, этот процесс именуется . Потом, графическая программа автоматом описывает, какую текстуру применять, основываясь на деталях изображения, которое уже выведено на экран. Соответственно, ежели объект миниатюризируется в размерах, Но вернемся в наш гоночный кар. Сама дорога уже смотрится реалистично, но трудности наблюдаются размер его текстурного битмэпа тоже миниатюризируется. с ее краями! Вспомните, как смотрится линия, проведенная на экране не параллельно его краю. Вот и у нашей дороги возникают "рваные края". И для борьбы с сиим недочетом изображения применяется . Это метод обработки (интерполяции) пикселов для получения наиболее точных краев (границ) изображения (объекта). Более нередко используемая техника - создание плавного перехода от цвета полосы либо края к цвету фона. Цвет точки, лежащей на границе объектов определяется как среднее цветов 2-ух граничных точек. Но в неких вариантах, побочным эффектом anti-aliasing является смазывание (blurring) краев. Мы подходим к главному моменту функционирования всех 3D-алгоритмов. Представим, что трек, по которому ездит наша гоночная машинка, окружен огромным количеством различных объектов - строений, деревьев, Здесь перед 3D-процессором встает основная неувязка, как найти, какие из объектов находятся людей. в области видимости, и как они освещены. При этом, знать, что видимо на этот момент, недостаточно. Нужно иметь информацию и о взаимном расположении объектов. Для решения данной нам задачки применяется способ, именуемый . Это самый надежный способ удаления укрытых поверхностей. В так именуемом z-буфере хранятся значения глубины всех пикселей (z-координаты). Когда рассчитывается (рендерится) новейший пиксел, его глубина сравнивается со значениями, хранимыми в , а конкретнее с глубинами уже срендеренных пикселов с теми же координатами x и y. Ежели новейший пиксел имеет значение глубины больше какого-нибудь значения в z-буфере, новейший пиксел не записывается в буфер для отображения, ежели меньше - то записывается. Z-буферизация при аппаратной реализации сильно наращивает производительность. Тем более, z-буфер занимает огромные объемы памяти: к примеру даже при разрешении 640x480 24-разрядный z-буфер будет Разрешающая способность z-буфера - самый основной его атрибут. Она критична для качественного занимать около 900 Кб. Эта память обязана быть также установлена на 3D-видеокарте. отображения сцен с большой глубиной. Чем выше разрешающая способность, тем выше дискретность z-координат и поточнее выполняется рендеринг удаленных объектов. Ежели при рендеринге разрешающей возможности не хватает, то может случиться, что два перекрывающихся объекта получат одну и ту же координату z, в итоге аппаратура не будет знать какой объект поближе к наблюдающему, что может вызвать искажение изображения. Для избежания этих эффектов проф платы имеют 32-разрядный z-буфер и оборудуются большими размерами памяти. Не считая перечисленных выше основ, трехмерные графические платы традиционно имеют возможность воспроизведения некого количества доп функций. К примеру, если б Вы на собственном гоночном каре въехали бы в песок, то обзор бы затруднился поднявшейся пылью. Для реализации таковых и схожих эффектов применяется (затуманивание). Этот эффект появляется ) за счет комбинирования смешанных компьютерных цветовых пикселов с цветом тумана ( под управлением функции, определяющей глубину затуманивания. При помощи этого же метода далековато отстоящие объекты погружаются в дымку, создавая иллюзию расстояния. Настоящий мир состоит из прозрачных, полупрозрачных и непрозрачных объектов. Для учета этого происшествия, применяется - метод передачи инфы о прозрачности полупрозрачных объектов. Эффект полупрозрачности создается методом объединения цвета начального пиксела с пикселом, уже находящимся в буфере. В итоге цвет точки является композицией цветов переднего и заднего плана. Традиционно, коэффициент alpha имеет нормализованное Разумеется, что для сотворения реалистичной картины происходящего на экране нужно нередкое обновление значение от 0 до 1 для каждого цветного пиксела. Новейший пиксел = (alpha)(цвет пиксела А) + (1 - alpha)(цвет пиксела В). его содержимого. При формировании каждого последующего кадра, 3D-акселератор проходит весь путь подсчета поновой, потому он должен обладать большим быстродействием. Но в 3D-графике используются и остальные способы придания плавности движению. Главный - . Представьте для себя старенькый трюк аниматоров, рисовавших на уголках стопки бумаги персонаж мультика, со слегка изменяемым положением на каждом последующем листе. Пролистав всю стопку, отгибая уголок, мы увидим плавное движение нашего героя. Фактически таковой же принцип работы имеет и Double Buffering в 3D анимации, т.е. последующее положение персонажа уже нарисовано, до того, как текущая страничка будет пролистана. Без внедрения двойной буферизации изображение не будет иметь требуемой плавности, т.е. будет прерывистым. Для двойной буферизации требуется наличие 2-ух областей, зарезервированных в буфере кадров трехмерной графической платы; обе области должны соответствовать размеру изображения, выводимого на экран. Способ употребляет два буфера для получения изображения: один для отображения рисунки, иной для рендеринга. В то время как отображается содержимое 1-го буфера, в другом происходит рендеринг. Когда очередной кадр обработан, буфера переключаются (изменяются местами). Таковым образом, играющий всегда лицезреет хорошую картину. В заключение обсуждения алгоритмов, применяемых в 3D-графических акселераторах, попробуем разобраться, каким же образом применение всех эффектов по отдельности дозволяет получить целостную картину. Применение конвейерной обработки дозволяет еще убыстрить выполнение расчетов за счет того, что 3D-графика реализуется при помощи многоступенчатого механизма, именуемого конвейером рендеринга. вычисления для последующего объекта могут быть начаты до окончания вычислений предшествующего. Конвейер рендеринга быть может разбит на 2 стадии: геометрическая обработка и растеризация. На первой стадии геометрической обработки выполняется преобразование координат (вращение, перенос и масштабирование всех объектов), отсечение невидимых частей объектов, расчет освещения, определение цвета каждой вершины с учетом всех световых источников и процесс деления изображения на наиболее маленькие формы. Для описания нрава поверхности объекта она делится на различные многоугольники. Более нередко при отображении графических объектов употребляется деление на треугольники и четырехугольники, потому что они легче всего обсчитываются и ими просто манипулировать. При всем этом координаты объектов переводятся из вещественного в целочисленное представление для ускорения На 2-ой стадии к изображению используются все описанные эффекты в последующей последовательности: вычислений. удаление укрытых поверхностей, наложение с учетом перспективы текстур (используя z-буфер), применение эффектов тумана и полупрозрачности, anti-aliasing. После чего еще одна точка считается готовой к помещению в буфер со последующего кадра. Из всего вышеуказанного можно осознать, для каких целей употребляется память, установленная на плате 3D-акселератора. В ней хранятся текстуры, z-буфер и буфера последующего кадра. При использовании шины PCI, употреблять для этих целей обыденную оперативную память нельзя, потому что быстродействие видеокарты значительно будет ограничено пропускной способностью шины. Конкретно по этому для развития 3D-графики в особенности перспективно продвижение шины AGP, позволяющее соединить 3D-чип с процессором впрямую и тем организовать стремительный обмен данными с оперативной памятью. Это решение, к тому же, обязано удешевить трехмерные акселераторы за счет того, что на борту платы остается только незначительно памяти фактически для кадрового буфера. Повсеместное внедрение 3D-графики вызвало повышение мощности компов без какого-нибудь существенного роста их цены. Юзеры ошеломлены открывающимися способностями и стремятся испытать их у себя на компах. Множество новейших 3D-карт разрешают юзерам созидать трехмерную графику в настоящем времени на собственных домашних компах. Эти новейшие акселераторы разрешают добавлять реализм к изображениям и ускорять вывод графики в обход центрального процессора, делая упор на собственные аппаратные способности. Хотя в текущее время трехмерные способности употребляются лишь в играх, думается, деловые приложения также сумеют потом извлечь из их выгоду. К примеру, средства автоматизированного проектирования уже нуждаются в выводе трехмерных объектов. Сейчас создание и проектирование будет может быть и на индивидуальном компе благодаря открывающимся способностям. Трехмерная графика, может быть, сумеет также поменять метод взаимодействия человека с компом. Внедрение трехмерных интерфейсов программ обязано сделать процесс общения с компом еще больше обычным, чем в текущее время.


012345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758

Ваша реклама могла бы быть здесь

ads

Последние новости

Новенькая история x86 далее...

Сохранность: Windows Vulnerability Scanner v.1.38 далее...

Выбор портативного мультимедийного проектора, созданного для проведения презентаций далее...

Canon EOS 5D далее...

Анонсы Hardware Хай-тек далее...

Proaudio :: Звуковые карты и интерфейсы далее...

Программное обеспечение малогабаритных камер Canon далее...

Mandriva PowerPack 2009. Часть 2 далее...

Разработка Direct Rambus далее...

Thermaltake анонсирует всепригодный процессорный кулер SpinQ VT далее...

MSI K9NGM2-FID системная плата на базе чипсета NVIDIA GeForce 6150 (Socket AM2) далее...

Gigabyte 965P-DQ6 системная плата на базе чипсета Intel P965 далее...

ASUS M2N32 WS Professional системная плата на базе чипсета NVIDIA nForce 590 SLI далее...

Pioneer BDR-203BK - пишущий BD привод далее...

Диспетчеры закачек: Orbit Downloader v.2.8.16 далее...

Партнеры

ads