Основные понятия 3D-графики
Основные понятия 3D-графики
2D - двумерная графика, определяемая координатами X и Y устройства, на которое она выводится, измеряемая в единицах реального мира (метрах, дюймах и т.п.).
3D - трехмерная графика определяется координатами x, y и z и измеряется в реальных единицах.
Билинейная фильтрация (bi-linear filtering) - недорогие игровые приставки, так же как и дешевые чипы графических ускорителей для РС, при преобразовании пикселов текстурной карты, или текселов, в пикселы выводимого на экран изображения вынуждены использовать цвет ближайших соседних пикселов. В результате появляется разного рода ступенчатость (aliasing), так как даже небольшие перемещения приводят к полному изменению пикселов в изображении. Билинейная фильтрация существенно уменьшает эти проявления, так как при расчете пиксела используется взвешенное среднее значение четырех ближайших текселов. Разница в качестве картинки впечатляющая.
Буфер (buffer) - временная область для хранения данных, часто используемая для компенсации разницы в быстродействии между компонентами системы. Так, дополнительная память применяется для временного хранения данных, передаваемых между процессором и периферией, такой как дисководы, принтеры или монитор. Буферы полезны при компенсации разницы в скорости потоков данных, предоставлении места для ожидания данным, передаваемым в асинхронном режиме (например, данные, записываемые в дисплейный контроллер, должны подождать, пока графический процессор закончит выполняемую в данный момент операцию), а также для удержания данных в неизменяемом виде (как в кадровом видеобуфере). Часть буферной памяти находится в адресном пространстве центрального процессора, то есть он может к ней обращаться напрямую, но остальная буферная память размещена на периферийных устройствах.
Гуро (Gouraud) - закрашивание Гуро (Gouraud shading), называемое иногда равномерным закрашиванием (smooth shading), представляет собой алгоритм, обеспечивающий рисование сглаженных теней на поверхности объекта. Благодаря применению этого алгоритма глаз наблюдателя получает возможность воспринять информацию о глубине и искривленности поверхности объекта. Заключается в считывании цветовой информации со всех трех вершин треугольника (поверхность 3D-объекта представляется в виде треугольников со смежными вершинами) и интерполяции интенсивности по красному, зеленому и синему каналам таким образом, чтобы она равномерно изменялась при переходе от одной вершины треугольника к другой. На сегодня самый популярный алгоритм окрашивания поверхности трехмерных объектов для их отображения на плоском двумерном экране монитора. Благодаря закрашиванию Гуро большинство объектов может быть представлено в виртуальном мире 3D-графики с удивительным реализмом.
Двоичный (binary) - имеющий только два состояния. В компьютерах двоичные цифры (биты) могут принимать значения 0 или 1. Они используются для кодирования информации при компьютерных вычислениях.
Двойная буферизация (double buffering) - вспомните детский трюк, когда на уголке одной страницы рисуется человечек, а на следующих страницах в том же месте его изображение немного изменяется. Если потом очень быстро пролистать все страницы, нарисованный человечек "оживает" и возникает иллюзия его ровного движения. Двойная буферизация в 3D-анимации на персональном компьютере работает по тому же принципу - следующее положение объекта или персонажа полностью прорисовывается перед тем, как страничка будет показана на экране. Просмотр 3D-анимации без двойной буферизации напоминает процесс, когда человечек рисуется в момент пролистывания очередной страницы. Картинка при этом изменяется рывками, мерцает (flicker). Двойная буферизация требует резервирования двух областей в кадровом буфере (локальной видеопамяти) графической карты. Обе области должны по размеру вмещать полный экран и z-буфер.
Интерактивный (interactive) - интерактивной считается такая прикладная программа, взаимодействуя с которой пользователь не только видит получаемые на выходе результаты, но может немедленно повлиять на них с помощью средств ввода - что-то добавить, изменить или удалить из выводимой приложением информации.
Интерфейс прикладного программирования (API) - спецификация, описывающая стандартный набор функций, поддержку которых в своих продуктах должны обеспечить производители, чтобы пользователи могли воспользоваться преимуществами 3D-ускорения. Поскольку далеко не в каждой компьютерной системе имеется аппаратный 3D-ускоритель, API трехмерной графики должны также предоставить чисто программные решения для 3D-функций, обычно реализуемые в виде программных 3D-драйверов к операционной системе или отдельной программе.
Истинный цвет (true color) - цвет, определяемый с помощью 24 бит (по 8 бит на каждый из первичных цветов), что дает приблизительно 16.7 млн. оттенков.
Затуманивание (fogging) - при затуманивании используется смешивание цвета пикселов с цветом тумана в пропорции, зависящей от удаления от точки наблюдения.
Кадровый буфер (frame buffer) - специальная область памяти в компьютере или на отдельной плате, которая предназначена для хранения пикселов, составляющих один выводимый на экран монитора кадр. Глубина кадрового буфера определяется числом бит, выделяемых для каждого пиксела. Она задает динамический диапазон изображения, то есть число цветов и градаций интенсивности, которые можно показать на экране.
Компьютерная графика - общая дисциплина, охватывающая создание графических изображений, манипулирование ими и соответствующими данными на компьютерах. В нее входят САПР, анимация, дизайн, архитектура, научные графические построения и моделирование, деловая графика и т.д. Графические компьютерные системы обычно интерактивны, то есть изображения выводятся на экран монитора прямо в процессе их создания или изменения.
Коррекция перспективы (perspective correction) - сегодняшние игры для уменьшения нагрузки на процессор компьютера стараются оперировать 3D-объектами, составленными из сравнительно больших треугольников, а для придания им необходимой степени реалистичности используют "обтягивание" поверхности текстурными картами, передающими характер поверхности и находящиеся на ней мелкие детали как можно подробнее. При удалении объекта от наблюдателя необходимо корректировать текстуры с учетом перспективы, что является трудоемким вычислительным процессом, однако если этого не сделать, то появятся видимые искажения и "сползания" текстур, способные отвлекать игрока, если искажений мало, или вообще вызвать у него отвращение, когда они станут слишком сильными.
Пиксел (pixel) - слово, образованное от picture element, то есть наименьший элемент изображения, выводимого на дисплей. Картинки, которые вы видите на экране монитора, складываются из сотен и тысяч пикселов. Пиксел - наименьший сегмент растровой строки, которым дисплей может управлять отдельно. Пикселы на экране являются светящимися точками люминофора, но одновременно представляют собой и элементарные "кирпичики", из которых складывается картинка. Понятно, что размер пиксела не должен быть меньше величины точки люминофора на кране монитора. В цветных мониторах каждая такая точка является триадой очень близко расположенных точек люминофора красного, зеленого и синего цветов. В зависимости от типа монитора и выбранного графического режима пикселы могут быть разной формы и размера. Максимальное число пикселов, которые можно отобразить на экране, или его разрешение, определяется путем деления ширины и высоты экрана на шаг точек (расстояние между точками люминофора одного цвета, входящими в соседние триады).
Приложение (application) - компьютерная программа определенного назначения, например для набора текстов, работы с фотографиями или верстки изданий.
Прозрачность (transparency) - в компьютерной графике цвет очень часто описывается RGB-значениями, то есть интенсивностью красной, зеленой и синей составляющих. Например, при 16-битовом цвете на описание цвета пиксела отведено 16 бит: 5 бит для красной составляющей, 6 бит для зеленой и 5 бит для синей. Альфа-канал - это дополнительная цветовая компонента, которая используется для наложения цветов. Эту составляющую также рассматривают как величину, определяющую прозрачность пиксела, то есть задающую, когда сквозь данный пиксел будет "просвечивать" цвет лежащего ниже пиксела, а когда нет. Наиболее важная функция альфа-канала с точки зрения 3D-графики состоит в создании объектов сложной неправильной формы, составляемых из очень небольшого числа многоугольников.
Разрешение (resolution) - число пикселов, представляемых битами в видеопамяти компьютера, также известное как адресуемое разрешение. Дисплейная память (или видеопамять) компьютера организована в виде трехмерной битовой матрицы пикселов. По горизонтали ее размер определяется числом пикселов в строке изображения, по вертикали - числом строк в изображении, а в глубину - числом бит, задающих цвет каждого пиксела. Для стандартного режима VGA дисплейная память состоит из 640 пикселов в строке, 480 пикселов или строк по вертикали и 8 бит в глубину (256 цветов). Чем выше разрешение, тем больше деталей можно отобразить на дисплее и тем большее количество информации хранится в видеопамяти. Однако не вся записанная там информация выводится на экран.
Реального времени (real-time) процесс - с точки зрения компьютерной графики скорость записи или воспроизведения видеоинформации не меньше 24 - 30 кадров в секунду.
САПР (CAD) - системы автоматизированного проектирования, то есть системы, с помощью которых на компьютере создаются чертежи.
Сглаживание (anti-aliasing) - этот метод применяется, чтобы ступенчатые контуры и линии получались гладкими. В самом общем случае техника сглаживания заключается в смягчении перехода между цветом линии или края объекта и цветом фона. В результате контуры выглядят немного размытыми.
Схема RGB - аддитивная цветовая система, в которой результирующий цвет определяется путем сложения интенсивности каждого из основных, или первичных цветов - красного, зеленого и синего. Самое известное и распространенное устройство, в котором используется эта схема цветообразования, - монитор.
Трилинейная фильтрация (tri-linear filtering) - текстурированные объекты, как и другие объекты на трехмерной сцене, располагаются на разном удалении от точки наблюдения. При динамической сцене, например, когда текстурированный объект отодвигается на все большее расстояние от наблюдателя, наложенная на него текстурная карта должна уменьшаться в размере, чтобы соответствовать габаритам объекта. Чтобы выполнить эту работу, графический процессор с помощью трилинейных фильтров уменьшает исходную текстурную карту, стараясь избежать нежелательных искажений. Для этого большинство графических программ позволяет задать серию заранее отфильтрованных текстурных карт с пошаговым уменьшением разрешения - MIP-карты. Графическая программа автоматически определяет, какую из этих карт надо использовать, исходя из размера объекта на экране: когда объект уменьшается, уменьшается и разрешение текстурной карты.
Цвет (color) - цветные мониторы используют три основные цветовые компоненты - красный, зеленый и синий цвета, воспринимаемые глазом вместе. В результате смешения этих основных, или первичных цветов получается сложный составной цвет, который мы видим на экране.
Чип (chip) - интегральная микросхема.
Шина (bus) - коммуникационная магистраль внутри компьютера, состоящая из параллельных проводников, по которым передаются данные, совместно используемая компонентами системы. Часто характеризуется числом применяемых для передачи данных параллельных линий, обычно компьютерные шины являются 8-, 16-, 32-, 64- или 128-разрядными.
CPU - центральный процессорный блок, первичный процессор в компьютере, занимающийся всеми расчетами, включая связанные с трехмерной графикой, если в системе нет дополнительного специализированного графического процессора.
MIP-текстурирование (MIP-mapping) - один из ловко придуманных способов повышения качества текстурированных объектов 3D-графики. Трюк состоит в том, в памяти хранятся варианты одной и той же текстуры, но различного размера - начиная с наименьшей возможной текстурной карты размером 1 х 1 пиксел и далее, увеличиваясь пропорционально степени числа 2, то есть карты 2 х 2, 4 х 4, 8 х 8 и т.д. Меньшие карты представляют собой предварительно отфильтрованные и сбалансированные уменьшенные версии самой большой текстуры в наборе. Чем дальше от наблюдателя находится трехмерный объект, тем меньшего размера текстурная карта на него "натягивается".
Z-буферизация (z-buffering) - в то время как кадровый буфер содержит всю информацию о цвете пикселов на экране, в z-буфере, или буфере глубины, находится информация о глубине расположения каждого пиксела. Так же как большее количество бит, отводимых на описание пиксела в кадровом буфере, позволяет увеличить число показываемых на экране цветов, количество бит на каждый пиксел в z-буфере определяет, насколько протянется трехмерная сцена в глубину. Обычно z-буфер имеет глубину не меньше 16 бит на пиксел. Аппаратные 3D-ускорители нуждаются в локальном z-буфере (размещенном на самой графической карте, а не в системной памяти компьютера), чтобы предотвратить перегрузку двустороннего потока данных по системной шине. Z-буфер можно реализовать как в однопортовой памяти DRAM, так и в двухпортовой VRAM, обладающей большей пропускной способностью.
- титульная страница
2D - двумерная графика, определяемая координатами X и Y устройства, на которое она выводится, измеряемая в единицах реального мира (метрах, дюймах и т.п.).
3D - трехмерная графика определяется координатами x, y и z и измеряется в реальных единицах.
Билинейная фильтрация (bi-linear filtering) - недорогие игровые приставки, так же как и дешевые чипы графических ускорителей для РС, при преобразовании пикселов текстурной карты, или текселов, в пикселы выводимого на экран изображения вынуждены использовать цвет ближайших соседних пикселов. В результате появляется разного рода ступенчатость (aliasing), так как даже небольшие перемещения приводят к полному изменению пикселов в изображении. Билинейная фильтрация существенно уменьшает эти проявления, так как при расчете пиксела используется взвешенное среднее значение четырех ближайших текселов. Разница в качестве картинки впечатляющая.
Буфер (buffer) - временная область для хранения данных, часто используемая для компенсации разницы в быстродействии между компонентами системы. Так, дополнительная память применяется для временного хранения данных, передаваемых между процессором и периферией, такой как дисководы, принтеры или монитор. Буферы полезны при компенсации разницы в скорости потоков данных, предоставлении места для ожидания данным, передаваемым в асинхронном режиме (например, данные, записываемые в дисплейный контроллер, должны подождать, пока графический процессор закончит выполняемую в данный момент операцию), а также для удержания данных в неизменяемом виде (как в кадровом видеобуфере). Часть буферной памяти находится в адресном пространстве центрального процессора, то есть он может к ней обращаться напрямую, но остальная буферная память размещена на периферийных устройствах.
Гуро (Gouraud) - закрашивание Гуро (Gouraud shading), называемое иногда равномерным закрашиванием (smooth shading), представляет собой алгоритм, обеспечивающий рисование сглаженных теней на поверхности объекта. Благодаря применению этого алгоритма глаз наблюдателя получает возможность воспринять информацию о глубине и искривленности поверхности объекта. Заключается в считывании цветовой информации со всех трех вершин треугольника (поверхность 3D-объекта представляется в виде треугольников со смежными вершинами) и интерполяции интенсивности по красному, зеленому и синему каналам таким образом, чтобы она равномерно изменялась при переходе от одной вершины треугольника к другой. На сегодня самый популярный алгоритм окрашивания поверхности трехмерных объектов для их отображения на плоском двумерном экране монитора. Благодаря закрашиванию Гуро большинство объектов может быть представлено в виртуальном мире 3D-графики с удивительным реализмом.
Двоичный (binary) - имеющий только два состояния. В компьютерах двоичные цифры (биты) могут принимать значения 0 или 1. Они используются для кодирования информации при компьютерных вычислениях.
Двойная буферизация (double buffering) - вспомните детский трюк, когда на уголке одной страницы рисуется человечек, а на следующих страницах в том же месте его изображение немного изменяется. Если потом очень быстро пролистать все страницы, нарисованный человечек "оживает" и возникает иллюзия его ровного движения. Двойная буферизация в 3D-анимации на персональном компьютере работает по тому же принципу - следующее положение объекта или персонажа полностью прорисовывается перед тем, как страничка будет показана на экране. Просмотр 3D-анимации без двойной буферизации напоминает процесс, когда человечек рисуется в момент пролистывания очередной страницы. Картинка при этом изменяется рывками, мерцает (flicker). Двойная буферизация требует резервирования двух областей в кадровом буфере (локальной видеопамяти) графической карты. Обе области должны по размеру вмещать полный экран и z-буфер.
Интерактивный (interactive) - интерактивной считается такая прикладная программа, взаимодействуя с которой пользователь не только видит получаемые на выходе результаты, но может немедленно повлиять на них с помощью средств ввода - что-то добавить, изменить или удалить из выводимой приложением информации.
Интерфейс прикладного программирования (API) - спецификация, описывающая стандартный набор функций, поддержку которых в своих продуктах должны обеспечить производители, чтобы пользователи могли воспользоваться преимуществами 3D-ускорения. Поскольку далеко не в каждой компьютерной системе имеется аппаратный 3D-ускоритель, API трехмерной графики должны также предоставить чисто программные решения для 3D-функций, обычно реализуемые в виде программных 3D-драйверов к операционной системе или отдельной программе.
Истинный цвет (true color) - цвет, определяемый с помощью 24 бит (по 8 бит на каждый из первичных цветов), что дает приблизительно 16.7 млн. оттенков.
Затуманивание (fogging) - при затуманивании используется смешивание цвета пикселов с цветом тумана в пропорции, зависящей от удаления от точки наблюдения.
Кадровый буфер (frame buffer) - специальная область памяти в компьютере или на отдельной плате, которая предназначена для хранения пикселов, составляющих один выводимый на экран монитора кадр. Глубина кадрового буфера определяется числом бит, выделяемых для каждого пиксела. Она задает динамический диапазон изображения, то есть число цветов и градаций интенсивности, которые можно показать на экране.
Компьютерная графика - общая дисциплина, охватывающая создание графических изображений, манипулирование ими и соответствующими данными на компьютерах. В нее входят САПР, анимация, дизайн, архитектура, научные графические построения и моделирование, деловая графика и т.д. Графические компьютерные системы обычно интерактивны, то есть изображения выводятся на экран монитора прямо в процессе их создания или изменения.
Коррекция перспективы (perspective correction) - сегодняшние игры для уменьшения нагрузки на процессор компьютера стараются оперировать 3D-объектами, составленными из сравнительно больших треугольников, а для придания им необходимой степени реалистичности используют "обтягивание" поверхности текстурными картами, передающими характер поверхности и находящиеся на ней мелкие детали как можно подробнее. При удалении объекта от наблюдателя необходимо корректировать текстуры с учетом перспективы, что является трудоемким вычислительным процессом, однако если этого не сделать, то появятся видимые искажения и "сползания" текстур, способные отвлекать игрока, если искажений мало, или вообще вызвать у него отвращение, когда они станут слишком сильными.
Пиксел (pixel) - слово, образованное от picture element, то есть наименьший элемент изображения, выводимого на дисплей. Картинки, которые вы видите на экране монитора, складываются из сотен и тысяч пикселов. Пиксел - наименьший сегмент растровой строки, которым дисплей может управлять отдельно. Пикселы на экране являются светящимися точками люминофора, но одновременно представляют собой и элементарные "кирпичики", из которых складывается картинка. Понятно, что размер пиксела не должен быть меньше величины точки люминофора на кране монитора. В цветных мониторах каждая такая точка является триадой очень близко расположенных точек люминофора красного, зеленого и синего цветов. В зависимости от типа монитора и выбранного графического режима пикселы могут быть разной формы и размера. Максимальное число пикселов, которые можно отобразить на экране, или его разрешение, определяется путем деления ширины и высоты экрана на шаг точек (расстояние между точками люминофора одного цвета, входящими в соседние триады).
Приложение (application) - компьютерная программа определенного назначения, например для набора текстов, работы с фотографиями или верстки изданий.
Прозрачность (transparency) - в компьютерной графике цвет очень часто описывается RGB-значениями, то есть интенсивностью красной, зеленой и синей составляющих. Например, при 16-битовом цвете на описание цвета пиксела отведено 16 бит: 5 бит для красной составляющей, 6 бит для зеленой и 5 бит для синей. Альфа-канал - это дополнительная цветовая компонента, которая используется для наложения цветов. Эту составляющую также рассматривают как величину, определяющую прозрачность пиксела, то есть задающую, когда сквозь данный пиксел будет "просвечивать" цвет лежащего ниже пиксела, а когда нет. Наиболее важная функция альфа-канала с точки зрения 3D-графики состоит в создании объектов сложной неправильной формы, составляемых из очень небольшого числа многоугольников.
Разрешение (resolution) - число пикселов, представляемых битами в видеопамяти компьютера, также известное как адресуемое разрешение. Дисплейная память (или видеопамять) компьютера организована в виде трехмерной битовой матрицы пикселов. По горизонтали ее размер определяется числом пикселов в строке изображения, по вертикали - числом строк в изображении, а в глубину - числом бит, задающих цвет каждого пиксела. Для стандартного режима VGA дисплейная память состоит из 640 пикселов в строке, 480 пикселов или строк по вертикали и 8 бит в глубину (256 цветов). Чем выше разрешение, тем больше деталей можно отобразить на дисплее и тем большее количество информации хранится в видеопамяти. Однако не вся записанная там информация выводится на экран.
Реального времени (real-time) процесс - с точки зрения компьютерной графики скорость записи или воспроизведения видеоинформации не меньше 24 - 30 кадров в секунду.
САПР (CAD) - системы автоматизированного проектирования, то есть системы, с помощью которых на компьютере создаются чертежи.
Сглаживание (anti-aliasing) - этот метод применяется, чтобы ступенчатые контуры и линии получались гладкими. В самом общем случае техника сглаживания заключается в смягчении перехода между цветом линии или края объекта и цветом фона. В результате контуры выглядят немного размытыми.
Схема RGB - аддитивная цветовая система, в которой результирующий цвет определяется путем сложения интенсивности каждого из основных, или первичных цветов - красного, зеленого и синего. Самое известное и распространенное устройство, в котором используется эта схема цветообразования, - монитор.
Трилинейная фильтрация (tri-linear filtering) - текстурированные объекты, как и другие объекты на трехмерной сцене, располагаются на разном удалении от точки наблюдения. При динамической сцене, например, когда текстурированный объект отодвигается на все большее расстояние от наблюдателя, наложенная на него текстурная карта должна уменьшаться в размере, чтобы соответствовать габаритам объекта. Чтобы выполнить эту работу, графический процессор с помощью трилинейных фильтров уменьшает исходную текстурную карту, стараясь избежать нежелательных искажений. Для этого большинство графических программ позволяет задать серию заранее отфильтрованных текстурных карт с пошаговым уменьшением разрешения - MIP-карты. Графическая программа автоматически определяет, какую из этих карт надо использовать, исходя из размера объекта на экране: когда объект уменьшается, уменьшается и разрешение текстурной карты.
Цвет (color) - цветные мониторы используют три основные цветовые компоненты - красный, зеленый и синий цвета, воспринимаемые глазом вместе. В результате смешения этих основных, или первичных цветов получается сложный составной цвет, который мы видим на экране.
Чип (chip) - интегральная микросхема.
Шина (bus) - коммуникационная магистраль внутри компьютера, состоящая из параллельных проводников, по которым передаются данные, совместно используемая компонентами системы. Часто характеризуется числом применяемых для передачи данных параллельных линий, обычно компьютерные шины являются 8-, 16-, 32-, 64- или 128-разрядными.
CPU - центральный процессорный блок, первичный процессор в компьютере, занимающийся всеми расчетами, включая связанные с трехмерной графикой, если в системе нет дополнительного специализированного графического процессора.
MIP-текстурирование (MIP-mapping) - один из ловко придуманных способов повышения качества текстурированных объектов 3D-графики. Трюк состоит в том, в памяти хранятся варианты одной и той же текстуры, но различного размера - начиная с наименьшей возможной текстурной карты размером 1 х 1 пиксел и далее, увеличиваясь пропорционально степени числа 2, то есть карты 2 х 2, 4 х 4, 8 х 8 и т.д. Меньшие карты представляют собой предварительно отфильтрованные и сбалансированные уменьшенные версии самой большой текстуры в наборе. Чем дальше от наблюдателя находится трехмерный объект, тем меньшего размера текстурная карта на него "натягивается".
Z-буферизация (z-buffering) - в то время как кадровый буфер содержит всю информацию о цвете пикселов на экране, в z-буфере, или буфере глубины, находится информация о глубине расположения каждого пиксела. Так же как большее количество бит, отводимых на описание пиксела в кадровом буфере, позволяет увеличить число показываемых на экране цветов, количество бит на каждый пиксел в z-буфере определяет, насколько протянется трехмерная сцена в глубину. Обычно z-буфер имеет глубину не меньше 16 бит на пиксел. Аппаратные 3D-ускорители нуждаются в локальном z-буфере (размещенном на самой графической карте, а не в системной памяти компьютера), чтобы предотвратить перегрузку двустороннего потока данных по системной шине. Z-буфер можно реализовать как в однопортовой памяти DRAM, так и в двухпортовой VRAM, обладающей большей пропускной способностью.
- титульная страница
Компьютерная газета. Статья была опубликована в номере 05 за 1998 год в рубрике hard :: технологии