Компьютерная графика занимается созданием изображений и произведений искусства с помощью компьютеров . Компьютерная графика является основной технологией в цифровой фотографии, кино, видеоиграх, цифровом искусстве, дисплеях мобильных телефонов и компьютеров, а также во многих специализированных приложениях. Было разработано большое количество специализированного оборудования и программного обеспечения, причем дисплеи большинства устройств управляются аппаратным обеспечением компьютерной графики . Это обширная и недавно разработанная область компьютерной науки. Фраза была придумана в 1960 году исследователями компьютерной графики Верном Хадсоном и Уильямом Феттером из Boeing. Ее часто сокращают до CG или, как правило, в контексте фильма как компьютерно-генерируемые изображения (CGI). Нехудожественные аспекты компьютерной графики являются предметом исследований компьютерной науки . [1]
Некоторые темы в компьютерной графике включают в себя дизайн пользовательского интерфейса , спрайтовую графику , рендеринг , трассировку лучей , обработку геометрии , компьютерную анимацию , векторную графику , 3D-моделирование , шейдеры , проектирование GPU , неявные поверхности , визуализацию , научные вычисления , обработку изображений , вычислительную фотографию , научную визуализацию , вычислительную геометрию и компьютерное зрение и др. Общая методология в значительной степени зависит от базовых наук геометрии , оптики , физики и восприятия .
Компьютерная графика отвечает за эффективное и осмысленное отображение данных об искусстве и изображениях для потребителя. Она также используется для обработки данных изображений, полученных из физического мира, таких как фото и видеоконтент. Развитие компьютерной графики оказало значительное влияние на многие типы медиа и произвело революцию в анимации , фильмах , рекламе и видеоиграх в целом.
Термин «компьютерная графика» использовался в широком смысле для описания «почти всего на компьютерах, что не является текстом или звуком». [2] Обычно термин «компьютерная графика» относится к нескольким различным вещам:
Сегодня компьютерная графика широко распространена. Такие изображения можно найти на телевидении, в газетах, прогнозах погоды, а также в различных медицинских исследованиях и хирургических процедурах. Хорошо построенный график может представить сложную статистику в форме, которую легче понять и интерпретировать. В СМИ «такие графики используются для иллюстрации статей, отчетов, тезисов» и других презентационных материалов. [3]
Было разработано много инструментов для визуализации данных. Компьютерные изображения можно разделить на несколько различных типов: двумерные (2D), трехмерные (3D) и анимированные. По мере совершенствования технологий трехмерная компьютерная графика стала более распространенной, но двухмерная компьютерная графика по-прежнему широко используется. Компьютерная графика возникла как подотрасль компьютерной науки , которая изучает методы цифрового синтеза и манипулирования визуальным контентом. За последнее десятилетие были разработаны другие специализированные области, такие как визуализация информации и научная визуализация, больше связанные с «визуализацией трехмерных явлений (архитектурных, метеорологических, медицинских, биологических и т. д.), где акцент делается на реалистичных рендерингах объемов, поверхностей, источников освещения и т. д., возможно, с динамическим (временным) компонентом». [4]
Предшественниками современной компьютерной графики были достижения в области электротехники , электроники и телевидения , которые имели место в первой половине двадцатого века. Экраны могли отображать искусство с тех пор, как братья Люмьер использовали маски для создания спецэффектов для самых ранних фильмов, датируемых 1895 годом, но такие дисплеи были ограниченными и неинтерактивными. Первая электронно-лучевая трубка , трубка Брауна , была изобретена в 1897 году — она, в свою очередь, позволила создать осциллограф и военную панель управления — более прямых предшественников этой области, поскольку они обеспечивали первые двухмерные электронные дисплеи, которые реагировали на программный или пользовательский ввод. Тем не менее, компьютерная графика оставалась относительно неизвестной как дисциплина до 1950-х годов и периода после Второй мировой войны — в течение которого дисциплина возникла из сочетания как чисто университетских , так и лабораторных академических исследований в области более совершенных компьютеров и дальнейшего развития военных технологий Соединенных Штатов, таких как радар , авиация и ракетная техника, разработанных во время войны. Для обработки большого объема информации, полученной в результате таких проектов, потребовались новые типы дисплеев, что привело к развитию компьютерной графики как дисциплины. [5]
Ранние проекты, такие как Whirlwind и SAGE, представили ЭЛТ как жизнеспособный интерфейс отображения и взаимодействия и представили световое перо как устройство ввода . Дуглас Т. Росс из системы Whirlwind SAGE провел личный эксперимент, в котором он написал небольшую программу, которая захватывала движение его пальца и отображала его вектор (его начерченное имя) на дисплее. Одна из первых интерактивных видеоигр с узнаваемой интерактивной графикой — Tennis for Two — была создана для осциллографа Уильямом Хигинботамом для развлечения посетителей в 1958 году в Брукхейвенской национальной лаборатории и имитировала теннисный матч. В 1959 году Дуглас Т. Росс , работая в Массачусетском технологическом институте над преобразованием математических утверждений в сгенерированные компьютером трехмерные векторы станков, создал изображение персонажа мультфильма Диснея на дисплее . [6]
Пионер электроники Hewlett-Packard стал публичным в 1957 году после объединения десятилетием ранее и установил прочные связи со Стэнфордским университетом через своих основателей, которые были выпускниками . Это положило начало многолетнему преобразованию южной части залива Сан-Франциско в ведущий мировой центр компьютерных технологий — теперь известный как Кремниевая долина . Область компьютерной графики развивалась с появлением аппаратного обеспечения для компьютерной графики.
Дальнейшие достижения в области вычислений привели к еще большему прогрессу в интерактивной компьютерной графике . В 1959 году в лаборатории Линкольна Массачусетского технологического института был разработан компьютер TX-2 . TX-2 интегрировал ряд новых интерфейсов человек-машина. Световое перо можно было использовать для рисования эскизов на компьютере с помощью революционного программного обеспечения Sketchpad Ивана Сазерленда . [7] Используя световое перо, Sketchpad позволял рисовать простые фигуры на экране компьютера, сохранять их и даже вызывать их позже. Само световое перо имело на своем кончике небольшой фотоэлемент . Этот элемент испускал электронный импульс всякий раз, когда его помещали перед экраном компьютера, и электронная пушка экрана стреляла прямо в него. Просто синхронизируя электронный импульс с текущим местоположением электронной пушки, можно было легко точно определить, где именно на экране в любой момент времени находилось перо. Как только это было определено, компьютер мог нарисовать курсор в этом месте. Сазерленд, казалось, нашел идеальное решение для многих графических проблем, с которыми он сталкивался. Даже сегодня многие стандарты интерфейсов компьютерной графики берут свое начало с этой ранней программы Sketchpad. Одним из примеров этого являются ограничения рисования. Если кто-то хочет нарисовать квадрат, например, ему не нужно беспокоиться о том, чтобы нарисовать четыре идеальные линии, чтобы сформировать края коробки. Можно просто указать, что он хочет нарисовать коробку, а затем указать местоположение и размер коробки. Затем программное обеспечение построит идеальную коробку с правильными размерами и в правильном месте. Другим примером является то, что программное обеспечение Сазерленда моделировало объекты, а не просто изображение объектов. Другими словами, с моделью автомобиля можно было изменить размер шин, не влияя на остальную часть автомобиля. Оно могло растянуть кузов автомобиля, не деформируя шины.
Фраза «компьютерная графика» была приписана Уильяму Феттеру , графическому дизайнеру компании Boeing в 1960 году. Феттер, в свою очередь, приписал ее Верну Хадсону, также работавшему в компании Boeing. [7] [8]
В 1961 году другой студент Массачусетского технологического института, Стив Рассел , создал еще одну важную игру в истории видеоигр , Spacewar! Написанная для DEC PDP-1, Spacewar мгновенно обрела успех, и копии начали поступать к другим владельцам PDP-1 , и в конечном итоге DEC получила копию. [ требуется ссылка ] Инженеры DEC использовали ее в качестве диагностической программы на каждом новом PDP-1 перед его отправкой. Отдел продаж достаточно быстро это понял и при установке новых устройств запускал «первую в мире видеоигру» для своих новых клиентов. ( Tennis For Two Хиггинботама обогнал Spacewar почти на три года, но она была почти неизвестна за пределами исследовательской или академической среды.)
Примерно в то же время (1961–1962) в Кембриджском университете Элизабет Уолдрам написала код для отображения радиоастрономических карт на электронно-лучевой трубке. [9]
EE Zajac, ученый из Bell Telephone Laboratory (BTL), создал фильм под названием «Моделирование двухгиросистемы управления гравитацией» в 1963 году. [10] В этом компьютерном фильме Заяц показал, как можно изменить положение спутника, вращающегося вокруг Земли. Он создал анимацию на мэйнфрейме IBM 7090. Также в BTL Кен Ноултон , Фрэнк Синден, Рут А. Вайс и Майкл Нолл начали работать в области компьютерной графики. Синден создал фильм под названием «Сила, масса и движение», иллюстрирующий законы движения Ньютона в действии. Примерно в то же время другие ученые создавали компьютерную графику для иллюстрации своих исследований. В Lawrence Radiation Laboratory Нельсон Макс создал фильмы «Поток вязкой жидкости» и «Распространение ударных волн в твердом теле» . 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 году Иван Сазерленд продолжил заниматься инновациями в Массачусетском технологическом институте, когда изобрел первый компьютерный головной дисплей (HMD). Он отображал два отдельных каркасных изображения, по одному для каждого глаза. Это позволяло зрителю видеть компьютерную сцену в стереоскопическом 3D . Тяжелое оборудование, необходимое для поддержки дисплея и трекера, называлось Дамокловым мечом из-за потенциальной опасности, если бы оно упало на владельца. Получив докторскую степень в Массачусетском технологическом институте, Сазерленд стал директором по обработке информации в ARPA (Агентство перспективных исследовательских проектов), а позже стал профессором в Гарварде. В 1967 году Сазерленд был нанят Эвансом для работы в программе компьютерных наук в Университете Юты — развитие, которое превратило этот отдел в один из важнейших исследовательских центров в области графики на почти десятилетие после этого, в конечном итоге подготовив некоторых из важнейших пионеров в этой области. Там Сазерленд усовершенствовал свой HMD; двадцать лет спустя NASA заново откроет его методы в своих исследованиях виртуальной реальности . В Юте Сазерленд и Эванс пользовались большим спросом в качестве консультантов для крупных компаний, но их смущала нехватка графического оборудования на тот момент, поэтому они начали разрабатывать план по созданию собственной компании.
В 1968 году Дэйв Эванс и Иван Сазерленд основали первую компанию по производству аппаратного обеспечения для компьютерной графики Evans & Sutherland . Хотя Сазерленд изначально хотел, чтобы компания располагалась в Кембридже, штат Массачусетс, вместо этого был выбран Солт-Лейк-Сити из-за его близости к исследовательской группе профессоров в Университете Юты.
Также в 1968 году Артур Аппель описал первый алгоритм ray casting , первый из класса алгоритмов рендеринга на основе трассировки лучей , которые с тех пор стали основополагающими для достижения фотореализма в графике путем моделирования путей, по которым лучи света проходят от источника света к поверхностям на сцене и в камеру.
В 1969 году ACM инициировала Специальную группу по графике ( SIGGRAPH ), которая организует конференции , разрабатывает графические стандарты и публикации в области компьютерной графики. К 1973 году была проведена первая ежегодная конференция SIGGRAPH, которая стала одним из направлений деятельности организации. SIGGRAPH росла в размерах и значимости по мере того, как со временем расширялась область компьютерной графики.
Впоследствии, в 1970-х годах, в Университете Юты , где был нанят Иван Сазерленд , произошло несколько прорывов в этой области . Он был в паре с Дэвидом С. Эвансом , чтобы преподавать продвинутый курс компьютерной графики, который внес большой вклад в фундаментальные исследования в этой области и обучил нескольких студентов, которые впоследствии основали несколько важнейших компаний отрасли, а именно Pixar , Silicon Graphics и Adobe Systems . Том Стокхэм возглавлял группу обработки изображений в UU, которая тесно сотрудничала с лабораторией компьютерной графики.
Одним из таких студентов был Эдвин Кэтмелл . Кэтмелл только что перешел из компании Boeing и работал над своей степенью по физике. Выросший на Disney , Кэтмелл любил анимацию, но быстро обнаружил, что у него нет таланта к рисованию. Теперь Кэтмелл (как и многие другие) рассматривал компьютеры как естественное развитие анимации, и они хотели стать частью революции. Первая компьютерная анимация, которую увидел Кэтмелл, была его собственной. Он создал анимацию открытия и закрытия своей руки. Он также стал пионером текстурного картирования для рисования текстур на трехмерных моделях в 1974 году, что теперь считается одним из основных методов в 3D-моделировании . Одной из его целей стало создание полнометражного фильма с использованием компьютерной графики — цель, которую он достигнет два десятилетия спустя после своей основополагающей роли в Pixar . На том же курсе Фред Парк создал анимацию лица своей жены. Две анимации были включены в художественный фильм 1976 года Futureworld .
Поскольку лаборатория компьютерной графики UU привлекала людей со всего мира, Джон Уорнок был еще одним из тех первых пионеров; позже он основал Adobe Systems и произвел революцию в издательском мире с помощью своего языка описания страниц PostScript . Позже Adobe пошла дальше и создала стандартное программное обеспечение для редактирования фотографий в Adobe Photoshop и известную программу для создания спецэффектов в киноиндустрии в Adobe After Effects .
Там же был и Джеймс Кларк ; позже он основал компанию Silicon Graphics — производителя современных систем рендеринга, которая доминировала в области высококачественной графики до начала 1990-х годов.
Этими ранними пионерами в UU был создан крупный шаг вперед в области трехмерной компьютерной графики — определение скрытых поверхностей . Чтобы нарисовать изображение трехмерного объекта на экране, компьютер должен определить, какие поверхности находятся «позади» объекта с точки зрения наблюдателя, и, таким образом, должны быть «скрыты», когда компьютер создает (или визуализирует) изображение. 3D Core Graphics System (или Core ) была первым разработанным графическим стандартом. Группа из 25 экспертов ACM Special Interest Group SIGGRAPH разработала эту «концептуальную структуру». Спецификации были опубликованы в 1977 году и стали основой для многих будущих разработок в этой области.
Также в 1970-х годах Анри Гуро , Джим Блинн и Буй Туонг Фонг внесли вклад в основы затенения в CGI посредством разработки моделей затенения Гуро и затенения Блинна–Фонга , что позволило графике выйти за рамки «плоского» вида и перейти к виду, более точно отображающему глубину. Джим Блинн также внес дальнейшие новшества в 1978 году, представив bump mapping , технику для имитации неровных поверхностей и предшественника многих более продвинутых видов отображения, используемых сегодня.
Современная аркадная видеоигра , известная сегодня, зародилась в 1970-х годах, когда первые аркадные игры использовали двухмерную спрайтовую графику в реальном времени . Pong 1972 года стала одной из первых игр для аркадных автоматов. Speed Race 1974 года представляла собой спрайты, движущиеся по вертикально прокручивающейся дороге. Gun Fight 1975 года представляла собой анимированных персонажей, похожих на людей, а Space Invaders 1978 года представляла собой большое количество анимированных фигур на экране; обе игры использовали специализированную схему переключения цилиндров, выполненную из дискретных микросхем, чтобы помочь микропроцессору Intel 8080 анимировать графику кадрового буфера .
В 1980-х годах началась коммерциализация компьютерной графики. По мере распространения домашних компьютеров предмет, который ранее был исключительно академической дисциплиной, был принят гораздо более широкой аудиторией, и число разработчиков компьютерной графики значительно возросло.
В начале 1980-х годов технология сверхбольшой интеграции (СБИС) на основе металл-оксид-полупроводника (МОП) привела к появлению 16-битных микропроцессоров центрального процессора (ЦП) и первых чипов графического процессора (ГП), которые начали революцию в компьютерной графике, обеспечивая графику высокого разрешения для компьютерных графических терминалов, а также для персональных компьютеров (ПК). μPD7220 от NEC был первым ГП, изготовленным на полностью интегрированном чипе СБИС NMOS . Он поддерживал разрешение до 1024x1024 и заложил основы для зарождающегося рынка графики для ПК. Он использовался в ряде графических карт и был лицензирован для клонов, таких как Intel 82720, первый из графических процессоров Intel . [11] Память MOS также стала дешевле в начале 1980-х годов, что позволило разработать доступную память кадрового буфера , [12] в частности, видеопамять (VRAM), представленную Texas Instruments (TI) в середине 1980-х годов. [13] В 1984 году Hitachi выпустила ARTC HD63484, первый дополнительный графический процессор MOS (CMOS). Он был способен отображать высокое разрешение в цветном режиме и разрешение до 4K в монохромном режиме, и использовался в ряде графических карт и терминалов в конце 1980-х годов. [14] В 1986 году TI представила TMS34010 , первый полностью программируемый графический процессор MOS . [13]
Терминалы компьютерной графики в течение этого десятилетия становились все более интеллектуальными, полуавтономными и автономными рабочими станциями. Графика и обработка приложений все больше переносились на интеллект рабочей станции, а не продолжали полагаться на центральный мэйнфрейм и мини-компьютеры . Типичными для раннего перехода к компьютерной графике высокого разрешения интеллектуальными рабочими станциями для рынка автоматизированного проектирования были рабочие станции Orca 1000, 2000 и 3000, разработанные Orcatech из Оттавы, ответвлением Bell-Northern Research , и возглавляемые Дэвидом Пирсоном, одним из первых пионеров рабочих станций. Orca 3000 была основана на 16-разрядном микропроцессоре Motorola 68000 и процессорах AMD bit-slice , и имела Unix в качестве своей операционной системы. Она была нацелена непосредственно на сложную часть сектора проектирования. Художники и графические дизайнеры начали рассматривать персональный компьютер, особенно Amiga и Macintosh , как серьезный инструмент дизайна, который мог бы сэкономить время и рисовать точнее, чем другие методы. Macintosh остается очень популярным инструментом для компьютерной графики среди студий графического дизайна и предприятий. Современные компьютеры, датируемые 1980-ми годами, часто используют графические пользовательские интерфейсы (GUI) для представления данных и информации с помощью символов, значков и изображений, а не текста. Графика является одним из пяти ключевых элементов мультимедийных технологий.
В области реалистичного рендеринга японский университет Осаки разработал систему компьютерной графики LINKS-1 , суперкомпьютер , который использовал до 257 микропроцессоров Zilog Z8001 , в 1982 году для рендеринга реалистичной 3D компьютерной графики . Согласно Японскому обществу обработки информации: «Основой рендеринга 3D-изображений является расчет яркости каждого пикселя, составляющего визуализированную поверхность с заданной точки зрения, источника света и положения объекта. Система LINKS-1 была разработана для реализации методологии рендеринга изображений, в которой каждый пиксель может параллельно обрабатываться независимо с использованием трассировки лучей . Разработав новую программную методологию специально для высокоскоростного рендеринга изображений, LINKS-1 смог быстро рендерить высокореалистичные изображения». [15] LINKS-1 был самым мощным компьютером в мире по состоянию на 1984 год. [16]
Также в области реалистичного рендеринга в 1986 году было разработано общее уравнение рендеринга Дэвида Иммеля и Джеймса Каджии — важный шаг на пути к реализации глобального освещения , необходимого для достижения фотореализма в компьютерной графике.
Продолжающаяся популярность «Звездных войн» и других научно-фантастических франшиз была актуальна для кинематографической CGI в это время, так как Lucasfilm и Industrial Light & Magic стали известны как «дома, к которым обращаются» многие другие студии за первоклассной компьютерной графикой в кино. Важные достижения в области хромакея («bluescreening» и т. д.) были сделаны для более поздних фильмов оригинальной трилогии. Два других видео также переживут эпоху как исторически значимые: культовое, почти полностью CGI-видео группы Dire Straits на их песню « Money for Nothing » в 1985 году, которое популяризировало CGI среди музыкальных фанатов той эпохи, и сцена из « Молодого Шерлока Холмса» того же года с первым полностью CGI-персонажем в художественном фильме (анимированный рыцарь из витражного стекла ). В 1988 году первые шейдеры — небольшие программы, специально предназначенные для затенения в качестве отдельного алгоритма — были разработаны Pixar , которая уже отделилась от Industrial Light & Magic как отдельное подразделение, — хотя публика не увидит результаты такого технологического прогресса до следующего десятилетия. В конце 1980-х годов компьютеры Silicon Graphics (SGI) использовались для создания некоторых из первых полностью компьютерно-генерируемых короткометражных фильмов в Pixar , и машины Silicon Graphics считались высшей точкой для этой области в течение десятилетия.
1980-е годы также называют золотой эрой видеоигр ; миллионы проданных систем от Atari , Nintendo и Sega , среди других компаний, впервые представили компьютерную графику новой, молодой и впечатлительной аудитории - как и персональные компьютеры на базе MS-DOS , Apple II , Mac и Amiga , все из которых также позволяли пользователям программировать свои собственные игры, если они были достаточно опытны. Для аркадных автоматов были достигнуты успехи в коммерческой 3D-графике в реальном времени . В 1988 году были представлены первые специализированные платы для 3D-графики в реальном времени для аркадных автоматов с Namco System 21 [17] и Taito Air System. [18] С профессиональной стороны, Evans & Sutherland и SGI разработали аппаратное обеспечение для 3D-растровой графики, которое напрямую повлияло на более поздний однокристальный графический процессор (GPU), технологию, в которой отдельный и очень мощный чип используется в параллельной обработке с центральным процессором для оптимизации графики.
В это десятилетие компьютерная графика также нашла применение во многих дополнительных профессиональных областях, включая развлечения и образование с привязкой к местоположению (E&S Digistar), проектирование транспортных средств, моделирование транспортных средств и химию.
Кульминацией 1990-х годов стало массовое появление 3D-моделирования и повышение качества CGI в целом. Домашние компьютеры стали способны выполнять задачи рендеринга, которые ранее были ограничены рабочими станциями стоимостью в тысячи долларов; по мере того, как 3D-моделеры стали доступны для домашних систем, популярность рабочих станций Silicon Graphics снизилась, а мощные машины Microsoft Windows и Apple Macintosh, работающие с продуктами Autodesk, такими как 3D Studio или другим программным обеспечением для домашнего рендеринга, стали приобретать все большую значимость. К концу десятилетия GPU начнет расти и приобретет ту известность, которой он пользуется и по сей день.
В этой области начали появляться первые визуализированные графические изображения, которые могли действительно сойти за фотореалистичные для нетренированного глаза (хотя они еще не могли этого сделать с обученным художником CGI), и 3D-графика стала гораздо более популярной в играх , мультимедиа и анимации . В конце 1980-х и начале девяностых годов во Франции были созданы самые первые сериалы с компьютерной графикой: La Vie des bêtes студии Mac Guff Ligne (1988), Les Fables Géométriques (1989–1991) студии Fantôme и Quarxs , первый сериал с компьютерной графикой HDTV Мориса Бенаюна и Франсуа Шуйтена (производство студии ZA, 1990–1993).
В кино Pixar начала свой серьезный коммерческий подъем в эту эпоху под руководством Эдвина Кэтмелла , с выпуском первого крупного фильма в 1995 году — «История игрушек» — критический и коммерческий успех с девятизначной величиной. Студия, которая изобрела программируемый шейдер , впоследствии выпустила множество анимационных хитов, а ее работа над предварительно отрендеренной видеоанимацией до сих пор считается лидером отрасли и первопроходцем в области исследований.
В видеоиграх в 1992 году Virtua Racing , работающая на аркадной системной плате Sega Model 1 , заложила основы для полностью 3D гоночных игр и популяризировала 3D полигональную графику в реальном времени среди более широкой аудитории в индустрии видеоигр . [19] Sega Model 2 в 1993 году и Sega Model 3 в 1996 году впоследствии раздвинули границы коммерческой 3D графики в реальном времени. Возвращаясь к ПК, Wolfenstein 3D , Doom и Quake , три из первых массовых 3D шутеров от первого лица , были выпущены id Software и получили признание критиков и публики в течение этого десятилетия с использованием движка рендеринга, инновационного [ неопределенно ] в первую очередь Джоном Кармаком . Sony PlayStation , Sega Saturn и Nintendo 64 , среди других консолей, продавались миллионами и популяризировали 3D графику для домашних геймеров. Некоторые 3D-игры первого поколения конца 1990-х годов стали рассматриваться как влиятельные в популяризации 3D-графики среди пользователей консолей, такие как платформенные игры Super Mario 64 и The Legend of Zelda: Ocarina of Time , а также ранние 3D- файтинги , такие как Virtua Fighter , Battle Arena Toshinden и Tekken .
Технологии и алгоритмы рендеринга продолжали значительно совершенствоваться. В 1996 году Кришнамурти и Левой изобрели нормальное отображение — усовершенствование рельефного отображения Джима Блинна . В 1999 году Nvidia выпустила основополагающую GeForce 256 , первую домашнюю видеокарту, заявленную как графический процессор или GPU, которая, по ее собственным словам, содержала «интегрированные механизмы преобразования , освещения , настройки / отсечения треугольников и рендеринга ». К концу десятилетия компьютеры приняли общие фреймворки для обработки графики, такие как DirectX и OpenGL . С тех пор компьютерная графика стала только более детализированной и реалистичной благодаря более мощному графическому оборудованию и программному обеспечению для 3D-моделирования . AMD также стала ведущим разработчиком графических плат в этом десятилетии, создав «дуополию» в этой области, которая существует и по сей день.
В эту эпоху CGI стала по-настоящему вездесущей. Видеоигры и CGI- кино сделали компьютерную графику мейнстримом к концу 1990-х годов и продолжали делать это ускоренными темпами в 2000-х годах. CGI также была массово принята для телевизионной рекламы в конце 1990-х и 2000-х годах, и поэтому стала знакома широкой аудитории.
Продолжающийся рост и растущая сложность графического процессора имели решающее значение для этого десятилетия, и возможности 3D-рендеринга стали стандартной функцией, поскольку 3D-графические графические процессоры стали считаться необходимостью для производителей настольных компьютеров . Линейка графических карт Nvidia GeForce доминировала на рынке в начале десятилетия с периодическим значительным конкурирующим присутствием ATI . [20] По мере того, как десятилетие прогрессировало, даже машины низкого класса обычно содержали 3D-совместимый графический процессор того или иного типа, поскольку Nvidia и AMD представили недорогие чипсеты и продолжали доминировать на рынке. Шейдеры , которые были представлены в 1980-х годах для выполнения специализированной обработки на графическом процессоре, к концу десятилетия стали поддерживаться большинством потребительского оборудования, значительно ускоряя графику и позволяя значительно улучшить текстуры и затенение в компьютерной графике посредством широкого внедрения normal mapping , bump mapping и множества других методов, позволяющих моделировать большое количество деталей.
Компьютерная графика, используемая в фильмах и видеоиграх, постепенно стала реалистичной до такой степени, что вошла в зловещую долину . Фильмы CGI получили распространение, и традиционные анимационные мультфильмы , такие как «Ледниковый период» и «Мадагаскар», а также многочисленные предложения Pixar, такие как «В поисках Немо», доминировали в прокате в этой области. « Последняя фантазия: Духи внутри» , выпущенная в 2001 году, была первым полностью компьютерным художественным фильмом, в котором использовались фотореалистичные персонажи CGI и который был полностью сделан с помощью захвата движения. [21] Однако фильм не имел кассового успеха. [22] Некоторые комментаторы предположили, что это может быть отчасти потому, что у главных персонажей CGI были черты лица, которые попадали в « зловещую долину ». [примечание 1] Другие анимационные фильмы, такие как «Полярный экспресс», также привлекли внимание в это время. «Звездные войны» также вернулись со своей трилогией приквелов, и эффекты продолжали устанавливать планку для CGI в кино.
В видеоиграх Sony PlayStation 2 и 3 , линейка консолей Microsoft Xbox и предложения от Nintendo, такие как GameCube , сохранили большое количество последователей, как и Windows PC . Такие популярные игры с большим количеством CGI, как серии Grand Theft Auto , Assassin's Creed , Final Fantasy , BioShock , Kingdom Hearts , Mirror's Edge и десятки других, продолжали приближаться к фотореализму , развивать индустрию видеоигр и впечатлять, пока доходы этой отрасли не стали сопоставимы с доходами от фильмов. Microsoft приняла решение более легко представить DirectX миру независимых разработчиков с помощью программы XNA , но это не имело успеха. Однако сам DirectX оставался коммерчески успешным. OpenGL также продолжал развиваться, и он и DirectX значительно улучшились; языки шейдеров второго поколения HLSL и GLSL стали популярными в этом десятилетии.
В научных вычислениях была изобретена технология GPGPU для двунаправленной передачи больших объемов данных между GPU и CPU; что ускорило анализ многих видов экспериментов в области биоинформатики и молекулярной биологии . Эта технология также использовалась для майнинга биткоинов и имеет приложения в области компьютерного зрения .
В 2010-х годах компьютерная графика стала практически повсеместной в видео, предварительно отрендеренная графика практически фотореалистична с научной точки зрения , а графика в реальном времени на достаточно мощной системе может имитировать фотореализм для нетренированного глаза.
Текстурное картирование превратилось в многоступенчатый процесс со многими слоями; как правило, нередко реализуется текстурное картирование, рельефное картирование или изоповерхности или нормальное картирование , карты освещения, включая зеркальные блики и методы отражения , и теневые объемы в одном движке рендеринга с использованием шейдеров , которые значительно развиваются. Шейдеры в настоящее время являются почти необходимостью для продвинутой работы в этой области, обеспечивая значительную сложность в манипулировании пикселями , вершинами и текстурами на основе каждого элемента и бесчисленное множество возможных эффектов. Их шейдерные языки HLSL и GLSL являются активными областями исследований и разработок. Физически обоснованный рендеринг или PBR, который реализует множество карт и выполняет расширенные вычисления для имитации реального оптического светового потока, также является активной областью исследований, наряду с такими продвинутыми областями, как окружающее затенение , подповерхностное рассеяние , рэлеевское рассеяние , картирование фотонов , трассировка лучей и многими другими. Начались эксперименты по вычислительной мощности, необходимой для обеспечения графики в реальном времени в режимах сверхвысокого разрешения, таких как 4K Ultra HD , хотя это и выходит за рамки возможностей любого оборудования, кроме самого современного.
В кино большинство анимационных фильмов сейчас — это CGI; ежегодно снимается много анимационных фильмов CGI , но лишь немногие, если вообще кто-то, пытаются сделать их фотореалистичными из-за сохраняющихся страхов перед зловещей долиной . Большинство из них — 3D- мультфильмы .
В области видеоигр на домашних приставках доминировали Microsoft Xbox One , Sony PlayStation 4 и Nintendo Switch , которые поддерживали современную 3D-графику; Windows также по-прежнему оставалась одной из самых активных игровых платформ.
В 2020-х годах достижения в технологии трассировки лучей позволили использовать ее для рендеринга в реальном времени, а также для создания графики на базе искусственного интеллекта или ее масштабирования.
Хотя трассировка лучей существовала и раньше, Nvidia была первой, кто продвигал трассировку лучей с ядрами трассировки лучей, а также ИИ с DLSS и тензорными ядрами. AMD последовала их примеру с тем же; FSR, тензорными ядрами и ядрами трассировки лучей.
Двухмерная компьютерная графика — это компьютерная генерация цифровых изображений , в основном на основе моделей, таких как цифровые изображения, и с использованием специфичных для них методов.
2D компьютерная графика в основном используется в приложениях, которые изначально были разработаны на основе традиционных технологий печати и рисования , таких как типографика. В этих приложениях двухмерное изображение является не просто представлением объекта реального мира, а независимым артефактом с добавленной семантической ценностью; поэтому двухмерные модели предпочтительны, поскольку они дают более прямой контроль над изображением, чем 3D компьютерная графика , подход которой больше похож на фотографию, чем на типографику .
Крупная форма цифрового искусства, пиксельное искусство создается с помощью растрового графического программного обеспечения, где изображения редактируются на уровне пикселей . Графика в большинстве старых (или относительно ограниченных) компьютерных и видеоигр, графических калькуляторах и многих играх для мобильных телефонов в основном представляет собой пиксельное искусство.
Спрайт — это двухмерное изображение или анимация , интегрированная в более крупную сцену. Первоначально включавшая только графические объекты, обрабатываемые отдельно от битовой карты памяти видеодисплея, теперь она включает различные способы графических наложений.
Первоначально спрайты были методом интеграции несвязанных растровых изображений таким образом, чтобы они казались частью обычного растрового изображения на экране , например, создание анимированного персонажа, который может перемещаться по экрану, не изменяя данные , определяющие весь экран. Такие спрайты могут быть созданы как электронными схемами , так и программным обеспечением . В схемотехнике аппаратный спрайт — это аппаратная конструкция, которая использует пользовательские каналы DMA для интеграции визуальных элементов с основным экраном, поскольку он накладывает два дискретных источника видео. Программное обеспечение может имитировать это с помощью специализированных методов рендеринга.
Векторные графические форматы являются дополнительными к растровой графике . Растровая графика представляет собой представление изображений в виде массива пикселей и обычно используется для представления фотографических изображений. [23] Векторная графика состоит из кодирования информации о формах и цветах, которые составляют изображение, что может обеспечить большую гибкость при рендеринге. Есть случаи, когда работа с векторными инструментами и форматами является лучшей практикой, и случаи, когда работа с растровыми инструментами и форматами является лучшей практикой. Есть случаи, когда оба формата объединяются. Понимание преимуществ и ограничений каждой технологии и взаимосвязи между ними, скорее всего, приведет к эффективному и действенному использованию инструментов.
С середины 2010-х годов в результате достижений в области глубоких нейронных сетей были созданы модели, которые принимают в качестве входных данных описание естественного языка и выдают в качестве выходных данных изображение, соответствующее этому описанию. Модели преобразования текста в изображение обычно объединяют языковую модель , которая преобразует входной текст в скрытое представление, и генеративную модель изображения, которая создает изображение, обусловленное этим представлением. Наиболее эффективные модели, как правило, обучались на огромных объемах данных изображений и текста, извлеченных из Интернета. К 2022 году лучшие из этих моделей, например Dall-E 2 и Stable Diffusion , смогут создавать изображения в различных стилях, от имитаций живых художников до почти фотореалистичных, за считанные секунды, при наличии достаточно мощного оборудования. [24]
3D-графика, в отличие от 2D-графики, — это графика, использующая трехмерное представление геометрических данных. Для повышения производительности она хранится в компьютере. Сюда входят изображения, которые могут быть предназначены для последующего отображения или для просмотра в реальном времени.
Несмотря на эти различия, 3D компьютерная графика опирается на те же алгоритмы , что и 2D компьютерная графика в кадре и растровая графика (как в 2D) в конечном визуализированном отображении. В программном обеспечении для компьютерной графики различие между 2D и 3D иногда размыто; 2D приложения могут использовать 3D методы для достижения таких эффектов, как освещение, и в первую очередь 3D может использовать 2D методы рендеринга.
3D компьютерная графика — это то же самое, что и 3D модели. Модель содержится в графическом файле данных, за исключением рендеринга. Однако есть и различия, которые включают в себя то, что 3D модель является представлением любого 3D объекта. Пока она визуально не отображена, модель не является графической. Благодаря печати 3D модели не ограничиваются только виртуальным пространством. 3D рендеринг — это способ отображения модели. Также может использоваться в неграфических компьютерных симуляциях и расчетах.
Компьютерная анимация — это искусство создания движущихся изображений с помощью компьютеров . Это подраздел компьютерной графики и анимации . Все чаще она создается с помощью 3D-компьютерной графики , хотя 2D-компьютерная графика по-прежнему широко используется для стилистических, низкоскоростных и более быстрых потребностей в реальном времени рендеринга . Иногда целью анимации является сам компьютер, но иногда целью является другой носитель , такой как фильм . Его также называют CGI ( Computer-generated imagery или computer-generated imaging), особенно при использовании в фильмах.
Виртуальные сущности могут содержать и контролироваться различными атрибутами, такими как значения преобразования (расположение, ориентация и масштаб), хранящимися в матрице преобразования объекта . Анимация — это изменение атрибута с течением времени. Существует несколько методов достижения анимации; элементарная форма основана на создании и редактировании ключевых кадров , каждый из которых сохраняет значение в заданное время для каждого атрибута, который должен быть анимирован. Программное обеспечение для 2D/3D-графики будет меняться с каждым ключевым кадром, создавая редактируемую кривую значения, отображаемого с течением времени, что приводит к анимации. Другие методы анимации включают процедурные и основанные на выражениях методы: первый объединяет связанные элементы анимированных сущностей в наборы атрибутов, полезные для создания эффектов частиц и моделирования толпы ; последний позволяет получить оцененный результат, возвращаемый из определенного пользователем логического выражения, в сочетании с математикой, для автоматизации анимации предсказуемым образом (удобно для управления поведением костей за пределами того, что иерархия предлагает в настройке скелетной системы ).
Чтобы создать иллюзию движения, изображение выводится на экран компьютера , а затем быстро заменяется новым изображением, похожим на предыдущее, но слегка смещенным. Эта техника идентична иллюзии движения в телевидении и кино .
Изображения обычно создаются с помощью таких устройств, как камеры , зеркала , линзы , телескопы , микроскопы и т. д.
Цифровые изображения включают в себя как векторные , так и растровые изображения, однако растровые изображения используются чаще.
В цифровой обработке изображений пиксель (или элемент изображения [25] ) представляет собой отдельную точку в растровом изображении . Пиксели размещаются на регулярной двумерной сетке и часто представляются с помощью точек или квадратов. Каждый пиксель является образцом исходного изображения, где большее количество образцов обычно обеспечивает более точное представление оригинала. Интенсивность каждого пикселя является переменной; в цветовых системах каждый пиксель обычно имеет три субпикселя, таких как красный, зеленый и синий .
Графика — это визуальное представление на поверхности, например, на экране компьютера. Примерами являются фотографии, рисунки, графические проекты, карты , инженерные чертежи или другие изображения. Графика часто сочетает в себе текст и иллюстрацию. Графический дизайн может состоять из преднамеренного выбора, создания или расположения только типографики, как в брошюре, листовке, плакате, веб-сайте или книге без каких-либо других элементов. Целью может быть ясность или эффективная коммуникация, может быть стремление к ассоциации с другими культурными элементами или просто создание отличительного стиля.
Примитивы — это базовые единицы, которые графическая система может комбинировать для создания более сложных изображений или моделей. Примерами могут служить спрайты и карты персонажей в 2D-видеоиграх, геометрические примитивы в САПР или полигоны или треугольники в 3D-рендеринге. Примитивы могут поддерживаться аппаратно для эффективного рендеринга или в качестве строительных блоков, предоставляемых графическим приложением .
Рендеринг — это генерация 2D-изображения из 3D-модели с помощью компьютерных программ. Файл сцены содержит объекты на строго определенном языке или структуре данных; он будет содержать геометрию, точку обзора, текстурирование, освещение и информацию о затенении в качестве описания виртуальной сцены. [26] Затем данные, содержащиеся в файле сцены, передаются в программу рендеринга для обработки и вывода в файл цифрового изображения или растрового графического изображения. Программа рендеринга обычно встроена в программное обеспечение компьютерной графики, хотя другие доступны в виде подключаемых модулей или полностью отдельных программ. Термин «рендеринг» может быть аналогичен «художническому рендерингу» сцены. Хотя технические детали методов рендеринга различаются, общие проблемы, которые необходимо преодолеть при создании 2D-изображения из 3D-представления, хранящегося в файле сцены, описываются как графический конвейер вдоль устройства рендеринга, такого как графический процессор . Графический процессор — это устройство, способное помогать центральному процессору в вычислениях. Если сцена должна выглядеть относительно реалистично и предсказуемо при виртуальном освещении, программное обеспечение для рендеринга должно решить уравнение рендеринга . Уравнение рендеринга не учитывает все явления освещения, но является общей моделью освещения для компьютерных изображений. «Рендеринг» также используется для описания процесса расчета эффектов в файле видеомонтажа для получения конечного видеовыходного файла.
Объемный рендеринг — это метод, используемый для отображения 2D-проекции 3D-дискретно отобранного набора данных. Типичный 3D- набор данных — это группа 2D-изображений срезов, полученных с помощью КТ или МРТ- сканера.
Обычно они собираются в регулярном шаблоне (например, один срез на миллиметр) и обычно имеют регулярное число пикселей изображения в регулярном шаблоне. Это пример регулярной объемной сетки, в которой каждый элемент объема или воксель представлен одним значением, которое получается путем выборки непосредственной области, окружающей воксель.
3D-моделирование — это процесс разработки математического каркасного представления любого трехмерного объекта, называемого «3D-моделью», с помощью специализированного программного обеспечения. Модели могут создаваться автоматически или вручную; процесс ручного моделирования для подготовки геометрических данных для трехмерной компьютерной графики похож на пластическое искусство, такое как скульптура . 3D-модели могут создаваться с использованием нескольких подходов: использование NURB для создания точных и гладких участков поверхности, моделирование полигональной сетки (манипулирование фасетной геометрией) или подразделение полигональной сетки (расширенная тесселяция полигонов, приводящая к гладким поверхностям, похожим на модели NURB). 3D-модель может быть отображена как двухмерное изображение с помощью процесса, называемого 3D-рендерингом , используемого в компьютерном моделировании физических явлений, или анимирована напрямую для других целей. Модель также может быть физически создана с помощью устройств 3D-печати .
Изучение компьютерной графики является подотраслью компьютерной науки , которая изучает методы цифрового синтеза и обработки визуального контента. Хотя этот термин часто относится к трехмерной компьютерной графике, он также охватывает двухмерную графику и обработку изображений .
Как академическая дисциплина, компьютерная графика изучает манипуляцию визуальной и геометрической информацией с использованием вычислительных методов. Она фокусируется на математических и вычислительных основах создания и обработки изображений, а не на чисто эстетических вопросах. Компьютерную графику часто отделяют от области визуализации , хотя эти две области имеют много общего.
Компьютерная графика может использоваться в следующих областях: