Книги по разным темам Pages:     | 1 | 2 |

3. оптимальная комбинация для яркого фона включает три метода: вычитание постоянного цвета из фона (тень), которое позволяет использовать аддитивный метод без цветового переполнения, и приложение метода FAST в конце обработки.

Электронный журнал ИССЛЕДОВАНО В РОССИИ 563 Available no-sorting methods OpenGL subtractional Performer: Onyx-IR FAST additive (shadow) (subtr. of complim.col) 1.3ms 1.3ms 1.3ms 0.3ms 1.3ms Combinations 2pass: -compl.col +fast, 2.6ms 2pass: +add +fast, 2.6ms 3pass: -shadow +add +fast, 2.9ms Рис.3. Многослойная прозрачность: идея. Время на рисунке дано для модели, содержащей 2000 двусторонних треугольников в каждом слое.

Mode gSt0 gSt1 gSt gset gset1 PFSTATE_TRANSPARENCY PFTR_BLEND_ALPHA PFTR_BLEND_ALPHA PFTR_FAST gset| PFTR_NO_OCCLUDE | PFTR_NO_OCCLUDE (fast) (add) (shadow) gStgSt0 gStPFSTATE_ENLIGHTENING PF_OFF PF_ON PF_ON PFSTATE_SHADEMODEL PFSM_FLAT PFSM_GOURAUD PFSM_GOURAUD PFSTATE_ENTEXTURE PF_OFF PF_ON PF_ON callbacks PRE_SUB,POST_SUB PRE_ADD,POST_ADD Ч geometry coords, norms, cols...

Рис.4. Многослойная прозрачность: реализация.

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

нению со стандартной графической обработкой проЗамечание: здесь ключ PFTR_NO_OCCLUDE необзрачности (без учета времени сортировки примитивов).

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

обращение (callback) к соответствующему механизму Реализация многослойной графической обработки OpenGL графической обработки.

показана на рис.4. Геометрические данные, такие как списки координат, нормалей, цветовых и текстурных Механизмы OpenGL. Стандартно используемый в отображений, представлены в оперативной памяти Perfomer метод BLEND_ALPHA эквивалентен следутолько один раз. Узлы в графе сцены обладают ссыл- ющим командам OpenGL:

Электронный журнал ИССЛЕДОВАНО В РОССИИ 564 glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); 1. сцена должна быть абсолютно статичной;

glBlendEquationEXT(GL_FUNC_ADD_EXT);

2. 270-ное поле зрения было разбито на 3 перекрыкоторые задают уравнение смешивания:

вающихся сектора;

S +(1- )D 3. в каждом секторе было сделано два снимка с тоздесь S - это цвет пикселя объекта, вводимый в цветочек зрения левого и правого глаза, сохраняя линию вой буфер, D - это цвет пикселя,который уже хранитгоризонта в центре поля зрения;

ся в данной ячейке цветового буфера, - это значение альфа-канала объекта, результат замещает значение D 4. неизбежные малые вращения и сдвиги камеры быв данной ячейке. Итерации этого уравнения соответли скомпенсированы с помощью тонкой подстройствуют последовательной записи в цветовой буфер, и ки стерео-изображения в CyberStage.

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

Тонкая подстройка изображений обеспечивает точно горизонтальное разведение копий объектов для левого 2S2 +(1- 2)(1S1 +(1- 1)D) = и правого глаза на стенах CyberStage на расстояние, = 1S1 +(1- 1)(2S2 +(1- 2)D) равное для удаленных объектов стандартной стереобазе (7см). Требование того, чтобы линия горизонта была Из этого уравнения следует 12(S1 - S2) =0, которое в центре снимка, т.е. направление зрения было паралимеет только тривиальные решения: 1 = 0, 2 = лельно плоскости земли, упрощает тонкую подстройку, или S1 = S2, не пригодные для визуализации (один исключая дополнительные регулировки горизонтальобъект является полностью прозрачным, или объекты ности поверхности земли в виртуальной сцене. Для имеют в точности одинаковый цвет - для чего потрекомпенсации оставшихся искажений можно использобовалось бы отключить моделирование реалистичного вать метод, описанный в приложении (наши изображеосвещения). Поэтому мы используем методы, которые ния в этом не нуждались).

не принадлежат системе Performer.

Реализация стерео-текстур в Аванго основана на узВ OpenGL имеются следующие команды OpenGL, лах типа fpOnlyOneEye, которые делают прикрепленкоторые модифицируют уравнение смешивания:

ные к ним объекты видимыми только для одного глаза glBlendFunc(GL_SRC_ALPHA,GL_ONE);

(см. рис.5). Тонкая подстройка выполненяется посредglBlendEquationEXT(GL_FUNC_ADD_EXT);

ством отдельной регулировки матриц fpDCS узлов для каждого изображения, в то время как матрица общего уравнение смешивания: S + D, fpDCS узла используется для совместного преобразоитерация: 2S2 + 1S1 + D, вания изображений.

glBlendFunc(GL_SRC_ALPHA,GL_ONE);

В сравнении со стандартным представлением виртуglBlendEquationEXT(GL_FUNC_REVERSE_SUBTRACT_EXT);

альных сцен, основанном на геометрических моделях, методы, основанные на изображениях, позволяют отобуравнение смешивания: D - S, ражать сложные высоко-детализированные сцены без итерация: D - 1S1 - 2S2, особых затрат на графическую обработку и с впечатрезультат итераций, очевидно, не зависит от порядляющим реализмом. Однако, навигация в таких сценах ка записи в цветовой буфер. Это делает алгоритмы становится сложной. В частности, вышеописанная пронечуствительными к порядку обработки примитивов.

стая техника производит стерео-изображения только В Performer существует стандартный механизм для для одного положения камеры, и не дает возможности обращения к OpenGL или к любому другому написанперемещать точку зрения в сцене. Основная проблема ному пользователем коду в процессе графической обсостоит не в искажениях изображения, появляющихся работки. Аванго наследует эти механизмы и делает их при таких перемещениях (которые остаются малыми в пригодными к использованию в многопроцессорном рерадиусе 1м вблизи центра CyberStage), но в том факжиме для приложений виртуальной реальности, когда те, что перемещение точки зрения ничего не меняет в отрисовка и написанный пользователем код принадлекартине взаимного заслонения объектов. Эту проблему жат разным процессам.

можно устранить, комбинируя изображения, снятые из нескольких положений камеры с приблизительной реФоновые стерео-текстуры. Широкоугольные конструкцией 3-мерных моделей, как рекомендуют разстерео-фотографии реальных сцен были произведевитые методы графической обработки, основанной на ны стандартным (моно) цифровым фотоаппаратом изображениях [10].

и помещены в CyberStage, используя следующие приемы:

Электронный журнал ИССЛЕДОВАНО В РОССИИ 565 fpDCS [6] Eckel G., Gbel M., Hasenbrink F., Heiden W., Lechner U., Tramberend H., Wesche G., Wind J.

fpOnlyOneEye fpOnlyOneEye Benches and Caves. In: Bullinger H.J., Riedel O.

(Left) (Right) (eds.) Proc. 1st Int. Immersive Projection Technology Workshop. Springer-Verlag, London, 1997.

fpDCS fpDCS [7] Cruz-Neira C. Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE. Computer Graphics Proc., Annual tex1 texConference Series, 1993, pp 135-142.

Рис.5. Стерео-текстуры: реализация.

[8] Dai P., Eckel G., Gbel M., Hasenbrink F., Lalioti V., Lechner U., Strassner J., Tramberend H., Wesche G.

4 Заключение Virtual Spaces: VR Projection System Technologies and Applications. Tutorial Notes. Eurographics Т97, Мы описали методы для высококачественной графиBudapest, 1997, 75 pages.

ческой обработки прозрачных поверхностей в реальном времени, необходимой для включения в вирту[9] R. Kent Dybvig. The Scheme programming language:

альные окружения неориентированных самопересекаANSI Scheme. P T R Prentice-Hall, Englewood Cliffs, ющихся трехмерных форм, возникающих в матемаNJ 07632, USA, Edition 2, 1996.

тической визуализации. Эти методы, совместно с использованием стерео-текстур как фона для трехмер[10] McMillan L., An Image-Based Approach to Threeных сцен, позволяют достигать достаточного реализма Dimensional Computer Graphics, Ph.D. Dissertation, представления, делая виртуальные окружения полезUNC Computer Science Technical Report TR97ным средством для математического обучения.

013, University of North Carolina, April 1997, Благодарности. Мы благодарим проект Mutopia:

за предоставленную Приложение: деформация стерео-текстур возможность использовать их музыкальные архивы, Стерео-текстуры могут быть подвергнуты специальАдама Харт-Девиса ным преобразованиям, которые не нарушают стереоза предоставленную фотографию, использованную в восприятие и эквивалентны нелинейным преобразовавидеофильме, и Клауса-Гюнтера Раутенберга за пониям объектов в 3-мерном пространстве. Здесь мы помощь в производстве фильма. Эта работа была частичкажем, как построить большое множество таких прено поддержана грантами РФФИ 02-01-01139 и 01-07образований.

90327.

Рассмотрим стерео-текстуру, помещенную на виртуальную сферу с центром в точке зрения, и преобразуем Список литературы отдельно ее левый и правый слои (см. рис.6), в сфери[1] домашняя страничка Фраунгоферов- ческих координатах:

ского Института Медиакоммуникаций левый :,, [2] Boy W., ber die Curvatura integra und die правый :, +, (1) Topologie geschlossener Flchen, Dissertation, Gttingen, 1901; Math.Ann. 57 (1903) 151-184.

где функции (), (, ), (, ) заданы, D - сте реобаза (расстояние между глазами наблюдателя), d [3] Apery F., Models of the Real Projective Plane, - расстояние между левым и правым изображениями F.Vieweg und Sohn, Braunschweig/Wiesbaden, 1987.

объекта на стерео-текстуре, R - воспринимаемое расстояние до этого объекта в 3-мерном пространстве.

[4] Francis G., Topological Picturebook, Springer-Verlag, Затем, используя следующие соотношения:

1987.

R/D =(R - r)/d, R/D =(R - r)/d, [5] Gbel M.Д Tramberend H., Klimenko S., Nikitin I.

УVisualization in topology: assembling the projective d = r sin (R - L), planeФ Proc. of Visualization in Scientific Computing conference, (Boulogne-sur-Mer, France, April 1997) d = r sin ( - L) =r sin (R - L) +, R p.95, Springer-Verlag 1997.

Электронный журнал ИССЛЕДОВАНО В РОССИИ 566 после подстановки мы имеем 2. лучи, выходящие из точки зрения в пространстве прообраза, отображаются в лучи, выходящие из точ - ки зрения в пространстве образа (так что точка зреsin r r R = r 1 - 1 - - sin. (2) ния отображается в точку зрения и бесконечность sin R D отображается в бесконечность);

3. конусы = Const отображаются в конусы = Дополнительно потребуем, чтобы преобразование соConst;

храняло бесконечность, т.е. отображало R в 4. преобразование сохраняет инфинитезимальные x R. Отсюда мы имеем в выражении для :

размеры объектов в d-направлении.

D 1 Например, может быть реализовано преобразование = -, (3) r sin sin =, =2, R = R/2, которое растягивает 90-ный сектор поля зрения до 180, уменьшая глубину сцены которое упрощает формулу (2) до в два раза.

-Замечание: стерео-восприятие не разрушается преобsin R = R. (4) разованием, если пара лучей, выходящих из каждого sin глаза наблюдателя и проходящих через копии объекта Таким образом, деформация стерео-текстур по фор- на соответствующем слое стерео-текстуры, имеет пемуле (1) приводит к преобразованию воспринимаемой ресечение для любого объекта в сцене. Это свойство глубины по формуле (4). В этих выражениях функция удовлетворяется в силу специальной структуры преоб (, ) задана в (3), и функции (), (, ) произ- разования (1), где зависит только от и эта зави вольны. симость одинакова для обоих слоев. Также, в случае / > 0, когда преобразование сохраняет ориента Замечание: формула (4), будучи переписана как цию = Const линий на сфере, из (4) мы имеем R> R sin d = R sin d, имеет ясный геометрический (предполагая что R > 0), т.е. пересечение имеет месмысл - линейный размер малых объектов в направлесто перед наблюдателем (не позади). Случай обратной нии изменения d сохраняется преобразованием.

ориентации / < 0 также может быть реализован, если поменять местами левый и правый слои. Это приведет к смене знака в формуле (4), так что неравенство R>0 будет выполняться вновь.

~ r d r ~ d R D D R Рис.6. Преобразование стерео-текстуры.

x x R ~ R Рис.7. Преобразование трехмерного объекта.

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

1. преобразование гладко и обратимо (диффеоморфизм);

Pages:     | 1 | 2 |    Книги по разным темам