Компьютерная графика

Материал из Википедии — свободной энциклопедии
(перенаправлено с «2D-графика»)
Перейти к навигации Перейти к поиску
Снимок экрана Blender 2.45. Показан стандартный интерфейс с разделенными окнами. В сцене находится подфуршетный простой примитив Blender’а — обезьяна «Сюзанна».

Компью́терная гра́фика (3D-графика) занимается созданием изображений и искусства с помощью компьютеров. Сегодня компьютерная графика является основной технологией в цифровой фотографии, кино, видеоиграх, цифровом искусстве, дисплеях мобильных телефонов и компьютеров, а также во многих специализированных приложениях. Было разработано множество специализированного оборудования и программного обеспечения, причем большинство устройств оснащено графическим аппаратным обеспечением. Это обширная и недавно развивающаяся область компьютерной науки. Термин был придуман в 1960 году исследователями компьютерной графики Верном Хадсоном и Уильямом Феттером из Boeing. Часто используется сокращение CG или, в контексте кино, компьютерная генерация изображений (CGI). Нехудожественные аспекты компьютерной графики являются предметом исследований в области компьютерных наук.

Симулятор полёта над долиной Трента в Юлийских Альпах

Некоторые темы компьютерной графики включают дизайн пользовательского интерфейса, спрайтовую графику, рендеринг, трассировку лучей, обработку геометрии, компьютерную анимацию, векторную графику, 3D-моделирование, шейдеры, проектирование ГПУ, неявные поверхности, визуализацию, научные вычисления, обработку изображений, вычислительную фотографию, научную визуализацию, вычислительную геометрию и компьютерное зрение, среди прочих. Общая методология сильно зависит от основных наук о геометрии, оптике, физике и восприятии.

Компьютерная графика отвечает за эффективное и содержательное отображение художественных и изображений для потребителя. Она также используется для обработки полученных из физического мира данных об изображениях, таких как фото- и видеоматериалы. Развитие компьютерной графики имело значительное влияние на многие типы медиа и революционизировало анимацию, кино, рекламу и видеоигры в целом.

Термин «компьютерная графика» широко используется для описания «почти всего на компьютерах, что не является текстом или звуком». Обычно под компьютерной графикой понимается несколько различных вещей:

  • представление и обработка изображений компьютером;
  • различные технологии создания и обработки изображений;
  • методы цифрового синтеза и обработки визуального контента.

Сегодня компьютерная графика широко распространена. Такие изображения можно найти на телевидении, в газетах, в прогнозах погоды, а также в медицинских исследованиях и хирургических процедурах. Хорошо построенный график может представить сложную статистику в форме, которую легче понять и интерпретировать. В медиа «такие графики используются для иллюстрации статей, отчетов, диссертаций» и других материалов для презентаций.

Было разработано множество инструментов для визуализации данных. Компьютерно сгенерированное изображение можно классифицировать по нескольким типам: двухмерное (2D), трехмерное (3D) и анимационная графика. С улучшением технологий трехмерная компьютерная графика стала более распространенной, но двухмерная компьютерная графика все еще широко используется. Компьютерная графика стала подразделением компьютерных наук, изучающим методы цифрового синтеза и обработки визуального контента. За последнее десятилетие были разработаны и другие специализированные области, такие как информационная визуализация и научная визуализация, которые более ориентированы на «визуализацию трехмерных явлений (архитектурных, метеорологических, медицинских, биологических и т. д.), где акцент делается на реалистичном отображении объемов, поверхностей, источников освещения и т. д., возможно, с динамической (временной) составляющей».

Жёлтая подводная лодка в виртуальном мире Second Life.

Предшествующие науки развитию современной компьютерной графики были достижения в области электротехники, электроники и телевидения, которые произошли в первой половине XX века. Экраны могли отображать искусство с помощью матовых пленок Люмьер для создания спецэффектов в ранних фильмах, начиная с 1895 года, но такие дисплеи были ограничены и неинтерактивными. Первая катодно-лучевая трубка, трубка Брауна, была изобретена в 1897 году — она, в свою очередь, позволила создать осциллограф и военную панель управления — более прямые предшественники этой области, так как они предоставляли первые двумерные электронные дисплеи, реагирующие на программные или пользовательские вводы. Тем не менее, компьютерная графика оставалась относительно неизвестной дисциплиной до 1950-х годов и послевоенного периода, во время которого дисциплина возникла из сочетания как чисто университетских и лабораторных академических исследований более совершенных компьютеров, так и дальнейшего развития технологий Вооруженных Сил США, таких как радар, передовая авиация и ракетостроение, развитые во время Второй мировой войны. Для обработки огромного количества информации, полученной в результате таких проектов, требовались новые виды дисплеев, что привело к развитию компьютерной графики как дисциплины.

Центр управления системы SAGE

Ранние проекты, такие как Whirlwind и SAGE Projects, представили электронно-лучевую трубку (CRT) как жизнеспособный дисплей и интерфейс взаимодействия, а также ввели световое перо как устройство ввода. Дуглас Т. Росс из системы Whirlwind SAGE провел личный эксперимент, в котором написал небольшую программу, которая фиксировала движение его пальца и отображала его вектор (его написанное имя) на дисплее. Одной из первых интерактивных видеоигр с узнаваемой графикой — Tennis for Two — была создана для осциллографа Уильямом Хигинботамом для развлечения посетителей в 1958 году в Брукхейвенской национальной лаборатории и имитировала теннисный матч. В 1959 году Дуглас Т. Росс снова совершил инновацию, работая в Массачусетском технологическом институте (MIT), преобразовав математические выражения в компьютерно генерируемые 3D-векторы для станков с числовым программным управлением, воспользовавшись возможностью создать изображение героя мультфильма The Walt Disney Company на дисплее.

Область компьютерной графики развивалась с появлением аппаратного обеспечения для компьютерной графики. Дальнейшие прогрессивные достижения в области вычислительной техники привели к еще большим прорывам в интерактивной компьютерной графике. В 1959 году в лаборатории Линкольна Массачусетского технологического института был разработан компьютер TX-2. В TX-2 было интегрировано несколько новых интерфейсов человек-машина. С помощью светового пера можно было рисовать эскизы на компьютере с использованием революционной программы Айвена Сазерленда под названием Sketchpad. С помощью светового пера в Sketchpad можно было рисовать простые фигуры на экране компьютера, сохранять их и затем восстанавливать. Само световое перо имело небольшую фотоэлектрическую ячейку на конце. Эта ячейка выдавала электронный импульс при каждом попадании перед нею экрана компьютера и прямой выстрел его электронной пушки. Просто синхронизируя электронный импульс с текущим положением электронной пушки, было легко точно определить местоположение пера на экране в любой момент времени. После этого компьютер мог нарисовать курсор в этом месте. Сазерленд, казалось, нашел идеальное решение для многих графических проблем, с которыми он сталкивался. Многие стандарты интерфейсов компьютерной графики начали свое развитие с этой ранней программы Sketchpad. Один из примеров — это ограничения рисования. Если, например, кто-то хочет нарисовать квадрат, ему не нужно беспокоиться о том, чтобы нарисовать четыре линии идеально, чтобы образовать границы коробки. Просто можно указать, что хочется нарисовать коробку, а затем указать местоположение и размер коробки. Программа затем построит идеальную коробку с правильными размерами и в правильном месте. Программное обеспечение Сазерленда моделировало объекты, а не только изображение объектов. Другими словами, с помощью модели автомобиля можно было изменить размер шин, не затрагивая остальную часть автомобиля. Можно было растягивать кузов автомобиля, не деформируя шины.

Термин «компьютерная графика» приписывается Уильяму Феттеру, графическому дизайнеру компании Boeing в 1960 году. Сам Феттер в свою очередь отнес ее к Верну Хадсону, также работавшему в Boeing[1][2].

В 1961 году еще один студент Массачусетского технологического института Стив Рассел создал еще одну важную игру в истории видеоигр — Spacewar! Написанная для компьютера DEC PDP-1, Spacewar стала мгновенным успехом, и копии начали поступать к другим владельцам PDP-1, и в конечном итоге DEC получила копию. Инженеры DEC использовали ее как диагностическую программу на каждом новом PDP-1 перед его отправкой. Продажи быстро заметили это, и при установке новых устройств они запускали «первую в мире видеоигру» для своих новых клиентов. (Tennis For Two Хиггинботама опередил Spacewar почти на три года, но он был почти неизвестен за пределами исследовательской или академической среды).

Примерно в то же время (1961—1962) в Кембриджском университете Элизабет Уолдрам написала код для отображения радиоастрономических карт на катодно-лучевой трубке[3].

В 1963 году научный сотрудник Белловской лаборатории Э. Э. Заджак создал фильм под названием «Симуляция системы управления гравитацией с двумя гироскопами». В этом компьютерно созданном фильме Заджак показал, как можно изменить ориентацию спутника при его вращении вокруг Земли. Он создал анимацию на компьютере IBM 7090. Также в Белловской лаборатории Кен Ноултон, Фрэнк Синден, Рут А. Вайсс и Майкл Нолл начали работать в области компьютерной графики. Синден создал фильм под названием «Сила, масса и движение», иллюстрирующий законы движения Ньютона. Примерно в то же время другие ученые создавали компьютерную графику, чтобы иллюстрировать свои исследования. В Лаборатории имени Лоуренса Нельсон Макс создал фильмы «Поток вязкой жидкости» и «Распространение ударных волн в твердых телах». В компании Boeing Aircraft был создан фильм «Вибрация самолета».

Также в начале 1960-х годов благодаря ранней работе Пьера Безье в компании Renault, который использовал кривые Поля де Кастельжо (теперь называемые кривыми Безье по работе Безье в этой области) для разработки техник 3D-моделирования для кузовов автомобилей Renault, они стали основой для многих техник моделирования кривых в этой области.

Не прошло много времени, и крупные компании начали проявлять интерес к компьютерной графике. TRW[англ.], Lockheed-Georgia, General Electric и Sperry Rand — среди многих компаний, которые начали заниматься компьютерной графикой к середине 1960-х годов. IBM оперативно отреагировала на этот интерес, выпустив графический терминал IBM 2250 — первый коммерчески доступный компьютер с графикой. Ральф Бер, главный инженер в Sanders Associates, разработал домашнюю видеоигровую приставку в 1966 году, лицензию на которую позже приобрела Magnavox и которая получила название Odyssey. Хотя приставка была очень простой и требовала недорогих электронных компонентов, она позволяла игроку перемещать точки света по экрану. Это был первый продукт компьютерной графики для потребителя. Дэвид С. Эванс был директором инжиниринга в компьютерном подразделении Bendix Corporation с 1953 по 1962 год, после чего он работал в течение следующих пяти лет как приглашенный профессор в Беркли. Там он продолжал интересоваться компьютерами и их взаимодействием с людьми. В 1966 году Университет Юты привлек Эванса для создания программы компьютерных наук, и компьютерная графика быстро стала его основным интересом. Этот новый отдел стал основным исследовательским центром мира по компьютерной графике в течение 1970-х годов.

Также в 1966 году Иван Сазерленд продолжал инновации в Массачусетском технологическом институте, когда он изобрел первый наголовный дисплей. Он отображал две отдельные 3D-изображения проволочной модели — по одной на каждый глаз. Это позволяло зрителю видеть компьютерную сцену в стереоскопическом 3D. Тяжелая аппаратура, поддерживающая дисплей и трекер, получила название «Меч Дамокла» из-за потенциальной опасности, если бы она упала на носителя. После получения степени доктора философии в Массачусетском технологическом институте Сазерленд стал директором информационной обработки в ARPA (Агентство передовых исследовательских проектов) и позднее стал профессором в Гарварде. В 1967 году Эванс привлек Сазерленда, чтобы присоединиться к программе компьютерных наук в Университете Юты — разработке, которая превратила этот отдел в один из самых важных исследовательских центров в области графики на протяжении почти десяти лет, в конечном итоге породивший некоторых самых важных пионеров в этой области. Там Сазерленд усовершенствовал свой наголовный дисплей; двадцать лет спустя НАСА вновь открыла его методы в своих исследованиях виртуальной реальности. Сазерленд и Эванс были очень востребованными консультантами крупных компаний, но их раздражало отсутствие доступной на тот момент графической аппаратуры, поэтому они начали разрабатывать план создания собственной компании.

В 1968 году Дэйв Эванс и Айвен Сазерленд основали первую компанию по производству аппаратного обеспечения для компьютерной графики — Evans & Sutherland[англ.]. Исходно Сазерленд хотел, чтобы компания находилась в Кембридже, Массачусетс, но вместо этого выбрали Солт-Лейк-Сити из-за его близости к исследовательской группе профессоров в Университете Юты.

Простая иллюстрация технологии ray casting в играх

Также в 1968 году Артур Эппель описал первый алгоритм трассировки лучей (ray casting), относящийся к классу алгоритмов рендеринга на основе лучей, которые стали фундаментальными в достижении фотореализма в графике, моделируя путь, по которому лучи света идут от источника света, к поверхностям в сцене и в камеру.

В 1969 году Ассоциация вычислительной техники создала группу по графике (SIGGRAPH), которая организует конференции, разрабатывает графические стандарты и публикации в области компьютерной графики. В 1973 году состоялась первая ежегодная конференция SIGGRAPH, которая стала одной из главных активностей организации. За время своего существования, SIGGRAPH значительно выросла и стала более важной, по мере расширения области компьютерной графики.

Впоследствии, ряд прорывных достижений в области компьютерной графики — особенно важные ранние достижения в преобразовании графики от полезной к реалистичной — произошли в Университете Юты в 1970-х годах, где был принят на работу Айвен Сазерленд. Ему партнером был Дэвид С. Эванс, с которым он вел продвинутый курс по компьютерной графике, что сильно способствовало основным исследованиям в этой области и обучило несколько студентов, которые позднее основали несколько из самых важных компаний в индустрии, а именно Pixar, Silicon Graphics и Adobe Systems. Том Стокхем руководил группой по обработке изображений в Университете Юты, которая тесно сотрудничала с лабораторией компьютерной графики.

Один из этих студентов был Эдвин Катмалл. Катмалл только что ушел из Boeing Company и работал над получением степени в физике. Выросший на Диснея, Катмалл обожал анимацию, но быстро понял, что не обладает талантом к рисованию. Теперь Катмалл (вместе с многими другими) видел компьютеры как естественное развитие анимации, и они хотели быть частью этой революции. Первую компьютерную анимацию, которую видел Катмалл, он сделал сам — анимацию своей руки, открывающейся и закрывающейся. Он также впервые использовал метод текстурирования для нанесения текстур на трехмерные модели в 1974 году, что сейчас считается одной из основных техник в трехмерном моделировании. Одной из его целей стало создание полнометражного фильма, используя компьютерную графику. Эта цель была достигнута им двадцать лет спустя после его роли в основании Pixar. В той же группе Фред Парк создал анимацию лица своей жены. Оба ролика были включены в фильм «Futureworld» 1976 года.

Поскольку лаборатория компьютерной графики в Университете Юты привлекала людей со всего мира, Джон Варнок был еще одним из ранних пионеров; позже он основал компанию Adobe Systems и создал революцию в мире издательского дела с помощью языка описания страниц PostScript, а впоследствии Adobe стала разработчиком стандартного программного обеспечения по редактированию фотографий Adobe Photoshop и программы спецэффектов для киноиндустрии Adobe After Effects.

Там также был Джеймс Кларк, который позднее основал компанию Silicon Graphics, производителя передовых систем рендеринга, которые доминировали в области графики высокого качества до начала 1990-х годов.

В Университете Юты эти ранние пионеры создали важное достижение в трехмерной компьютерной графике — алгоритм определения скрытой поверхности. Чтобы нарисовать трехмерный объект на экране, компьютер должен определить, какие поверхности «за» объектом с точки зрения наблюдателя, и, следовательно, должны быть «скрыты», когда компьютер создает (или рендерит) изображение. Была разработана первая графическая стандартизация — 3D Core Graphics System (Core).

Также в 1970-х годах Генри Гура и Джим Блинн внесли вклад в основы затенения в CGI с помощью разработки моделей затенения Гуро и Блинна-Фонга, позволяющих графике выйти за рамки «плоского» вида и более точно отображать глубину. Джим Блинн также в 1978 году внедрил дополнительные инновации, представив метод бамп-маппинга, технику имитации неровных поверхностей и предшественника многих более продвинутых разновидностей мэппинга, используемых в настоящее время.

Современные аркадные видеоигры, которые мы знаем сегодня, появились в 1970-х годах, с первыми аркадными играми, использующими графику реального времени с двумерными спрайтами. Pong в 1972 году стал одной из первых популярных аркадных игр в автомате. Speed Race в 1974 году представил спрайты, двигающиеся по вертикально прокручиваемой дороге. Gun Fight в 1975 году показывал анимацию человекоподобных персонажей, а Space Invaders в 1978 году представил большое количество анимированных фигур на экране. Обе игры использовали специальную цепь сдвига-мультиплексора на основе дискретных микросхем, которая помогала процессору Intel 8080 анимировать графику на экране.

1980-е годы стали периодом модернизации и коммерциализации компьютерной графики. С развитием домашних компьютеров, тема, ранее доступная только в академических кругах, стала интересной для гораздо большей аудитории, что привело к значительному увеличению числа разработчиков компьютерной графики.

В начале 1980-х годов появилась микросхемы большой и, далее, сверхбольшой интеграции (БИС, СБИС, VLSI), благодаря чему появились 16-битные центральные процессоры (CPU) и первые графические процессоры (GPU), которые начали революционизировать компьютерную графику, обеспечивая высокое разрешение для графических терминалов и персональных компьютеров (ПК).
Первым GPU был чип µPD7220 от компании NEC, полностью созданный на одной микросхеме типа NMOS. Он поддерживал разрешение до 1024x1024 пикселей и положил основы для развивающегося рынка графики на ПК и использовался в нескольких графических картах и был лицензирован для клонов, таких как Intel 82720, первый графический процессор Intel (см. Список графических процессоров Intel).
В начале 1980-х годов MOS-память также стала дешевле, что позволило разработке доступной памяти кадрового буфера, в том числе видеопамяти VRAM, представленной компанией Texas Instruments (TI) в середине 1980-х годов. В 1984 году Hitachi выпустила ARTC[англ.] HD63484 — первый GPU gj комплементарной MOS (CMOS) технологии. Он мог отображать изображения высокого разрешения в цветном режиме и до разрешения 4K в черно-белом режиме, и использовался в нескольких графических картах и терминалах в конце 1980-х годов. В 1986 году TI представила TMS34010 — первый MOS полностью программируемый графический процессор.

В течение этого десятилетия графические терминалы стали все более интеллектуальными, полуавтономными и автономными рабочими станциями. Графика и обработка приложений все больше переходили на интеллектуальность[прояснить] в рабочей станции, вместо того чтобы полагаться на центральные компьютеры и мини-компьютеры. Типичными ранними рабочими станциями с высоким разрешением компьютерной графики для рынка компьютерного проектирования были рабочие станции Orca 1000, 2000 и 3000, разработанные компанией Orcatech из Оттавы (выделившейся из Bell-Northern Research[англ.] и возглавляемой Дэвидом Пирсоном, одним из первых пионеров рабочих станций). Orca 3000 была основана на 16-битном микропроцессоре Motorola 68000 и микропроцессорной секции от AMD, и в качестве операционной системы использовала Unix. Она была рассчитан на сложный сектор инженерного проектирования. Художники и графические дизайнеры начали видеть персональный компьютер, особенно Amiga и Macintosh, как серьезный инструмент для дизайна, который мог сэкономить время и рисовать более точно, чем другие методы.

Также, в области реалистической графики в 1986 году было разработано общее уравнение рендеринга Дэвида Иммеля и Джеймса Каджии — это важный шаг к реализации глобальной освещенности[прояснить], которая необходима для достижения фотореализма в компьютерной графике.

На популярность «Звездных войн» и других франшиз фантастики в кинематографической компьютерной графике значительное влияние оказали компании Lucasfilm и Industrial Light & Magic, которые стали известными как 'go-to' студии для высококачественной компьютерной графики в фильмах. Важными прорывами в хромакей-технологиях («блюрубка», и т. д.) стали фильмы поздней трилогии «Звездных войн». Два других видео также продолжат существовать как исторически значимые: клип группы «Dire Straits» на песню «Money for Nothing» в 1985 году, которое популяризировало компьютерную графику среди поклонников музыки того времени, и сцена из фильма «Молодой Шерлок Холмс» того же года, на котором был показан первый полностью компьютерно-сгенерированный персонаж в художественном фильме (анимированный рыцарь из стекла). В 1988 году компания Pixar разработала первые шейдеры — небольшие программы, предназначенные специально для осуществления шейдинга в качестве отдельного алгоритма. Компания уже отделилась от Industrial Light & Magic как самостоятельного юридического лица — однако широкая аудитория увидит результаты подобного технологического прогресса только в следующем десятилетии. В конце 1980-х годов компьютеры Silicon Graphics (SGI) использовались для создания первых полностью компьютерно-сгенерированных короткометражных фильмов в Pixar, и в течение этого десятилетия техника Silicon Graphics считалась вершиной в этой области.

Эта десятилетие также получило название «золотой эры видеоигр»; игровые системы от Atari, Nintendo и Sega, а также других компаний, впервые показали компьютерную графику новой, молодой и впечатлительной аудитории — как и персональные компьютеры на базе MS-DOS, Apple II, Mac и Amiga, которые также позволяли пользователям программировать свои собственные игры, если они были достаточно квалифицированы. В аркадных автоматах были сделаны прорывы в коммерческой, 3D-графике реальном времени. В 1988 году были представлены первые специализированные графические карты для реального времени 3D графики в аркадах — Namco System 21 и Taito Air System. На профессиональном уровне компании Evans & Sutherland и SGI разработали аппаратное обеспечение для 3D растровой графики, которое напрямую повлияло на последующий однокристальный графический процессор (GPU) — технологию, при которой отдельный и очень мощный чип используется для параллельной обработки с ЦП для оптимизации графики.

В течение десятилетия компьютерная графика также нашла применение во многих других профессиональных сферах, включая местную развлекательную и образовательную индустрии с использованием системы Digistar от E&S, проектирование автомобилей, моделирование автомобилей и химию.

В 1990-х годах главной тенденцией стало массовое использование 3D-моделирования и значительное улучшение качества компьютерной графики в целом. Домашние компьютеры стали способны выполнять задачи рендеринга, которые ранее были ограничены рабочими станциями стоимостью тысячи долларов. С появлением 3D-моделеров для домашних систем популярность рабочих станций Silicon Graphics снизилась, а мощные компьютеры под управлением операционных систем Microsoft Windows и Apple Macintosh, на которых работали продукты Autodesk, такие как 3D Studio или другое программное обеспечение для рендеринга, приобрели важное значение. К концу десятилетия графический процессор (GPU) начал занимать ту позицию, которую он до сих пор занимает.

В этой области появились первые рендеры, которые по-настоящему могли пройти за фотореалистичные в глазах неподготовленного зрителя (хотя пока еще не могли так выглядеть в глазах профессионального CGI-художника), и 3D-графика стала гораздо популярнее в играх, мультимедиа и анимации. В конце 1980-х и начале 1990-х годов во Франции были созданы первые компьютерные графические телесериалы: «La Vie des bêtes» студии Mac Guff Ligne (1988), «Les Fables Géométriques» студии Fantôme (1989—1991) и «Quarxs», первый телесериал в высоком разрешении с компьютерной графикой от Мориса Бенайюна и Франсуа Шютена (студия Z-A production, 1990—1993).

В кино Pixar начал серьезно превозноситься на коммерческую вершину в это время под руководством Эдвина Катмулла, с выходом своего первого крупного фильма, в 1995 году — «История игрушек» — критически и коммерчески успешной кинокартины огромного масштаба. Эта студия, изобретшая программируемый шейдер, продолжала выпускать множество анимационных хитов, и ее работу по предварительной анимации видео до сих пор считают лидером отрасли и смелым исследовательским веходворцем.

В компьютерных играх в 1992 году Virtua Racing, работающая на аркадной системе Sega Model 1, заложила основу для полностью трехмерных гоночных игр и популяризировала реально-временную трехмерную графику среди широкой аудитории игровой индустрии. Впоследствии Sega Model 2 в 1993 году и Sega Model 3 в 1996 году расширили границы коммерческой трехмерной графики в реальном времени. На персональных компьютерах игры Wolfenstein 3D, Doom и Quake, три из первых массово популярных трехмерных шутеров от первого лица, были выпущены компанией id Software и получили критическое и популярное признание в течение этого десятилетия, используя рендеринговый движок, разработанный в основном Джоном Кармаком. Консоли Sony PlayStation, Sega Saturn и Nintendo 64, среди прочих, разошлись миллионными тиражами и популяризировали трехмерную графику среди домашних игроков. Некоторые трехмерные игры конца 1990-х годов первого поколения стали важными в популяризации трехмерной графики среди пользователей консолей, такими, как платформеры Super Mario 64 и The Legend of Zelda: Ocarina of Time, а также ранние трехмерные файтинги, такие как Virtua Fighter, Battle Arena Toshinden и Tekken.

Технологии и алгоритмы рендеринга продолжали значительно улучшаться. В 1996 году Кришнамурти и Левой изобрели нормальное отображение — улучшение бамп-маппинга Джима Блинна. В 1999 году Nvidia выпустила эпохальную видеокарту GeForce 256, первую домашнюю видеокарту, именуемую графическим процессором или GPU, которая в собственных словах компании содержала «интегрированные процессоры трансформации, освещения, настройки/обрезки треугольников и рендеринга». К концу десятилетия компьютеры приняли общие платформы для обработки графики, такие как DirectX и OpenGL. С тех пор компьютерная графика стала еще более детализированной и реалистичной благодаря более мощным графическим аппаратным средствам и программному обеспечению для трехмерного моделирования. В этом десятилетии AMD также стала ведущим разработчиком графических плат, создав «дуополию» в этой области, которая продолжается по сей день.

CGI стал повсеместным явлением и получил серьезное распространение в эту эпоху. В конце 1990-х годов видеоигры и компьютерная графика в кино расширили охват компьютерной графики среди широкой публики, и продолжали делать это на ускоренном темпе в 2000-х годах. В конце 1990-х и 2000-х годах CGI также получил широкое применение в телевизионной рекламе и стал знакомым для огромной аудитории.

Продолжающийся рост и увеличение сложности графического процессора играли важную роль в этом десятилетии, и возможности трехмерного рендеринга стали стандартной особенностью, поскольку 3D-графические процессоры стали рассматриваться как необходимость для производителей настольных компьютеров. Линейка графических карт Nvidia GeForce в начале десятилетия доминировала на рынке, с периодическим присутствием существенной конкуренции от ATI. По мере продвижения десятилетия, даже недорогие компьютеры обычно содержали какой-либо 3D-совместимый графический процессор, так как Nvidia и AMD представили недорогие наборы микросхем и продолжали доминировать на рынке. Шейдеры, введенные в 1980-х годах для выполнения специализированной обработки на графическом процессоре, к концу десятилетия стали поддерживаться на большинстве потребительской аппаратуры, что значительно ускорило графику и позволило значительно улучшить текстуры и теневые эффекты в компьютерной графике благодаря широкому распространению нормального отображения, бамп-маппинга и других техник, позволяющих симулировать большое количество деталей.

Компьютерная графика, используемая в фильмах и видеоиграх, постепенно стала реалистичной до такой степени, что приближается к «долине ужаса». Фильмы с компьютерной графикой распространились, с традиционными анимационными фильмами, такими как Ice Age и Madagascar, а также многочисленными работами Pixar, такими как Finding Nemo, которые стали доминировать.

В видеоиграх популярностью пользовались игровые приставки Sony PlayStation 2 и 3, консоли серии Microsoft Xbox, а также предложения от компании Nintendo, такие как GameCube, а также персональные компьютеры под управлением операционной системы Windows. Великое множество известных CGI-тяжелых проектов, включая серии игр Grand Theft Auto, Assassin’s Creed, Final Fantasy, BioShock, Kingdom Hearts, Mirror’s Edge и многие другие, продолжали приближаться к фотореализму, развивая игровую индустрию и производя впечатление, пока доходы от этой индустрии стали сопоставимы с доходами от фильмов. Microsoft предпринял решение упростить доступ к DirectX для независимых разработчиков с помощью программы XNA, однако эта инициатива не оказалась успешной. Сам DirectX в целом остался коммерчески успешным. OpenGL также продолжил совершенствоваться, и как DirectX, и как OpenGL сильно улучшились; появление шейдерных языков HLSL и GLSL во втором поколении стало популярным в этом десятилетии.

В научных вычислениях была изобретена техника GPGPU, которая позволяет передавать большие объемы данных двусторонне между графическим процессором (GPU) и центральным процессором (CPU), ускоряя анализ многих видов биоинформатических и молекулярно-биологических экспериментов. Также эта техника применяется в майнинге Bitcoin и имеет применение в компьютерном зрении.

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

Технология текстурного маппинга вышла на новый уровень и стала многоуровневым процессом. Обычно не редкость реализация текстурного маппинга, бамп маппинга, изоскоков, нормального маппинга, освещающих текстур с включением зеркальных бликов и методик отражения, а также метода объемных теней, использующих шейдеры, которые весьма развиваются. Шейдеры теперь практически необходимы для продвинутой работы в этой области, обеспечивая значительную сложность в манипулировании пикселями, вершинами и текстурами на отдельной основе и бесчисленное количество использования возможных эффектов. Их шейдерные языки HLSL и GLSL являются активными сферами исследования и разработки. Физически-основной рендеринг или PBR, который реализует множество текстур и производит продвинутые расчеты для имитации реального оптического освещения, также является активной областью исследований, наряду с продвинутыми областями, такими как окружающая окклюзия, подповерхностное рассеяние, рэйлейский рассеивание, фотонное отображение и многими другими. Исследования процессорной мощности, необходимой для предоставления графики в режиме реального времени с разрешением, например, 4K Ultra HD, только начинаются, хотя это сейчас доступно только на самом мощном оборудовании.

В кинематографе теперь большинство анимационных фильмов — это CGI. Каждый год выпускается множество анимационных фильмов с CGI, но немногие из них стремятся к фотореализму из-за продолжающегося страха перед «долиной нечеловеческого». Большинство из них представляют собой 3D-мультфильмы.

В мире видеоигр доминировали игровые приставки Microsoft Xbox One, Sony PlayStation 4 и Nintendo Switch и все они способны обеспечить продвинутые 3D-графику. Компьютеры с операционной системой Windows все еще являются одной из самых активных игровых платформ.

Текущее состояние

[править | править код]

Основные области применения

[править | править код]

Научная графика — первые компьютеры использовались лишь для решения научных и производственных задач. Чтобы лучше понять полученные результаты, производилась их графическая обработка, строились графики, диаграммы, чертежи рассчитанных конструкций. Первые графики на машине получались в режиме символьной печати. Затем появились специальные устройства — графопостроители (плоттеры) для вычерчивания чертежей и графиков чернильным пером на бумаге. Современная научная компьютерная графика даёт возможность проводить вычислительные эксперименты с наглядным представлением их результатов.

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

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

Иллюстративная графика — это произвольное рисование и черчение на экране монитора. Пакеты иллюстративной графики относятся к прикладному программному обеспечению общего назначения. Простейшие программные средства иллюстративной графики называются графическими редакторами.

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

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

Компьютерная анимация — это получение движущихся изображений на экране дисплея. Художник создаёт на экране рисунки начального и конечного положения движущихся объектов; все промежуточные состояния рассчитывает и изображает компьютер, выполняя расчёты, опирающиеся на математическое описание данного вида движения. Такая анимация называется мультипликация по ключевым кадрам. Также существуют другие виды компьютерной анимации: процедурная анимация, шейповая анимация, программируемая анимация и анимация, где художник сам отрисовывает все кадры вручную. Полученные рисунки, последовательно выводимые на экран с определённой частотой, создают иллюзию движения.

Мультимедиа — это объединение высококачественного изображения на экране компьютера со звуковым сопровождением. Наибольшее распространение системы мультимедиа получили в области обучения, рекламы, развлечений.

Научная работа

[править | править код]

Компьютерная графика является также одной из областей научной деятельности. В области компьютерной графики защищаются диссертации, а также проводятся различные конференции:

Техническая сторона

[править | править код]

По способам задания изображений графику можно разделить на категории:

Двухмерная графика

[править | править код]

Двухмерная (2D — от англ. two dimensions — «два измерения») компьютерная графика классифицируется по типу представления графической информации, и следующими из него алгоритмами обработки изображений. Обычно компьютерную графику разделяют на векторную и растровую, хотя обособляют ещё и фрактальный тип представления изображений.

Векторная графика

[править | править код]
Пример векторного рисунка

Векторная графика представляет изображение как набор геометрических примитивов. Обычно в качестве них выбираются точки, прямые, окружности, прямоугольники, а также как общий случай, кривые некоторого порядка. Объектам присваиваются некоторые атрибуты, например, толщина линий, цвет заполнения. Рисунок хранится как набор координат, векторов и других чисел, характеризующих набор примитивов. При воспроизведении перекрывающихся объектов имеет значение их порядок.

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

При преобразовании растровой картинки исходными данными является только описание набора пикселей, поэтому возникает проблема замены меньшего числа пикселей на большее (при увеличении), или большего на меньшее (при уменьшении). Простейшим способом является замена одного пикселя несколькими того же цвета (метод копирования ближайшего пикселя: Nearest Neighbour). Более совершенные методы используют алгоритмы интерполяции, при которых новые пиксели получают некоторый цвет, код которого вычисляется на основе кодов цветов соседних пикселей. Подобным образом выполняется масштабирование в программе Adobe Photoshop (билинейная и бикубическая интерполяция).

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

Растровая графика

[править | править код]
Пример растрового рисунка

Растровая графика всегда оперирует двумерным массивом (матрицей) пикселей. Каждому пикселю сопоставляется значение яркости, цвета, прозрачности — или комбинация этих значений. Растровый образ имеет некоторое число строк и столбцов.

Без особых потерь растровые изображения можно только лишь уменьшать, хотя некоторые детали изображения тогда исчезнут навсегда, что иначе в векторном представлении. Увеличение же растровых изображений оборачивается видом на увеличенные квадраты того или иного цвета, которые раньше были пикселями.

В растровом виде представимо любое изображение, однако этот способ хранения имеет свои недостатки: больший объём памяти, необходимый для работы с изображениями, потери при редактировании.

Растровую графику используют дизайнеры, аниматоры, художники работающие с отдельными графическими работами и заказами для индивидуальной продажи. Растровые изображения не идут в тираж и не используются в массовой продаже, так как при увеличении размера, изображение теряет качество, однако именно растровая графика позволяет делать почти живописные работы, более проработанные дизайны и более быстрые разработки, которые уже потом при необходимости редактируются и воспроизводятся в нужном формате с применением векторных программ.[источник не указан 2147 дней]

Фрактальная графика

[править | править код]
Фрактальное дерево

Фрактал — объект, отдельные элементы которого наследуют свойства родительских структур. Поскольку более детальное описание элементов меньшего масштаба происходит по простому алгоритму, описать такой объект можно всего лишь несколькими математическими уравнениями.

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

Трёхмерная графика

[править | править код]

Трёхмерная графика (3D — от англ. three dimensions — «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.

Трёхмерная графика бывает полигональной и воксельной. Воксельная графика аналогична растровой. Объект состоит из набора трёхмерных фигур, чаще всего кубов. А в полигональной компьютерной графике все объекты обычно представляются как набор поверхностей, минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.

В отличие от 2D-графики, 3D-графика использует трёхмерное представление геометрических данных. В целях производительности это хранится в компьютере. Это включает в себя изображения, которые могут быть для последующего отображения или для просмотра в реальном времени.

Всеми визуальными преобразованиями в векторной (полигональной) 3D-графике управляют матрицы (см. также: аффинное преобразование в линейной алгебре). В компьютерной графике используется три вида матриц:

Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.

Ежегодно проходят конкурсы трёхмерной графики, такие как Magick next-gen или Dominance War.

CGI (англ. computer-generated imagery, букв. «изображения, созданные компьютером») — изображения, получаемые компьютером на основе расчёта и использующиеся в изобразительном искусстве, печати, кинематографических спецэффектах, на телевидении и в симуляторах. Созданием движущихся изображений занимается компьютерная анимация, представляющая собой более узкую область графики CGI.

Представление цветов в компьютере

[править | править код]
Система цветопередачи RGB

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

Стандартные способы хранения и обработки цвета в компьютере обусловлены свойствами человеческого зрения. Наиболее распространены системы RGB для дисплеев и CMYK для работы в типографском деле.

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

Реальная сторона графики

[править | править код]

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

В эпоху самых первых графических дисплеев (мониторов) существовали ЭЛТ-дисплеи без растра, с управлением электронным лучом по типу осциллографа. Фигуры, выводимые такими дисплеями, были в чистом виде векторными. По мере развития программного обеспечения и усложнения решаемых задач графические дисплеи такого типа были признаны бесперспективными, так как не позволяли формировать достаточно сложные изображения. Похожий принцип формирования изображения используется в векторных графопостроителях. Разница в том, что на векторном дисплее сложность картинки ограничена временем послесвечения люминофора, а на векторном плоттере такого ограничения нет.

Примечания

[править | править код]
  1. Carlson, Wayne A Critical History of Computer Graphics and Animation (2003). Архивировано 5 апреля 2007 года.
  2. Peddie, Jon. The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR. — Springer, 2013. — P. 101. — ISBN 978-1447149316.
  3. EDSAC 1 and after — a compilation of personal reminiscences Архивная копия от 7 ноября 2023 на Wayback Machine, Retrieved 11 July 2019.

Литература

[править | править код]
  • Колодников А. И. Ранние формы компьютерного дизайна: пиксельная графика и растровая система // Terra artis. Искусство и дизайн. 2022. № 3. С. 36-41.
  • Кнабе Г. А. Энциклопедия дизайнера печатной продукции. Профессиональная работа. — К.: «Диалектика», 2005. — С. 736. — 3000 экз. — ISBN 5-8459-0906-6.
  • Никулин Е.А. Компьютерная графика. Модели и алгоритмы. СПб: издательство "Лань". - 708 с. (2017). Дата обращения: 24 ноября 2018. Архивировано из оригинала 24 ноября 2018 года.
  • Никулин Е. А. Компьютерная геометрия и алгоритмы машинной графики. — СПб.: БХВ-Петербург, 2003. — 560 с. — 3000 экз. — ISBN 5-94157-264-6.
  • Компьютер рисует фантастические миры (ч.2) // Компьютер обретает разум = Artificial Intelligence Computer Images / под ред. В.Л. Стефанюка. — М.: Мир, 1990. — 240 с. — 100 000 экз. — ISBN 5-03-001277-X (рус.); 7054 0915 5 (англ.).
  • Дональд Херн, М. Паулин Бейкер. Компьютерная графика и стандарт OpenGL = Computer Graphics with OpenGL. — 3-е изд. — М.: «Вильямс», 2005. — С. 1168. — ISBN 5-8459-0772-1.
  • Эдвард Энджел. Интерактивная компьютерная графика. Вводный курс на базе OpenGL = Interactive Computer Graphics. A Top-Down Approach with Open GL. — 2-е изд. — М.: «Вильямс», 2001. — С. 592. — ISBN 5-8459-0209-6.
  • Сергеев Александр Петрович, Кущенко Сергей Владимирович. Основы компьютерной графики. Adobe Photoshop и CorelDRAW - два в одном. Самоучитель. — М.: «Диалектика», 2006. — С. 544. — ISBN 5-8459-1094-3.