Советы

Моделирование реалистичного изображения сферы c. Технологии создания трехмерного изображения

Моделирование реалистичного изображения сферы c. Технологии создания трехмерного изображения

Фотореалистичное изображение 3D сцены - это специальное изображение сцены, в котором учитываются тени, отбрасываемые объектами, а также такие явления как отражение и преломление света.

В программе имеется три различных механизма создания фотореалистичных изображений. Первый из них использует приложение POV-Ray , второй – встроенную технологию NVIDIA OptiX , третий использует Embree - ядро трассировки лучей, разработанное Intel .

Выбор и настройка качества изображения

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

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

Существуют различные параметры, позволяющие менять качество получаемого фотореалистичного изображения.

Качество сетки . Данный параметр задаётся в параметрах документа (команда ST: Параметры документа), и кроме фотореализма, влияет ещё и на качество отображения объектов в 3D окне.

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

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

1. Фотореалистичный вид

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

Механизм позволяет получать фотореалистичное изображение непосредственно из среды T-FLEX CAD, обеспечивая удобный интерфейс управления параметрами сцены, качеством генерации изображения, а также возможность сохранения результатов генерации в файл и печати. С помощью данного механизма можно получать фотореалистичное изображение не только с трёхмерных моделей, но и с импортированных 3D изображений.

Технология NVIDEA OptiX используется при создании фотореалистичных видео при записи анимации разборки в команде “3VX: Разборка ”

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

Для своих расчётов Embree использует центральный процессор и отличается высокой производительностью и качеством изображения.

Интерфейс для работы с NVIDIA Optix идентичен интерфейсу работы с Embree, поэтому они вместе будут описаны ниже.

Работа с командой

Для вызова опции используется команда:

Пиктограмма

Лента

Инструменты → Оформление → Фотореализм → Фотореалистичный вид (GPU NVIDIA)

Клавиатура

Текстовое меню

<3RV>

Сервис > Фотореалистичный вид (GPU NVIDIA)

Пиктограмма

Лента

Инструменты → Оформление → Фотореализм → Фотореалистичный вид (CPU)

Клавиатура

Текстовое меню

Сервис > Фотореалистичный вид (CPU)

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

Качество создаваемого изображения во многом зависит от количества итераций. Итерация – вычисление цвета пикселей изображения. Количество итераций зависит от размера изображения, плотности сетки и количества объектов.

Количество итераций отображается в нижней части экрана.

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

На инструментальной панели отображаются опции для работы с командой.

Печать изображения . Позволяет вывести получаемое изображение на печать.

Сохранить изображение . Позволяет экспортировать полученное изображение в файлы растровых форматов *.bmp, *.jpg, *gif, *tiff, *tif, *.png, *.tga. Для файла можно задать имя и указать, где он будет храниться.

Параметры вида . Позволяет задавать параметры генерации изображения. Более подробное описание опции дано ниже.

Зафиксировать параметры вида . Позволяет зафиксировать направление взгляда и масштаб изображения. Вращение модели становится невозможным.

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

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

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

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

Для получения наиболее реалистичных изображений нужно выбрать высокое или максимальное качество. При максимальном качестве количество итераций не ограничено.

Выбор текущей активной камеры . Позволяет выбрать одну из присутствующих в 3D сцене камер. Изображение будет создаваться в соответствии с положением выбранной камеры.

В дополнение к вышеперечисленным опциям, важную роль в создании реалистичных изображений играет настройка « Качество изображения ». Её можно изменить с помощью выпадающего списка в окне ST: Параметры документа на закладке « 3D ».

Чем выше качество, тем выше плотность сетки. Для получения наиболее реалистичных изображений рекомендуется устанавливать качество не ниже чем « Повышенное ».

Данный параметр особенно важен при наличии в модели скругленных поверхностей.

Наглядное различие между изображениями разного качества.

Очень грубое

Стандартное

Очень высокое

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

Генерации изображения может быть остановлена в любой момент. Получившийся результат можно сохранить на компьютере с помощью опции или сразу же направить на печать опцией .

Результате выполнения операции:

Фотореалистичное изображение

Файлы с примерами создания фотореалистичного изображения находятся в библиотеке « Примеры 3D 15\Сервисные инструменты\Материалы и фотореализм ».

Для удобства работы можно одновременно отображать окно фотореалистичного вида и окно модели на экране. Для этого необходимо воспользоваться командой « WO: Открыть новое окно документа ».

В появившемся диалоговом окне из выпадающего списка необходимо выбрать пункт « Фотореалистичный вид ». С помощью четырёх выпадающих списков можно настроить удобное расположение окон на экране.

Параметры изображения

Вписать в окно . Опция активна только при установленном флаге « ». При включённой опции изображение заданного размера полностью отображается на экране.

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

Качество изображения . Данная опция повторяет список настроек с главной панели. Единственным отличием является возможность задать количество итераций вручную, выбрав качество изображения « пользовательское » и введя в поле необходимое число.

Количество отражений луча . Параметр важен при генерации преломлений и отражений.

Настройки фона и текстуры полностью совпадают с одноименными стандартными параметрами 3D вида. Подробнее о них можно прочитать в главе « Работа с окном 3D вида ».

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

Оптимальные параметры для создания фотореалистичного изображения установлены по умолчанию.

Примеры фотореалистичных изображений

NVIDIA Optix:

Embree:

2. Реалистичное изображение

Данный механизм использует технологию POV-Ray, программу применяющую метод трассировки луча. Условия генерации изображения прописываются в T-FLEX CAD в текстовом виде. Приложение POV-Ray включено в поставку. Кроме того, приложение может быть скачано с соответствующего сайта.

Изображение в T-FLEX CAD Фотореалистичное изображение (POV-Ray)

Фотореалистичное изображение получается методом трассировки луча (ray-tracing). Для этого используется приложение POV-Ray, включаемое в поставку.

Следует отметить, что приложение POV-Ray требует отдельной инсталляции. Для этого на установочном компакт–диске нужно выбрать файл « povwin36.exe » из директории «POV-Ray». Установка POV-Ray осуществляется на английском языке. Пользователям, не знакомым с английским языком, рекомендуется нажимать все утверждающие кнопки ([ Next ] , [ Yes ] или [ I Agree ]) в последовательно появляющихся окнах диалога.

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

При экспорте в POV-Ray текстуры накладываются на объекты так же, как они отображаются в 3D окне T-FLEX CAD. Кроме того, совместно с POV-Ray можно использовать текстуры всех форматов, поддерживаемых POV-Ray (gif, tga, iff, ppm, pgm, png, jpeg, tiff, sys).

Работа POV-Ray осуществляется параллельно другим системам, т.е. после запуска данного приложения можно продолжить работу в T-FLEX CAD. Правда, в зависимости от сложности генерирующегося изображения, POV-Ray может забирать больше ресурсов, и тогда работа в T-FLEX CAD будет замедляться.

Работа с командой

Для создания фотореалистичного изображения используется команда “ 3VY: Создать реалистичное изображение ”. Данная команда доступна в том случае, когда 3D окно активно. Перед вызовом команды необходимо установить 3D сцену в желаемое положение, установить необходимый материал операций, источники света (можно использовать источники света на камере). При создании фотореалистичного изображения рекомендуется пользоваться перспективной проекцией.

Вызов команды осуществляется следующим способом:

Пиктограмма

Лента

Инструменты → Оформление → Фотореализм → Реалистичное изображение (POV-ray)

Клавиатура

Текстовое меню

<3VY >

Сервис > Реалистичное изображение (POV-ray)

T-FLEX CAD сохраняет информацию о местонахождении приложения POV-Ray и при каждом обращении к нему проверяет его наличие.

В случае, когда POV-Ray вызывается впервые, а также если система не может найти данное приложение, T-FLEX CAD запрашивает путь к нему. В этом случае на экран выводится окно диалога, с помощью которого необходимо задать путь к приложению POV-Ray. Обычно приложение находится по следующему пути: « Program Files\POV-Ray for Windows v3.6\bin ». Отсутствие соответствующей директории говорит о том, что приложение не установлено (см. параграф “ Основные положения ”).

После вызова команды на экране появляется окно диалога.

Ширина и Высота . Задают ширину и высоту создаваемой картинки фотореалистичного изображения в пикселях. По умолчанию устанавливается размер текущего 3D окна.

Сглаживание цвета . Отвечает за сглаживание цвета генерируемого изображения. Значение данного параметра должно быть больше 0.

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

В POV-Ray для описания 3D сцены используется специальный язык. С его помощью есть возможность задать для поверхности материала, а также для внутренней части материала, большое количество различных характеристик. Поэтому в T-FLEX CAD у материала есть специальные инструкции, определяющие то, как будет выглядеть материал при визуализации в POV-Ray (команда «3MT : Редактировать материалы », кнопка [ Материал POV ]). При установке флажка « Использовать подстановки материалов », эти инструкции будут передаваться в POV-Ray. Все материалы, входящие в поставку системы, включают специальные инструкции для POV-Ray. Кроме материалов, в POV будут экспортироваться и дополнительные инструкции для источника света (см. " Параметры источника света ", параметр " Инструкции POV ").

Если флажок « Использовать подстановки материалов » отключён, в POV-Ray будут переданы инструкции, автоматически сгенерированные T-FLEX CAD, на основе таких свойств материала как цвет и отражательная способность.

В 3D окне к камере по умолчанию привязаны один или несколько источников света. Данные источники света ориентированы относительно камеры и перемещаются вместе с ней (см. описание "Параметры 3D вида "). Если флажок « Экспортировать источники света на камере » включен, данные источники света передаются в POV-Ray.

Сохранить результат в . Здесь отображается путь к временно создаваемому выходному файлу, который будет использовать POV-Ray для сохранения результирующего изображения в формате bmp, а T-FLEX CAD для его считывания. Поэтому, если приложение T-FLEX CAD будет закрыто раньше, чем получен результат, то изображение из этого файла можно просмотреть позже, используя любую другую программу для просмотра изображений.

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

Информация для пользователей, имеющих опыт работы в POV-Ray

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

Обычный свет Рассеянный свет

Рассеянный источник света в POV-Ray представляет собой множество точечных источников света. Эти источники света размещаются в виде прямоугольника, ориентированного некоторым образом относительно указанного центра. Количество источников света вдоль каждой из сторон прямоугольника может быть разное. Чтобы созданный в T-FLEX CAD источник света стал рассеянным источником света в POV-Ray, в свойствах источника света в поле «Инструкции POV» необходимо записать следующее:

area_light <0.035, 0, 0>, <0, 0.035, 0.035>, 5, 5 adaptive 1 jitter

Здесь в треугольных скобках заданы координаты противоположных углов прямоугольника относительно исходной точки (точки, в которой расположен рассеянный источник света). «5, 5» - это количество источников света в каждом направлении. При этом общее количество точечных источников света составляет 5х5=25. «adaptive 1 jitter» - дополнительные параметры, включающие оптимизацию расчёта теней.

Сглаживание (Antialiasing) . При обычной визуализации на границах объектов могут возникать явления ступенчатости, прерывистости тонких линий. Сглаживание путём проведения дополнительных расчётов может уменьшить негативное влияние данных явлений.

Ступенчатость на границах Сглаживание включено

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

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

Обычное освещение Рассеянное освещение

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

Чтобы включить механизм рассеянного освещения, следует в поле « Включить строки » окна « Создание фотореалистичного изображения » записать следующее:

global_settings {

radiosity { count 500 minimum_reuse 0.018 brightness 0.8}}

Значение приведённых инструкций, а также дополнительные сведения, касающиеся механизма рассеянного освещения, следует искать в документации приложения POV-Ray.

Разрешение изображения . Данный параметр существенно влияет на время, затрачиваемое на визуализацию. При неизменном качестве изображения, скорость визуализации прямо пропорциональна площади результирующего изображения. При тестовой визуализации можно ограничиться небольшими разрешениями, например, 320*240.

Дополнительный INI файл : При запуске приложения POV-Ray создается файл с расширением ini, куда записываются экспортируемые установки. При необходимости можно задать другие установки и даже переопределить генерируемые в T-FLEX CAD, задавая их в этом файле. В этом случае в поле данного диалога указывается имя этого файла.

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

Пояснение: При запуске команды создается файл в формате POV, который имеет следующую структуру:

<генерируемые переменные>

<включаемые строки>

<экспортированная 3D сцена>.

Генерируемые переменные

В экспортируемый файл включаются следующие переменные:

● fAspectRatio – ширина / высота экрана. При переопределении установок Width и Height в дополнительном INI файле нужно переопределить и эту переменную, используя <включаемые строки>.

● vSceneMin и vSceneMax – вершины куба ограничивающие 3D сцену в 3D пространстве.

● vSceneCenter – центр куба.

● fSceneSize – длина диагонали куба.

● vCameraPos – положение камеры.

● vCamera2Scene – вектор из vCameraPos до центра куба.

● fCamera2Scene – длина вектора vCamera2Scene.

● cBackColor – цвет фона.

Эти переменные могут быть переопределены или использованы во <включаемых строках>.

Например:

#declare cBackColor <0.1, 0.1, 0.1>

distance fCamera2Scene / 2

rgb <0, 0, 1>

fog_offset vSceneMin . z

fog_alt (vSceneMax . z - vSceneMin . z) / 4

up <0, 0, 1>

переопределяет цвет фона и задает синий туман, зависящий от положения и размера 3D – сцены.

После задания всех необходимых параметров для создания фотореалистичного изображения нужно нажать на кнопку [ OK ]. Иногда, при запуске POV-Ray, может возникнуть окно диалога " ", для запуска приложения в этом случае достаточно нажать на кнопку [ OK ].

При создании анимации с включенным фотореализмом в команде « : Анимировать модель » желательно дождаться начала визуализации первого кадра в POV-Ray, чтобы убедиться, что окно « About POV-Ray(tm) for Windows » не появилось и не мешает созданию анимации.

После запуска POV-Ray управление передаётся к T-FLEX CAD (т.е. можно продолжить работу с ним). По окончании генерации изображения или в случае ее прерывания на экран выдается сообщение:

Если необходимо просмотреть результирующее изображение, то нужно нажать на кнопку [ Да ]. В результате открывается окно просмотра, изображение которого можно сохранить в файл. Если просмотр и сохранение результирующего изображения не требуется, то следует нажать на кнопку [ Нет ]. В этом случае, результат фотореалистичного изображения, какое-то время (до создания следующего фотореалистичного изображения) будет храниться в системном каталоге TEMP .

До завершения генерации изображения можно запустить POV-Ray ещё раз (количество таких запусков не ограниченно). Тогда T-FLEX CAD, выполняя экспорт в POV, при окончании процесса генерации предыдущего изображения, произведёт новый запуск приложения POV-Ray. Таким образом, реализуется очередь задач на генерацию изображений, т.е. новая задача запускается после завершения генерации предыдущей.

Примеры фотореалистичных изображений моделей T-FLEX CAD

Прототипы для фотореализма

В стандартной инсталляции существуют прототипы, специально предназначенные для быстрого создания фотореалистичного изображения. Для создания документов на основе данных прототипов необходимо вызвать команду « : Создать новый документ на основе файла прототипа », и на закладке « Фотореализм » выбрать один из двух прототипов: « Комната » или « Облёт вокруг объекта ».

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

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

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

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

Прототип « Облёт вокруг объекта » предназначен как для создания статичного изображения, так и для создания фотореалистичной анимации, в которой камера движется вокруг объекта. Сцена представляет собой большую круглую платформу, три источника света и камеру. В сцене заранее создана система координат для привязки 3D фрагмента. Кроме того, положение камеры связано с выражением и зависит от кадра, в котором находится сцена. 2D окне необходимо задать продолжительность анимации (то есть время, за которое камера облетит вокруг объекта и вернется на исходное место). Анимацию сцены необходимо проводить по переменной «frame», учитывая, что количество кадров в секунду равно 25.

Пример использования прототипа « Облёт вокруг объекта » находится в библиотеке “Примеры 3D 15”, в папке «Сервисные инструменты\ Фотореалистичное изображение\Облёт вокруг объекта». Открыв файл « Сцена на основе прототипа.grb », необходимо в 3D окне выбрать камеру « Камера ». Далее надо использовать команду «AN: Анимировать модель » и провести анимацию по переменной «frame» от 0 до 250 с шагом 1.

Для повышения реалистичности отображения наложенных на полигоны текстур используются различные технологии:

· сглаживания (Anti-aliasing);

· MIP – mapping;

· текстурной фильтрации.

Технология сглаживания (Anti-aliasing)

Anti-aliasing – это технология, использующаяся в обработке изображений с целью устранения эффекта «ступенчатых» краев (Aliasing) объектов. При растровом методе формирования изображения оно состоит из пикселей. Из-за того, что пиксели имеют конечный размер, на краях трехмерных объектов можно различить так называемую лестницу или ступенчатые края. Чтобы минимизировать эффект лестницы проще всего увеличить разрешение экрана, уменьшив тем самым размер пикселей. Но этот путь не всегда возможен. Если избавиться от ступенчатого эффекта за счет повышения разрешения монитора нельзя, можно использовать технологию Anti-aliasing, которая позволяет визуально сгладить эффект лестницы. Наиболее часто используемая для этого техника – это создание плавного перехода от цвета линии или края к цвету фона. Цвет точки, лежащей на границе объектов, определяется как среднее значение цветов двух граничных точек.

Существует несколько базовых технологий Anti-aliasing. Наиболее качественный результат впервые дала технология полноэкранного сглаживания FSAA (Full Screen Anti-Aliasing). В некоторых литературных источниках эта технология носит название SSAA. Суть данной технологии заключается в том, что процессор рассчитывает кадр изображения в гораздо большем разрешении, чем разрешение экрана, а затем при выводе на экран усредняет значения группы пикселей до одного; количество усредненных пикселей соответствует разрешению экрана монитора. Например, если кадр с разрешением 800х600 сглаживается с помощью FSAA, изображение будет рассчитываться в разрешении 1600х1200. При переходе к разрешению монитора цвета четырех рассчитанных точек, соответствующих одному пикселю монитора, усредняются. В результате у всех линий появляются плавные цветовые границы переходов, что визуально устраняет эффект лестницы.

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

Суть технологии MSSA аналогична технологии FSAA, но над пикселями, находящимися внутри полигонов, никаких расчетов не проводится. Для пикселей на границах объектов в зависимости от уровня сглаживания рассчитывается 4 и более дополнительных точек, по которым и определяется итоговый цвет пикселя. Эта технология наиболее распространена в настоящее время.

Известны индивидуальные разработки производителей видеоадаптеров. Например, NVIDIA разработала технологию Coverage Sampling (CSAA), которая поддерживается только видеоадаптерами GeForce, начиная с 8-ой серии (8600 – 8800, 9600 – 9800). Компания ATI ввела в графический процессор R520 и все последующие адаптивное сглаживание ААА (Adaptive Anti-Aliasing).

Технология MIP mapping

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

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

Эта задача и решается с помощью технологии MIP mapping, которая подразумевает возможность применения набора текстур с различной степенью детализации. На базе каждой текстуры создается набор текстур с меньшим уровнем детализации. Текстуры такого набора называются MIP – картами (MIP map).

В простейшем случае наложения текстуры для каждого пикселя изображения определяется соответствующая ему MIP – карта согласно таблицы детализации LOD(Level of Detail). Далее из MIP – карты выбирается только один тексел, цвет которого присваивается пикселю.

Технологии фильтрации

Как правило, технология MIP mapping используется в сочетании с технологиями фильтрации, призванными исправить артефакты MIP –текстурирования. Например, при удалении объекта всё дальше от точки наблюдения происходит переход от низкого MIP map-уровня к более высокому MIP map-уровню. В момент нахождения объекта в переходном состоянии от одного MIP map-уровня к другому появляется особый тип ошибок визуализации: явно различимые границы перехода от одного MIP map-уровня к другому.

Идея фильтрации состоит в том, что цвет пикселей объекта рассчитывается по соседним точкам текстуры (текселам).

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

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

С ростом производительности графических процессоров была разработана анизотропная фильтрация, которая успешно применяется до сих пор. При определении цвета точки она использует большое количество текселей и учитывает положение полигонов. Уровень анизотропной фильтрации определяется числом текселей, которые обрабатываются при вычислении цвета пикселя: 2х (16 текселей), 4х (32 текселя), 8х (64 текселя), 16х (128 текселей). Данная фильтрация обеспечивает высокое качество выводимого движущегося изображения.

Все эти алгоритмы реализует графический процессор видеокарты.

Интерфейс прикладного программирования (API)

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

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

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

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

Специальный пакет служебных программ для выполнения этих функций называется интерфейсом прикладного программирования (ApplicationProgram Interface = API ).

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

В настоящее время в 3D существует несколько API, области применения которых довольно четко разграничены:

DirectX , разработанный фирмой Microsoft, используемый в игровых приложениях, работающих под управлением операционных систем Windows 9X и более поздних версий;

OpenGL , используемый в основном в профессиональных приложениях (системы автоматизированного проектирования, системы трехмерного моделирования, тренажеры-симуляторы и т.п.), работающих под управлением операционной системы Windows NT;

Фирменные (native – родные) API , создаваемые производителями 3D-акселераторов исключительно для своих Chipset с целью наиболее эффективного использования их возможностей.

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

В отличие от DirectX, API OpenGL построен на концепции открытого стандарта, имеющего небольшой базовый набор функций и множество расширений, реализующих более сложные функции. Производитель Chipset 3D-акселератора обязан создать BIOS и драйверы, выполняющие базовые функции Open GL, но не обязан обеспечивать поддержку всех расширений. Это порождает ряд проблем, связанных с написанием производителями драйверов для своих изделий, которые поставляются как в полном, так и в усеченном виде.

Полная версия OpenGL-совместимого драйвера носит название ICD (Installable Client Driver – драйвер приложения – клиента). Он обеспечивает максимальное быстродействие, т.к. содержит низкоуровневые коды, обеспечивающие поддержку не только базового набора функций, но и его расширений. Естественно, что с учетом концепции OpenGL создание подобного драйвера исключительно сложный и трудоемкий процесс. Это одна из причин более высокой стоимости профессиональных 3D-акселераторов по сравнению с игровыми.

Работы, выполненные с использованием трехмерной компьютерной графики, одинаково привлекают к себе внимание и ЗD-дизайнеров, и тех, кто имеет довольно смутное представление о том, как это было сделано. Наиболее удачные трехмерные работы невозможно отличить от реальных съемок. Такие работы, как правило, порождают вокруг себя жаркие споры о том, что же это - фотография или трехмерная подделка.
Вдохновленные работами именитых ЗD-художников, многие берутся за изучение трехмерных редакторов, полагая, что освоить их так же легко, как Photoshop. Между тем программы для создания ЗD-графики являются довольно сложными в освоении, и их изучение отнимает много времени и сил. Однако даже изучив инструментарий трехмерного редактора, добиться реалистичного изображения начинающему дизайнеру нелегко. Попав в ситуацию, когда сцена выглядит «неживой», он не всегда может найти этому объяснение. В чем же дело?
Основная проблема создания фотореалистичного изображения заключается в трудности точной имитации окружающей среды. Картинка, которая получается в результате просчета (визуализации) в трехмерном редакторе, является результатом математических вычислений по заданному алгоритму. Разработчикам программного обеспечения трудно подобрать алгоритм, который помогал бы описать все физические процессы реальной жизни. По этой причине моделирование окружающей среды лежит на плечах самого ЗD-художника.
С каждым днем увеличиваются аппаратные возможности рабочих станций, что дает возможность еще более эффективно использовать инструментарий для работы с трехмерной графикой. Одновременно с этим совершенствуется арсенал средств редакторов трехмерной графики.
Существует определенный набор правил создания реалистичного трехмерного изображения. Вне зависимости от того, в каком трехмерном редакторе вы работаете и сцены какой сложности создаете, они остаются неизменными. Выполнение этих требований не гарантирует того, что полученная картинка будет похожа на фотографию. Однако их игнорирование наверняка станет причиной неудачи.
Создать фотореалистичное изображение, работая над трехмерным проектом в одиночку, - невероятно сложная задача. Как правило, те, кто посвящают себя трехмерной графике и работают с ней профессионально, выполняют только один из этапов создания трехмерной сцены. Одни знают все тонкости моделирования, другие умоют мастерски создавать материалы, третьи «видят» правильное освещение сцен и т. д. По этой причине, начиная работать с трехмерной графикой, постарайтесь найти ту область, в которой вы себя чувствуете наиболее уверенно, и развивать свои таланты.
Как вы знаете, результатом работы в трехмерном редакторе является статический файл или анимация. В зависимости от того, каким будет конечный продукт в вашем случае, подходы к созданию реалистичного изображения могут различаться.

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

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

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

Тонкости создания материала
Материалы, которые имитируются в трехмерной графике, могут быть самыми разнообразными - от металла, дерева и пластика до стекла и камня. При этом каждый материал определяется большим количеством свойств, среди которых рельеф поверхности, зеркальность, рисунок, размер и яркость блика и т. д.
Визуализируя любую текстуру, нужно помнить, что качество материала в полученном изображении сильно зависит от множества факторов, среди которых: параметры освещения (яркость, угол падения света, цвет источника света и т. д.), алгоритм визуализации (тип используемого визуализатора и его настройки), разрешение растровой текстуры. Большое значение имеет также метод проецирования текстуры на объект. Неудачно наложенная текстура может «выдать» трехмерный объект образованным швом или подозрительно повторяющимся рисунком. Кроме того, обычно реальные объекты не бывают идеально чистыми, то есть на них всегда есть следы грязи. Если вы моделируете кухонный стол, то несмотря на то, что рисунок на кухонной клеенке повторяющийся, ее поверхность не должна быть везде одинаковая - клеенка может быть потерта на углах стола, иметь порезы от ножа и т. д.
Чтобы ваши трехмерные объекты не выглядели неестественно чистыми, можно использовать сделанные вручную (например, в Adobe Photoshop) карты загрязненности и смешивать их с исходными текстурами, получая реалистичный изношенный материал.

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

Скорость адаптации к яркости неодинакова для различных частей сетчатки, но, тем не менее очень высока. Глаз приспосабливается к «средней» яркости обозреваемой сцены; поэтому область с постоянной яркостью (интенсивностью) на тёмном фоне кажется ярче или светлее, чем на светлом фоне. Это явление называется одновременным контрастом.

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

Рис. 1.1. Эффект полос Маха: (а) кусочно-линейная функция интенсивности, (b) функция интенсивности с непрерывной первой производной.

1.1 Простая модель освещения.

Световая энергия, падающая на поверхность, может быть поглоще­на, отражена или пропущена. Частично она поглощается и превра­щается в тепло, а частично отражается или пропускается. Объект можно увидеть, только если он отражает или пропускает свет; если же объект поглощает весь падающий свет, то он невидим и называ­ется абсолютно черным телом. Количество поглощенной, отражен­ной или пропущенной энергии зависит от длины волны света. При освещении белым светом, в котором интенсивность всех длин волн снижена примерно одинаково, объект выглядит серым. Если погло­щается почти весь свет, то объект кажется черным, а если только небольшая его часть - белым. Если поглощаются лишь определен­ные длины волн, то у света, исходящего от объекта, изменяется распределение энергии и объект выглядит цветным. Цвет объекта определяется поглощаемыми длинами волн.

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

Рис.1.2. Ламбертовое диффузное отражение

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

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

Но если центр проекции лежит близко к объекту, то у объектов, лежащих при­мерно на одинаковом расстоянии от источника, разница интенсивностей чрезмерно велика. Как показывает опыт, большей реали­стичности можно добиться при линейном затухании. В этом случае модель освещения выглядит так (рис.1.3.)

Рис.1.3. Зеркальное отражение.

Если предполагается, что точка наблюдения находится в беско­нечности, то определяется положением объекта, ближайшего к точке наблюдения. Это означает, что ближайший объект освещает­ся с полной интенсивностью источника, а более далекие - с умень­шенной. Для цветных поверхностей модель освещения применяется к каждому из трех основных цветов.

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

Прозрачность

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

Ни одно вещество не пропуска­ет весь падающий свет, часть его всегда отражается; это также по­казано на (рис.1.4.)

Рис.1.4.Геометрия преломления.

Так же, как и отражение, пропускание может быть зеркальным (направленным) или диффузным. Направленное пропускание свойственно прозрачным веществам, например стеклу. Если смот­реть на объект сквозь такое вещество, то, за исключением контур­ных линий криволинейных поверхностей, искажения происходить не будет. Если свет при пропускании через вещество рассеивается, то мы имеем диффузное пропускание. Такие вещества кажутся полу­прозрачными или матовыми. Если смотреть на объект сквозь та­кое вещество, то он будет выглядеть нечетким или искаженным.

Тени

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

Наблюдения показывают, что тень состоит из двух частей: по­лутени и полной тени. Полная тень - это центральная, темная, резко очерченная часть, а полутень - окружающая ее более светлая часть. В машинной графике обычно рассматриваются точечные ис­точники, создающие только полную тень. Распределенные источни­ки света конечного размера создают. как тень, так и полутень: в полной тени свет вообще отсутствует, а полутень освещается ча­стью распределенного источника. Из-за больших вычислительных затрат, как правило, рассматривается только полная тень, образуе­мая точечным источником света. Сложность и, следовательно, сто­имость вычислений зависят и от положения источника. Легче всего, когда источник находится в бесконечности, и тени определяются с помощью ортогонального проецирования. Сложнее, если источник расположен на конечном расстоянии, но вне поля зрения; здесь не­обходима перспективная проекция. Самый трудный случай, когда источник находится в поле зрения. Тогда надо делить пространство на секторы и искать тени отдельно для каждого сектора.

Для того чтобы построить тени, нужно по существу дважды удалить невидимые поверхности: для положения каждого источни­ка и для положения наблюдателя или точки наблюдения, т. е. это двухшаговый процесс. Рассмотрим сцену на рис. 1.5. Один источ­ник находится в бесконечности сверху: спереди слева от параллеле­пипеда. Точка наблюдения лежит спереди: сверху справа от объек­та. В данном случае тени образуются двояко: это собственная тень и проекционная. Собственная тень получается тогда, когда сам объект препятствует пропаданию света на некоторые его грани, на­пример на правую грань параллелепипеда. При этом алгоритм по­строения теней аналогичен алгоритму удаления нелицевых граней: грани, затененные собственной тенью, являются нелицевыми, если точку наблюдения совместить с источником света.

Рис.1.5.Тени.

Если один объект препятствует попаданию света на другой, то получается проекционная тень, например тень на горизонтальной плоскости на (рис. 1.5, Ь.) Чтобы найти такие тени, нужно постро­ить проекции всех не лицевых граней на сцену. Центр проекции на­ходится в источнике света. Точки пересечения проецируемой грани со всеми другими плоскостями образуют многоугольники, которые помечаются как теневые многоугольники и заносятся в структуру данных. Для того чтобы не вносить в нее слишком много много­угольников, можно проецировать контур каждого объекта, а не от­дельные грани.

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

Развитие алгоритмов

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

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

В 1974 году Эд Кэтмул ввел концепцию Z-буфера, суть которой была в том, что изображение может состоять из горизонтальных (X) и вертикальных (Y) элементов, каждый из которых также имеет глубину. Таким способом был ускорен процесс удаления скрытых граней, и теперь этот метод является стандартом для трехмерных ускорителей. Другим изобретением Кэтмула было обертывание двумерного изображения вокруг трехмерной геометрии. Проецирование текстуры на поверхность, является основным способом придания реалистичного вида трехмерному объекту. Изначально объекты были равномерно окрашены в один цвет, так что, например, создание кирпичной стены требовало индивидуального моделирования каждого кирпичика и заливки между ними. В наши дни вы можете создать такую стену, назначив растровое изображение кирпичной стены простому прямоугольному объекту. Этот процесс требует минимального объема вычислений и ресурсов компьютера, не говоря уже о значительном сокращении времени работы.

By Тонг Фонг усовершенствовал принцип сглаживания Гуро путем интерполяции оттенков всей поверхности полигона, а не только областей, прилегающих непосредственно к граням. Хотя визуализация в этом случае происходит раз в сто медленней, чем при предыдущем варианте сглаживания, объекты получают в результате «пластичный» вид, присущий ранней компьютерной анимации. В Maya используются два варианта раскраски по Фонгу.

Джеймс Блинн скомбинировал элементы раскраски по Фонгу и проецирования текстур, создав в 1976 году текстуру рельефа. Если к поверхности было применено сглаживание по Фонгу и можно спроецировать на нее карту текстуры, почему не использовать оттенки серого в соответствии с направлениями нормалей к граням, чтобы создать эффект рельефа? Более светлые оттенки серого воспринимаются, как возвышенности, а более темные - как впадины. Геометрия объекта при этом остается неизменной, и вы можете видеть его силуэт.

Блинн также разработал метод использования карт окружающей среды для формирования отражений. Он предложил создать кубическую среду путем визуализации шести проекций из центра объекта. Полученные таким способом изображения затем проецируются обратно на объект, но с фиксированными координатами, в результате чего картинка не перемещается вместе с объектом. В результате поверхность объекта будет отражать окружающую среду. Для успешной реализации эффекта нужно, чтобы не было быстрого движения объектов окружающей среды в процессе анимации. В 1980 году Тернер Уиттед предложил новую технику визуализации, называемую трассированием. Это отслеживание путей прохождения отдельных световых лучей от источника света до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Хотя реализация этого метода требует значительного количества ресурсов компьютера, изображение получается очень реалистичным и аккуратным.

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

В 1984 году в Торонто была основана фирма Alias. Это название имеет два значения. Во-первых, это переводится как «псевдоним», ведь в те времена основатели компании были вынуждены работать по совместительству. Во-вторых, этот термин используется для описания ступенчатых краев изображения в компьютерной графике. Первоначально фирма ориентировалась на выпуск программного обеспечения. предназначенного для моделирования и разработки сложных поверхностей. Затем была создана программа Power Animator, мощный и дорогостоящий продукт, который многие производители считали самым лучшим из доступных на тот момент.

В 1984 году в Сайта-Барбаре была основана компания Wavefront. Это название буквально переводится как волновой фронт. Компания немедленно занялась разработкой программного обеспечения для создания трехмерных визуальных эффектов и производством графических заставок для телепрограмм Showtime, Bravo и National Geographic Explorer. Первое приложение, созданное компанией Wave-front, называлось Preview. Затем в 1988 году была выпущена программа Softimage, которая довольно быстро завоевала популярность на рынке продуктов, предназначенных для работы с компьютерной графикой. Все программное и аппаратное обеспечение, использовавшееся для создания анимации в 80-х годах, было специализированным и очень дорогим. К концу 80-х годов в мире насчитывалось всего несколько тысяч человек, занимавшихся моделированием визуальных эффектов. Почти все они работали на компьютерах производства компании Silicon Graphics и использовали программное обеспечение от фирм Wavefront, Softimage и т. п.

Благодаря появлению персональных компьютеров число людей, занимающихся созданием компьютерной анимации, начало расти. Компании IBM PC, Amiga, Macintosh и даже Atari начали разрабатывать программное обеспечение для обработки трехмерных изображений. В 1986 году фирма AT&T выпустила первый пакет для работы с анимацией на персональных компьютерах, который носил название TOPAS. Он стоил 10 000 долларов и работал на компьютерах с процессором Intel 286 и операционной системой DOS. Благодаря этим компьютерам стало возможным создание свободной анимации, несмотря на примитивную графику и относительно низкую скорость вычислений. В следующем году фирма Apple Macintosh выпустила еще одну систему для создания трехмерной графики на базе персональных компьютеров, которая носила название Electric Image. В 1990 году фирма AutoDesk начала продажу продукта 3D Studio, созданного независимой командой Yost Group, разрабатывавшей графические продукты для компании Atari. Стоимость 3D Studio составляла всего 3000 долларов, что в глазах пользователей персональных компьютеров делало его достойным конкурентом пакету TOPAS. Еще через год появился продукт Video Toaster компании NewTek вместе с простой в использовании программой LightWave. Для работы с ними были необходимы компьютеры Amiga. Эти программы пользовались большим спросом на рынке и продавались тысячами копий. К началу 90-х годов создание компьютерной анимации стало доступно широкому кругу пользователей. Каждый мог экспериментировать с анимацией и эффектами трассирования. Появилась возможность бесплатно загрузить программу Стивена Коя Vivid, позволяющую воспроизводить эффекты трассирования, или программу Persistence of Vision Raytracer, больше известную под названием POVRay. Последняя предоставляет детям и начинающим пользователям замечательную возможность познакомиться с основами компьютерной графики.

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

По мере роста рынка приложений для работы с трехмерной графикой и увеличения конкуренции, многие компании объединили свои технологии. В 1993 году компания Wavefront слилась с фирмой Thompson Digital Images, которая использовала моделирование на основе NURBS-кривых и интерактивную визуализацию. Позднее эти функции легли в основу интерактивной фотореалистичной визуализации в Maya. В 1994 году фирма Microsoft купила программу Softimage и выпустила версию данного продукта для платформ Windows NT на базе компьютеров Pentium. Это событие можно считать началом эры недорогих и доступных среднестатистическому пользователю персонального компьютера программ для работы с трехмерной графикой. В ответ на это в 1995 году компания SGI купила и объединила фирмы Alias и Wavefront, чтобы предотвратить упадок интереса к приложениям, которые работали исключительно на специализированных компьютерах SGI. Почти сразу же новая компания, названная Alias] Wavefront, начала объединение имевшихся в ее распоряжении технологий для создания совершенно новой программы. Наконец, в 1998 году было выпущено приложение Maya, стоившее от 15 000 до 30 000 долларов и предназначенное для операционной системы IRIX на рабочих станциях SGI. Программа была написана с нуля и предлагала новый путь развития анимации с открытым интерфейсом программирования приложений (API) и колоссальными возможностями расширения. Несмотря на первоначальное намерение компании SGI сохранить эксклюзивное право на предоставление среды для Maya, в феврале 1999 года появилась версия для Windows NT. Старая схема формирования цен была отброшена, и теперь базовый пакет Maya стоит всего 7500 долларов. В апреле этого же года появилась Maya 2, а в ноябре - Maya 2.5, содержащая модуль Paint Effects (Эффекты рисования). Летом 2000 года была выпущена версия Maya 3, к которой была добавлена возможность создания нелинейной анимации с помощью инструмента Тгах (Видеомонтаж). В начале 2001 года были анонсированы версии Maya для Linux и Macintosh, а с июня начались поставки Maya 4 для IRIX и Windows NT/2000.

Maya представляет собой программу для создания трехмерной графики и анимации, основанных на моделях, созданных пользователем в виртуальном пространстве, освещенных виртуальными источниками света и показанных через объективы виртуальных камер. Существуют две основные версии программы: Maya Complete (ее стоимость на момент написания книги составляла 7500 долларов) и Maya Unlimited (стоившая 16 000 долларов), которая включала некоторые специфические функции. Maya работает как на компьютерах PC с операционной системой Windows NT/2000, так и в операционных системах Linux, IRIX или даже Macintosh. Программа позволяет создавать фотореалистичные растровые изображения, подобные тем, которые вы получаете с помощью цифровой камеры. При этом работа над любой сценой начинается с пустого пространства. Лю-эой параметр можно заставить изменяться с течением времени, в результате после визуализации набора кадров получается анимированная сцена.

Maya превосходит многие из имеющихся в данный момент на рынке пакетов для работы с трехмерной анимацией. Программа используется для создания эффектов в большом числе фильмов, имеет широкий диапазон применения в областях, которые мы перечислили выше, и считается одной из лучших в области создания анимации, несмотря на сложность в ее изучении. В настоящий момент основными конкурентами Maya являются программы LightWave, Softimage XSI и 3ds max, стоимость которых составляет от 2000 до 7000 долларов. Среди программ, стоящих меньше 1000 долларов, можно упомянуть trueSpace, Inspire 3D, Cinema 4D, Вгусе и Animation Master.

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

К 3D-искусству можно отнести разновидность граффити, трёхмерную компьютерную графику, реалистичные рисунки, которые создают иллюзию трехмерной сцены.

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

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

1. Очки.

Простой, элегантный и причудливый 3D-рисунок, который выглядит реалистично.

2. «Зал Гигантов», Палаццо Те, Мантуя, Италия

Иллюзионистские фрески 16-го века, выполненные Джулио Романо, относят к истокам 3D-искусства.

3. Карандашный 3D-рисунок Нагаи Хидеюки

Художник создает трёхмерную иллюзию, используя лишь альбом и цветные карандаши.

4. Музей 3D-картин в городе Чиангмай, Таиланд

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

5. Кока кола - иллюзия

Часто вдохновение для 3D-искусства берёт начало в популярных объектах из нашей повседневной жизни. Классический вариант - бутылка Колы.

6. Компьютерная графика: Девушка

Кто бы мог подумать, что этой девушки не существует?

7. Колонны коринфского ордера

Прекрасный карандашный 3D-рисунок двух коринфских колонн.

8. Реалистичный водопад в городе Двур Кралове, Чехия

Часть городского парка в Чешской Республике превратили в иллюзию прекрасного водопада.

9. Глобус

Нередко 3D-искусство используют в маркетинге. Эта картина земного шара призывает людей на борьбу с бедностью.

10. Игорь Таритас

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

11. Дейви Джонс от Джерри Грошке

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

12. Казухико Накамура

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

13. Курт Веннер: Дикое родео в Калгари, Канада

Один из самых известных современных 3D-художников, Курт Веннер, изобразил вымышленное родео в канадском городе.

14. Леон Кир, Рубен Понциа, Ремко ван Шайк и Питер Вестеринг

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

15. Лодзь, Польша

Бассейн возле оживлённого торгового центра в городе Лодзь, Польша. Надеюсь, никто в него не прыгнул.

16. Рынок

Красивый 3D-натюрморт, нарисованный на асфальте возле овощного рынка. Он дополняет атмосферу идеальной изысканностью.

17. МТО, Ренн, Франция

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