Система трехмерной видеоигры

Иллюстрации

Показать все

Изобретение относится к отображению трехмерных телевизионных изображений, в частности к структуре аппаратного и программного обеспечения, предназначенного для просмотра трехмерных (3D) изображений. Технический результат, заключающийся в решении проблемы несовместимости технологий в дисплее трехмерного изображения, достигается тем, что а) система трехмерной видеоигры способна отображать левую - правую последовательность через различные независимые каналы - VGA или видеоканал, с устройством отображения, совместно использующего память в режиме погружения, б) система содержит видеоигровой движок, управляющий и проверяющий достоверность ракурсов изображения, назначающий текстуры, освещение, позиции, перемещения и аспекты, связанные с каждым объектом, участвующим в игре; создает левый и правый фоновые буферы, создает изображения и отображает информацию в рабочих буферах, в) система позволяет обрабатывать информацию данных, связанных с координатами xyz изображения объекта в реальном масштабе времени, в ней увеличен объем оперативного запоминающего устройства (ОЗУ) для левого-правого буфера, при этом имеется возможность распознавания и выбора соответствующего фонового буфера, информация которого передается в рабочий буфер или дополнительное независимое устройство отображения, совместно использующее память в режиме погружения. 2 н. и 9 з.п. ф-лы, 13 ил.

Реферат

Область техники

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

Описание уровня техники

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

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

Системы стереоскопического зрения основаны на возможности глаза человека видеть один и тот же объект в двух различных ракурсах (левом и правом). В мозгу оба изображения сливаются, в результате создаются глубина и объемность восприятия, которые затем мозгом преобразуются в расстояние, поверхность и объемы.

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

- Красно-синяя поляризация;

- Вертикально-горизонтальная поляризация;

- Очки для мультиплексированных изображений;

- Системы виртуальной трехмерной реальности;

- Объемные дисплеи;

- Автостереоскопические дисплеи.

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

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

Система горизонтально-вертикальной поляризации объединяет два изображения, выдаваемых стереоскопической камерой с двумя объективами; левое и правое изображения имеют соответственно горизонтальную и вертикальную поляризацию. Эти системы используются в некоторых новых кинотеатрах, например театрах Диснея и IMAX3D. Эта технология требует использования достаточно дорогих производственных систем и рассчитана на ограниченную, оснащенную специальной аппаратурой избранную аудиторию, что уменьшает объем рынка и область действия. Особенно интерес к трехмерному (3D) содержимому вырос в последние три года; в качестве примера можно взять постановки Тома Хенкса и «Титаник», которые были созданы с трехмерным содержимым по технологии IMAX3D. Указанная технология после нескольких минут просмотра также создает значительные побочные эффекты, влияющие на пользователя, требует внешнего экрана и использования поляризованных очков; если пользователь не надел эти очки, он может видеть лишь расплывчатые изображения.

Системы, использующие технологию с затворными очками для мультиплексированных изображений, осуществляют переключение между левым и правым изображениями посредством блокирования одного из этих изображений так, чтобы оно в течение короткого времени не могло попасть в соответствующий глаз. Указанная блокировка синхронизируется с изображениями, отображаемыми на экране (монитора или телевизора). Если пользователь не надел очки, он может видеть лишь расплывчатые изображения, а через несколько минут проявляются и побочные эффекты. В настоящее время эта технология предоставляется (наряду с другими) компанией BARCO SYSTEMS для компаний Mercedes Benz®, Ford® и Boeing® в виде своего рода «пространства», предназначенного для создания трехмерных изображений посредством мультиплексирования (с помощью затворных очков) в целях создания соответствующих моделей перед тем, как они будут собраны на технологической линии.

Трехмерные системы виртуальной реальности (3D virtual reality systems - VR3D) являются системами на основе компьютера, создающими компьютерные сцены, взаимодействующие с пользователем с помощью интерфейсов позиционирования, таких как информационные перчатки и датчики положения. В указанных изображениях, генерируемых компьютером, используются изображения, создаваемые на основе векторов, многоугольников и монокулярной глубины, чтобы смоделировать глубину и объем, рассчитанные программой, но изображения представляются с использованием шлема в качестве отображающего устройства, располагающегося перед глазами; пользователь погружается в генерируемую компьютером сцену, существующую только в компьютере, но не в реальном мире. Сцена, генерируемая компьютером, называется «виртуальной реальностью». Для этой системы требуются очень дорогостоящие компьютеры, такие как SGI Oxygen® или SGI Onyx Computers®, которые недоступны обычному пользователю. С использованием указанной технологии создаются серьезные игры и производится имитационное моделирование, при этом через один и тот же канал стандарта VGA или видеоканал генерируются лево-правые последовательности, а программное обеспечение содержит специальные команды для переключения видеоизображений во время выведения на экран с частотой 60 Гц. Программное обеспечение или программа видеоигры взаимодействуют непосредственно с графической картой.

Существует технология под названием «I-O СИСТЕМЫ» (I-O SYSTEMS), в которой мультиплексированные изображения отображаются на бинокулярные экраны с помощью системы мультиплексирования левый-правый и переключения изображений на частоте от 80 до 100 Гц, но даже при этом наблюдается мерцание.

Лишь немногие производители, такие как Perspectra Systems, создают системы объемного отображения (volumetric display systems®). В этих системах используются способность человеческого глаза сохранять изображение несколько миллисекунд и вращение отображения с очень большой частотой; тогда в зависимости от угла зрения на устройстве можно видеть соответствующее изображение, включая и выключая цвет пикселей, благодаря высокой частоте вращения глаз может воспринимать «плавающее» изображение. Эти системы очень дороги («сфера» стоит приблизительно 50000 долларов США) и требуют специального и адекватного программного и аппаратного обеспечения. Такая технология используется в военных приложениях.

Автостереоскопические дисплеи представляют собой мониторы с полуцилиндрическими строками, идущими сверху вниз, которые накладываются только на основное и фоновое изображения; здесь нет реального третьего измерения, но лишь его имитация в двух плоскостях перспективы. В настоящее время компании Philips® и SEGA® работают в этой трехмерной технологии с целью получения каких-либо технологических преимуществ. Результаты очень низкие, а разрешение меньше 50%. Данная технология не совместима с существующей технологической инфраструктурой и требует полной замены мониторов пользователей. В приложениях, не созданных специально под эту технологию, на экран выводится расплывчатое изображение, что делает их полностью несовместимыми с текущей инфраструктурой. Для того чтобы зритель мог увидеть трехмерное изображение, он должен располагаться на расстоянии около 16 дюймов (40,64 см), которое меняется в зависимости от размера монитора, кроме того, зритель должен смотреть в центр экрана перпендикулярно к нему и фиксировать свой взгляд в точке фокуса перед реальным экраном. При небольшом отклонении линии зрения или изменении угла зрения эффект объемного изображения теряется.

Из уровня техники известно несколько патентов, которые связаны с разработкой данной технологии, а именно:

Патенты США №6593929 от 15 июля 2003 г. и №6556197 от 29 апреля 2003 г., выданные Тимоти Ван Хуку (Timothy Van Hook) и др., направлены на создание недорогой видеоигровой системы, с помощью которой можно моделировать трехмерный мир и проектировать его на двумерный экран, причем изображения основаны на взаимной смене в реальном масштабе времени пользователем точек наблюдения с помощью игровых контроллеров.

В патенте США №6591019 от 8 июля 2003 г., выданном Клауди Комайр (Claude Comair) и др., используется способ сжатия и восстановления данных с целью преобразования матрицы в системы трехмерной графики, генерируемые компьютером, причем этот способ заключается в преобразовании матриц действительных чисел в матрицы целых чисел во время поиска нулей в матрице. Сжатые матрицы занимают намного меньше места в памяти, поэтому трехмерные анимации можно эффективно восстанавливать в реальном масштабе времени.

В патенте США №6542971 от 1 апреля 2003 г., выданном Давиду Риду (David Reed), предлагается система доступа к памяти и способ, в котором вместо вспомогательной памяти используется система с областью памяти, присоединенной к памяти, которая записывает и считывает данные, введенные с одного или более периферийных устройств.

В патенте США №6492987 от 10 декабря 2002 г., выданном Стефану Морейну (Stephen Morein), описываются способ и устройство для обработки элементов неотображаемых объектов; вначале осуществляется сравнение геометрических свойств, по меньшей мере, одного элемента одного объекта с характерными геометрическими свойствами по группе пикселей. Во время отображения элементов объекта определяются новые геометрические свойства и происходит обновление данных новыми значениями.

В патенте США №6456290 от 24 сентября 2002 г., выданном Вималу Париху (Vimal Parikh) и др., предлагается графический системный интерфейс для приложения пользователя и обучающих программ. В число характеристик входит уникальное отображение вершины, при котором графическая строка может содержать информацию о состоянии вершины, задаются проекционная матрица и команды погружения для буфера кадров.

Любая видеоигра представляет собой программу, написанную на некотором компьютерном языке. Целью является моделирование несуществующего мира и введение игрока или пользователя в этот мир, при этом основные усилия сосредоточены на улучшении визуальных характеристик и управляемости, анализе образов и принятии решений в конкурентной и улучшенной (по уровню трудности) среде, а большое число сценариев представлено высокохудожественным содержимым. Что касается игрового движка, большая часть видеоигр делится на следующие структуры: видеоигра, игровая библиотека с соответствующими графическим и аудиодвижками, причем графический движок содержит исходные коды двухмерного и трехмерного изображения, а аудиодвижок содержит коды эффектов и музыки. Каждый блок указанных игровых движков выполняется в циклическом режиме, причем цикл называется игровым циклом, и каждый из указанных движков и библиотек отвечает за свою отдельную операцию.

Например:

Графический движок: отображает изображения в общем.

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

Исходный код трехмерных изображений: динамические изображения, векторные изображения с обработкой в реальном масштабе времени, обрабатываемые как независимые объекты в координатах xyz внутри генерируемого компьютером мира;

Аудиодвижок: воспроизведение звука

Код эффектов: при воспроизведении специальных событий типа взрывов, крушений, прыжков и т.д.

Код музыки: фоновая музыка, обычно воспроизводимая в соответствии со средой видеоигры.

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

Разница между игровыми программами, создаваемыми для игровых приставок и компьютеров, заключается в том, что первоначально персональные компьютеры (ПК) типа IBM PC не были предназначены для игр; по иронии судьбы лучшие игры идут с использованием технологии, совместимой с компьютерами типа IBM PC. При сравнении персональных компьютеров (ПК) с видеоиграми прошлого времени и возможностей обработки в настоящее время можно сказать, что персональные компьютеры (ПК) были совершенно архаичными и годились только как средство обработки низкого уровня (язык ассемблера), а в первых созданных играх напрямую использовались графическая карта и динамик компьютера. Ситуация изменилась, мощность обработки и графические возможности современных центральных процессоров ЦП (CPU - central processing unit), а также появление карт, специально предназначенных для ускорения обработки графических изображений (GPU - graphic processing unit - графических процессоров), привели к тому, что они оставили далеко позади характеристики так называемых суперкомпьютеров восьмидесятых годов.

В 1996 году была представлена система графического ускорителя, названная АППАРАТНЫМ УСКОРИТЕЛЕМ, содержащая графические процессоры, способные выполнять с высокой скоростью математические и матричные операции, уменьшая тем самым нагрузку на главный центральный процессор (ЦП) благодаря специализированным для данной карты каналам передачи данных и языку программирования, находящаяся на уровне, называемом HAL (hardware abstraction layer - уровень аппаратных абстракций), который позволяет в реальном масштабе времени производить информационную обработку данных, связанных с координатами xyz, с помощью координатных матриц и матричных математических операций, таких как сложение, скалярное умножение и матричное сравнение с плавающей точкой.

Краткое описание изобретения

Целью настоящего изобретения является решение проблемы несовместимости технологий в дисплее трехмерного изображения.

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

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

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

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

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

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

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

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

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

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

Краткое описание чертежей

На фиг.1 показана технологическая схема видеоигры TDVision®.

На фиг.2 показана основная структура видеоигры на основе известного уровня техники.

На фиг.3 показан важнейший трехмерный элемент, необходимый для построения объекта, находящегося в определенном положении в пространстве.

На фиг.4 приведена общая процедура разработки программы видеоигры на основе функциональных технологий OpenGL (Open Graphics Library - открытая графическая библиотека) и DirecTX API (Application Programming Interface - интерфейс прикладного программирования).

На фиг.4а показана блок-схема алгоритма создания левого и правого буферов и дополнительного распознавания, используется ли технология TDVision.

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

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

На фиг.6 представлена блок-схема алгоритма, позволяющего записывать информацию в фоновый буфер TDVision и представлять ее на экране в 3D-формате DirecTX.

На фиг.7 показана последовательность отображения на экране с использованием формата OpenGL.

На фиг.8 представлена блок-схема процедуры отображения информации на экране с помощью левого и правого фоновых буферов с использованием алгоритма OpenGL.

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

Подробное описание изобретения

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

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

На некоторые игровые движки выданы лицензии третьим сторонам, в качестве примера можно привести программу Quake III Arena program, содержащую игровой движок QUAKE ENGINE; на этот движок лицензия предоставлена игре VOYAGER ELITE FORCE, в которой используется движок «quake». Таким способом разработчики игр могут сконцентрировать свое внимание на метрике игры вместо разработки игрового движка с самого начала. Первоначально в видеоиграх использовались только двухмерные изображения, называемые «спиритами», которые и были главными действующими лицами игр.

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

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

Фоновый буфер используется в качестве памяти, в которую временно записывается изображение, подлежащее отображению на экране, без его выдачи на видеокарту. Если изображение выдавать непосредственно в видеопамять экрана, то будет наблюдаться мерцание; поэтому информация записывается и быстро обрабатывается в фоновом буфере. Указанный фоновый буфер обычно расположен внутри физической памяти оперативного запоминающего устройства ОЗУ (random-access memory - RAM) видеокарты и карты графического ускорителя.

Типичная процедура в рамках алгоритма видеоигры может иметь следующий вид:

1. Отображение главного экрана.

2. Загрузка характеристик, объектов, текстур и звуков в память.

3. Создание ячейки памяти, называемой дублирующим или фоновым буфером, для временной обработки данных.

4. Отображение на экране фонового изображения.

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

6. Удаление всех элементов из памяти (двойного буфера).

7. Проверка информации, введенной пользователем, и обновление позиции игрока.

8. Обработка позиции врага с помощью искусственного интеллекта (artificial intelligence - AI).

9. Перемещение каждого объекта-участника в новую позицию.

10. Проверка конфликтов между объектами.

11. Переход к следующему кадру анимации.

12. Запись объектов в память фонового буфера.

13. Передача данных из фонового буфера на экран.

14. Возврат к шагу 5, если только пользователь не хочет прекратить игру (шаг 15).

15. Удаление всех объектов из памяти.

16. Окончание игры.

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

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

Аудио DSP или цифровой процессор сигналов (Digital Signal Processor) обрабатывает фоновую музыку, звуковые эффекты и трехмерные позиционные звуки.

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

Важно заметить, что минимальные элементы изображения (фиг.3) состоят из минимальных управляющих элементов, называемых "вершинами" и представляющих собой одну точку в пространстве xyz. Минимально допустимый геометрический элемент представляет собой треугольник, образованный как минимум тремя точками в пространстве; из треугольных базовых элементов формируются объекты большего размера, состоящие из тысяч треугольников меньшего размера, такого типа как в игре «Mario Sunshine». Это представление называется "сеткой" ("Mesh"), и текстура, цвет и даже графические характеристики отображения на экране могут быть связаны с каждым сетчатым объектом или даже с каждым треугольником. Эта информация характеризует трехмерную графику. Очень важно отметить, что даже если графика, созданная векторами xyz, из-за своей природы называется трехмерной, заключительное отображение, выводимое для пользователей на экран, является в общем двухмерным, созданным в движке плоского изображения, с содержимым, основанным на трехмерных векторах, которые пользователь видит, как если бы они находилось перед ним, они отображаются лишь для того, чтобы придать изображению запрограммированные характеристики глубины и освещенности, но для мозга человека они не кажутся имеющими объем в пространстве.

Первоначально для выполнения ускорения и сложных математических операций требовалось обращаться непосредственно к графическим картам, это означает, что для поддержки другой видеокарты требовалось практически полностью переписывать игру. С учетом этой проблемы компания Silicon Graphics® сосредоточила свои усилия на разработке программного уровня (OpenGL®), взаимодействующего непосредственно с аппаратными средствами с рядом полезных функций и подпрограмм, которые независимо от аппаратных средств могут взаимодействовать с ними только в графических аспектах. Корпорация Microsoft® также разработала группу подобных функций, названную DirecTX 3D и очень похожую на OpenGL®, но с более совершенной функциональностью, т.к. она охватывает управление звуками и, среди прочего, области сетевых игр.

Указанные функции и набор подпрограмм называются графическим интерфейсом прикладного программирования (Graphics Applications Programming Interface - GRAPHICS API). Доступ к этим интерфейсам прикладного программирования (APIs) возможен из разных языков программирования, например С, C++, Visual.Net, C# и Visual Basic и других.

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

Дополнительно к функциям, предоставляемым технологиями OpenGL® и DirecTX® API, существует ряд функций обработки графики в рамках интерфейса прикладного программирования, предоставляемого Windows®, называемого WINDOWS API.

Разработка программы видеоигры на основе этих технологий отражена на фиг.4, где представлена видеоигровая программа, разработанная в настоящем изобретении корпорацией TDVision®. На фиг.4 приведена блок-схема алгоритма, в начале которого идет выполнение программы с адекватными метриками для видеоигры (40), затем идет программа, разработанная на любом подходящем языке программирования (например С, C++, Visual Basic и другие) (41), исходный код для видеоигры (42), задается логика игры и вводятся характеристики объекта, звуки, события и т.д. (43), в блоке (44) расположен селектор событий, функционирующий с помощью интерфейса Windows API (45), OpenGL (46) или DirecTX (47), и, наконец, изображение передается на видеодисплей (48).

Все это относится к программному обеспечению, и, что интересно, множество функций предоставляется DirecTX, причем корпорация Microsoft® добилась того, что даже когда первоначально некоторые функции требовали специальных аппаратных средств, DirecTX API способен сам эмулировать аппаратные средства программным способом, как если бы они присутствовали в реальности.

В настоящем изобретении максимизируется и оптимизируется использование технологий OpenGL® и DirecTX®, что дает в результате программное обеспечение с определенными специальными характеристиками, алгоритмы и процессы, которые будут удовлетворять техническим требованиям, установленным компанией TDVision и используемым в настоящем изобретении.

Что касается аппаратных средств, то драйверы каждой карты могут анализировать уровень аппаратных абстракций (Hal - hardware abstraction layer) и прямой интерфейс, а для применения технологии TDVision необходимо анализировать минимальные технические условия и требования, а также возможные изменения в технологии, которые позволят достичь реального трехмерного изображения в системах 3DVisor компании TDVision.

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

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

Аналоговый монитор с цифровым сигналом компьютера.

Цифровой монитор.

Аналоговый монитор с телевизионным сигналом.

Системы трехмерной виртуальной реальности.

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

На фиг.4а приведен алгоритм создания областей памяти для временной обработки графики (левый и правый фоновые буферы), при этом обычно вводится внешняя область памяти, то есть создается левый буфер на этапе (400) и на этапе (401) распознается, используется ли технология TDVision; если да - создается правый буфер на этапе (402), и заканчивается на этапе (403); если технология TDVision не используется, алгоритм заканчивается этапом (403), т.к. распознавать нечего.

На фиг.4b приведена блок-схема алгоритма распознавания и отображения на экране изображений с левой и правой камер; изображение с левой камеры устанавливается этапе (410), изображение записывается в левый фоновый буфер (411) в функции от позиции камеры, изображение выводится на левый экран (412), затем на этапе (413) распознается, используется ли формат TDVision, если да - вычисляются координаты положения правого изображения (414), изображение записывается в правый фоновый буфер в функции от позиции левой камеры (415), затем изображение выводится на правый экран (416), алгоритм заканчивается этапом (417), если нет необходимости в распознавании на этапе (413) так как изображение выдается в известном формате, то алгоритм переходит к заключительному этапу (417) и заканчивается, так как нет необходимости в вычислении других координат и отображении параллельной информации. Новым в настоящем изобретении является графический процессор, показанный на фиг.5 (АППАРАТНОЕ СРЕДСТВО ГРАФИЧЕСКОГО ПРОЦЕССОРА), и графический движок (ГРАФИЧЕСКИЙ ДВИЖОК, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ).

Модификации программного обеспечения заключаются в следующем:

- Увеличение объема ОЗУ (оперативного запоминающего устройства) левого и правого фоновых буферов.

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

В данном случае необходимо, чтобы память ОЗУ фонового буфера и рабочий буфер видеокарты имели достаточный объем для того, чтобы поддерживать левый и правый каналы одновременно. Необходимо иметь как минимум объем в 32 МБ, чтобы поддерживать четыре буфера с глубиной цвета в 1024×768×4 байт в каждом. Дополнительно сигнал видеовыхода является двойным (два порта VGA), или он способен работать с несколькими мониторами, например, как в случае с картой ATI RADEON 9500®, оснащенной двумя используемыми на выбор системами вывода изображения на экран, одним портом VGA и одним видео-портом S-Video. Создана графическая карта, оснащенная двойным выходом, предназначенная для работы со вторым дисплеем и обеспечивающая частоту отображения 60 кадров в секунду по левому-правому каналу с целью подключения к системе 3DVisor, она оснащается выходами типа SVGA, S-Video, RCA или DVideo.

Вычислительная система представлена с изменениями для системы компиляции TDV, иллюстрируемой на фиг.5 и содержащей, ЦП (CPU) (50), драйвер памяти (51), расширенную память (52), эта память служит для обслуживания драйвера звукового канала (53) и динамиков (54), кроме того, драйвер входа и выхода (55), который по очереди управляет дисковыми портами (56) и интерактивными элементами взаимодействия с пользователем (57), такими как мышь, клавиатура, игровой манипулятор и джойстик; с другой стороны, драйвер графики взаимодействует непосредственно с монитором (59) и козырьками объемного видения 3DVISORS (59b).

Что касается конкретно графических аппаратных средств (HAL), необходимы изменения для приведения системы в соответствие с требованиями технологии TDVision, прикладная система (500), передающая информацию на драйверы графики (501), работающие с аппаратурой поддержки графики (502), требует серьезных физических изменений для приведения в соответствие с требованиями технологии TDVision. Для внедрения технологии TDVision с помощью OpenGL и DirecTX необходимо выполнить изменения в частях программного раздела видеоигры и, как упомянуто выше, в некоторых аппаратных разделах.

Что касается программного обеспечения, то в стандартный типовой рабочий алгоритм необходимо ввести некоторые специальные характеристики, а также возможность обращения к подпрограмме TDVision, как это показано на фиг.6:

- Загрузка информации о поверхностях (600).

- Загрузка информации о сетках (601).

- Создание фонового буфера TDVision (602), причем в памяти создается левый фоновый буфер, если это технология TDVision, то в памяти создается правый фоновый буфер.

- Наложение начальных координат (603).

- Задание логики игры (604).

- Проверка достоверности и искусственный интеллект (605).

- Расчет позиции (606).

- Проверка наличия конфликтов (607).

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

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

Важно отметить, что указанные экранные выходные буферы или рабочие буферы назначаются сначала для поверхности видеодисплея (контекст устройства) или рассматриваемой поверхности (поверхность), но для вывода информации на экран в системе 3Dvisor компании TDVision для обеспечения совместимости с технологией TDVision необходимо, чтобы физически присутствовали два видеовыхода: правый выход (стандартный VGA) и левый выход (дополнительный VGA, цифровой дополнительный или S-Video). В примере используется DirecTX, но