Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Преимущества

Цвет

Внутреннее представление моделей

· объемная модель,

· полиэдральная модель,

· упрощенные модели,

· сосуществование моделей.

Процедурная модель и представление в данных.

 

47. Цветовосприятие человека и цвет в компьютерной графике.

 

http://courses.graphicon.ru/files/courses/imagesynt/2011/lectures/color_light_11.pdf

 

http://vtk34.narod.ru/putilina_rastrgraphic/lek/5/index.htm

 

http://rus-lib.ru/book/28/gr/5/073-078.html

 

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

Как уже говорилось, видимый свет представляет собой электромагнитные колебания в диапазоне длин волн между 350 и 780 нм. Колебания с более короткой длиной волны воспринимаются как более близкие к синему цвету, а по мере увеличения длины цвет воспринимается как все более близкий к красному. Промежуточное положение между синей и красной частями спектра занимает зеленый цвет. Практически все источники света излучают колебания в достаточно широком диапазоне частот. Исключение составляют источники когерентных колебаний — лазеры. Каждый источник света характеризуется функцией спектрального распределения С (λ), которая в графическом виде представлена на рис. 2.21. Аргументом функции является длина волны λ, а значением функции — мощность излучения соответствующей частоты.

Функция С (λ) учитывает объективные физические свойства излучения, но никак не отражает способность зрительной системы человека воспринимать цвет этого излучения. Для того чтобы это различие стало более понятным, рассмотрим одну из ключевых задач использования цвета в компьютерной графике — задачу соответствия цветов. Предположим, что нам нужно воспроизвести на экране цветовой эффект, создаваемый в реальном мире излучением, имеющим функцию распределения С (λ). Должны ли мы для этого воспроизвести относительную мощность С для каждого значения λ? Монитор, который обладал бы подобной возможностью во всем диапазоне видимых цветов, пока что не создан. Но, к счастью, нам и не нужен такой монитор, поскольку зрительная система человека вполне удовлетворительно описывается моделью, основанной на трех первичных цветах.

Представление цвета в компьютерной графике основано на теории трех первичных составляющих (three-color theory)9. Аддитивная цветовая модель (additivecolor model) базируется на предположении, что любой цвет можно рассматривать как взвешенную сумму трех основных цветов. Достаточно близкая и понятная аналогия — использование трех прожекторов основных цветов с регулируемой интенсивностью излучения каждого (рис. 2.22). Все прожекторы направлены в одну и ту же область темного экрана. Наши глаза воспринимают отраженный световой поток, который представляет собой наложение трех первичных, но видит его как один смешанный цвет.

При использовании такой модели можно, варьируя интенсивность излучения каждого из первичных прожекторов, добиться желаемого цвета. Хотя с помощью этой модели нельзя добиться абсолютно точного воспроизведения всех цветов, но если в качестве первичных использовать красный, зеленый и синий, такое воспроизведение будет довольно близким. Формально этот процесс можно описать следующим образом. Пусть С — это тот цвет, который требуется воспроизвести, a R, G и В представляют наши три прожектора. Цветовое соответствие при этом выражается соотношением

где T1, Т2 и T3 представляют интенсивность излучения соответствующих прожекторов. Синтезируемый цвет можно охарактеризовать триадой (Т1, Т2, Т3).

Естественно, что точного соответствия между непрерывной функцией С (λ) и наборами триад (T1, T2, T3) добиться не удастся, но именно так действует зрительная система человека. В ней существуют три типа цветовых рецепторов — колбочек. Колбочки типа i, i Î {1, 2, 3}, имеют кривую чувствительности Si(l) и, когда на них попадает световой поток с функцией распределения С (λ), посылают в мозг сигнал

где интегрирование выполняется по всему диапазону длин волн видимого света. Таким образом мозг получает информацию о цвете в виде триад (A1, А2, А3), а не в виде отсчетов непрерывной функции С (λ).

Подводя итог сказанному, получим основополагающий принцип трехкомпонентной теории цветовосприятия:

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

Два цвета, которые воспринимаются глазом одинаково, образуют метаметртескую пару (metameric pairs). Такие цвета имеют те же самые значения интенсивности первичных составляющих, хотя их функции распределения С (λ) могут и не совпадать. Для построения соответствующих цветов достаточно воспроизвести в системе компьютерной графики интенсивности первичных составляющих.

Существует множество нюансов теории цветовосприятия, на которых мы в данной книге останавливаться не будем. Наибольшее внимание обычно уделяется выбору набора первичных составляющих и ограничениям, проистекающим из физических принципов работы реальных приборов. Первичные цвета, воспринимаемые рецепторами глаза, не совпадают ни с теми, которые используются в цветных ЭЛТ или принтерах, ни с теми, которые используются в цветных фото- и кинопленках. Кроме того, интенсивности первичных составляющих, которые используются для получения соответствующих цветов на экране ЭЛТ, должны быть обязательно положительны, поскольку по самой своей физической природе этот прибор позволяет только добавлять какой-либо цвет, но никак не может "вычесть" его. Существует и предел интенсивности свечения как излучаемого данным физическим прибором, так и воспринимаемого рецепторами зрительной системы. Следовательно, хотя математически мы и можем соотнести интенсивности первичных компонентов одного набора с аналогичными значениями другого набора, физически воспроизвести их не всегда возможно. Диапазон цветов, который можно воспроизвести в данной системе при заданном наборе первичных цветов, называется цветовой гаммой (color gamut).

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

При работе с ЭЛТ цвет формируется в результате добавления первичных компонентов. В издательских системах используется иная модель, основанная на вычитании первичных компонентов. В этом случае носитель изображения в исходном состоянии является белым (например, чистый лист бумаги). Окрашенные пигменты как бы удаляют определенную составляющую из белого цвета, отражаемого поверхностью носителя. Если считать, что поверхность засвечивается чисто белым цветом, то некоторая точка этой поверхности будет восприниматься красной в том случае, если все компоненты, кроме красного, будут поглощены наложенными на эту точку пигментами. В таких системах первичные пигменты имеют дополняющий цвет. Это так называемая система CMY (по первым буквам английских названий дополняющих цветов — cyan, magenta,yellow (рис. 2.24)). В данной книге мы не будем в дальнейшем использовать систему дополняющих цветов и сконцентрируемся только на аддитивном методе формирования цвета.

2.4.1.Цветовая система RGB

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

Концептуально в RGB-системе наложения цветов должны существовать три раздельных буфера кадра — по одному на каждый из первичных цветов. В каждом буфере за определенным пикселем на экране закреплен фиксированный адрес в памяти (рис. 2.25). В типовой системе, имеющей разрешение 12801024 пикселей, каждый из них описывается тремя байтами (24 битами): по одному байту соответственно на красный, зеленый и синий цвета. В результате буфер кадра должен иметь объем порядка 3 Мбайт, причем весь буфер должен считываться с частотой регенерации. До последнего времени необходимость в таком буфере являлась одним из наиболее существенных препятствий во внедрении графических систем с правильной цветопередачей.

Программисту желательно было бы иметь возможность задавать цвет в виде определенного числа и не думать о том, каким образом соответствующая информация будет храниться в буфере кадра. Если считать, что на каждый цвет отводится по 1 байту, то в распоряжении программиста есть 224 возможных цветов (иногда говорят, что имеется 16 М цветов, понимая под М число 10242). В других графических системах используется 12 и более битов на каждый цвет, но существуют и системы с 4 битами на цвет. Поскольку все графические API желательно делать аппаратно-независимыми, то программисту нужно позволить специфицировать цвет независимо от объема памяти, отводимой в буфере кадра на каждый пиксель. Все остальные операции, связанные с приведением кода цвета к формату конкретной системы отображения, должны взять на себя драйверы и аппаратные средства. Наиболее естественным было бы воспользоваться моделью цветового куба и специфицировать цвет в виде трех действительных чисел в диапазоне от 0 до 1.0. В OpenGL эта идея реализуется следующим образом. Для того чтобы задать красный цвет, вызывается функция glColor3f ():

В результате выполнения этой функции устанавливается значение текущего атрибута цвета, соответствующее красному цвету. Поскольку атрибут цвета является одним из параметров текущего состояния системы, все последующие графические объекты будут отображаться красным цветом до тех пор, пока значение атрибута не изменится. Суффикс 3f в имени функции играет ту же роль, что и суффиксы в именах функций семейства glVertex*, и означает, что используется трехцветная (RGB) модель формирования цвета, а значения компонентов — аргументов функции — это вещественные числа в формате float, как он определен в языке С. Если для задания компонентов будут использованы числа в формате integer или byte, то максимальное значение выбранного типа будет соответствовать максимальному значению интенсивности первичного компонента, а минимальное — полностью отключенному первичному компоненту.

В дальнейшем мы рассмотрим четырехкомпонентную (RGBA) систему представления цвета. Четвертый компонент в такой системе (А-компонент) называется альфа-каналом (alpha channel), но сохраняется в буфере кадра, как и значения RGB-компонентов. В главе 9 будут рассмотрены различные варианты использования альфа-канала, которые позволяют, например, создать эффект тумана или комбинированного (смешанного) изображения. Значение альфа-составляющей в OpenGLтрактуется как значение параметров прозрачности (transparency) или поглощения (opacity). Прозрачность и поглощение — это два взаимно дополняющих параметра, характеризующих оптические свойства среды. Поглощающий объект не пропускает свет через себя, а прозрачный объект пропускает весь падающий на него световой поток. При определенных значениях этого параметра объект может быть абсолютно черным телом, т.е. полностью поглощать световой поток, либо абсолютно прозрачным.

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

настраивает белый цвет заполнения, поскольку первые три аргумента — цветовые компоненты RGB — равны 1.0, и режим непрозрачности, поскольку альфа-компонент также равен 1.0. Теперь после вызова функции glClear() окно окрасится в белый цвет и станет непрозрачным.

48. Реализация параллельных вычислений на графической карте. CUDA.

 

http://nvworld.ru/articles/cuda-parralel-for-home/

 

http://www.cluster.bsu.by/download/book8.pdf

 

http://ru.wikipedia.org/wiki/CUDA

 

http://compsovet.com/stati/soft/4-cuda.html

 

CUDA (англ. Compute Unified Device Architecture) — это архитектура параллельных вычислений от NVIDIA, позволяющая существенно увеличить вычислительную производительность благодаря использованию GPU (графических процессоров).

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

Направление вычислений эволюционирует от «централизованной обработки данных» на центральном процессоре до «совместной обработки» на CPU и GPU. Для реализации новой вычислительной парадигмы компания NVIDIA изобрела архитектуру параллельных вычислений CUDA, на данный момент представленную в графических процессорах GeForce, ION, Quadro и Tesla и обеспечивающуюнеобходимую базу разработчикам ПО.

Говоря о потребительском рынке, стоит отметить, что почти все основные приложения для работы с видео уже оборудованы, либо будут оснащены поддержкой CUDA-ускорения, включая продукты от Elemental Technologies, MotionDSP и LoiLo.

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

На финансовом рынке компании Numerix и CompatibL анонсировали поддержку CUDA в новом приложении анализа риска контрагентови достигли ускорения работы в 18 раз. Numerix используется почти 400 финансовыми институтами.

Показателем роста применения CUDA является также рост использования графических процессоров Tesla в GPU вычислениях. На данныймомент более 700 GPU кластеров установлены по всему миру в компаниях из списка Fortune 500, таких как Schlumberger и Chevronв энергетическом секторе, а также BNP Paribas в секторе банковских услуг.

Благодаря ожидаемым в ближайшем будущем системам Microsoft Windows 7 и Apple Snow Leopard, вычисления на GPU займут свои позиции в секторе массовых решений. В этих новых операционных системах GPU предстанет не только графическим процессором,но также и универсальным процессором для параллельных вычислений, работающим с любым приложением.

По сравнению с традиционным подходом к организации вычислений общего назначения посредством возможностей графических API,у архитектуры CUDA отмечают следующие преимущества в этой области:

- Интерфейс программирования приложений CUDA (CUDA API) основан на стандартном языке программирования Си с некоторымиограничениями. По мнению разработчиков, это должно упростить и сгладить процесс изучения архитектуры CUDA
- Разделяемая между потоками память (shared memory) размером в 16 Кб может быть использована под организованный пользователем кэш с более широкой полосой пропускания, чем при выборке из обычных текстур
- Более эффективные транзакции между памятью центрального процессора и видеопамятью
- Полная аппаратная поддержка целочисленных и побитовых операций

<== предыдущая лекция | следующая лекция ==>
Полигональные сетки | CUDA в действии
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 558; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.032 сек.