История 3d графики: от Евклида до наших дней — Национальный исследовательский университет «Высшая школа экономики»

Содержание

Урок 3D истории

Что такое трехмерная графика? Определений этого понятия существует достаточно много. Трёхмерная графика — раздел компьютерной графики, охватывающий алгоритмы и программное обеспечение для оперирования объектами в трёхмерном пространстве, а также результат работы таких программ. Слишком формально? Хорошо, предложим другое определение, позаимствовав его у Михаила Марова. В одной из своих книг он приводит следующую формулировку: «3D графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, предварительно подготовленных в памяти компьютера». Определений одного и того же понятия существует десятки, но суть, ядро столь обширной области деятельности остается неизменным. CG является результатом усилий сотен специалистов, которые в далекие годы работали и верили в то, что будущее будут определять компьютерные технологии и 3D в частности. Сегодня мы расскажем о наиболее выдающихся личностях и технологических решениях, заложивших фундамент современной 3D индустрии. Пафосно звучит? Безусловно, а как иначе, ведь 3D – это творчество без границ!

Великие и могучие (60-е – 70-е)

Отцы-основатели

Одним из отцов компьютерной графики специалисты называют Ивана Сазерленда, который, будучи аспирантом, написал программу Sketchpad, позволявшую создавать простенькие трехмерные объекты. После защиты диссертации на тему «Наука компьютерной графики» Иван и доктор Дэвид Эванс (David Evans) открывают в университете города Юты первую кафедру компьютерной графики. Молодые и амбициозные друзья–коллеги ставят перед собой благородную цель – привлечение талантливых ученых-энтузиастов для разработки перспективной области высоких технологий.
Среди студентов оказался и Эд Катмулл (Еd Catmull), ныне технический директор корпорации Pixar. Именно Эд Катмул впервые смоделировал объект. В качестве предмета для моделирования выступила кисть его собственной руки. Между прочим, Джим Блинн (Jim Blinn), создатель bump mapping и environment mapping, первых компьютерных анимаций для NASA и, конечно же, знаменитого материала blinn, являлся студентом Ивана Сазерленда. О себе товарищ Блинн говорит следующее: «В детстве я любил коллекционировать почтовые марки, сейчас же предпочитаю собирать упаковки от маргарина и алгоритмы для рисования кружочков». Иван Сазерленд с большим уважением относится к своему ученику, и в одном из интервью прославленный ученый заметил: « В мире существует не больше дюжины истинных творцов компьютерной графики и Джим – это ровно половина от общего числа». Сумасшедшая концентрация интеллектуальной энергии в районе университета Юты, по-видимому, никому не давала спать спокойно и просто-таки заставляла людей безудержно мыслить и творить. Например, техника Phong shading была разработана вьетнамским тридэшником Би Тюн Фонгом (Bui Tuong Phong), который также являлся студентом кафедры компьютерной графики в Юте. А принцип Gouraud shading родился в голове французского ученого Анри Гюра (Henri Gouraud), преподававшего в теперь уже хорошо знакомом читателю университете Юты.

В 1969 году Сазерленд и Эванс открыли первую компанию, которая занималась производством компьютерной графики, назвали просто — «Evans & Sutherland«. Изначально компьютерная графика и анимация использовалась преимущественно в рекламе и на телевидении. К примеру, компьютерной компании MAGI принадлежит заслуга в создании первой в истории коммерческой компьютерной анимации: вращающийся логотип IBM на одном из мониторов в офисе компании появился в начале 70-х годов.

MAGI/Synthavision

Компания Mathematics Application Group, Inc была открыта в 1966 году группой ученых-физиков, которые собирались изучать радиационное поле. Позднее их программное решение Synthavision, изначально ориентированное именно для изучения радиационных лучей, будет адаптировано и применено в области рендеринга, в качестве фундаментальной системы для технологии ray-tracer. Именно MAGI разработала метод «трассировки лучей» («ray-tracing»), суть которого заключается в отслеживании обратного хода попадаемого в камеру луча, проложенного от каждого элемента изображения. Этим методом хорошо просчитываются отражения, тени, блики, геометрические объекты и т.д.
Среди многочисленных сотрудников компании упоминания заслуживают Евгений Трубецкой (потомок иммигрантов из России) и Карл Людвиг (Carl Ludwig) — они внесли наибольший вклад в разработку технологии ray-tracer. На сегодняшний день Карл Людвиг  возглавляет отдел R&D студии Blue Sky, а Евгений Трубецкой руководит кафедрой компьютерной графики при Колумбийском университете.
Отметим также систему моделирования, разработанную компанией MAGI. Система моделирования являлась процедурной – модели создавались путем комбинирования 25 геометрических фигур, имевшихся в библиотеке программы. Из простейших фигур, вроде пирамиды, сферы и цилиндра создавались более сложные, которые впоследствии становились основой для конечной 3D-модели. Программа Synthavision разрабатывалась в течение пяти лет и была использована при создании знаменитого киношедевра «Трон» (1982).

Information International Inc (Triple-I)


Материал для фильма Трон Ну а раз уж упомянули MAGI/Synthavision, то следует рассказать и о компании Triple–I, которая также внесла огромный вклад в развитие 3D технологий. Компания была открыта в 1962 году и изначально специализировалась на производстве оборудования для сканирования видеоматериала. В 1975 году руководство компании открывает отделение компьютерной графики и анимации. В отличие от компании MAGI, использовавшей геометрические фигуры, Triple-I задействовала в качестве простейших единиц треугольники и квадраты. Такой метод моделирования получил название «полигонального». Компания Triple-I также принимала участие в работе над фильмом «Трон».

 

Силиконовая долина

Термином «Силиконовая долина» мы обязаны известному американскому журналисту Дону Хофлеру (Don Hoefler), который в 1971 году опубликовал серию статей в американской еженедельной газете «Electronic News» под заголовком «Силиконовая долина США». В статьях он писал о местечке Санта Клара, что южнее Сан-Франциско, которое знаменито сосредоточением штаб-квартир крупнейших IT-компаний. Силиконовая долина оказала серьезное влияние на развитие высоких технологий, включая компьютерные, поэтому приведем несколько интересных фактов о «стране чудес».
Вплоть до середины тридцатых годов XX столетия территория долины была занята предприятиями, обслуживающими ВМС США. Позднее значительная часть территории использовалась NASA для исследований в области аэронавтики. С таким положением вещей не хотел мириться Фредерик Терман (Frederick Terman), профессор Стэнфордского университета, который располагается в 30 милях от Сан-Франциско. Фредерик Терман совершенно справедливо считал, что выпускникам будет значительно удобнее по окончании вуза оседать на незанятой территории Стэнфорда. Ученый муж приступил к разработке программы, которая могла бы убедить талантливых учеников в нецелесообразности покидать пенаты в поисках работы в других городах и штатах. Фредерик Терман благодаря своим связям добивался финансирования бизнес-проектов ведущих студентов. Главной удачей Термана следует признать открытие в 1939 году компании Hewlett-Packard студентами Уильямом Хьюлитом и Дэвидом Паккардом. Таким образом, компания Hewlett-Packard стала первой гражданской IT-компанией на территории долины.
С изобретением полупроводника в 1947 году и переездом компании Bell Labs в 1953 году, IT-компании начали расти, как грибы после дождя. Спустя двадцать лет Силиконовая долина превратилась в крупнейшую «житницу» IT-технологий не только в США, но и в мире. На сегодняшний день на территории «Silicon Valley» располагаются представительства следующих компаний: Adobe, Microsoft, Apple, Cisco, Xerox, SGI, Dreamworks Аnimation и многие другие. На карте этот IT-рай выглядит особенно впечатляюще:

Силиконовая долина

 

Через тернии к звездам ( 80-е – 90-е)

Компьютеры

Первые компьютеры были невероятно большими, а компьютерная графика, производимая ими, неуклюжей и тяжеловесной. К счастью, этап эволюции компьютерных технологий не растянулся на миллионы лет, и этому в значительной степени способствовало изобретение микропроцессора. Маленькая деталь позволила уменьшить компьютер до вполне разумных размеров. Начали появляться первые микрокомпьютеры, в народе именуемые домашними – прообразы современных персональных компьютеров. Всеми любимая и уважаемая компания Intel в 1974 году удивляет публику, выпустив в 8 битный процессор Intel 8080. Компании-конкуренты не отстают. К примеру, Motorola выпускает в том же году процессор 6800. Настоящим хитом продаж становится домашний компьютер Apple II, представленный публике в 1977 году. В 1981 году известный журнал «Тime» помещает на обложку персональный компьютер IBM и присваивает ему титул «Лучший товар года».

SGI

Первые персональные компьютеры отличались малой мощностью, что немало препятствовало работе с 3D графикой. Для качественной и быстрой работы необходимы были усиленные рабочие станции. В роли спасителя выступил профессор Стэнфордского университета (опять Стэнфорд!!!) Джим Кларк (Jim Clark), который, оставив кафедру компьютерной графики, открывает вместе с Эбби Сильверстоуном (Abbey Silverstone) компанию Silicon Graphics в ноябре 1981 года. Между прочим Джим Кларк также является одним из основателей компании Netscape (1992).  Первым детищем SGI стал IRIS 1000 – серия машин SGI, работающих с процессором Motorola 68000 и материнской платой Sun-1. Вскоре SGI начинает выпускать машины, работающие под операционной системой Unix. Венцом серии IRIS следует признать модель IRIS 3130, которая работала на процессоре Motorola 68020, усиленном математическим сопроцессором компании Weitek. Преимуществом SGI в сравнении с моделями компьютеров других производителей являлся программно-аппаратный комплекс Geometry Pipelines, который увеличивал скорость работы с 3D.

С распространением 3D технологий и их внедрением в развлекательную индустрию наибольшего успеха добиваются графические станции SGI серии IRIS 4D, которые оснащаются мощными системами визуализации Onyx, способными уместить до 64 процессоров. Графические станции оснащаются 64 битными микропроцессорами MIPS. Этими машинами оснащаются крупнейшие голливудские 3D студии: ILM и Digital Domain. Графические станции SGI обладали большой производительностью и невероятно высокой стоимостью. Одним словом, рабочие станции SGI были ориентированы на небольшую целевую аудиторию, состоящую из одних профессионалов.

Графические пакеты в контексте развлекательной индустрии

Сегодняшний рынок 3D пакетов отличается большим разнообразием. Цены на софт упали в десятки раз, поэтому лицензионное программное решение могут позволить себе многие. А в начале 90-х годов прошлого столетия трехмерная графика для большинства людей была не более чем очередной «заумью» ученых, поэтому прикоснуться к миру 3D могли лишь избранные. Более того, изначально не было комплексных программных решений, которые бы соединяли в себе функции по моделированию, анимации и рендерингу. Одним из первых комплексных пакетов для моделирования и рендеринга был Lightwave 3D, выпущенный в 1990 году для компьютеров серии Amiga. Специалисты компании соединили два программных пакета: Aegis Modeler (моделирование) и Videoscape (рендеринг и анимация). Изначально Lightwave 3D был приложением программного комплекса Video Toaster. Полноценная и независимая версия была выпущена в 1994 году.

Очень интересным и мощным коммерческим программным решением следует признать PowerAnimator от Alias. Именно PowerAnimator является одним из предков Maya, программы, с которой знаком, хотя бы по названию, любой современный тридэшник. PowerAnimator представлял собою дорогостоящий программный комплекс, работавший на графических станциях SGI под операционной системой Irix. PowerAnimator впервые был использован на проекте «Бездна». О существовании этого пакета в середине девяностых в нашей стране слышали немногие, а работали — и вовсе единицы. Явление народу программы Maya 1.0 произошло в феврале 1998 году. Maya 1.0 соединила в себе достоинства трех следующих программных пакетов: The Advanced Visualizer (визуализация), Thomson Digital Image (моделирование) и Power Animator (анимация). Объединение Alias и Wavefront в 1995 году стало возможным благодаря покупке обеих компаний концерном SGI. После выхода программного пакета Maya, руководство приняло решение прекратить выпуск PowerAnimator и сконцентрировать свои силы на производстве и раскрутке нового бренда. Раскрутка удалась на славу – на сегодняшний день Maya является наиболее востребованным программным решением в сфере развлекательной индустрии. За восемь лет компания Alias|Wavefront выпустила семь версий своего ведущего программного решения. В этом году компания Alias была приобретена более крупным разработчиком софта компанией Autodesk. Покупка обошлась гиганту 3D индустрии в 197 миллионов долларов.

3Ds Max
компании Autodesk появился в 1996 году, а «выросла» программа из 3D Studio для DOS. Разработка началась в 1993 году с образования отделения Kinetix в недрах монстра Autodesk. Позднее Autodesk объединит Kinetix с Discreet Logic и сформирует отдел Autodesk & Media Entertainment. Новорожденный коллектив лишь через три с лишним года представил на суд общественности новый пакет для работы с графикой, отличавшийся от предыдущих версий не только приставкой MAX в названии. Был разработан новый интерактивный 32-разрядный интерфейс, программа лишилась характерных для досовских версий ограничений, кроме того, максимально расширились возможности пакета. Так было положено начало отсчета — народ тут же позабыл обо всех предыдущих версиях и начал считать «с нуля», точнее, с единицы. На сегодняшний день выпущено восемь версий популярного решения.

В последние несколько лет устойчивыми лидерами в области моделирования и анимации являются всем известные коммерческие продукты, такие как Maya, Lightwave, 3dMAX, XSI и Houdini. Тем не менее, уверенно набирают популярность и открытые продукты, распространяемые бесплатно, например, полнофункциональный пакет Blender3D (позволяет производить модели с последующим рендерингом) и Wings3D. Производители прекрасно понимают, что совместимость с максимально большим количеством программ и приложений способствует росту продаж, поэтому появляющиеся программные решения не имеют проблем с интеграцией.
Следует отметить также усилившуюся тенденцию к выпуску узконаправленных программ, вроде Renderman и Mental Ray в качестве плагинов для универсальных 3D пакетов. В любом случае место под солнцем найдется для всех, потому что мир окончательно и бесповоротно попал в 3D сеть технологического прогресса.

История трехмерной графики — Студопедия

Введение в трехмерную графику

Аннотация:Когда мы смотрим фильмы или рекламу, мы не задумываемся над тем, как это сделано. Мы воспринимаем конечный результат работы специалистов по визуальным эффектам, как готовый продукт. Если у кого-то из зрителей и возникает вопрос, каким образом выполнена какая-то работа, то в большинстве случаев их устраивает ответ: «Сделано на компьютере». Но что означает эта скупая формулировка? Как в небольшой металлической коробке системного блока рождаются виртуальные миры? Секрет создания эффектов в фильмах и рекламе спрятан за аббревиатурой 3D — это сокращение от английского словосочетания third dimension (третье измерение), которым принято обозначать трехмерную графику

Ключевые слова:графика, технические характеристики, light, AND, ILM, computer graphics, SIGGRAPH, анимация, computer,подразделения, компьютер, ПО, story, корпорация, пространство, программа, MAX

История трехмерной графики

Несмотря на то, что трехмерная компьютерная графика появилась сравнительно недавно, попытки воссоздать на фотографиях, картинах и кинопленке трехмерный мир предпринимались достаточно давно, задолго до появления компьютеров.

Человеческое зрение устроено таким образом, что человек видит два независимых изображения, которые позволяют воспринимать мир в трех измерениях. Именно благодаря этому мы можем видеть объемные предметы и определять, насколько они смещены в пространстве относительно друг друга и насколько удалены от нас.



Когда-то для имитации трехмерных изображений использовалось нехитрое устройство, которое называлось стереоскопом. Оно имело прорези для глаз, через которые зритель рассматривал две картинки, помещенные рядом ( рис. 1.1). Эти изображения были получены одновременно, но точки их съемки немного различались. В результате, когда человек через стереоскоп смотрел на одну картинку одним глазом, а на другую — вторым, ему казалось, что он видит трехмерное изображение ( рис. 1.2).

Рис. 1.1.Стереоскоп — устройство для просмотра стереоизображений

Рис. 1.2.Два изображения, которые создают стереоскопический эффект

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


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

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

Рис. 1.3.Поляризованные стереоочки

При возникновении компьютеров появилась возможность создания настоящих трехмерных эффектов. Первооткрывателем в этой области был один из самых известных людей в мировом кинематографе — Джордж Лукас ( рис. 1.4). Именно его фильмы «Звездные войны» прославились невиданными на то время спецэффектами. В 1975 году Лукас основал собственную компанию Industrial Lightand Magic (ILM), которая занималась разработкой этих спецэффектов.

Рис. 1.4.Джордж Лукас одним из первых стал создавать спецэффекты в фильмах

Немного позже в рамках этой компании было основано подразделение LucasFilm CG (то есть LucasFilm Computer Graphics), которое начало активно развивать компьютерную графику. Именно оно выпустило в 1984 году первый анимационный CG-фильм «Приключения Андре и пчелы Уолли» (The Adventures of Andre & Wally B.) ( рис. 1.5). Этот фильм отличался от эффектов, которые создавались ранее, тем, что был полностью сделан при помощи компьютера. Сейчас в это трудно поверить, но для того, чтобы создать полутораминутную анимацию, были задействованы шесть суперкомпьютеров. На выставке компьютерной графики SIGGRAPH’84 анимация произвела фурор.

Рис. 1.5.Кадр из фильма «Приключения Андре и пчелы Уолли» — первой анимации, выполненной при помощи компьютера

После первого успеха отделение LucasFilm CG продолжило работать над совершенствованием средств создания компьютерной графики. Уже в 1985 году в фильме «Молодой Шерлок Холмс» (Young Sherlock Holmes) появился первый персонаж, созданный при помощи компьютера.

В 1986 году отделение LucasFilm CG было продано Стиву Джобсу (главе компании Apple Computer), и из подразделения было преобразовано в независимую компанию, которая сейчас называется Pixar.

Студия Pixar стала заниматься не только созданием CG-анимации, но и разработкой различных технологий, которые упрощают работу с компьютерной графикой. Например, в 1986 году студия создала графический компьютер Pixar Image Computer, который мог выводить на экран изображение с разрешением 1280 x 1024 пикселов в цвете и 2048 x 2048 пикселов в черно-белом режиме. Позже Pixar разработала средство для визуализации компьютерной анимации RenderMan, который до сих пор считается самым лучшим.

Создаваемые компанией анимационные фильмы имеют неизменный успех. По ним легко можно проследить этапы развития компьютерной графики. Если в 1980 годах Pixar выпускала только короткометражные фильмы и рекламные ролики, то уже в 1995 году был представлен первый полнометражный компьютерный мультфильм «История игрушек» (Toy Story) ( рис. 1.6). В 2001 году вышел фильм «Корпорация монстров» (Monsters, Inc.), в котором зрители впервые увидели героев с реалистичной шерстью, а в выпущенном в том же году студией DreamWorks «Шреке» (Shrek) — огромные леса с детальной прорисовкой деревьев и даже листьев на них.

Рис. 1.6.«История игрушек» — первый полнометражный анимационный фильм

Сегодня созданием полнометражных анимационных фильмов занимаются не только студии Pixar и DreamWorks, но и многие другие известные компании, в том числе Warner Bros. и Sony, а потому такие фильмы выходят один за другим. Уже никого не удивляют и полнометражные CG-фильмы, где трехмерные герои «играют» вместо настоящих актеров.

Компьютерная графика нашла применение и во многих других сферах, которые далеки от кинематографа. Например, с ее помощью моделируются фотореалистичные здания и интерьеры, которые в реальности не существуют. Она также помогает медикам исследовать организм человека, археологам — воссоздавать на компьютере предметы, которыми пользовались наши предки, и даже древние города, в которых они жили. Кроме того, компьютерная графика широко используется в сфере развлечений, ведь с ее помощью выполняются все современные компьютерные игры.

Благодаря тому, что за последние двадцать лет было изобретено множество технологий, упрощающих работу с компьютерной графикой, и тому, что мощности компьютеров за это время возросли во много раз, создание фильмов и спецэффектов больше не является уделом только профессионалов. Чтобы создать полутораминутную анимацию типа «Приключений Андре и пчелы Уолли», сегодня не нужно иметь большую команду профессиональных аниматоров и мощнейшие суперкомпьютеры. Подобный проект под силу выполнить даже одному человеку на домашнем ПК.

Ретроспектива: с чего начиналась 3D-графика на ПК. Часть 1: 3dfx Interactive — взлет

Что было до 3Dfx…

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

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

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

И вот пришли цифровые технологии. Я не буду загружать читателей историей их становления. Прокрутим временно́е колесо сразу до примерно середины 1970-х годов, когда появился рендеринг трехмерных изображений. Разумеется, обсчетом занимались целые комплексы ЭВМ (понятие ПК еще было крайне мало распространено), умные люди написали некое универсальное уравнение рендеринга (расчет параметров освещения), позволяющее просчитать, как будут отображаться трехмерные объекты на 2D-экране (условно, конечно). И вот чуть позже, в начале 1980-х, появилась знаменитая компания Silicon Graphics Computer System (позже — Silicon Graphics, или SGI). Их задачей являлось производство графических терминалов, то бишь целых систем, нацеленных на ускоренный рендеринг трехмерных изображений.

Постепенно отдельные терминалы стали превращаться в кластеры огромных систем. С их помощью, например, возникли (ожили) динозавры в «Парке Юрского периода». То есть в кино, наряду с натурными съемками, стали появляться и трехмерные изображения, созданные такого рода системами. Я не буду дальше продолжать историю SGI, скажу лишь, что одновременно трехмерным рендерингом такого же масштаба занималась компания Intergraph Computer System, являвшаяся жестким конкурентом SGI и в конце концов объединившаяся с ней. Ныне SGI поглощена компанией HP и является подразделением, выпускающим серверные комплексы, рабочие станции, в которых до сих пор есть наработки ПО SGI.

Почему я уделил такое внимание SGI? Просто потому, что ведущие специалисты и талантливые инженеры из SGI встали во главе новой компании 3Dfx Interactive. Именно с большой буквой «D». Таким было первое название этой фирмы. Кстати, ее злостного соперника — компанию nVidia (именно с маленькой «n») — основали также выходцы из SGI. Но о ней в другом материале.

3Dfx, Glide, пиксели, тексели

Итак, в 1994 году Росс Смит (Ross Smith), Гари Таролли (Gary Tarolli) и Скотт Селлерс (Scott Sellers), будучи выходцами из SGI, основали компанию 3Dfx Interactive при поддержке Горди Кэмпбелла (Gordie Campbell).

Основной задачей новой компанией был выпуск микросхем и референсных карт для игровых автоматов с аркадными играми. Собственно, основатели 3Dfx хотели стать пионерами в выходе трехмерного рендеринга из сферы процессорных вычислений целыми кластерами огромных систем в относительно небольшие отдельные автоматы и блоки. А потом и выйти на бешено растущий в те годы рынок ПК, особенно семейства x86 (Intel, AMD, Cyrix, UMC и др.). Их задача состояла в выпуске особых чипов, которые могли бы брать на себя ряд функций по отрисовке (рендерингу) трехмерных сцен.

Чтобы трехмерную сцену обсчитать, ее надо разбить на части, так называемые примитивы, или полигоны. И самой первой задачей стал выбор этих самых полигонов. Первый горький опыт внесла компания nVidia, которая уже существовала параллельно, основанная также выходцами из SGI, и крах ее NV1 позволил компании 3Dfx (и не только ей) не наступать на те же грабли: не брать полигоны четырехугольными. Правда, выбор полигонов — это только часть причин гибели NV1, но об этом — в материале о nVidia. Так вот, самым лучшим полигоном оказался, конечно же, треугольник — как простейшая геометрическая фигура, имеющая площадь.

В 3Dfx смекнули, что массово и очень стремительно развивающийся процессорный рынок х86-архитектуры позволит часть задач обсчета сцен оставить на центральных процессорах: например, определение вершин треугольников, как отразить освещение, то есть определить все опорные, так сказать, точки, вбить «колышки». А вот растягивать «палатки» на колышках (то есть покрывать полигоны текстурами) и дальше обрабатывать сами текстуры и т. д. — уже будут особые чипы.

Но это не все. Нужен соответствующий программный интерфейс для связи игры и операционной системы (включая драйвера, управляющие теми самыми особыми графическими чипами). В те годы уже была распространена программная архитектура OpenGL, которая была открытой (о чем говорит ее название) и потому любой мог ее дополнять инструкциями (расширениями). Из-за этого полновесные библиотеки, обслуживающие OpenGL, стали монстрообразными, и специалисты 3Dfx придумали выбрать из всего OpenGL только нужное для работы с их графическими процессорами. Так появился проприетарный программный интерфейс 3Dfx Glide. Он позволял разработчикам игр достаточно просто использовать возможности нового процессорного блока 3Dfx. Тут следует упомянуть, что к этому моменту уже вышли в свет игры на движках знаменитой компании id Software: Wolfenstein 3D (1992), Doom (1993), в год выпуска первого решения 3Dfx для ПК также появился Quake (1996). Понятно, что первые две игры были созданы для работы в MS DOS (если мы говорим о x86-совместимых ПК), так как Windows тогда был в зачаточном виде (лишь оболочка поверх DOS), и использовали технологии рейтрейсинга (разумеется, всё считал центральный процессор). И только Quake можно назвать полноценной трехмерной игрой, использующей уже текстурированные полигоны, а не спрайты. Игра вышла в то время, когда новая ОС Windows 95 уже стала активно внедряться в ПК миллионов пользователей, и потому было выпущено несколько версий движка Quake, в том числе и с использованием API OpenGL.

При этом предлагаемый Microsoft API Direct3D был еще слабо развит, и разработчики игр не особо его приветствовали. Каждый выход нового движка id Software становился эпохой для разработчиков игр, потому что открытая архитектура движка активно способствовала его лицензированию, и на его основе стали массово выходить игры иных компаний. Все это способствовало просто фантастическому распространению API OpenGL на платформах с Windows (уже не только серии 95-98-Millenium, но и NT, 2000, XP). API Glide, как урезанная версия OpenGL, очень вовремя появился на свет, ведь именно тогда 3Dfx выпустила Voodoo Graphics.

Популярная игра Quake2 в программном рендеринге (на CPU) и через API Glide

Разумеется, API Glide был тут же предложен разработчикам игр, поскольку он был разработан именно для облегчения работы программистов (не надо проверять работу на многих устройствах, а также на нескольких API). Если объяснить понятнее, то универсальный API (Direct3D, OpenGL) прячет особенности того или иного оборудования за уровнем аппаратных абстракций, вследствие чего программист может писать нечто универсальное, обязанное работать на любом аппаратном устройстве, поддерживающем эти API. Однако при этом требовалось обрабатывать служебные инструкции, связанные с драйверами и иными библиотеками, которые задавали работу процессорам, что снижало производительность в целом. Glide же, лишенный этой ненужной прослойки, давал возможность поднять производительность. И действительно, в играх, которые поддерживали как Glide, так и Direct3D, всегда выигрывал первый. Хотя сравнения были условными.

3Dfx Voodoo Graphics (Voodoo 1) и… троллинг nVidia

Фотография взята с сайта vgamuseum.info

Фотография взята с сайта vgamuseum.info

В компании 3Dfx логично посчитали, что их задача — только обслуживание 3D-графики, поэтому они выпустили ускоритель, у которого не было 2D-интерфейса, то есть к нему требовалась 2D-карта, выводящая картинку на монитор. А в случае 3D-режима драйвер автоматом переключал бы картинку на Voodoo Graphics. Поэтому монитор подключался именно к последней, а к 2D-карте шел сквозной кабель-переходник.

На снимке — уже Voodoo 2 (а не Voodoo 1), но принцип подключения тот же

Следует отметить, что в те времена еще была весьма популярна глубина цвета в 16 бит (она называлась High Color), когда для представления красной и синей компонент использовали по 5 бит, а для зеленой — 6 бит (поскольку глаз человека более чувствителен именно к зеленой части спектра), поэтому суммарно 16-битная глубина давала 65 536 цветов (оттенков). Этого вполне хватало, чтобы глаз практически не замечал разрывов между оттенками. Но зато для отображения с такой глубиной цвета требовалось меньше ресурсов видеокарты, да и вывод в 16-битном цвете был куда экономичнее и быстрее. Поскольку внутренний обсчет шел в 24-битном цвете, 3Dfx применяла маркетинговую хитрость, утверждая, что вывод графики близок к 22-битному цвету (в реальности это был 16-битный цвет с Z-буферизацией).

Дело в том, что уже появился конкурент в лице nVidia Riva 128. Про него я детально расскажу в части, посвященной компании из Санта-Клары, а тут лишь упомяну, что к тому времени кроме 16-битной глубины цвета уже была доступна и 24-битная (называемая TrueColor). Ее также называют 32-битной (добавляя 8 бит для альфа-канала), но все же реально это 24 бита. Так вот, Riva 128 уже умел рендерить в «труколоре», а также за такт мог обрабатывать 2 пикселя, а не один, как Voodoo Graphics, поэтому скорость заполнения сцены у него была в 2 раза выше. Но погубило этот продукт программное обеспечение: кривые драйверы и совершенно никудышная поддержка OpenGL. Так что Voodoo с его Glide чувствовал себя очень неплохо. Почему у этой карты было два чипа? Один — для формирования кадрового буфера, а второй — для текстурирования. За такт обрабатывался один пиксель и получался один тексель. Это стало частью так называемого конвейера рендеринга, и графические процессоры стали «мериться» друг с другом не только тактовой частотой (и частотой работы памяти), но и числом конвейеров. Остальные микросхемы — это 4 мегабайта памяти типа EDO. И память, и графические ядра работали на частоте 50 МГц. Техпроцессы того времени позволяли GPU не очень сильно нагреваться при работе на таких частотах, поэтому понятие кулера для карт 3Dfx не существовало.

Сейчас уже трудно себе это представить и сравнить с современными решениями, за много лет развития 3D-технологий само понятие конвейера сильно изменилось, он стал намного сложнее. Но само за себя говорит лишь то, что если у Voodoo 1 был один текстурный блок, умеющий обрабатывать текстуры низкого разрешения 256×256 текселей, то теперь в одном GPU этих блоков может быть больше 200, умеющих работать уже с очень большими текстурами.

Следует отметить еще раз, что Voodoo Graphics — это чисто 3D-ускоритель, требующий основную 2D-карту. Помню случаи, когда игра, выпущенная под Direct3D, конфликтовала со связкой таких карт, находя у обеих 3D-растеризатор.

Объем памяти, да и производительность GPU позволяли выводить 3D-картинку на экран в разрешении не выше 640×480. Учитывая, что в те годы массовыми были ЭЛТ-мониторы с разрешением не выше 800×600, это было вполне нормально.

Оглушенный успехом Voodoo 1, маркетинг 3Dfx Interactive стал вести себя несколько агрессивно и подчас даже беспардонно, особенно после прихода Брайена Бурка на должность главы департамента маркетинга. Помню, что не было ни одного публичного мероприятия, в котором участвовала 3Dfx, где Бурк не поливал бы грязью конкурента в лице nVidia. Разумеется, были и иные соперники, например ATI Technologies c их Rage/Rage Pro, но они были настолько слабыми и невразумительными, что 3Dfx даже не считала их за конкурентов. А вот растущие амбиции nVidia были очевидными, плюс основатели 3Dfx прекрасно знали основателей nVidia, ибо все они когда-то работали в SGI. Многие из прессы отмечали троллинг 3Dfx в адрес nVidia и качали головами: не к добру. Собственно, оно потом и аукнулось…

Обязательно надо сказать, что в те времена компания 3Dfx выпускала только наборы чипов (да и то размещала заказы у тайваньских полупроводниковых гигантов типа TSMC и UMC), а потом их продавала партнерам. Поэтому Voodoo Graphics были представлены многочисленными копиями Diamond Multimedia, Canopus, InnoVision, Creative и т. д. Было много и «нонейм»-производителей, не указывавших свои названия, а выпускающих карты от имени 3Dfx.

Японская компания Canopus была, по сути, единственной, уже в те времена устанавливавшей маленький кулер на «пиксельный» процессор Voodoo Graphics. Также только ее карта имела не 4, а 6 мегабайт памяти.

3Dfx Voodoo Rush и Voodoo 2

Фотография взята с сайта vgamuseum.info

Фотография взята с сайта vgamuseum.info

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

Вроде бы логично: взять Voodoo Graphics, установить туда еще 2D-процессор какого-либо производителя, RAMDAC и прочее. Однако у Voodoo Rush оказалось слишком много проблем, и эти карты быстро исчезли с рынка, так и не появившись на нем массово.

Специалисты 3Dfx заключили сотрудничество с компаниями Alliance Semiconductor и Macronix. Были сведения о том, что готовилось соглашение с Trident Microsystems, но карт с их чипами так и не появилось. Как в случае с Voodoo 1, компания 3Dfx лишь поставляла чипы и референс-карты, поэтому все Voodoo Rush производились партнерами компании. По 3D-части характеристики новинки были точно такими же, как у Voodoo 1, однако реальная производительность была меньше из-за того, что процессоры 3Dfx и 2D-чипсета обращались к одной и той же памяти, конкурируя между собой (память не могла одновременно выполнять команды обоих процессоров). Кроме того, на шину PCI был выведен лишь 2D-чипсет, а 3D-часть общалась с шиной через определенные регистры 2D-чипа. Все это также приводило к появлению лишних служебных команд и повышению нагрузки на шину PCI.

Позже партнер Hercules Computer выпустил вторую модификацию Voodoo Rush, где были на 10% повышены частоты работы и увеличен до 8 МБ объем памяти: вторые 4 МБ были на вставной части, присоединяемой к основной печатной плате «бутербродом». Однако и это не спасло Voodoo Rush от низкого спроса, и карты пропали с рынка уже через год.

Фотография взята с сайта vgamuseum.info

Фотография взята с сайта vgamuseum.info

Через год 3Dfx выпускает улучшенную версию Voodoo Graphics — Voodoo 2. По сути, та же архитектура, но добавлен второй блок текстурирования, и теперь за такт ускоритель может выдавать два текселя. Также повышены частоты работы — до 90/90 МГц. Это тоже чистая 3D-карта, подключавшаяся к 2D-плате через такой же переходник.

Но вот объем памяти существенно вырос. Только под буфер кадра отведено было 4 мегабайта, плюс 4 или 8 мегабайт под текстуры (поэтому Voodoo 2 выпускался в двух вариантах: с 8 МБ и с 12 МБ). Шина обмена с памятью — 192-битная. Ускоритель мог выводить картинку в разрешении 800×600. На рынке имелись конкуренты в лице nVidia Riva 128 и ATI Rage Pro, но они были очень слабыми соперниками, и успех Voodoo 2 был ошеломляющим!

Более того, вместе с Voodoo 2 компания 3Dfx представила технологию SLI (Scan-Line Interleave), которая позволяла объединить две карты Voodoo 2, одна из которых отрисовывала нечетные строки, а вторая — четные, тем самым увеличивая производительность почти в 2 раза в 800×600, а также впервые стало возможно использовать разрешение 1024×768. Карты соединялись специальным кабелем (монитор подключался лишь к одной из них). Однако Voodoo 2 SLI не получил широкого распространения. Во-первых, видеоподсистема получалась слишком громоздкой: в компьютер устанавливались одна 2D-карта и два 3D-ускорителя. Во-вторых, производительность такой системы упиралась в вычислительные возможности центральных процессоров, системную шину и относительно медленную основную память. Таким образом, чрезмерно быстрое текстурирование не было востребовано для систем того уровня.

Громоздкая система с Voodoo 2: 3 видеокарты. Притом в те годы интеграция периферийных контроллеров на материнские платы была минимальной, требовались отдельные звуковые, сетевые и прочие карты расширения, поэтому наличие свободных слотов было критически важным.

Примерно в то же время появилась легендарная игра Unreal, явившая миру новый движок Epic Games. Она затмила даже Quake2 компании id Software, потому что в Unreal использовались потрясающего (на тот момент) качества текстуры, открытый мир, обалденно созданные модели монстров в сочетании с очень захватывающим геймплеем.

Даже не стоит говорить, что первая реализация игры была с поддержкой только API Glide, поэтому не работала на ускорителях других компаний. Впоследствии появились патчи, обновившие движок игры и внесшие поддержку Direct3D и OpenGL. Однако все равно скорость работы в Glide была непревзойденной. Также сумеречные оттенки пестрых текстур умело и ловко скрывали, что весь рендеринг шел в 16-битном цвете. Все это стало причиной повторного всплеска интереса к Voodoo 2. И даже чуть позже вышедший nVidia Riva TNT, лишенный ошибок Riva 128, с полностью переработанными драйверами и полноценным OpenGL, не смог сильно навредить успеху 3Dfx Voodoo 2.

Фанаты этой игры должны просто млеть от первых звуков заставки!! Я до сих пор помню мои первые впечатления от Unreal, когда глубина трехмерной сцены меня просто поглотила, эти потрясающие огни, отрисовки стен, движения скааржей поражали воображение. Когда у меня появилась вторая Voodoo 2, то я снова прошел игру с самого начала и до конца, но уже в 1024×768.

API Glide делал картинку намного более красивой не только в Unreal, появилась серия NFS с его поддержкой

Кстати, Voodoo 2 точно так же выпускался силами партнеров 3Dfx, особенно преуспела в этом компания Creative Labs, создавшая очень агрессивную конкуренцию прежнему фавориту Diamond Multimedia. Особо оригинальным решением отличилась компания Quantum 3D, выпустив Voodoo2 SLI на одной карте типа «бутерброда» — Obsidian X24 (суммарно 24 МБ памяти — немыслимо по тем временам!)

Фотография взята с сайта vgamuseum.info

Фотография взята с сайта vgamuseum.info

Кроме двух Voodoo 2 на плате имеются мост PCI и два RAMDAC. Следует отметить, что Voodoo 2 в целом грелся сильнее, чем Voodoo 1, а в случае с Obsidian X24 нагрев был еще выше, особенно у «пиксель»-процессоров. Работа в «бутерброде» представляла проблему для комплекта процессоров карты, поэтому для гарантии стабильности работы я подвешивал внешний вентилятор, обдувающий двойную PCB.

Фотография взята с сайта tdfx.de

Фотография взята с сайта tdfx.de

3Dfx Voodoo Banshee и эфемерный Rampage

Несмотря на успех Voodoo 2, руководство компании все же было раздражено усилением конкуренции со стороны nVidia, особенно в свете выхода Riva TNT, тогда как в арсенале 3Dfx были только чистые 3D-ускорители без 2D-части. Поэтому к концу 1998 года компания сумела создать свой собственный 2D-ускоритель, который совместила с Voodoo 2 (с одним текстурным блоком) в один чип, названный Voodoo Banshee.

Фотография взята с сайта vgamuseum.info

Фотография взята с сайта vgamuseum.info

К тому моменту уже появилась SGRAM-память, пришедшая на смену более медленной EDO. Ускоритель опять же выпускался силами партнеров 3Dfx. Частота работы ядра и памяти составляла 100 МГц. Несмотря на наличие всего одного текстурника, за счет более высокой тактовой частоты Banshee был быстрее в играх с несложным текстурированием, однако Voodoo 2 брал верх в играх с мультитекстурированием. Впрочем, 3Dfx и не планировала создавать конкурента своему же Voodoo 2, он оставался в премиальном сегменте, а Voodoo Banshee имел более низкую цену.

Кстати, 2D-часть получилась очень даже неплохой по тем меркам, с RAMDAC 250 МГц, 128-битным процессором GUI, который прекрасно работал с DirectDraw и аппаратно поддерживал Windows GDI. Короче говоря, 2D-процессор оказался на уровне современных ему решений Matrox, ATI и nVidia.

Однако компании все же не удалось полноценно развести по сегментам Voodoo 2 и Banshee. Потребители более охотно покупали Voodoo 2 и уже вовсю посматривали в сторону nVidia Riva TNT, для продвижения которого маркетинг nVidia проводил весьма агрессивную кампанию, прославлявшую 32-битный цвет «труколор», которого не было у продуктов 3Dfx. Все это сказалось на Banshee, и он ушел с рынка раньше, чем Voodoo 2.

Фотографии взяты с сайта tdfx.de

Параллельно с выпуском Voodoo 2/Banshee компания создала две рабочие группы для разработки амбициозного проекта Rampage, нацеленного на двухлетний цикл (то есть в 2000-м году должны были появиться реальные GPU). Смысл проекта был не только в кардинально новом подходе к ускорению 3D-графики (переносе расчета трансформаций и освещения с центрального процессора на GPU), но и в масштабируемости решений, то есть на базе Rampage можно было выпускать 2 или даже 3 поколения GPU.

Однако в процессе распределения проектов возник ряд ошибок в планировании, был неверно оценен рынок, что привело к излишним тратам. Появились первые тревожные «звоночки» в плане устойчивости компании. Однако пока еще все было неплохо, акционеры не волновались. Rampage — долгоиграющий проект, а на очереди стоял Voodoo 3. Но о нем, о других решениях и о падении 3Dfx я расскажу в следующей части.

Оставайтесь с нами!

Несколько наших старых материалов по теме:

RivaTNT vs Banshee

Видеокарты на чипсете Banshee

FAQ по процессорам 3dfx

Оптимизация работы 3dfx Voodoo

Краткая история 3D-текстурирования в играх / Хабр

В этом посте я расскажу об истории текстурирования в трёхмерных видеоиграх. С момента первого появления 3D реального времени на домашних консолях мы прошли долгий путь, но и сегодня при создании игровых текстур применяются некоторые практики, уходящие корнями в те ранние годы.
Для начала давайте немного поговорим об основах — о различиях рендеринга в реальном времени (real time rendering) от пререндеренных (pre-rendered) сцен. Рендеринг в реальном времени используется в большинстве 3D-игр. Машина в этом случае отрисовывает изображение в реальном времени. Для создания одного кадра пререндеренной сцены требуется большие вычислительные мощности.

Из-за этого мы получаем разные уровни качества. Рендеринг в реальном времени нужен играм для интерактивности. Такие статичные элементы, как кинематографические вставки или неподвижные фоны, можно создавать пререндерингом. Разница результатов была огромной. Вот пререндеренный фон и персонаж реального времени из игры 1999 года:

Пререндеринг позволял создавать кучу затратных в рендеринге сцен, для отрисовки единственного кадра которых могли требоваться часы или даже дни. Для картинки или фильма это вполне нормально. Но играм нужно постоянно рендерить 30-60 кадров в секунду. Поэтому в ранних 3D-играх приходилось идти на большие упрощения.
На 16-битных консолях одним из первых примеров 3D реального времени была игра Star Fox, но ещё на них была Donkey Kong Country, в которой пререндеренная трёхмерная графика была преобразована в спрайты (с сильно упрощёнными цветовыми палитрами). Долгое время ничто другое не могло выглядеть так же хорошо в реальном времени.
Когда мы перешли к консолям с настоящим 3D (таким как N64 и PS1), то наконец увидели, на что не способен рендеринг в реальном времени. Нельзя использовать источники освещения, чтобы запекать тени или освещение в сцену, материалы не реагируют на свет, нет никакого «рельефного текстурирования» (bump mapping), только геометрия и текстуры низкого разрешения. Как же художникам удавалось с этим cправляться?
Например, информация об освещении или рисовалась на текстурах (тени, засветы, глубина), или рисовалась на каждой вершине треугольника, или же использовались оба подхода. Тени персонажей обычно были простыми текстурами, которые следовали за персонажем. Реализовать отбрасывание правильных теней было невозможно.
Можно было добиться простейшего затенения на моделях, но ему обычно недоставало правильной информации об освещении. В таких играх, как Ocarina of Time и Crash Bandicoot, использовалось много информации об освещении, которая записывалась в текстуры и рисованием по вершинам геометрии. Это позволяло делать различные области светлее, темнее, или придавать им определённый оттенок.

В те времена для преодоления подобных ограничений требовался большой объём творческой работы. В разной степени рисование или запись информации об освещении в текстуры используются и сегодня. Но поскольку рендеринг в реальном времени становится лучше, потребность в подобных техниках снижается.
Итак, следующим поколениям «железа» нужно было решить ещё множество проблем. Следующее поколение консолей — PS2, Xbox и Gamecube — попытались с некоторыми из них справиться. Первым заметным скачком в качестве стало повышение разрешения текстур и улучшение освещения.
Одной из важных в этом плане игр стала Silent Hill 2. Самым серьёзным прорывом этой игры 2001 года стало использование отбрасывания теней в реальном времени. Это означало, что часть записанной в текстуры информации об освещении можно было исключить, но по большей части в этом поколении она активно применялась.
Определяющим для этой и других игр той эры стало разрешение. Благодаря большему количеству пикселей в них можно было хранить намного больше микродеталей. Но пока это была только информация о цвете и рассеянном освещении. Bump-карты и карты отражений использовались тогда редко. Добиться от материалов правильной реакции на свет было невозможно.
Была и ещё одна причина популярности запекания информации в текстуры. В пререндеренных сценах это не было проблемой, в них одежда действительно выглядела как ткань, а стекло, волосы и кожа казались убедительными. Для рендеринга в реальном времени требовалось рельефное текстурирование, и оно появилось, но только ближе к концу этого поколения (только на xbox).

Карты отражений и нормалей появились в таких играх, как Halo 2 и Doom 3. Карты отражений (specular maps) позволяли поверхностям реагировать на освещение намного естественнее, например, металл мог действительно блестеть, и так далее. Карта нормалей позволяет записать намного больше деталей, которых бы нельзя было добиться в объектах с таким низким количеством полигонов.

Если вы работаете с 3D, то знаете, что такое карта нормалей (normal map). Это тип рельефного текстурирования, позволяющий поверхностям реагировать на освещение гораздо детальней по сравнению со сложностью модели. Это важнейшая текстура, которая используется практически в каждой игре, вышедшей после этого поколения.
После появления карт нормалей подход художников к созданию текстур изменился. Для изготовления карт нормалей приходится тратить на создание модели гораздо больше времени. Стало нормой использование таких инструментов скульптинга, как Zbrush, позволяющих запекать высокополигональные модели в текстуры, которые можно использовать в низкополигональных объектах.
До появления этой технологии большинство текстур или рисовалось вручную, или создавалось из фотографий в Photoshop. В эпоху Xbox 360 и PS3, этот способ для многих игр ушёл в прошлое, потому что вместе с повышением разрешения повысилось и качество моделей.
Кроме того, благодаря предварительно вычисляемому затенению сильно улучшилось поведение материалов. Для многих художников это оказалось поворотным моментом. Материалы становились намного сложнее, чем раньше. Это демо 2005 года превосходило всё, что было до него. В то время ещё даже не было Xbox 360.

Также появился новый подход к освещению сцены — модель Ambient occlusion. Рендерингу реального времени снова приходилось догонять пререндер. AO слишком затратна для рендеринга в реальном времени, поэтому художники просто начали записывать её в текстуры! AO воссоздаёт непрямые тени от источников освещения, слишком мелкие для детального отображения.
Даже сегодня AO реального времени достижима не на 100%, но мы к этому уже близки! Благодаря таким процессам, как SSAO и DFAO, ситуация сильно улучшилась по сравнению с тем, что было 10 лет назад. Запечённые карты AO до сих пор используются, но, вероятно, когда рендереры станут лучше, от них откажутся.

Подведём итог: в эру PS3 и X360 мы увидели ещё больший скачок разрешения по сравнению с предыдущим поколением, а для поверхностей с затенением появились новые текстуры. И, разумеется, повысилось качество освещения! Можно было получить тени реального времени для всей сцены или запечь освещение для повышения детализации.
Кажется, всё просто отлично? Но всё равно остаются недостатки. Низкое разрешение моделей и текстур, плюс высокие затраты из-за новых шейдеров И не стоит забывать разрешение, выдаваемое играми. Всего 720p! (Кроме того, стали проблемой оттенки шрифтов на ЭЛТ-телевизорах).
Ещё одной проблемой оставались карты отражений (specular maps). В то время у каждого объекта была только одна карта его «блестящести». Это большое ограничение. Материалы выглядели нереальными. Поэтому некоторые разработчики начали разделять карты отражений. Одним из первых примеров стала игра Bioshock Infinite.
Карты отражений теперь разделялись по типам материалов (дерево, золото, бетон и т.д.) и по «старости» (трещины, износ и т.д.). Это событие совпало по времени с появлением нового типа модели затенения — Physically Based Rendering, PBR (физически корректный рендеринг).

Это приводит нас в сегодняшний день и к текущему поколению. PBR стал стандантом для многих игр. Эту технику популяризировала студия Pixar, стандартизировав его как способ создания правдоподобных материалов в компьютерной графике. И его можно применять в реальном времени!

Кроме того, отрасль усовершенствовала конвейер, появившийся в предыдущем поколении — экранные эффекты. Такие аспекты, как тональная коррекция и цветокоррекция, в текущем поколении улучшились. В предыдущем поколении для этого пришлось бы долго настраивать текстуры.
Если вам интересно узнать больше о старых играх и их техниках рендеринга, то крайне рекомендую серию DF Retro на канале digitalfoundry. Автор проделал фантастическую работу по анализу отдельных игр, например Silent Hill 2.

Просто для сравнения я покажу, как выглядели первые 3D-игры и какой труд сегодня необходим для создания единственной текстуры в игре.

Давайте также вкратце упомянем некоторые из техник, разработанных в предыдущих эпохах, которые применяются и сейчас! Есть множество «стилизованных» текстур, в которые записывается информация об освещении. Наиболее активно это использует Blizzard.
Эта компания соединяет технические ограничения с продуманным отношением к графике, и добивается потрясающих результатов. Возможно, в них не используется та же куча текстур, что и в других AAA-играх, но результаты никак нельзя назвать плохими.
А иногда благодаря технике PBR и нарисованным вручную/упрощённым текстурам можно зайти очень далеко. Этому способствует и наличие современного движка со множеством функций.

Популярно о компьютерной 3D графике, часть 1 / Хабр

Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения — голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.

Часть 1. Собственно, моделирование
Традиционно рисуют в 2D (по осям X и Y) — на бумаге, холсте, дереве и т.п. При этом отображают какую-то одну из сторон предмета. Картинка сама по себе плоская. Но если мы хотим получить представление обо всех сторонах предмета, то необходимо нарисовать несколько рисунков. Так поступают в традиционной рисованной анимации. Но, вместе с тем, существует, (кстати, в СССР была довольно хорошо развита) т.н. кукольная анимация. Один раз изготовленную куклу снимают в необходимых позах и ракурсах, получая серию «плоских картинок». 3D (к X и Y добавляется координата глубины Z) визуализация — это те же «куклы», только существующие в цифровом виде. Другими словами, в специальных программах (Blender, 3ds Max, Maya, Cinema 4D и т.п.) создается объемное изображение, например авто.


Преимущество данного метода в том, что в распоряжении, скажем, аниматора есть объемная модель, необходимо лишь поместить ее должным образом в кадр, анимировать (задать траекторию передвижения или рассчитать с помощью симулятора) при необходимости, а уж отображение авто в финальной картинке ложится на специальную программу называемую визуализатором (render). Еще одно преимущество в том, что модель достаточно нарисовать один раз, а потом использовать в других проектах (скопировав), изменять, деформировать и т.п. по своему усмотрению. Для обычного 2D рисунка, в общем случае, такое невозможно. Третье преимущество — можно создавать практически бесконечно детализированные модели, например смоделировать даже винтики на часах и т.п. На общем плане этот винтик может быть и неразличим, но стоит нам приблизить камеру, программа-визуализатор сама рассчитает, что видно в кадре, а что — нет.

Существует несколько способов моделирования, но самым популярным является полигональное моделирование. Нередко можно увидеть в роликах о 3D или фантастических фильмах как тот или иной объект представляется в виде т.н. сетки. (см. рисунок выше) Это и есть пример полигонального моделирования. Суть его в том, что поверхности представляются в виде простых геометрических двумерных примитивов. В компьютерных играх это треугольники, для других целей обычно используют четырехугольники и фигуры с большим кол-вом углов. Эти примитивы, из которых состоит модель, называют полигонами. Но при создании 3D объекта стараются обойтись, как правило, четырехугольниками. При необходимости четырехугольники (полигоны) без проблем превращаются в треугольники при экспорте в игровой движок, а при необходимости сглаживания или тесселяции модель из четырехугольников получается, как правило, без артефактов.
Что такое тесселяция? Если какой-то объект представляется в виде полигонов (особенно органические объекты, например человек), то понятно, что чем меньше размер полигонов, чем их больше, тем более близкой может быть модель к оригиналу. На этом основан метод тесселяции: сначала изготавливают грубую болванку из небольшого кол-ва полигонов, затем применяют операцию тесселяции, при этом каждый полигон делится на 4 части. Так вот, если полигон четырехугольный (а еще лучше, близок к квадрату) то алгоритмы тесселяции дают более качественный и предсказуемый результат. Также операция сглаживания, а это та же тесселяция, только с изменением углов на более тупые, при близких к квадрату полигонах, позволяет получить хороший результат.

Как было сказано выше, чем больше полигонов, тем более модель может (может, потому, что модель должна быть еще похожа на оригинал, а это вопрос мастерства моделера, а не полигонов) походить на оригинал. Но у большого кол-ва полигонов есть обратная сторона: понижение производительности. Чем больше полигонов, тем больше точек по которым они строятся, тем больше данных приходится обрабатывать процессору. Поэтому 3D графика — это всегда компромисс между детализацией модели и производительностью. В связи с этим даже возникли термины: hight poly и low poly, соответственно высоко полигональная модель и низко полигональная модель. В играх применяются низко полигональные модели, так как в них выполняется визуализация в реальном времени. Кстати, модели в играх представлены треугольниками для повышения производительности: графические процессоры умеют на аппаратном уровне быстро обрабатывать сотни миллионов треугольников за секунду.

Как правило, полигональное моделирование относится к пустотелому моделированию, где объект имеет только объем, но внутри пустой. Это означает, что если мы смоделируем куб, а потом удалим одну из стенок, то увидим внутри пустоту. Также имеются программы для твердотельного моделирования, где тот же самый куб представлен в виде монолитного объекта. В таких программах (к примеру, Autodesk Inventor) применяются математические модели отличные от тех, что в полигональном моделировании. Алгоритмы твердотельного моделирования лучше подходят для моделирования механизмов при разработке техники. Программы вроде Autodesk Inventor имеют средства для моделирования с учетом особенностей технологического процесса, как то фаски, сверление отверстий, проставление размеров, допусков и т.п. Получаемые модели можно сразу отправить на подходящий станок для получения изделия в металле или другом материале.
Также существуют так называемые программы 3D лепки (ZBrush, Autodesk Mudbox) в которых моделирование сводится (грубо говоря) к созданию углублений или выпуклостей. Такая техника похожа на то, как скульпторы лепят из глины — убирая ненужное и добавляя необходимое. С помощью таких программ можно добиться реалистичного рельефа поверхности, например морщин на коже или складок ткани. В настоящее время высокополигональные (а для лепки модель должна обладать солидным кол-вом полигонов) реалистичные модели людей и вообще животного мира выполняются, в большинстве своем, с применение программы лепки. Распространена практика когда заготовка модели создается с помощью полигонального моделирования, а затем в программе лепки тесселируется и добавляются мелкие детали.

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

В общем случае текстура — это двумерный рисунок который накладывается на 3D модель. Текстура может быть как процедурной — сгенерированной при помощи алгоритма, так и нарисованная в графическом редакторе, или фотографией реального объекта. С помощью текстуры задается рисунок и цвет модели, но реальная поверхность обладает и другими параметрами: отражающей способностью, преломлением, рельефом, позрачностью и т.п. Все эти параметры задаются в свойствах материала. Т.е. материал с точки зрения 3D графики — это некая математическая модель описывающая параметры поверхности. Например, для воды обязательно необходимо указать прозрачность и преломляющую, отражающую способности.
Перед «нанесением» материала на 3D модель необходимо создать ее развертку, т.е. представить все (несколько, одну) поверхности в виде проекции на плоскость. Это необходимо для того, чтобы затем двумерная текстура правильно «лягла» на модель.
Таким образом изготовление 3D модели в общем случае состоит из следующих стадий:
1. Получение изображений референса (т.е. того, с чего будет моделироваться) или самого референса. Или отрисовка экскиза.
2. Моделирование геометрии на основе референса.
3. Создание развертки.
4. Отрисовка текстур или получение их другим способом в виде файлов.
5. Настройка параметров материала (текстуры, преломление, отражение, прозрачность).
Теперь 3D модель готова для визуализации — получении картинки.
Первый и четвертый пункт могут быть быть опущены если модель простая, но, как правило, хороших результатов без всех 5 шагов не добиться.
Подытожим.
Между обычным рисунком, скажем, на бумаге, и построением 3D изображения есть существенные различия в самом процессе. Двумерный рисунок, как правило, создается в два этапа: эскиз и раскрашивание. В 3D графике после изготовления модели ее необходимо поместить в сцену к другим объектам (или в так называемую студию), добавить освещение, камеру и лишь затем можно надеяться получить финальную картинку. Изображение в 3Dграфике просчитывается на основе физической модели, как правило, это модель распространения луча света с учетом отражения, преломления, рассеивания и т.п. Рисуя красками мы сами отрисовываем тени, блики и т.д., а в трехмерной графике мы подготавливаем сцену с учетом освещения, материалов, геометрии, свойств камеры, программа рассчитывает итоговую картинку сама.

Вот, на сегодня пока и все. Комментарии, а особенно вопросы и замечания по существу приветствуются.

P.S. В следующих частях (если Хабрабществу будет интересно) мы более подробно поговорим о трехмерном моделировании для игр, будет затронута визуализация, моделирование динамических сред, таких как вода, разрушение объекта и затронем динамическое взаимодействие между 3D объектами, историю 3D графики.

малоизвестные факты об истории компьютерной графики / Программное обеспечение

Те, кто занимается разработкой трехмерной графики, очень хорошо знают, что успех в освоении этой области зависит исключительно от терпения. «Наскоком» этой наукой овладеть невозможно, для этого нужна длительная подготовка. Используя метод проб и ошибок, прочитав массу учебной литературы, после многократного утомительного ожидания рендеринга финальной сцены наконец-то приходит озарение: «Так вот как оно, оказывается, нужно было делать!».

Словно спортсмен, оттачивающий свое мастерство на спортивном инвентаре, дизайнер компьютерной графики раз за разом применяет одни и те же шаблонные конструкции, которые помогают ему разобраться в тонкостях работы с программой. Привычные для него картинки и модели настолько давно используются для тестирования различных функций 3D-редактора, что кажутся вполне обычными инструментами. А между тем многие из них совсем не похожи на «стандартные» средства. Модель чайника, трехмерная голова обезьяны и прочие странные вещи — откуда они взялись?

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

⇡#Непростая жизнь простого чайника

Судьбы некоторых вещей складываются порой очень необычно. Когда Мартин Ньювелл (Martin Newell) и его жена Сандра в 1974 году приобрели в одном из универмагов Солт-Лейк-Сити заварочный чайник, они и представить себе не могли, что в будущем об этой вещи в буквальном смысле узнает весь мир.

Мартин Ньювелл — создатель самого популярного чайника в трёхмерной графике

Мартин Ньювелл — создатель самого популярного чайника в трёхмерной графике

Это был самый обычный керамический чайник, произведенный немецкой компанией Melitta. Очень простой формы — слегка округлый, с крышкой. На нем даже не было никакого рисунка или узора — просто гладкий белый чайник.

Ньювелл занимался разработкой алгоритмов рендеринга для графического редактора в университете Юты (University of Utah). Отсюда пошло и название чайника, его стали называть «чайник Юта». Интересно, что изначально модель чайника сопровождалась еще набором чашек и чайных ложечек. Выглядело это так.

Мартин Ньювелл — создатель самого популярного чайника в трёхмерной графике

Потом модели чайного сервиза растерялись, и остался один чайник. Самые внимательные пользователи наверняка обратили внимание на то, что в сравнении с чайником из программы 3ds max, пропорции оригинального чайника Юта несколько иные.

Прототип самого известного чайника в трехмерной графике

Прототип самого известного чайника в трехмерной графике

Все верно — исходный объект несколько выше компьютерной модели. Почему так? Сами «родители» первой компьютерной модели путаются в объяснениях. Скорее всего, причина в том, что буфер кадра на компьютере с которым работал Ньювелл, имел неквадратные пиксели. Вместо того, чтобы искажать изображение, Мартин попросил своего коллегу Джима Блинна скорректировать масштаб модели для исключения растянутых деформаций. Сам же Джим утверждает, что им просто понравилась отмасштабированная по вертикали форма чайника, которую они использовали на демонстрации в своей лаборатории.

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

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

Чайник стал любимым объектом разработчиков трёхмерной графики. Как-то незаметно его стали использовать везде, где только можно. Например, на компьютерах Commodore CBM, которые продавались в начале восьмидесятых годов прошлого века, была установлена демонстрационная программа Grafikdemo. Запустив ее, пользователь мог видеть на экране каркас чайника. Эту основу можно было вращать с помощью клавиатуры, рассматривая со всех сторон. Подобные нехитрые манипуляции должны были производить на пользователей сильное впечатление и склонять потенциального покупателя к дорогой покупке.

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

Чайник также можно было увидеть в популярном скринсейвере 3Dpipes («Трубопровод») из Windows.

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

А еще он то и дело появлялся в различных трехмерных анимациях — например, в знаменитой ленте студии Pixar «История игрушек» (Toy Story), где главный герой пьёт чай как раз из чайника Ньювелла.

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

Даже мультяшный Гомер Симпсон в одной из серий сериала The Simpsons вдруг обрел третье измерение, и тут же в кадр попал чайник Юта (для фанатов — шестая серия седьмого сезона Treehouse of Horror VI).

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

А еще чайник Юта (после небольшого редактирования он изменил форму) попал в кадр при просмотре другой картины студии Pixar — «Корпорация монстров» (Monsters Inc.).

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

Кстати, у студии Pixar есть еще и забавная традиция. Каждый год на очередной выставке Siggraph они раздают сувенирные чайники Юта — шагающие игрушки, рекламирующие движок визуализации RenderMan. Обычно эти чайники упаковываются в коробку из-под чая. Прекрасный памятный подарок о выставке для любителя 3D.

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

Трехмерная модель чайника стала визитной карточкой одного из самых популярных 3D-редакторов — Autodesk 3ds max. В этой программе чайник запросто может создать любой пользователь, даже тот, кто никогда не занимался трехмерным моделированием.

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

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

Время от времени знаменитый чайник путешествует по разным мероприятиям — наподобие выставки Siggraph. Несмотря на немолодые годы, он выглядит чистым, блестящим и подозрительно новеньким. И хотя владельцы раритета убеждают, что это именно тот самый чайник, с которого началась история трехмерной анимации, если учесть расстояния, на которые ему пришлось перемещаться, не исключено, что он мог быть втайне заменен другим экземпляром, ведь аналогичные модели до сих пор продаются в большом количестве.

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

⇡#Стенфордский кролик

После появления чайника Юты долгое время у разработчиков трёхмерной графики не было альтернативы. Нужно протестировать рендеринг? Конечно, используется чайник Ньювелла. Но в девяностых годах ситуация слегка изменилась. Появились новые инструменты для трехмерного моделирования и новые модели для тестирования. В дело включились научные сотрудники Стенфордского университета — Грег Тёрк (Greg Turk) и Марк Левой (Marc Levoy).

Грег Тёрк

Всегда веселый Марк Левой

Всегда веселый Марк Левой

В 1994 году, на Пасху, Грег прошелся по Юниверсити-авеню и заглянул в магазин, где продавались декоративные товары для дома и сада. Там он увидел коллекцию глиняных кроликов. Ему очень понравился терракотовый цвет красной глины, и в голову Тёрка пришла мысль, что эта фигурка идеально подходит для трёхмерного сканирования и использования в экспериментах по 3D.

Всегда веселый Марк Левой

«Если б я знал, что этот кролик таким популярным, да я бы их всех купил!» — рассказывал Грег уже спустя несколько лет. Он приобрёл этого кролика и принес в лабораторию, где вместе с Марком они оцифровали его форму. Кролик имел только один недостаток — в его геометрии были отверстия. Чтобы упростить полигональную сетку, Грег просто заделал их вручную. Модель стенфордского кролика, которую получили после оцифровки статуэтки, содержала 69451 треугольную поверхность, сама же оригинальная фигурка была 19 сантиметров в высоту.

Всегда веселый Марк Левой

С тех пор эту модель может скачать любой желающий прямо с сайта Стенфордского университета.

Помимо кролика, в стенфордском репозитории выложено еще множество моделей, многие из которых также стали очень популярными в сообществах разработчиков трехмерной графики. Среди бесплатных 3D-моделей, доступных для загрузки, есть, например, фигурка счастливого Будды, популярный китайский дракон, красивая тайская статуя и так далее.

Всегда веселый Марк Левой
Всегда веселый Марк Левой
Всегда веселый Марк Левой

⇡#Обезьянка в Blender

Трехмерный редактор Blender не имеет аналогов. Это единственный бесплатный профессиональный пакет для создания трехмерной графики, способный более или менее на равных конкурировать с такими «китами», как Maya или Lightwave.

Всегда веселый Марк Левой

Открытый код, кроссплатформенность и огромные возможности моделирования — о достоинствах этой программы можно говорить очень долго. Разработчики сделали все возможное, чтобы эта программа ни в чем не уступала коммерческим аналогам. И словно в ответ на чайник Юта, в Blender был интегрирован свой собственный «нестандартный» объект — обезьянка по имени Сюзанна.

Всегда веселый Марк Левой

Модель этой обезьянки имеет не очень сложную, но нетривиальную геометрию, что идеально подходит для тестовых сцен и изучения настроек рендеринга. Это низкополигональная модель, состоящая из 500 поверхностей.

Всегда веселый Марк Левой
Всегда веселый Марк Левой

Впервые голова шимпанзе появилась в Blender 2.25. Именно тогда, в январе-феврале 2002 года, стало понятно, что компания NaN, которая занималась продвижением тогда еще платного 3D-редактора Blender — банкрот, а потому не сможет вести дальнейшую разработку этого проекта. Её программисты добавили обезьянку в качестве своеобразного пасхального яйца в последний релиз программы, созданный компанией NaN. После этого лицензия Blender была изменена на GNU GPL, на откуп от кредиторов собрали деньги, и 3D-редактор стал бесплатным.

Смоделировал знаменитую объезьянку Вильем-Пол ван Овербрюгген (Willem-Paul van Overbruggen), известный также под ником SLiD3. Он же и дал имя, взяв его из весьма специфической комедии Кевина Смита (Kevin Smith) «Джей и молчаливый Боб наносят ответный удар» (Jay and The Silent Bob Strike Back). В этом фильме присутствовал орангутанг по имени Сюзанна.

Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)

Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)

Сюзанна стала настоящим символом бесплатного 3D-редактора. В 2003 году был даже учреждён специальный конкурс для художников, работающих в Blender. Ежегодный конкурс получил название Suzanne Awards, а в качестве приза победителям вручается статуэтка обезьянки Сюзанны.

⇡#Корнельская коробка: эксперименты над светом

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

В реальном мире всем управляют физические процессы. Законы оптики, а также свойства материалов определяют картину окружающего нас мира. Стеклянные предметы воспринимается нашими глазами как прозрачные, лимонная кожура кажется рельефной, а ледяная изморозь — матовой. Алгоритм трехмерной визуализации, используемый для рендеринга, старается повторить все эти явления и свойства материалов, смоделировав физические процессы. Однако проблема заключается в том, что этот алгоритм несовершенен и, как в любой школьной задачке по физике, использует множество допущений и условностей.

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

Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)

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

Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)

Этот кубик играл роль комнаты, замкнутого помещения, служил упрощенной моделью для симуляции реалистичного распространения света. Модель с коробкой, получившая название Cornell box, исключительно проста, свет в ней совершает предсказуемые отражения, и поэтому нехитрая конструкция оказалась очень практичной и удобной. Настолько удобной, что ее и по сей день используют специалисты по трехмерной графике, настраивая алгоритмы визуализации и тестируя новые методы вычислений освещенности.

Стенки внутренней части корнельской коробки окрашены в разные цвета. Так, левая сторона имеет красный цвет, правая — зеленый, задняя стенка, а также «потолок» и «пол» — белые. Это необходимо для того, чтобы исследователь, проводящий опыты на данной модели, смог увидеть перенос цвета на соседние поверхности. Простейший пример такого эффекта вы можете наблюдать сами — поставьте на чистый белый лист бумаги что-то очень ярко-жёлтое, и вы увидите, как по периметру этого предмета лист приобретет желтоватый оттенок. Если проводить визуализацию по алгоритмам глобальной освещенности, в корнельской коробке произойдет аналогичный эффект.

⇡#Первые трехмерные компьютерные анимации

Исследовательская лаборатория Белла (Bell Laboratories) всегда была одной из самых крупных и перспективных команд ученых. Они занимались самыми насущными проблемами в различных областях науки. За годы своего существования ученые Bell Laboratories семь раз удостаивались Нобелевской премии.

Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)

И вполне закономерно, что первая трехмерная симуляция была выполнена именно специалистами этого центра. В 1963 году один из сотрудников Bell Laboratories по имени Эдвард Заяц (Edward E. Zajac) продемонстрировал написанную на «Фортране» программу симуляции движения спутника.

Эдвард Заяц, создавший с помощью компьютера первую 3D-анимацию

Эдвард Заяц, создавший с помощью компьютера первую 3D-анимацию

Он не ставил перед собой цель создать первую трехмерную анимацию, но получилось именно так.

Фрагмент 3D-анимации 1963 года

Фрагмент 3D-анимации 1963 года

В то время он работал в отделе математических исследований и занимался математическим моделированием для создания механизмов с двухгироскопической системой стабилизации, которая могла применяться в первых коммуникационных спутниках. Используя программу ORBIT (написанную другим сотрудником Bell Laboratories), ученый обработал свои выкладки, получив набор перфокарт с результатами. С помощью компьютерного записывающего устройства General Dynamics Electronics Stromberg-Carlson 4020 он распечатал микрофильм с анимацией.

Устройство, для печати на плёнке SC-4020

Устройство, для печати на плёнке SC-4020

Сюжет ее прост — два объекта связаны друг с другом силой гравитации и один предмет вращается вокруг второго как, скажем, Луна вокруг Земли. Графика, как вы видите, минимальна, но это 1963 год, и это действительно первая 3D-анимация.

Другой сотрудник Bell Laboratories, который стремился найти способ заставить компьютер рисовать трехмерную анимацию — Майкл Нолл (A. Michael Noll).

Майкл Нолл

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

Майкл Нолл

А чтобы ни у кого не осталось сомнений, в том, что эта анимация трехмерная, Майкл Нолл визуализировал ее в стереоскопическом режиме, прорисовав видео отдельно для правого и для левого глаз. Помимо «компьютерного балета», у Майкла было еще несколько занятных стереоскопических анимаций с четырехмерным кубом, четырехмерной сферой и др. Все изображения на анимации «перевернутые», то есть слева картинка для правого глаза, а справа — картинка для левого глаза. Так что, если вы захотите их посмотреть, фокусируйте зрение перед экраном монитора.

⇡#Первая 3D-модель автомобиля: как сканировать руками

Производство многих вещей в середине прошлого века было куда медленнее по сравнению с тем, как это происходит сейчас. Процесс создания прототипа, скажем, автомобиля, был очень длительным и сложным. Но все изменилось, когда Айвен Эдвард Сазерленд (Ivan Edward Sutherland) занялся разработкой интерактивного интерфейса, который помогал бы человеку и компьютеру «общаться» друг с другом.

Майкл Нолл

Когда-то Айвена Сазерленда спросили — как он мог за такое короткое время придумать и создать столько революционных идей, от концепции интерфейса всех САПР-систем до объектно-ориентированного подхода к программированию. В ответ Сазерленд только улыбнулся и развел руками: «Но мы же тогда не знали, что это все так сложно!».

Еще в 1963 году в рамках своей диссертации Айвен Сазерленд продемонстрировал «робота-чертежника» (это неофициальное название проекта — Robot Draftsman). Эта программа стала первым звеном в эволюции систем автоматического проектирования, которые сегодня известны под именем Sketchpad.

Майкл Нолл

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

Примеры работ, выполненных с помощью Sketchpad, из официального руководства к данной системе

Примеры работ, выполненных с помощью Sketchpad, из официального руководства к данной системе

Простая по сегодняшним меркам, программа Sketchpad требовала фантастических вычислительных мощностей того времени. Она запускалась на компьютере TX-2, который занимал несколько комнат исследовательской лаборатории имени Линкольна Массачусетского технологического института.

Лаборатория в Массачусетском технологическом институте

Лаборатория в Массачусетском технологическом институте

На видео ниже Сазерленд демонстрирует возможности нового человеко-машинного интерфейса.

Его система давала возможность творить невероятные для 1960-х годов вещи — по точкам рисовать линии и создавать на экране самые настоящие чертежи. А еще Sketchpad позволяла вносить изменения по ходу работы и масштабировать уже готовые элементы рисунка.

Одно из самых важных требований к Sketchpad, которое выдвигал Айвен, — точное выполнение инструкций оператора. Реализовать это было довольно сложно, так как пользователь мог «промахнуться» в нужной точке, да и само устройство ввода данных было несовершенным. Чтобы устранить эту проблему, в Sketchpad была использована система так называемых ограничителей. Эти ограничители позволяли абсолютно точно манипулировать деталями чертежа, например делать прямые параллельными или придавать двум отрезкам одинаковую длину. Для использования этих ограничителей применялся целый набор функциональных клавиш, который располагался рядом с экраном для ввода данных.

Схема манипулятора «световое перо», который использовался при работе со Sketchpad

Схема манипулятора «световое перо», который использовался при работе со Sketchpad

А вот на этой презентации автор первого программного обеспечения для САПР уже показывает вполне рабочий вариант интерактивного интерфейса с несколькими окнами проекций и очень здраво рассуждает о потенциальных возможностях работы с 3D.

За разработку системы Sketchpad Айвен был награжден самой престижной премией в информатике, вручаемой Ассоциацией вычислительной техники, — премией Тьюринга.

Современные преподаватели могут многому поучиться у Сазерланда. Этот человек полностью отдал себя науке. Да что там себя — он в прямом смысле слова не пожалел для этой цели автомобиль. Вместе с своими студентами Айвен вручную сделал первый трехмерный цифровой скан Volkswagen Beetle. Да, именно вручную.

Схема манипулятора «световое перо», который использовался при работе со Sketchpad

Задача была поставлена очень сложная. Тогда не было цифровых сканеров или цифровой фотографии, поэтому все приходилось делать «в лоб». Студенты как муравьи ползали по автомобилю и с помощью специальных мерных линеек рисовали на нем полигональную сетку, то, что сегодня специалисты по трехмерной графики называют wireframe, или каркас трехмерной модели. Перед началом работы с автомобиля были сняты некоторые детали — колеса, бампер и прочее, так как «оцифровывалась» одна основа — со всех сторон, сверху донизу. Оправдана ли была такая жертва? Конечно! Благодаря издевательствам над «жуком», Сазерленд разработал методику проецирования полигональных сеток на объект, благодаря чему и появилось современная 3D-графика.

Результат «ручной» оцифровки автомобиля

Результат «ручной» оцифровки автомобиля

А еще Айвен сумел заинтересовать своей работой множество людей, которые продолжили развивать направление компьютерной 2D- и 3D-графики. И на фоне успеха все как-то забыли, что Volkswagen Beetle вообще-то принадлежал жене Айвена, да и ее реакция на поступок мужа осталась загадкой.

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

А кем же были эти «муравьи»-студенты? Среди них было немало ярких личностей. Одного из тех, кто делал модель автомобиля, звали Джон Эдвард Уорнок (John Edward Warnock). Через десять лет после этой истории он станет соучредителем всем известной компании Adobe.

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

Другой молодой выпускник — Алан Кей (Alan Curtis Kay), тот самый, который изобрел концепт современных планшетных ПК под названием DynaBook (см. статью «Маленькие истории большого дизайна: от электробритв до планшетов»).

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

В создании этой модели также принимал участие младший научный сотрудник Буй Туонг Фонг (B˘i T˝ờng Phong). Сегодня модель Фонга используется во многих трехмерных движках.

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

Именно на модели первого трехмерного автомобиля Фонг протестировал свою знаменитую систему затенения, которая впоследствии получила его имя — Phong. В любом трехмерном редакторе, где имеется возможность настройки материалов, среди прочих вариантов можно выбрать алгоритм затенения по Фонгу. Метод Фонга основан на интерполяции нормалей поверхности по растрированным полигонам и позволяет вычислить цвет пикселей с учетом интерполированной нормали и модели отражения света.

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

Проект Сазерленда практически не имел аналогов. Единственная система, которая имела схожий принцип, — коммерческая разработка General Motors и IBM, которая называлась DAC-1 (Design Augmented by Computers). Эта консоль также управлялась при помощи светового пера, но была менее удобной и к тому же недешевой.

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

⇡#Одной левой: первая компьютерная анимация руки

Привычка гнаться за мощностями компьютерного железа привела к распространенному среди пользователей убеждению, будто без современной видеокарты невозможно получить 3D-изображение. Но это совсем не так. Представьте себе, что на третье измерение замахивались более полувека тому назад. Еще до того знаменательного момента, когда компьютер по-настоящему стал персональным, инженеры уже могли заниматься (и занимались) трехмерной анимацией. И приложил к этому руку будущий основатель и президент студии Pixar, а также глава Walt Disney Animation Studios и DisneyToon Studios Эдвин Кэтмелл (Edwin Catmull).

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса

Причем сделал это в буквальном смысле слова — он оцифровал свою левую кисть руки и создал демонстрационную анимацию движений пальцев на ней.

Кэтмелл с детства интересовался процессом создания анимации. У него даже был собственный самодельный стенд, на котором Эдвин пытался делать первые примитивные мультфильмы. Однако, как и многие другие выпускники высших учебных заведений, он не сразу нашел свое призвание. Сразу после окончания университета Юты он сначала пошел работать в компанию Boeing, но уже через год экономический кризис заставил Боинг сократить тысячи сотрудников, и Эд оказался среди них. После этого недавний выпускник снова вернулся в университет, чтобы продолжить обучение в аспирантуре.

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

Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса
Процесс оцифровки руки Кэтмелла

Процесс оцифровки руки Кэтмелла

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

Работа молодых ученых не пропала даром. Модель руки, вращающаяся в трехмерном пространстве, использовалась в фантастическом фильме Futureworld («Мир будущего») 1976 года. Он повествовал о курортном отеле, обслуживающий персонал которого состоит из роботов. Для имитации высоких технологий в ход пошло все — и отрендеренная анимация, и каркас трехмерной модели.

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

Процесс оцифровки руки Кэтмелла

Ее подготовил друг и коллега Кэтмелла — Фред Парк (Fred Parke), который также принимал участие в оцифровке модели левой руки Эдварда.

Фред Парк

Он даже попытался синхронизировать звук и движение губ компьютерной модели. И это в 1974 году!

Модель человека студенты между собой называли Болди, то есть «лысый». Ее каркас состоял из 900 треугольников.

В середине восьмидесятых лаборатория Доминика Массаро (Dominic Massaro) продолжила работу над этой моделью и уже на более продвинутой технике «оживила» голову, наделив ее большим набором речевой мимики. Сам же профессор Массаро слегка изменил имя на итальянский манер — Baldi и зарегистрировал как торговую марку. И уже не так давно под его началом был запущен выпуск приложения для iOS, в которых присутствует говорящая 3D-голова, сделанная еще в семидесятых годах.

Фред Парк
Фред Парк

⇡#Кошечка и уравнения: советская компьютерная анимация

Термин «компьютерная анимация» в середине прошлого века был чем-то уж очень экзотическим. Компьютеры, равно как и печатающие устройства, были только в распоряжении исследовательских организаций и, понятное дело, у военных. Ну, а в Советском Союзе про компьютерную анимацию люди и вовсе не слышали, за исключением небольшой группы энтузиастов, которые предполагали, что с помощью вычислительной техники вполне реально «нарисовать» анимацию. Один из таких людей — математик Николай Николаевич Константинов.

Фред Парк

Этот человек — настоящая легенда отечественной математики. Константинов — один из самых талантливых и неординарных ученых, который сумел не только сделать огромный вклад в отечественную науку и систему образования, но и передать свои знания последующим поколениям. Среди его учеников очень много крупных математиков и учёных, не говоря уже про победителей математических соревнований и олимпиад.

В далеком 1968 году он создал первую компьютерную анимацию на полторы минуты. Объектом его внимания стала кошка, отсюда и название мини-мультфильма — «Кошечка».

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

Поскольку мышцы животного, сокращаясь, управляют ускорением тех или иных частей тела, Константинов решил, что основой алгоритма движений животного вполне могут стать дифференциальные уравнения второго порядка. Графическая интерпретация силуэта кошки была достигнута с помощью символьного массива. Математик разбил контур кошки на параметрические «бруски», а затем с помощью гипотетических формул, описывающих походку животного, воссоздал простенький сценарий движений, который включал несколько шагов, поворот головы и замедление.

Фред Парк

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

Хотя сам Константинов впоследствии и опровергал реалистичность достигнутого результата, ссылаясь на гипотетичность математических выкладок, однако трудно не заметить, насколько правдоподобно двигается в кадре животное.

На кафедре общих проблем управления механико-математического факультета Московского университета была подготовлена теоретическая часть этой задачи, а отладка самой программы по просчету дифференциальных уравнений и ее эксплуатация производилась в Вычислительном центре Московского государственного педагогического института. Компьютер, который использовался для просчетов этой анимации, носил гордое название БЭСМ-4 («Большая Электронно-Счетная Машина»).

Фред Парк

БЭСМ-4 имела очень мало общего с тем, что мы сегодня называем компьютером. На всю страну было выпущено всего 30 таких устройств. Оперативная память в БЭСМ-4 была сделана на ферритных сердечниках (8192 слова, слова 45-разрядные, организованные в два куба по 4к слов). Производительность этого «шкафа» составляла до сорока тысяч операций в секунду. Принтер для большой электронно-счётной машины имел не менее ёмкое имя — алфавитно-цифровое печатающее устройство АЦПУ-128.

Если присмотреться к покадровой прорисовке, можно увидеть незначительные случайные нежелательные артефакты — по-своему это первые «глюки» компьютерной визуализации, то есть рендеринга.

Отдельные кадры анимации «Кошечка»

Отдельные кадры анимации «Кошечка»

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

Интересно, что в то время Константинов не был единственным человеком в СССР, кто использовал метод компьютерной анимации. Однако другие попытки визуализации на компьютере, такие как, например, анимация процессов внутри молекулы ДНК, были скучны и малопонятны неподготовленному зрителю.

⇡#Заключение

Сейчас компьютер — это универсальный инструмент. Он может использоваться и для рисования, и для создания анимации, и для подготовки видео. Единственное, чего ему не хватает, — творческого начала. Впрочем, возможно, и это дело времени.

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

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Из истории 3d графики

История развития компьютерной графики началось уже в 20 веке и продолжается сегодня.

На сегодняшний день, компьютерная графика стала неотъемлемой принадлежностью нашего быта. Она предстает перед нами во множестве видов, от интерфейса смартфонов и компьютеров, до анимации, игр, презентаций и других мультимедийных разновидностей. Также и в повседневной жизни бывает все чаще и чаще нужной компьютерная графика — например, в рекламе или при подготовке к научному докладу. Однако, не каждый из нас может справиться самостоятельно с такой графикой, и с помощью копрограмм создать изображение. Для этого и существуют такие сайты, как, например, сайт Продакшн-студия «КОМПАС». Там предлагается огромный диапазон услуг по компьютерной графике, в частности выполнение заказов с использованием технологии, которая и называется 3d графика. Кроме того, на сайте содержится немало важной и интересной информации по сути компьютерной графики, ее истории, концепциях и технологиях создания изображения с помощью графических программ. Так, например, подробно рассказывается об основных этапах создания анимационного видеоролика: брифинге, пре-продакшне, продакшне, постпродакшне и релизе. Это не просто познавательная информация, а подготовка клиента к самостоятельной работе. Иными словами, перед Вами сайт, полный всего, что открывает мир компьютерной графики, и является путеводителем по нему.

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




Посмотрим на пример 3d графики в действии:

А если вспомнить, как всё начиналось…

В далеких шестидесятых годах, точнее это был год 1961 — 1962 гг. молодой программист Стив Рассел и его товарищи по Массачусетскому технологическому институту (М1Т) создали первую в истории человечества компьютерную игру с графикой — Spacewar. Это была игра «Космические войны». Ее создание заняло около 200 человеко-часов, однако графика, естественно, очень отличалась от представленной в современных игpax.

Дальше, в 1963 году американский ученый Айвен Сазерленд создал фактически первый компьютерный векторный редактор — программно-аппаратный комплекс Sketchpad, блокнот дня набросков, позволяющий рисовать точки, линии и окружности на трубке цифровым пером. Поддерживались базовые действия с примитивами, такие как перемещение, копирование и др. В середине 1960-х гг. фирма ITEK под руководством Т. Мофетта и Н. Тейлора разработала первую цифровую электронную чертежную машину.

В 1964 году General Motors совместно с IBM представила систему автоматизированного проектирования DAC-1.

В 1968 году произошел настоящий прорыв в компьютерной графике и анимации. Группа ученых и инженеров под руководством П.Н. Константинова создала компьютерную математическую модель движения кошки. Машина БЭСМ-4. выполняя написанную ими программу решения дифференциальных уравнений, рисовала мультфильм «Кошечка», для визуализации которого использовался алфавитно-цифровой принтер. С появлением возможности запоминать изображения и выводить их на компьютерном дисплее в компьютерной графике наметился значительный прогресс.

В настоящее время компьютерная графика перешла во все сферы нашей жизни, без нее нет ни рекламы, ни игр, ни фильмов, ни видео-клипов и она делает нашу жизнь  насыщенной и интересной…

Коментарии:

  • < Назад
  • Вперёд >

История современного графического процессора

Эволюция современных графических процессоров начинается с появления первых 3D-карт расширения в 1995 году, за которыми последовало широкое распространение 32-разрядных операционных систем и доступных персональных компьютеров.

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

Первые дни потребительской 3D-графики были Дикий Западом конкурирующих идей. От того, как реализовать оборудование, до использования различных методов рендеринга и их интерфейсов приложений и данных, а также постоянных гиперболических имен. Ранние графические системы имели фиксированный функциональный конвейер (FFP) и архитектуру, следовавшую очень жесткому пути обработки, с использованием почти такого же количества графических API-интерфейсов, что и производители 3D-чипов.

Хотя трехмерная графика превратила довольно скучную индустрию ПК в световое и волшебное шоу, они обязаны своим существованием новаторским усилиям поколений. Это первая часть из серии из четырех статей, в которых в хронологическом порядке подробно рассматривается история GPU. От первых дней потребительской 3D-графики до 3Dfx Voodoo, изменившего правила игры, консолидации отрасли на рубеже веков и сегодняшнего современного GPGPU.

1976 — 1995: Первые дни потребительской 3D-графики

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

Во второй половине 1970-х годов появилось множество дизайнов, заложивших основу для 3D-графики, какой мы ее знаем.Например, видеочип RCA Pixie (CDP1861) в 1976 году был способен выдавать совместимый с NTSC видеосигнал с разрешением 62×128 или 64×32 для злополучной консоли RCA Studio II.

Год спустя за видеочипом последовал адаптер телевизионного интерфейса (TIA) 1A, который был интегрирован в Atari 2600 для создания экранного изображения, звуковых эффектов и контроллеров ввода для чтения. Разработкой TIA руководил Джей Майнер, который позже также руководил разработкой специальных микросхем для компьютера Commodore Amiga.

Atari 2600 выпущен в сентябре 1977 г.

В 1978 году Motorola представила генератор видеоадресов MC6845. Это стало основой для карт IBM PC Monochrome and Color Display Adapter (MDA / CDA) 1981 года и обеспечило ту же функциональность для Apple II. Позднее в том же году Motorola добавила генератор видеодисплея MC6847, который вошел в ряд персональных компьютеров первого поколения, включая Tandy TRS-80.

Аналогичное решение от дочерней компании Commodore MOS Tech, VIC, обеспечивало вывод графики для домашних компьютеров Commodore 1980-83 годов.

В ноябре следующего года в Atari 400 дебютировали ANTIC (контроллер алфавитно-цифрового телевизионного интерфейса) LSI и сопроцессор CTIA / GTIA (адаптер цветного или графического телевизионного интерфейса). ANTIC обрабатывал инструкции 2D-дисплея, используя прямой доступ к памяти (DMA). Как и большинство сопроцессоров видео, он может генерировать графику игрового поля (фон, титульные экраны, отображение очков), в то время как CTIA генерирует цвета и подвижные объекты. Yamaha и Texas Instruments поставляли аналогичные ИС различным производителям домашних компьютеров.

Адаптер для монохромного дисплея IBM PC

Следующие шаги в эволюции графики были в первую очередь в профессиональных областях.

Intel использовала свой графический чип 82720 в качестве основы для многомодовой платы видеоконтроллера iSBX 275 за 1000 долларов. Он мог отображать восемь цветных данных с разрешением 256×256 (или монохромный при 512×512). Его 32 КБ памяти дисплея было достаточно для рисования линий, дуг, кругов, прямоугольников и растровых изображений символов.Чип также имел возможность масштабирования, разделения экрана и прокрутки.

SGI быстро разработала свою графику IRIS для рабочих станций — графическую плату GR1.x с возможностью установки отдельных дополнительных (дочерних) плат для параметров цвета, геометрии, Z-буфера и наложения / подложки.

Многомодовая плата видеоконтроллера iSBX 275 Intel за 1000 долларов была способна отображать восемь цветных данных с разрешением 256×256 (или монохромное при 512×512).

Промышленная и военная 3D-виртуализация была относительно хорошо развита в то время.IBM, General Electric и Martin Marietta (которые должны были купить аэрокосмическое подразделение GE в 1992 году) вместе с множеством военных подрядчиков, технологических институтов и НАСА выполняли различные проекты, которые требовали технологий для моделирования военных и космических технологий. Военно-морской флот также разработал имитатор полета с использованием 3D-виртуализации на компьютере Whirlwind Массачусетского технологического института в 1951 году.

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

Компания

Evans & Sutherland, которая должна была предоставить профессиональные серии видеокарт, такие как Freedom и REALimage, также предоставила графику для авиасимулятора CT5, пакет стоимостью 20 миллионов долларов, управляемый мэйнфреймом DEC PDP-11.Иван Сазерленд, соучредитель компании, в 1961 году разработал компьютерную программу под названием Sketchpad, которая позволяла рисовать геометрические фигуры и отображать их на ЭЛТ в реальном времени с помощью светового пера.

Это был прародитель современного графического интерфейса пользователя (GUI).

В менее эзотерической области персональных компьютеров серия EGA (Extended Graphics Adapter) 82C43x от Chips and Technologies обеспечила столь необходимую конкуренцию адаптерам IBM, и примерно в 1985 году их можно было найти во многих клонах PC / AT.Год был примечателен и для Commodore Amiga, которая поставлялась с чипсетом OCS. Набор микросхем состоял из трех основных компонентных микросхем — Agnus, Denise и Paula — что позволяло не зависеть от ЦП определенного объема вычислений графики и звука.

В августе 1985 года трое иммигрантов из Гонконга, Квок Юан Хо, Ли Лау и Бенни Лау, основали компанию Array Technology Inc. в Канаде. К концу года название изменилось на ATI Technologies Inc.

.

ATI выпустила свой первый продукт в следующем году — OEM Color Emulation Card.Он использовался для вывода монохромного зеленого, желтого или белого люминофорного текста на черном фоне на TTL-монитор через 9-контактный разъем DE-9. Карта была оснащена как минимум 16 КБ памяти, и на нее приходился большой процент продаж ATI в размере 10 миллионов канадских долларов в первый год работы компании. В основном это было сделано благодаря контракту, по которому Commodore Computers поставляла около 7000 микросхем в неделю.

Карта эмуляции цвета

ATI поставлялась с минимальным объемом памяти 16 КБ и обеспечивала большую часть продаж компании в размере 10 миллионов канадских долларов за первый год работы.

Появление цветных мониторов и отсутствие стандарта среди множества конкурентов в конечном итоге привело к образованию Ассоциации стандартов видеоэлектроники (VESA), членом-учредителем которой была ATI вместе с NEC и шестью другими производителями графических адаптеров.

В 1987 году ATI добавила серию Graphics Solution Plus к своей линейке продуктов для OEM-производителей, которая использовала 8-битную шину IBM PC / XT ISA для компьютеров IBM PC на базе Intel 8086/8088. Чип поддерживает графические режимы MDA, CGA и EGA с помощью микропереключателей.По сути, это был клон платы Plantronics Colorplus, но с местом для 64 КБ памяти. PEGA1, 1a и 2a (256kB) от Paradise Systems, выпущенные в 1987 году, также были клонами Plantronics.

ATI EGA 800: 16-цветная эмуляция VGA, поддержка 800×600

Серия EGA Wonder с 1 по 4 поступила в продажу в марте по цене 399 долларов, с 256 КБ DRAM, а также совместимостью с эмуляцией CGA, EGA и MDA с разрешением до 640×350 и 16 цветами. Расширенная EGA была доступна для серий 2,3 и 4.

Верхний предел составляли EGA Wonder 800 с 16-цветной эмуляцией VGA и поддержкой разрешения 800×600, а также карта VGA Improved Performance (VIP), которая по сути представляла собой EGA Wonder с добавленным цифро-аналоговым преобразователем (DAC). обеспечивают ограниченную совместимость с VGA. Последний стоил 449 долларов плюс 99 долларов за модуль расширения Compaq.

ATI была далеко не единственной, кто покорил волну потребительского аппетита к персональным компьютерам.

В этом году появилось много новых компаний и продуктов., Среди них были Trident, SiS, Tamerack, Realtek, Oak Technology, LSI’s G-2 Inc., Hualon, Cornerstone Imaging и Winbond — все они были образованы в 1986-87 годах. Тем временем такие компании, как AMD, Western Digital / Paradise Systems, Intergraph, Cirrus Logic, Texas Instruments, Gemini и Genoa, выпустят свои первые графические продукты в этот период.

Серия

Wonder от ATI продолжала получать огромные обновления в течение следующих нескольких лет.

В 1988 году стало доступно графическое решение Small Wonder с портом игрового контроллера и опциями композитного выхода (для эмуляции CGA и MDA), а также EGA Wonder 480 и 800+ с поддержкой расширенного EGA и 16-битного VGA, а также VGA Wonder и Wonder 16 с добавленной поддержкой VGA и SVGA.

Wonder 16 был оснащен 256 КБ памяти, продаваемой по цене 499 долларов, а вариант на 512 КБ стоил 699 долларов.

Обновленная серия VGA Wonder / Wonder 16 появилась в 1989 году, включая VGA Edge 16 по сниженной цене (серия Wonder 1024). Новые функции включают порт «шина-мышь» и поддержку VESA Feature Connector. Это был разъем с золотыми пальцами, похожий на разъем для укороченного слота шины данных, и он соединялся с помощью ленточного кабеля с другим видеоконтроллером, чтобы обойти перегруженную шину данных.

Обновления серии Wonder продолжали быстро развиваться в 1991 году. Карта Wonder XL добавила цветовую совместимость VESA 32K и Sierra RAMDAC, что повысило максимальное разрешение дисплея до 640×480 при 72 Гц или 800×600 при 60 Гц. Цены варьировались от 249 долларов (256 КБ), 349 долларов (512 КБ) и 399 долларов за опцию 1 МБ ОЗУ. Также была доступна версия по сниженной цене под названием VGA Charger, основанная на модели Basic-16 предыдущего года.

Графическая карта ATI Ultra ISA (Mach8 + VGA)

Серия Mach стартовала с Mach8 в мае того же года.Он продавался как микросхема или плата, которая позволяла через программный интерфейс (AI) выгружать ограниченные операции 2D-рисования, такие как рисование линий, цветовая заливка и комбинация растровых изображений (Bit BLIT). ATI добавила вариант Wonder. XL, который включает в себя чип Creative Sound Blaster 1.5 на расширенной печатной плате. Известный как VGA Stereo-F / X, он был способен имитировать стерео из монофайлов Sound Blaster с качеством, приближенным к FM-радио.

Графические платы

, такие как ATI VGAWonder GT, предлагали вариант 2D + 3D, объединяя Mach8 с графическим ядром (28800-2) VGA Wonder + для выполнения своих функций 3D.Wonder и Mach8 подтолкнули ATI к отметке продаж в 100 миллионов канадских долларов за год, в основном благодаря переходу на Windows 3.0 и увеличению 2D-рабочих нагрузок, которые можно было использовать с ней.

S3 Graphics была образована в начале 1989 года и выпустила свой первый чип 2D-ускорителя и графическую карту восемнадцать месяцев спустя, S3 911 (или 86C911). Основные характеристики последнего включают 1 МБ видеопамяти и поддержку 16-битного цвета.

В том же году на смену S3 911 пришел 924 — по сути, это был переработанный 911 с 24-битным цветом — и снова обновленный в следующем году 928, который добавил 32-битный цвет, и ускорители 801 и 805.801 использовал интерфейс ISA, а 805 использовал VLB. Между выпуском 911 и появлением 3D-ускорителя рынок был наводнен дизайном 2D-графического интерфейса пользователя, основанным на оригинале S3, в частности, от Tseng labs, Cirrus Logic, Trident, IIT, Mach42 от ATI и MAGIC RGB от Matrox.

В январе 1992 года Silicon Graphics Inc (SGI) выпустила OpenGL 1.0, многоплатформенный интерфейс прикладного программирования (API) для двухмерной и трехмерной графики.

Microsoft разрабатывала собственный конкурирующий API под названием Direct3D и не особо заботилась о том, чтобы OpenGL работал так хорошо, как мог бы под Windows.

OpenGL произошел от собственного API SGI, который называется IRIS GL (графическая библиотека интегрированной системы обработки растровых изображений). Это была инициатива, направленная на то, чтобы сохранить в IRIS неграфическую функциональность и позволить API работать в системах, отличных от SGI, поскольку на горизонте вырисовывались конкурирующие поставщики со своими собственными проприетарными API.

Первоначально OpenGL был нацелен на рынок профессиональных UNIX, но благодаря удобной для разработчиков поддержке реализации расширений он был быстро адаптирован для 3D-игр.

Microsoft разрабатывала собственный конкурирующий API под названием Direct3D и не особо заботилась о том, чтобы OpenGL работал так же хорошо, как мог бы в новых операционных системах Windows.

Вещи достигли апогея несколько лет спустя, когда Джон Кармак из id Software, чья ранее выпущенная Doom произвела революцию в компьютерных играх, портировал Quake для использования OpenGL в Windows и открыто критиковал Direct3D.


Забегая вперед: GLQuake, выпущенный в 1997 году, по сравнению с оригинальным Quake

Непримиримость Microsoft возросла, поскольку они отказали в лицензировании драйвера мини-клиента OpenGL (MCD) в Windows 95, что позволило бы поставщикам выбирать, какие функции будут иметь доступ к аппаратному ускорению.В ответ SGI разработала устанавливаемый клиентский драйвер (ICD), который не только предоставлял те же возможности, но и делал это даже лучше, поскольку MCD охватывала только растеризацию, а ICD добавляла функции освещения и преобразования (T&L).

Во время подъема OpenGL, который первоначально завоевал популярность на арене рабочих станций, Microsoft была занята наблюдением за развивающимся игровым рынком, разрабатывая собственные проприетарные API. В феврале 1995 года они приобрели RenderMorphics, API Reality Lab которого завоевал популярность у разработчиков и стал ядром Direct3D.

Примерно в то же время Брайан Хук из 3dfx писал API Glide, который должен был стать доминирующим API для игр. Частично это произошло из-за участия Microsoft в проекте Talisman (экосистема рендеринга на основе плиток), который разбавил ресурсы, предназначенные для DirectX.

По мере того, как D3D стал широко доступен после принятия Windows, проприетарные API, такие как S3d (S3), Matrox Simple Interface, Creative Graphics Library, C Interface (ATI), SGL (PowerVR), NVLIB (Nvidia), RRedline (Rendition) и Glide начали терять популярность у разработчиков.

Не помогло то, что некоторые из этих проприетарных API были объединены с производителями плат, которым все больше требовалось добавить в быстро расширяющийся список функций. Это включало более высокое разрешение экрана, увеличенную глубину цвета (с 16 бит до 24, а затем 32) и улучшения качества изображения, такие как сглаживание. Все эти функции требовали увеличения пропускной способности, графической эффективности и ускорения цикла продукта.

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

1993 год ознаменовался появлением новых конкурентов в области графики, в первую очередь Nvidia, основанной в январе того же года Джен-Хсун Хуанг, Кертис Прием и Крис Малаховски. Хуанг ранее был директором по Coreware в LSI, а Прием и Малаховски пришли из Sun Microsystems, где они ранее разработали графическую архитектуру GX на основе SunSPARC.

Вскоре после этого к Nvidia присоединились

других новичков: Dynamic Pictures, ARK Logic и Rendition.

Неустойчивость рынка уже вынудила ряд графических компаний уйти из бизнеса или быть поглощенными конкурентами.Среди них были Tamerack, Gemini Technology, Genoa Systems, Hualon, Headland Technology (купленная SPEA), Acer, Motorola и Acumos (купленная Cirrus Logic).

Одной из компаний, набирающих силу, была ATI.

Как предшественник серии All-In-Wonder, в конце ноября был анонсирован чип ATI 68890 PC TV декодера, который дебютировал внутри Video-It! открытка. Чип мог захватывать видео с разрешением 320×240 при 15 кадрах в секунду или 160×120 при 30 кадрах в секунду, а также сжимать / распаковывать в реальном времени благодаря встроенному процессору Intel i750PD VCP (процессор сжатия видео).Он также мог связываться с графической платой через шину данных, тем самым устраняя необходимость в ключах или портах и ​​ленточных кабелях.

Видео-это! продавалась по цене 399 долларов, в то время как модель с меньшими возможностями под названием Video-Basic завершила линейку.

Пять месяцев спустя, в марте, ATI с опозданием представила 64-битный ускоритель; Mach64.

Финансовый год не был благоприятным для ATI: она потеряла 2,7 миллиона канадских долларов, поскольку она упала на рынке в условиях жесткой конкуренции.В число конкурирующих плат входили S3 Vision 968, который выбирали многие производители плат, и Trio64, который получил OEM-контракты от Dell (Dimension XPS), Compaq (Presario 7170/7180), AT&T (Globalyst), HP (Vectra VE 4). ) и DEC (Venturis / Celebris).

Vision 968: первый видеоускоритель движения S3

Выпущенный в 1995 году, Mach64 стал заметным новичком. Он стал первым графическим адаптером, доступным для компьютеров PC и Mac в форме Xclaim (450 и 650 долларов в зависимости от встроенной памяти), и, наряду с Trio от S3, предлагал ускорение воспроизведения видео в полном движении.

Mach64 также положил начало первым профессиональным видеокартам ATI, 3D Pro Turbo и 3D Pro Turbo + PC2TV, по привлекательной цене 599 долларов за вариант 2 МБ и 899 долларов за 4 МБ.

ATI Mach64 VT с поддержкой ТВ-тюнера

В следующем месяце на сцену вышел технологический стартап под названием 3DLabs, рожденный, когда графическое подразделение DuPont Pixel купило дочернюю компанию у своей материнской компании вместе с процессором GLINT 300SX, способным выполнять рендеринг OpenGL, обработку фрагментов и растеризацию.Из-за высокой цены карты компании изначально были ориентированы на профессиональный рынок. Fujitsu Sapphire2SX 4MB продавалась по розничной цене от 1600 до 2000 долларов, а ELSA GLoria 8 с 8-мегабайтной памятью — от 2600 до 2850 долларов. Однако 300SX был предназначен для игрового рынка.

S3 в то время казался повсюду. В маркировке OEM высокого класса преобладали чипсеты Trio64, которые объединяли ЦАП, графический контроллер и синтезатор часов в одном кристалле.

Gaming GLINT 300SX 1995 года обладал значительно уменьшенными 2 МБ памяти.Он использовал 1 МБ для текстур и Z-буфера, а другой — для буфера кадра, но имел возможность увеличить объем VRAM для совместимости с Direct3D еще на 50 долларов по сравнению с базовой ценой в 349 долларов. Карта не смогла добиться успеха на и без того переполненном рынке, но 3DLabs уже работала над преемником серии Permedia.

S3 в то время казался повсюду. В маркировке OEM высокого класса преобладали чипсеты Trio64, которые объединяли ЦАП, графический контроллер и синтезатор часов в одном кристалле.Они также использовали унифицированный буфер кадра и поддерживаемое аппаратное наложение видео (выделенная часть графической памяти для рендеринга видео в соответствии с требованиями приложения). Trio64 и его родственник по 32-битной шине памяти, Trio32, были доступны как OEM-блоки и автономные карты от таких поставщиков, как Diamond, ELSA, Sparkle, STB, Orchid, Hercules и Number Nine. Цены на Diamond Multimedia варьировались от 169 долларов за карту на базе ViRGE до 569 долларов за видео Diamond Stealth64 на базе Trio64 + с 4 МБ видеопамяти.

Основной сегмент рынка также включал предложения от Trident, давнего OEM-поставщика простых 2D графических адаптеров, который недавно добавил в свою линейку чип 9680.Чип обладал большинством функций Trio64, а цены на платы обычно составляли около 170-200 долларов. Они предложили приемлемую производительность 3D в этом диапазоне с хорошей возможностью воспроизведения видео.

Среди других новичков на массовом рынке были Power Player 9130 от Weitek и ProMotion 6410 от Alliance Semiconductor (обычно называемые Alaris Matinee или OptiViewPro от FIS). Оба предлагали отличное масштабирование в зависимости от скорости процессора, в то время как последний сочетал мощный механизм масштабирования со схемой антиблокировки для получения плавного воспроизведения видео, которое было намного лучше, чем в предыдущих чипах, таких как ATI Mach64, Matrox MGA 2064W и S3 Vision968.

Nvidia выпустила свой первый графический чип NV1 в мае и стала первым коммерческим графическим процессором, способным выполнять 3D-рендеринг, ускорение видео и интегрированное ускорение графического интерфейса.

Они объединились с ST Microelectronic для производства микросхем по их 500-нм техпроцессу, а последняя также продвигала версию чипа STG2000. Несмотря на то, что это не было большим успехом, это была первая финансовая прибыль для компании. К сожалению для Nvidia, как только в сентябре начались поставки первых плат от поставщиков (в частности, Diamond Edge 3D), Microsoft завершила работу и выпустила DirectX 1.0.

Графический API D3D подтвердил, что он полагался на рендеринг треугольных многоугольников, тогда как NV1 использовал четырехкратное наложение текстуры. Ограниченная совместимость с D3D была добавлена ​​через драйвер, чтобы обернуть треугольники как квадратичные поверхности, но отсутствие игр, адаптированных для NV1, сделало карту мастером на все руки.

Большинство игр были портированы с Sega Saturn. NV1 4 МБ со встроенными портами Saturn (по два на каждую скобу расширения, подключенную к карте с помощью ленточного кабеля) в сентябре 1995 года стоил около 450 долларов.

Поздние изменения Microsoft и запуск DirectX SDK не позволили производителям плат напрямую получить доступ к оборудованию для воспроизведения цифрового видео. Это означало, что практически все дискретные видеокарты имели проблемы с функциональностью в Windows 95. Драйверы под Win 3.1 от различных компаний, напротив, были в целом безупречными.

Первая публичная демонстрация его состоялась на конференции по видеоиграм E3, проходившей в Лос-Анджелесе в мае следующего года. Сама карта стала доступна через месяц.3D Rage объединил 2D-ядро Mach64 с возможностями 3D. ATI анонсировала свой первый чип 3D-ускорителя, 3D Rage (также известный как Mach 64 GT), в ноябре 1995 года.

Поздние изменения спецификации DirectX означали, что у 3D Rage были проблемы совместимости со многими играми, в которых использовался API — в основном, отсутствие буферизации глубины. Со встроенным буфером кадра EDO RAM объемом 2 МБ, режим 3D был ограничен разрешением 640x480x16 бит или 400x300x32 бит. Попытка 32-битного цвета при разрешении 600×480 обычно приводила к искажению цвета на экране, а разрешение 2D достигало максимума 1280×1024.Если игровая производительность была посредственной, возможность полноэкранного воспроизведения MPEG, по крайней мере, каким-то образом уравновешивала набор функций.

Гонка производительности закончилась еще до того, как началась, и 3Dfx Voodoo Graphics фактически уничтожила всех конкурентов.

ATI переработала чип, и в сентябре выпустила Rage II. Он исправил проблемы D3DX первого чипа в дополнение к добавлению поддержки воспроизведения MPEG2. Первоначальные карты, однако, по-прежнему поставлялись с 2 МБ памяти, что снижало производительность и имело проблемы с преобразованием перспективы / геометрии. Поскольку серия была расширена за счет включения Rage II + DVD и 3D Xpression +, объем памяти увеличился до 8 МБ.

Хотя ATI первой представила на рынке решение для трехмерной графики, вскоре на сцену вышли другие конкуренты с различными идеями реализации трехмерной графики. А именно 3dfx, Rendition и VideoLogic.

Screamer 2, выпущенный в 1996 году, работающий на Windows 95 с графикой 3dfx Voodoo 1

В гонке за выпуск новых продуктов на рынок 3Dfx Interactive победила Rendition и VideoLogic. Однако гонка производительности закончилась еще до того, как началась, и 3Dfx Voodoo Graphics фактически уничтожила всех конкурентов.

Эта статья — первая из четырех статей. Если вам понравилось, продолжайте читать, пока мы прогуливаемся по переулку памяти к временам расцвета 3Dfx, Rendition, Matrox и молодой компании Nvidia.

,

3D компьютерной графики — Википедия переиздана // WIKI 2

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

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

Объекты в компьютерной трехмерной графике часто называют трехмерными моделями.В отличие от визуализированного изображения данные модели содержатся в файле графических данных. 3D-модель — это математическое представление любого трехмерного объекта ; технически модель не является графикой , пока она не будет отображена. Модель может отображаться визуально как двухмерное изображение с помощью процесса, называемого 3D-рендерингом, или ее можно использовать в неграфическом компьютерном моделировании и расчетах. С помощью 3D-печати модели преобразуются в реальное физическое 3D-представление самих себя с некоторыми ограничениями в отношении того, насколько точно физическая модель может соответствовать виртуальной модели. [1]

Энциклопедия YouTube

  • 1/5

    Просмотры:

    757715

    128 089

    34 856

    48 386

    93135

  • ✪ Руководство для начинающих по изучению компьютерной 3D-графики

  • ✪ 3D-графика: ускоренный курс информатики № 27

  • ✪ Объяснение 3D компьютерной графики

  • ✪ КОМПЬЮТЕРНАЯ ГРАФИКА 3D ТРАНФОРМАЦИИ

  • ✪ 3D компьютерная графика с использованием OpenGL

Содержание

История

Уильяму Феттеру приписывают введение термина компьютерная графика в 1961 году [2] [3] для описания своей работы в Boeing.Одним из первых представлений компьютерной анимации был Futureworld (1976), который включал в себя анимацию человеческого лица и руки, которая первоначально появилась в экспериментальном короткометражном фильме 1971 года A Computer Animated Hand , созданном студентом Университета Юты Эдвином. Кэтмелл и Фред Парк. [4]

Программное обеспечение для трехмерной компьютерной графики стало появляться для домашних компьютеров в конце 1970-х годов. Самый ранний известный пример — это 3D Art Graphics , набор эффектов 3D компьютерной графики, написанный Кадзумасой Митазава и выпущенный в июне 1978 года для Apple II. [5] [6]

Обзор

Создание компьютерной 3D-графики

делится на три основных этапа:

  1. 3D моделирование — процесс формирования компьютерной модели формы объекта
  2. Макет и анимация — размещение и перемещение объектов внутри сцены
  3. 3D-рендеринг — компьютерные расчеты, которые на основе расположения источников света, типов поверхностей и других качеств создают изображение

Моделирование

Модель описывает процесс формирования формы объекта.Двумя наиболее распространенными источниками 3D-моделей являются те, которые художник или инженер создает на компьютере с помощью какого-либо инструмента 3D-моделирования, и модели, отсканированные в компьютер из реальных объектов. Модели также можно создавать процедурно или с помощью физического моделирования. По сути, 3D-модель формируется из точек, называемых вершинами (или вершинами), которые определяют форму и образуют многоугольники. Многоугольник — это область, образованная как минимум из трех вершин (треугольник). Многоугольник из n точек — это n-угольник. [7] Общая целостность модели и ее пригодность для использования в анимации зависят от структуры многоугольников.

Материалы и текстуры

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

Верстка и анимация

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

Рендеринг

Rendering преобразует модель в изображение либо путем имитации переноса света для получения фотореалистичных изображений, либо путем применения художественного стиля, как при нефотореалистичной визуализации.Две основные операции в реалистичном рендеринге — это перенос (сколько света попадает из одного места в другое) и рассеяние (как поверхности взаимодействуют со светом). Этот шаг обычно выполняется с помощью программного обеспечения для трехмерной компьютерной графики или API трехмерной графики. Преобразование сцены в подходящую для рендеринга форму также включает в себя 3D-проекцию, которая отображает трехмерное изображение в двух измерениях. Хотя программное обеспечение для 3D-моделирования и САПР также может выполнять 3D-рендеринг (например, Autodesk 3ds Max или Blender), также существует эксклюзивное ПО для 3D-рендеринга. [ требуется ссылка ]

Программное обеспечение

Программное обеспечение для компьютерной графики

создает компьютерные изображения (CGI) посредством 3D-моделирования и 3D-рендеринга или создает 3D-модели для аналитических, научных и промышленных целей.

Моделирование

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

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

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

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

Система автоматизированного проектирования (САПР)

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

Дополнительные инструменты

После создания видео студии затем редактируют или объединяют видео с помощью таких программ, как Adobe Premiere Pro или Final Cut Pro на среднем уровне или Autodesk Combustion, Digital Fusion, Shake на высоком уровне. Программное обеспечение Match Moving обычно используется для сопоставления видео в реальном времени с видео, сгенерированным компьютером, обеспечивая синхронизацию обоих изображений при движении камеры.

Использование движков компьютерной графики в реальном времени для создания кинематографической продукции называется машинимой. [8]

Сообщества

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

Отличия от других видов компьютерной графики

Отличие от фотореалистичной 2D-графики

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

Псевдо-3D и истинное 3D

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

См. Также

Графика и программное обеспечение

Сферы применения

Список литературы

Внешние ссылки


Эта страница последний раз была отредактирована 12 августа 2020 в 13:12

,

Это старше, чем вы думаете [Обновлено]

Чему почти 40 лет, но он выглядит совершенно новым? Хотите верьте, хотите нет, но это 3D-печать. Да, технология аддитивного производства существует со времен Рейгана. Вот краткий экскурс в историю 3D-печати.

1981–1999: зарождение аддитивного производства

В 1981 году Хидео Кодама из муниципального научно-исследовательского института промышленности Нагои опубликовал свой отчет о функциональной системе быстрого прототипирования с использованием фотополимеров (подробнее об этом через минуту).Твердая печатная модель была построена в несколько слоев, каждый из которых соответствовал поперечному сечению модели. Звучит знакомо?

Три года спустя, в 1984 году, Чарльз Халл вошел в историю 3D-печати, изобретя стереолитографию. Стереолитография позволяет дизайнерам создавать 3D-модели с использованием цифровых данных, которые затем можно использовать для создания материальных объектов.

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

В 1992 году Билл Клинтон играл на саксофоне на шоу The Arsenio Hall Show , и компания 3D Systems (компания Чарльза Халла) создала первую в мире стереолитографическую аппаратуру (SLA), которая позволила изготавливать сложные детали слой за слоем. , в разы быстрее, чем обычно.В том же году стартап DTM выпустил первую в мире машину для селективного лазерного спекания (SLS), которая стреляет лазером по порошку, а не по жидкости.

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

1999–2010: Подростковая история 3D-печати

Подготовка к 2000 году была захватывающей не только потому, что в 1999 году оригинальный Beverly Hills 90210 вышел в свой последний сезон в эфире, но и потому, что первый напечатанный на 3D-принтере орган был имплантирован человеку.Ученые из Института регенеративной медицины Уэйк-Форест напечатали синтетические каркасы человеческого мочевого пузыря, а затем покрыли их клетками пациентов-людей. Затем вновь сгенерированная ткань имплантировалась пациентам, практически без шансов, что их иммунная система отвергнет их, поскольку они были сделаны из их собственных клеток.

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

Это было также десятилетие, когда 3D-печать встретила движение за открытый исходный код. В 2005 году проект RepRap д-ра Адриана Бойера запустил инициативу с открытым исходным кодом для создания 3D-принтера, который мог бы построить сам себя — или, по крайней мере, напечатать большую часть своих собственных деталей. Дарвин, выпущенный в 2008 году, представляет собой самовоспроизводящийся принтер, способный делать именно это. Внезапно люди повсюду получили возможность создавать все, что они могли придумать, самостоятельно (см. Также: Kickstarter, запущенный в 2009 году и с тех пор финансировавший бесчисленное количество проектов, связанных с 3D-печатью).

К середине 2000-х годов демократизация производства захватила воображение общественности, как и идея массовой настройки (которая, в отличие от гигантских креветок, на самом деле не является оксюмороном). Первая машина SLS стала коммерчески жизнеспособной в 2006 году, что открыло двери для производства промышленных деталей по запросу. Стартап по 3D-печати Objet (теперь объединенный со Stratasys) построил машину, которая могла печатать на нескольких материалах, что позволило изготавливать одну деталь в разных версиях с разными свойствами материала.

Интенсивно творческие инновации десятилетия завершились запуском сервисов совместного творчества, таких как Shapeways, рынок 3D-печати, где дизайнеры могут получить отзывы от потребителей и других дизайнеров, а затем по доступной цене изготовить свою продукцию. В качестве вишенки на сцене появился MakerBot, который предоставил производителям наборы для самостоятельной сборки с открытым исходным кодом для создания собственных 3D-принтеров и продуктов. В этот момент барьеры для входа дизайнеров и изобретателей падали с каждым днем.

2011 – Настоящее время: 3D-печать в расцвете сил

Сегодня, оглядываясь назад всего на последние несколько лет, трудно не почувствовать, что люди живут в будущем. Скоро в продаже: реактивные ранцы, напечатанные на 3D-принтере!

Ну почти. Хотя цена на 3D-принтеры быстро упала, а точность 3D-печати повысилась, новаторы выходят за рамки того, о чем Чарльз Халл мог только мечтать. Дизайнеры больше не ограничиваются печатью пластиком. Показательный пример: теперь вы можете напечатать обручальное кольцо своей мечты из золота или серебра.Инженеры Саутгемптонского университета управляли первым в мире беспилотным самолетом, напечатанным на 3D-принтере, а компания KOR Ecologic создала прототип Urbee, автомобиля с напечатанным на 3D-принтере кузовом, рассчитанным на 200 миль на галлон на шоссе.

Помимо ювелирных изделий и самолетов, 3D-печать сейчас используется для производства доступного жилья для развивающихся стран, и провидцы начали использовать эту технологию для печати всего: от умных роботов-манипуляторов до заменителей костей и даже частиц толщиной всего в несколько атомов ( что может привести к уменьшению размера электроники и батарей).

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

Три случайных, крутых, неожиданных факта о 3D-печати

Эта статья была обновлена.Первоначально он был опубликован в сентябре 2014 года.

.

История 3D компьютерной графики в аниме

3D компьютерная анимация менее распространена в аниме, чем на Западе; у них нет Pixar или Dreamworks. Так где же 3D-анимация используется в аниме, как она развивалась и как ее лучше всего применять?

Посмотрите на основные американские анимационные фильмы, выпущенные в этом году, и вы обнаружите, что почти все они представляют собой трехмерную компьютерную анимацию (Laika Kubo и Two Strings — редкое исключение для покадровой анимации). Напротив, рисованная от руки 2D-анимация по-прежнему составляет большую часть японского аниме.Компьютеры по-прежнему являются частью производственного процесса. Почти в каждом аниме с 2000 года использовалась компьютерная раскраска ( Sazae-San была последней опорой, которая в 2013 году переключилась с традиционных келей на цифровую). Однако использование полной 3D CGI гораздо более ограничено из-за сочетания бюджетных проблем и эстетических предпочтений. Фоны и машины часто моделируются и анимируются в цифровом виде, но аниме с 3D-анимацией персонажей CGI встречаются гораздо реже и с переменным успехом.


80-е: Рождение 3D-анимации


Первое использование компьютерной 3D-анимации в анимационном фильме было в фильме 1983 года Golgo 13: The Professional .

Golgo 13 Профессиональный

… технологии не хватало для того, чтобы добиться желаемого эффекта. Честно говоря, это было ОЧЕНЬ ранним этапом развития компьютерной анимации. Tron , первый фильм, в котором CGI используется дольше нескольких секунд, вышел только за год до этого. Но визуальные эффекты Tron стали лучше, чем у вертолета Голго, потому что он работал с ограничениями ранней компьютерной графики, настраивая действие внутри видеоигры и придерживаясь относительно абстрактного стиля.

Ленсман

Стилистическое влияние Tron можно увидеть в фильме 1984 года « Lensman », в котором фигурировали космические корабли с компьютерной анимацией.


90-е: основные достижения


Призрак в доспехах

CGI оставалась редкой новинкой в ​​аниме на протяжении 80-х и начала 90-х годов. Однако в 1995 году, в том же году, когда был выпущен первый анимационный фильм с компьютерной графикой Toy Story , в Японии появился новый технический прорыв — Ghost in the Shell .Считавшиеся одним из самых впечатляющих сочетаний традиционной и компьютерной анимации в то время, 3D-эффекты не устарели так же хорошо, как рисованные работы (в 2008 году Production IG выпустила реанимированную версию, чтобы поднять качество 3D-анимации до уровня Продолжение 2004 г.), но Ghost in the Shell сделал 3D CGI жизнеспособным для производства аниме. Вскоре телевизионные аниме, такие как Escaflowne и Cowboy Bebop , будут включать в себя фоновые эффекты 3D CG.

Голубая подводная лодка № 6

Gonzo сделал себе имя, потратив большие средства на аниме с компьютерным фоном и механическими эффектами, начиная с серии OAV Blue Submarine No.6 в 1998 году. Они даже называли себя «Gonzo Digimation» вплоть до июля 2004 года, после премьеры Samurai 7 , в то время самого дорогого телевизионного аниме, когда-либо созданного из-за его обширной трехмерной меха-анимации. С тех пор бюджеты Gonzo упали, и они больше не считаются передовыми технологиями анимации.

Принцесса Мононоке

Даже традиционалистская Studio Ghibli экспериментировала с 3D-эффектами. Princess Mononoke 1997 года использовала компьютерную анимацию, чтобы разобраться со сложными щупальцами проклятых богов кабанов.Они продолжали интегрировать элементы 3D CG в свои фильмы, особенно замок в фильме Howl’s Moving Castle 2004 года, прежде чем Миядзаки решил закрыть отдел компьютерной графики студии во время производства Ponyo .


21 век: обычное использование 3D CGI


Steamboy
Так как же лучше всего использовать 3D CGI в аниме? Как видно из этого видеоролика для фильма 2004 года Steamboy , он создает чрезвычайно убедительные фоны и транспортные средства, которые сочетаются с нарисованными от руки персонажами, обеспечивая большую свободу движений камеры.

Gundam Unicorn
По мере того, как CGI становится дешевле, анимация эффектов может стать более сложной, что позволяет проводить трехмерные механические сражения, подобные тем, что в 2010 году в Mobile Suit Gundam Unicorn . Рендеринг «затенения ячеек» обеспечивает мультяшные очертания и четкие цвета, которые позволяют трехмерным изображениям совпадать с двухмерной анимацией.

Love Live
Все чаще в аниме для более сложных действий или танцевальных сцен используются закрашенные в ячейки двойники традиционно анимированных персонажей, например, это число из Love Live 2013 года.


Аниме с компьютерной анимацией


Final Fantasy: The Spirits Within
Аниме с компьютерной анимацией остается довольно редким явлением. Талант Японии в области 3D-анимации в первую очередь сосредоточен на видеоиграх, поэтому вполне логично, что многие 3D-аниме с компьютерной анимацией были связаны с видеоиграми (в случае дешевого и захватывающе причудливого Gregory Horror Show в 1999 году аниме появилось раньше, чем видео- игры, но это было похоже на просмотр кат-сцены от первого лица без интерактивности).Square попыталась войти в бизнес кинопроизводства, выпустив в 2001 году американское совместное производство Final Fantasy: The Spirits Within , в котором была предпринята попытка фотореалистичного рендеринга человеческих персонажей, но она потерпела неудачу, упав в Страшную долину для многих зрителей, и в конечном итоге стала бомбой.

Final Fantasy Advent Children
2005 Final Fantasy VII: Advent Children , напротив, имела такой же детализированный, более стилизованный вид с дизайном, близким к традиционному аниме, и была лучше принята.Такие фильмы, как Oblivion Island (2009 г.) и Stand by Me Doraemon (2014 г.), также широко переводят традиционные аниме-дизайны в 3D.

Knights of Sidonia
Некоторые аниме 3D CG идут дальше, пытаясь воспроизвести внешний вид традиционного аниме с полной заливкой ячеек. Различные фильмы Appleseed были сделаны в этом стиле, в то время как серия Netflix 2014 года Knights of Sidonia , вероятно, является самым ярким примером аниме с полностью закрашенными ячейками.Но разве Sidonia и другие аниме с закрашенными ячейками иногда заходят слишком далеко, пытаясь имитировать традиционную анимацию? Самый спорный вопрос — частота кадров. Традиционно анимированные аниме имеют тенденцию к более низкой частоте кадров, но различные методы рисования и модуляция частоты кадров естественным образом делают более ограниченный поток анимации. Такие шоу, как Sidonia и Ajin в этом сезоне, также используют более низкую частоту кадров, но из-за характера 3D-моделирования не могут использовать те же методы, которые уменьшают волнистость традиционного аниме и, следовательно, выглядят неестественно изменчивыми.Если трехмерная компьютерная анимация будет расти в Японии так же, как и в Америке, лучше всего будет охватить индивидуальные сильные стороны и обойти слабые стороны своего собственного носителя, а не просто рабски имитировать 2D-анимацию и бледнеть в сравнении.

,

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *