Spaceship. Parotic. Cinema 4D.
Как, возможно, вы могли заметить, любые свои мысли/идеи/бред/крики_души и прочие продукты работы своего мозга я буду помещать в рубрику «Мои мысли». Здесь же, в комнате, которая названа максимально лаконично и ёмко «3D-моделирование» будут статьи только на эту тематику, иногда уходя глубоко-глубоко в недра тематики/конкретной программы, а иногда, наоборот, поднимаясь на самую поверхность, где светит солнце и «всё и так понятно».
Думаю, что начать разговор о трёхмерном моделировании стоит с того, какие используются аббревиатуры и перечислить наиболее используемые. UPD: вообще, я увлёкся, поэтому здесь будет, скорее, большинство аббревиатур, используемых в этой области. UPD2: в конце концов мне показалось, что вставлять ссылки на статьи из википедии по меньшей мере времезатратно и ненужно.
3D — Three-dimensional (поверьте, сам убедился, что не все знают, что значит «D»);
AIFF (AIF) — Audio Interchange File Format. Формат аудиофайлов, разработанный компанией Apple в 1988 году. Применяется в основном в компьютерах от Apple; звук кодируется без потери качества.
AO — Ambient Occlusion. Модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности [00].
API — Application Programming Interface. Набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) или операционной системой для использования во внешних программных продуктах. Используется программистами при написании всевозможных приложений.
BRDF — Bidirectional Reflectance Distribution Function. Двунаправленная функция распределения отражений (поверхностных отражений) описывает, как свет отражается или поглощается поверхностью в зависимости от разных углов падения. Изучение данной функции относится к области создания фотореалистичных сцен и объектов.
BSDF — Bidirectional Scattering Distribution Function. Двунаправленная функция распределения рассеивания, BSDF — это более широкое понятие, чем BRDF, поскольку BSDF включает в себя и BRDF (отражения от поверхности), и BTDF (поглощение поверхностью) (источник).
CAD — Computer-Aided Design. Программы для сугубо инженерной работы, т.е. для проектирования, расчёта, анализа, оптимизации, модификации, короче говоря, список можно продолжать долго. В основе этих программ находятся так называемые geometric modeling kernels, т.е. программы, отвечающие за математическое представление 3D-формы модели и управление этой моделью. Самые известные kernels (ядра) — Parasolid и ACIS.
CGI — Computer-Generated Imagery. Также встречается аббревиатура CG (Computer Graphics, но не путать с Character Generator). На самом деле разница между CGI и CG есть: CGI — это то, что мы видим на выходе, т.е. готовый рендер, готовые визуальные эффекты, в общем готовый продукт, в то время как CG — любые данные, необходимые для финала работы, т.е. модели, физика, эффекты и прочее. По сути, как понимал это всегда я, CGI — это общее определение всего того, что производит компьютер и художник, а CG — его составляющие (не художника).
CPU — Central Processing Unit. Тот самый процессор в компьютере, устройство, выполняющее набор машинных инструкций или команд, поступающих к нему от оперативной памяти напрямую, или через кэш-память.
CYMK — Cyan, Magenta, Yellow, Black (Key color). Голубой, пурпурный, желтый, черный. Это субтрактивная схема формирования цвета, используемая прежде всего в полиграфии для стандартной триадной печати. Схема CMYK обладает сравнительно с RGB меньшим цветовым охватом. Цвет в CMYK зависит не только от спектральных характеристик красителей и от способа их нанесения, но и их количества, характеристик бумаги и других факторов. Фактически, цифры CMYK являются лишь набором аппаратных данных для фотонаборного автомата или CTP и не определяют цвет однозначно [0].
DAE — Digital Asset Exchange. Это формат, разработанный для обмена между 3D приложениям, называется COLLADA (COLLAborative Design Activity). Управляется некоммерческой организацией Khronos Group. COLLADA использует открытый стандарт XML для обмена форматами, которые в противном случае были бы несовместимы.
DDS — DirectDraw Surface. Формат хранения данный, разработанный Microsoft для использования в DirectX SDK. Чаще всего используется для хранения текстур.
DMC — Deterministic Monte Carlo. Метод расчёта неявных областей в изображении (антиальясинг, глубина резкости, рассеянное освещение, отражения и преломления, светопроницаемость, размытие в движении). Из справочных материалов системы рендеринга V-Ray:
The difference between pure Monte Carlo sampling and Deterministic Monte Carlo is that the first uses pseudo-random numbers which are different for each and every evaluation (and so re-rendering a single image will always produce slightly different results in the noise), while Deterministic Monte Carlo uses a pre-defined set of samples (possibly optimized to reduce the noise), which allows re-rendering an image to always produce the exact same result. By default, the Deterministic Monte Carlo method used by V-Ray is a modification of Schlick sampling, introduced by Christophe Schlick in [1].
DOF — Depth Of Field. Глубина резкости. Это размывание объектов в зависимости от их положения относительно фокуса камеры.
DWF, DWG, DXF — Design Web Format, «Drowing», Drawing Exchange Format. Это форматы файлов, используемые как основные CAD-программой AutoCAD.
EPS — Encapsulated PostScript. Созданный компанией Adobe, формат файлов для обмена графической информацией.
FFD — Free-form Deformation. Модификатор из Autodesk 3ds Max, «облачающий» модель в сетку, при перемещении контрольных точек которой, меняется геометрия «облаченного» объекта.
FK — Forward Kinematics. Процесс определения параметров связанных гибких объектов (например, кинематическая пара или кинематическая цепь) для достижения необходимой позиции, ориентации и расположения этих объектов. Прямая кинематика активно используется в робототехнике, трёхмерной компьютерной анимации и в разработке компьютерных игр. Алгоритм прямой кинематики противоположен алгоритму инверсной кинематики (подробнее в IK).
FOV — Field Of View (Vision). Поле зрения. Это угловое пространство, видимое глазом (или в нашем случае камерой) при фиксированном взгляде и неподвижной голове (камере).
GI — Global Illumination. Глобальное освещение — это название ряда алгоритмов, используемых в трёхмерной графике для более реалистичной имитации света. Такие алгоритмы учитывают не только прямой свет от источника (direct illumination), но и отражённый свет от различных поверхностей (indirect illumination).
GIF — Graphics Interchange Format. Растровый формат графических изображений. Способен хранить сжатые данные без потери качества в максимум 256 цветах, поддерживает анимацию.
GPU — Graphics Processing Unit. Тот самый процессор, только установленный в видеокартах. Главные отличия от CPU — абсолютно разные архитектуры. В то время, как CPU — это прежде всего последовательная обработка информации, то GPU — параллельная, необходимая для максимального увеличения скорости расчёта текстур и сложных графических объектов.
GLSL — OpenGL Shading Language. Это язык высокого уровня для программирования шейдеров. Синтаксис языка базируется на языке программирования ANSI C, однако, из-за его специфической направленности, из него были исключены многие возможности, для упрощения языка и повышения производительности. В язык включены дополнительные функции и типы данных, например для работы с векторами и матрицами. Основное преимущество GLSL перед другими шейдерными языками — переносимость кода между платформами и ОС.
GUI — Graphic User Interface. Графический пользовательский интерфейс, который пользователь видит перед собой на экране.
HBAO – Horizon-Based Ambient Occlusion. Является технологией, первоначально разработанной Nvidia. Эта технология создает мягкие и реалистичные контактные тени (затенение) между объектами и может действительно улучшить графику, но довольно «тонко».
HDAO – High-Definition Ambient Occlusion. По сути то же, что и HBAO, только разработанное AMD.
HDD — Hard Disk Drive. Запоминающее устройство (устройство хранения информации) произвольного доступа, основанное на принципе магнитной записи. Является основным накопителем данных в большинстве компьютеров.
HDRI — High Dynamic Range Imaging. Так называют технологию получения изображений с увеличенным диапазоном яркости. Вспомните, что происходит, когда вы наводите объектив камеры на небо? Да, всё, что ниже неба становится непозволительно тёмным. А теперь представьте, что на фото у вас и небо, и лес одинаково сбалансированы по яркости. Это HDRI.
HSL — Hue, Saturation, Lightness. Тон, насыщенность и светлота (Яркость и светлота — разные понятия).
HSV (HSB) — Hue, Saturation, Value (Brightness). Это цветовая модель, в которой координатами цвета являются цветовой тон, насыщенность и значение цвета (яркость).
IBL — Image-Based Lighting. Освещение на основе изображения, например, с помощью той же HDR-карты. Т.е. если на заднем плане синий закат с зелёным солнцем, то и в сцене будет прослеживаться рассеянное освещение соответствующих цветов. Мировые примеры: Университет Монстров (2013) и Великий Гэтсби (2013).
IDE — Integrated Drive Electronics. Параллельный интерфейс подключения накопителей (жёстких дисков и оптических приводов) к компьютеру. Разработан в 1986 году фирмой Western Digital, позднее стал именоваться ATA, затем PATA.
IFF — Interchange File Format. Это формат файла-контейнера, первоначально созданный корпорацией Electronic Arts в 1985 году. На базе этого формата впоследствии были создано множество других форматов для файлов-контейнеров.
IJES (IJS) — Initial Graphics Exchange Specification. Двумерный/трехмерный векторный формат графики; используется большинством CAD-программ.
IK — Inverse Kinematics. Инверсная кинематика, как и прямая (FK), применяются к моделям каких-либо персонажей или объектов, которые созданы с использованием скелетной анимации. Суть скелетной анимации состоит в том, что объект состоит из набора твёрдых сегментов (компонентов), соединённых сочленениями (англ. joint). При этом сегменты могут объединяться в кинематические пары, которые в свою очередь объединяются в кинематические цепи. Данные сегменты образуют иерархические цепочки, которые имеют «верхний» и «нижний» уровень. Основным отличием прямой кинематики от инверсной кинематики является то, что при прямой любое воздействие передается по иерархической цепочке сверху вниз. Например, при движении тазобедренного сустава двигаются все потомки, т.е. коленный сустав и все остальные. Инверсная кинематика использует принцип, диаметрально противоположный принципу прямой — перемещение компонентов-потомков приводит к изменению положения компонентов-предков, то есть алгоритм рассчитывает положение и ориентацию компонентов-предков, исходя из положения и ориентации компонентов-потомков [1*].
IPR — Interactive Production (Photorealistic) Rendering. В зависимости от ПО способ рендеринга в реальном времени.
IOR — Index Of Refraction. Индекс преломления. Преломление — это возможность светового луча , проходящего через прозрачный или полупрозрачный объект изменять свою траекторию.Величина изменения траектории определяется индексом преломления.
JPEG – Joint Photographic Experts Group. Наиболее популярный растровый графический формат. Алгоритм JPEG позволяет сжимать изображение как с потерями, так и без потерь. Максимальное разрешение изображения: 65535×65535 пикселей.
LOD — Level Of Detail. Уровень детализации. Это метод снижения сложности рендеринга кадра, уменьшения общего количества полигонов, текстур и иных ресурсов в сцене, общее снижение её сложности. Простой пример: основная модель персонажа состоит из 10000 полигонов. В тех случаях, когда в обрабатываемой сцене он расположен близко к камере, важно, чтобы использовались все полигоны, но на очень большом расстоянии от камеры в итоговом изображении он будет занимать лишь несколько пикселей, и смысла в обработке всех 10000 полигонов нет никакого. Возможно, в этом случае будет достаточно сотни полигонов, а то и пары штук и специально подготовленной текстуры для примерно такого же отображения модели. Соответственно, на средних расстояниях имеет смысл использовать модель, состоящую из количества треугольников большего, чем у самой простой модели, и меньшего, чем у наиболее сложной [2].
MEL — Maya Embedded Language. Скриптовый язык, используемый для упрощения задач, решаемых при моделировании в Autodesk Maya.
MIP (Mapping) — Multum in Parvum. С латыни переводится как «много в одном». Метод улучшения качества текстурных изображений при помощи использования текстур с разным разрешением для различных объектов одного и того же изображения, в зависимости от их размера и глубины. Таким образом, в памяти хранятся несколько копий текстурированного изображения в различных разрешениях. В результате этого изображение остается качественным при приближении к объекту и при удалении от него. При использовании этого метода вы увидите изображение в высоком разрешении, находясь близко от объекта, и изображение в низком разрешении, при удалении от объекта. MIP Mapping снижает мерцание и «зашумленность» изображения, возникающие при texture mapping. MIP mapping использует некоторые умные методы для упаковки данных о текстурах изображения в памяти. Чтобы использовать MIP mapping, необходимо, взяв все размеры текстур и умножив это число на два, построить одну карту наибольшего размера. Все карты меньшего размера обычно фильтруются и становятся усредненными и уменьшенными версиями самой большой карты [3].
NTSC — National Television Standards Committee. Национальный комитет по телевизионным стандартам — название телевизионного стандарта, применяемого в Северной Америке, большинстве стран Центральной и Южной Америки и в Японии. Частота кадров по этому стандарту составляет 30 кадров в секунду или 60 полей в секунду, причем каждое поле составляет половину строк чересстрочной развертки на телевизионном экране.
NURBS — Non-Uniform Rational B-Spline. Неоднородный рациональный B-сплайн. Впервые упоминается в диссертации Ken Versprille в далеком 1975 году. Сплайн — изначально гибкая полоска стали (или веревка, кривизна которой регулировалась подвешенными грузиками), при помощи которой чертежники проводили через заданные точки плавные кривые. В-сплайн — это любая гладкая кривая, определенная в трехмерном пространстве, нормаль которой может иметь любое направление (другими словами, она может искривляться в любом направлении). NURBS — это математические объекты для задания двумерных кривых и гладких поверхностей в трехмерном пространстве. Неоднородный означает, что различные области объектов NURBS (кривых или поверхностей) обладают различными свойствами (весами), значения которых не равны между собой. Рациональный означает, что объект NURBS может быть описан с помощью математических формул. Теория сплайнов — вообще интересная тема для углубления. Остановимся на том, что именно NURBS-кривые сейчас используются повсеместно.
NURMS — Non-Uniform Rational Mesh Smooth. Применение низкополигонального разбиения для управления границами сглаженных поверхностей. То же, что и subdivision surface, т.е. дробление поверхности модели.
OpenAL — Open Audio Library. Это кроссплатформенный интерфейс программирования приложений (API) для работы с аудиоданными. Ключевой особенностью является работа со звуком в 3D пространстве и использование эффектов EAX. Поддерживается компанией Creative.
OpenGL — Open Graphics Library. Спецификация, определяющая платформонезависимый (независимый от языка программирования) программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику. Включает более 300 функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D. Vulkan, ранее известный как glNext, будет являться основой для объединения OpenGL и OpenGL ES в один общий API, который не будет обратно совместим с существующими версиями OpenGL. 3 марта 2015 года на ежегодной конференции разработчиков GDC состоялся анонс игрового движка Source второго поколения — Source 2, который в свою очередь будет поддерживать Vulkan API. Т.е. Vulkan — логическое продолжение OpenGL.
OpenCL — Open Computing Language. Это фреймворк для написания компьютерных программ, связанных с параллельными вычислениями на различных графических и центральных процессорах, а также FPGA. OpenCL является полностью открытым стандартом, его использование не облагается лицензионными отчислениями. Цель OpenCL состоит в том, чтобы дополнить открытые отраслевые стандарты для трёхмерной компьютерной графики и звука OpenGL и OpenAL возможностями GPU для высокопроизводительных вычислений. OpenCL разрабатывается и поддерживается некоммерческим консорциумом Khronos Group, в который входят много крупных компаний, включая AMD, Apple, ARM, Intel, Nvidia, Sony Computer Entertainment и другие.
OSL — Open Shading Language. Это язык высокого уровня программирования шейдеров, разработанный Sony Pictures Imageworks для использования в его системе рендеринга Arnold. Он также поддерживается V-Ray 3 и рендер-движком Cycles в Blender (начиная с Blender 2.65). Поверхностные и объемные шейдеры OSL определяют, как поверхности или объемы рассеивают свет таким образом, чтобы учитывалась Importance Sampling (выборка по значимости). Таким образом, он хорошо подходит для визуализаторов на физическом уровне, которые поддерживают трассировку лучей и глобальное освещение.
PAL — Phase Alternation Line. Построчное изменение фазы — телевизионный стандарт, применяемый в большинстве европейских стран. Частота кадров по этому стандарту составляет 25 кадров в секунду или 50 полей в секунду, причем каждое поле составляет половину строк чересстрочной развертки на телевизионном экране.
PBR и PBS — Physically-Based-Rendering и Physically-Based Shading. PBR и PBS это технологии визуализации и шейдинга, которые более полноценно и точно (физически корректно) описывают освещение и материалы.
PDF — Portable Document Format. Межплатформенный формат электронных документов, разработанный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления полиграфической продукции в электронном виде.
PNG — Portable Network Graphics. Растровый формат хранения графической информации, использующий сжатие без потерь и разработанный, дабы сменить GIF. Поддерживает почти неограниченное кол-во цветов (до 2^48 цветов, 3×16 бит).
POV — Point Of View. Точка взгляда (если дословно), точка зрения. Применяется в случае, когда камера должна демонстрировать то, что в данный момент видит герой сцены.
PSD — Photoshop Data file. Основной растровый формат хранения графических данных программы Adobe Photoshop.
RAID – Redundant Array of Inexpensive Disks (Redundant Array of Independent Disks). Технология виртуализации данных, которая объединяет несколько дисков в логический элемент для избыточности и повышения производительности.
RGB — Red, Green, Blue. Система цветообразования, в которой конечный цвет получается за счет смешения, с различной интенсивностью, трех основных цветов: красного, зеленого и синего. RGBA — то же, плюс Альфа-канал.
RT — Real-Time. Частая прибавка в названии систем рендеринга, означающая возможность просмотра рендера (превью) модели в режиме реального времени в отдельном окне программы.
SATA — Serial AT Attachment. Последовательный интерфейс обмена данными с накопителями информации. SATA является развитием параллельного интерфейса ATA (Advanced Technology Attachment) (IDE — маркетинговое название), который после появления SATA был переименован в PATA (Parallel ATA).
SCSI — Small Computer System Interface. Набор стандартов для физического подключения и передачи данных между компьютерами и периферийными устройствами. SCSI-стандарты определяют команды, протоколы и электрические и оптические интерфейсы. Разработан для объединения на одной шине различных по своему назначению устройств, таких, как жёсткие диски, накопители на магнитооптических дисках, приводы CD, DVD, стримеры, сканеры, принтеры и т. д. Также система команд SCSI реализована поверх протокола USB, что является частью спецификации класса Mass Storage device. Это позволяет подключать через интерфейс USB любые хранилища данных (от флеш-накопителей до внешних жёстких дисков), не разрабатывая для них собственного протокола обмена, а вместо этого используя имеющийся в операционной системе драйвер SCSI.
SDK — Software Development Kit. Комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, игровых консолей, операционных систем и прочих платформ.
SECAM — Séquentiel couleur à mémoire (фр.). Последовательный цвет с памятью. Система аналогового цветного телевидения, разработка которой началась во Франции в конце 1950-х годов. В 1965—1966 годах совместно с СССР была доработана, став первым европейским стандартом цветного телевидения. В настоящее время эфирное аналоговое вещание телевизионных каналов в России продолжается в системе SÉCAM. Однако, многие телевизионные каналы, транслирующиеся по кабельных сетям, и даже в открытом эфире, передаются в системе PAL, что делает невозможным их просмотр на старых советских телевизорах в цвете. Студийное видеооборудование стандарта SÉCAM не производится уже более 20 лет, и все программы производятся в системе PAL в европейском стандарте разложения, а в эфир видеосигнал поступает после транскодирования в систему SECAM.
SSAO — Screen Space Ambient Occlusion. Преграждение окружающего света в экранном пространстве — программная техника (методика) в трёхмерной компьютерной графике, которая является приближенной имитацией глобального освещения и представляет собой изменённый и усовершенствованный вариант методики AO. Алгоритм SSAO работает в режиме реального времени и имитирует рассеянное непрямое освещение и соответствующее затемнение в трёхмерном виртуальном пространстве. SSAO был разработан отделом исследований и разработок немецкой компании Crytek при разработке графических компонентов игрового движка CryEngine 2. Crysis, первая игра на CryEngine 2, разработанная Crytek и вышедшая осенью 2007 года, впервые использовала SSAO.
SSD — Solid-State Drive. Твердотельный накопитель. Компьютерное немеханическое запоминающее устройство на основе микросхем памяти, которое пришло на смену HDD. По сравнению с традиционными жёсткими дисками, твердотельные накопители имеют меньший размер и вес и значительно большую скорость, но в несколько раз большую стоимость за гигабайт и значительно меньшую износостойкость (ресурс записи).
SSHD — Solid-State Hybrid Drive. Это логическое или физическое устройство хранения данных, которое сочетает в себе технологии хранения данных на HDD и SSD. В результате увеличивается производительность накопителя при большом доступном объёме хранения информации. Твердотельная память гибридного диска используется как кэш данных, хранящихся на жёстком диске, к которым идёт наиболее частое обращение. Тем самым повышается общая производительность системы.
SSS — SubSurface Scattering. Программная техника (методика) в трёхмерной компьютерной графике, описывающая распространение света через полупрозрачные тела. Суть подповерхностного рассеивания состоит в симуляции распространения света в полупрозрачных сплошных телах (объектах, материалах). Подповерхностное рассеивание описывает механизм распространения света, при котором свет, проникая внутрь полупрозрачного тела через его поверхность, рассеивается внутри самого тела, многократно отражаясь от частиц тела в случайном направлении и на нерегулярные углы. В итоге свет выходит из объекта в выходной точке, отличной от точки вхождения в объект [4].
UV — Текстурные координаты (U — по горизонтали, V — по вертикали).
VFB — Virtual Frame Buffer. Виртуальный буфер кадров — отдельное диалоговое окно, в котором программа отображает результат визуализации.