ДВУМЕРНАЯ/ТРЕХМЕРНАЯ КОМБИНИРОВАННАЯ ВИЗУАЛИЗАЦИЯ
TWO-DIMENSIONAL/THREE-DIMENSIONAL COMBINED DISPLAY

УРОВЕНЬ ТЕХНИКИ
В настоящее время имеется ряд средств, которые позволяют пользователям создавать профессиональную бизнес-графику, такую как презентации. Подход к добавлению глянца формам и изображениям состоит в том, чтобы применять трехмерные методики. Это обычно делается двумя способами: один заключается в использовании моделированных трехмерных эффектов для двумерных битовых карт, что приводит к формам или изображениям, выглядящим как трехмерные, без реальной трехмерной модели. Результирующая смоделированная трехмерная графика может не выглядеть в достаточной степени трехмерной для некоторых вариантов применения. Другие подходы заключаются в том, чтобы использовать полную трехмерную модель. При этом пользователи конструируют трехмерные модели элементов, которые должны быть отображены. Этот подход типично требует того, чтобы пользователи имели навыки трехмерного моделирования и использования средств трехмерного моделирования. Эта вводная информация не предназначена для того, чтобы идентифицировать проблемы, которые должны быть разрешены посредством заявляемого предмета изобретения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Данная сущность предусмотрена для того, чтобы в упрощенной форме представить набор идей, которые дополнительно описываются ниже в подробном описании. Этот раздел не предназначен для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого предмета изобретения, а также не предназначен для использования в качестве помощи при определении области применения заявляемого предмета изобретения.
Согласно аспектам различных описанных вариантов осуществления предоставляется система, которая комбинирует двумерное и трехмерное моделирование при визуализации форм. В одном аспекте система включает в себя: фабрику трехмерного моделирования, чтобы сформировать трехмерную модель выбранных параметров или признаков форм; фабрику передней поверхности, чтобы формировать двумерный текст и текстовые эффекты, а также некоторые двумерные эффекты форм (к примеру, эффекты заливки); фабрику исходной (лежащей в основе базовой) плоскости, чтобы формировать эффекты, которые визуализируются на исходной плоскости формы; растеризатор/механизм компоновки, чтобы комбинировать двумерные и трехмерные эффекты, формируемые посредством фабрики передней поверхности, фабрики исходной плоскости и фабрики трехмерного моделирования. Когда система принимает форму с трехмерными эффектами, фабрика передней поверхности разбирает форму на следующие части: текст, включенный в форму (если имеется); двумерную поверхность передней поверхности (т.е. поверхностные эффекты для передней поверхности формы); трехмерные эффекты (если имеются), применяемые к форме; все эффекты исходной плоскости (к примеру, эффекты затенения, блеска, отражения, которые визуализируются в исходной плоскости формы); геометрию формы (к примеру, окружность, прямоугольник, стрелка и т.д.).
Фабрика передней поверхности визуализирует любые двумерные текстовые эффекты (к примеру, затенение, блеск, отражение); любые двумерные эффекты формы; любые двумерные поверхностные эффекты (к примеру, заливка, градиентная заливка, изображение и т.д.) и двумерную геометрию формы; и создает карту отображения текстуры с помощью визуализированных двумерных текстовых эффектов и двумерных поверхностных эффектов для передней поверхности формы. Фабрика исходной плоскости формирует исходную плоскость для двумерных эффектов формы (если имеются). Помимо этого, если текст имеет примененные трехмерные эффекты, фабрика исходной плоскости формирует исходную плоскость для двумерных текстовых эффектов. Фабрика трехмерного моделирования формирует трехмерную модель из двумерной геометрии формы посредством задания свойств экструзии и выпуклости для формы. Фабрика трехмерного моделирования затем формирует координаты для отображения текстуры на передней поверхности трехмерной модели. Растеризатор/механизм компоновки затем комбинирует результирующую форму из фабрики трехмерного моделирования (т.е. с трехмерной геометрией и двумерной картой отображения текстуры) с исходной плоскостью(ями) из фабрики исходной плоскости. Растеризатор/механизм компоновки использует координаты текстуры, чтобы отображать текстуру на трехмерную модель.
Варианты осуществления могут быть реализованы как вычислительный процесс, вычислительная система (в том числе мобильные карманные вычислительные устройства) или как изделие, такие как компьютерный программный продукт. Компьютерным программным продуктом может быть компьютерный носитель хранения, считываемый вычислительной системой и кодирующий компьютерную программу команд для приведения в исполнение вычислительного процесса. Компьютерным программным продуктом также может быть распространяемый сигнал по несущей, считываемый вычислительной системой и кодирующий компьютерную программу команд для приведения в исполнение вычислительного процесса.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Не ограничивающие и не исчерпывающие варианты осуществления описаны со ссылками на нижеследующие чертежи, на которых одинаковые цифры ссылок ссылаются на одинаковые элементы в различных представлениях, если не указано иное.
Фиг.1 - это блок-схема, представляющая примерную систему с множеством приложений и двумерным/трехмерным механизмом, согласно варианту осуществления.
Фиг.2 - это блок-схема, представляющая примерные компоненты двумерного/трехмерного механизма по фиг.1, согласно варианту осуществления.
Фиг.3 - это схема, представляющая трехмерную форму с контурами на основе двумерной геометрии формы, согласно варианту осуществления.
Фиг.4 - это схема, представляющая трехмерный текст и текстовые эффекты, применяемые к тексту формы, согласно варианту осуществления.
Фиг.5 - это блок-схема, представляющая последовательность операций способа формирования трехмерной графики из входных данных двумерной формы, согласно варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Различные варианты осуществления подробнее описываются ниже со ссылкой на прилагаемые чертежи, которые составляют их часть и которые иллюстрируют конкретные примерные варианты осуществления для использования на практике различных вариантов осуществления. Тем не менее, другие варианты осуществления могут быть реализованы во многих различных формах и не должны рассматриваться как ограничивающие варианты осуществления, изложенные в данном документе; наоборот, эти варианты осуществления предоставляются с тем, чтобы данное раскрытие было всесторонним и полным. Варианты осуществления могут быть использованы на практике как способы, системы или устройства. Соответственно, варианты осуществления могут принимать форму аппаратной реализации, полностью программной реализации или реализации, комбинирующей программные и аппаратные аспекты. Нижеследующее подробное описание, следовательно, не должно рассматриваться в ограничивающем смысле.
Логические операции различных вариантов осуществления реализуются (1) как последовательность машинореализованных этапов, выполняющихся в вычислительной системе, и/или (2) как взаимосвязанные машинные модули в рамках вычислительной системы. Реализация зависит от требований к производительности вычислительной системы, реализующей вариант осуществления. Следовательно, логические операции, составляющие варианты осуществления, описанные в данном документе, упоминаются альтернативно как операции, этапы или модули.
Примерная двумерная/трехмерная комбинированная система
визуализации
Проблемы вышеупомянутых подходов трехмерной имитации и трехмерного моделирования заключаются в том, что они являются неполными в отношении типичного бизнес-использования. Например, пользователи могут иметь формы с двумерным эффектом (к примеру, градиентом), который они хотят поместить в трехмерную перспективу для эффекта, или сложную трехмерную модель, для которой они хотят использовать карту отображения текстуры изображения, градиентный эффект или простое затенение. Эмулированный трехмерный подход имитации и подход трехмерного моделирования отдельно предоставляют только часть решения для вышеописанного примерного сценария.
Варианты осуществления, представленные ниже, предоставляют использование трехмерных и двумерных эффектов, комбинированных в один конвейер, который формирует профессионально оформленную бизнес-графику. Пользователь не обязательно должен иметь доскональное понимание трехмерного моделирования (что вероятно среди типичных бизнес-пользователей) для того, чтобы использовать варианты осуществления системы.
Фиг.1 иллюстрирует примерную систему 100, которая комбинирует двумерное и трехмерное моделирование при визуализации форм. В этом варианте осуществления система 100 включает в себя двумерный/трехмерный механизм 102 и одну или более прикладных программ, указанных как приложения от 104-1 до 104-N на фиг.1. Приложения от 104-1 до 104-N используют двумерный/трехмерный механизм для того, чтобы предоставлять трехмерные эффекты для двумерных форм и эффектов форм, введенных пользователями приложений 104-1 - 104-N. Помимо этого двумерный/трехмерный механизм 102 также может предоставлять трехмерные эффекты для текста, ассоциативно связанного с формами. В соответствии с одним вариантом осуществления двумерный/трехмерный механизм 102 принимает ввод двумерной формы и формирует трехмерную модель некоторых частей двумерной формы с тем, чтобы результат визуализации содержал части, которые сформированы из двумерных форм и эффектов (и двумерного текста и эффектов, если имеются), и части, которые сформированы из трехмерной модели. Этот комбинированный подход отличается от вышеупомянутого эмулируемого трехмерного подхода (который не включает в себя трехмерную модель) и подхода чистого трехмерного моделирования. Примерная реализация двумерного/трехмерного механизма 102 описана ниже со ссылками на фиг.2.
Хотя выше описан вариант осуществления "совместно используемого" двумерного/трехмерного механизма, в альтернативных вариантах осуществления каждое приложение может формировать трехмерные формы, которые могут иметь встроенный двумерный/трехмерный механизм вместо отдельного двумерного/трехмерного механизма 102.
Примерные компоненты двумерного/трехмерного механизма
Фиг.2 иллюстрирует примерные компоненты двумерного/трехмерного механизма 102 (фиг.1) согласно одному варианту осуществления. В этом варианте осуществления двумерный/трехмерный механизм 102 включает в себя фабрику 202 трехмерного моделирования, фабрику 204 передней поверхности, фабрику 206 исходной (лежащей в основе) плоскости и растеризатор/механизм 208 компоновки. Фабрика 202 трехмерного моделирования формирует трехмерную модель выбранных параметров или признаков формы. Фабрика 204 передней поверхности формирует двумерные текст и текстовые эффекты и некоторые двумерные эффекты формы (к примеру, эффекты заливки). Фабрика 206 исходной плоскости формирует эффекты, которые визуализируются на исходной плоскости формы. Растеризатор/механизм 208 компоновки комбинирует двумерные и трехмерные эффекты, формируемые посредством фабрики 204 передней поверхности, фабрики исходной плоскости 206 и фабрики 202 трехмерного моделирования.
При работе, когда двумерный/трехмерный механизм 102 принимает форму с трехмерными эффектами (к примеру, выбранными пользователем с помощью пользовательского интерфейса, предоставляемого посредством такого приложения, как приложение 104-1 на фиг.1), фабрика 204 передней поверхности разбирает форму на следующие части: текст, включенный в форму (если имеется); двумерную поверхность передней поверхности (т.е. поверхностные эффекты для передней поверхности формы); трехмерные эффекты (если имеются), применяемые к форме; любые эффекты исходной плоскости (к примеру, эффекты затенения, блеска, отражения, которые визуализируются в исходной плоскости формы); геометрию формы (к примеру, окружность, прямоугольник, стрелка и т.д.).
В этом варианте осуществления фабрика 204 передней поверхности визуализирует: любые двумерные текстовые эффекты (к примеру, затенение, блеск, отражение); любые двумерные эффекты формы; любые двумерные поверхностные эффекты (к примеру, заливка, градиентная заливка, изображение и т.д.) и двумерную геометрию формы; и создает карту отображения текстуры с помощью визуализированных двумерных текстовых эффектов и двумерных поверхностных эффектов для передней поверхности формы. В соответствии с этим вариантом осуществления фабрика 204 передней поверхности формирует карту отображения текстуры с тем, чтобы передняя поверхность формы сохраняла свои двумерные поверхностные эффекты (к примеру, цвет заливки) для всех ориентаций формы при всех условиях имитированной подсветки. Для типичных бизнес-пользователей этот признак сохранения двумерного поверхностного эффекта является желательным (даже если он может казаться менее реалистичным), поскольку введенный двумерный поверхностный эффект (к примеру, цвет) - это эффект, который пользователи фактически хотят в качестве результата (в отличие от того, как поверхностный эффект может выглядеть, когда форма с этим поверхностным эффектом переориентируется).
Дополнительно, в одном варианте осуществления фабрика 204 передней поверхности расширяет текстуры (к примеру, содержащие эффект заливки или изображение) на один пиксель, чтобы удостовериться в том, что все части передней поверхности трехмерной модели охватываются посредством заливки изображения.
В этом варианте осуществления фабрика 206 исходной плоскости формирует исходную плоскость для двумерных эффектов формы (если имеются). Помимо этого, если текст имеет примененные трехмерные эффекты, фабрика 206 исходной плоскости формирует исходную плоскость для двумерных текстовых эффектов. Формирователь 206 исходной плоскости берет двумерные эффекты, такие как затенение, размытость и отражение, и наносит их на плоскость фона. Когда трехмерный эффект добавляется к форме посредством фабрики трехмерного моделирования (к примеру, как описано выше), создается исходная плоскость и двумерные эффекты формы, такие как затенение, размытость и отражение, визуализируются на исходной плоскости. Исходная плоскость затем должна быть визуализирована позади формы.
В этом варианте осуществления фабрика 202 трехмерного моделирования формирует трехмерную модель из двумерной геометрии формы посредством задания свойств экструзии и выпуклости для формы. Фабрика трехмерного моделирования затем формирует координаты для отображения текстуры на передней поверхности трехмерной модели. Например, фабрика трехмерного моделирования "оборачивает" двумерные поверхностные эффекты (к примеру, изображение или цвет) вокруг выпуклости.
Дополнительно, в одном варианте осуществления фабрика 202 трехмерного моделирования формирует контуры трехмерных форм на основе их базовой двумерной геометрии. Пример контуров проиллюстрирован на фиг.3. В этом примере, когда пользователь разрешает признак контуров для формы, "очертание" формы становится толще. Цвет контура задается пользователем. Например, белые контуры могут быть использованы для того, чтобы оттенять темные формы на темном фоне. Вместо формирования контуров в ходе трехмерного моделирования контуры формируются из нижележащей двумерной формы (показанной как форма 302) и применяются для экструзии и выпуклости. Результат проиллюстрирован как форма 304.
В этом варианте осуществления растеризатор/механизм 208 компоновки затем комбинирует результирующую форму из фабрики 202 трехмерного моделирования (т.е. с трехмерной геометрией и двумерной картой отображения текстуры) с исходной плоскостью(ями) из фабрики 206 исходной плоскости. Растеризатор/механизм 208 компоновки использует координаты текстуры для того, чтобы отображать текстуру на трехмерную модель.
Примерные компоненты для визуализации трехмерного текста
В одном варианте осуществления (не показан) предусмотрена отдельная фабрика передней поверхности, фабрика исходной плоскости и фабрика трехмерного моделирования для трехмерного текста. Фабрика трехмерного моделирования визуализирует двумерные эффекты текста. Фабрика трехмерного моделирования формирует трехмерную модель текста посредством задания свойств экструзии и выпуклости текста и отображения двумерных текстовых эффектов на трехмерную модель текста. Фабрика исходной плоскости создает отдельную исходную плоскость для трехмерного текста, а затем двумерные эффекты, такие как затенение, размытость и отражение, визуализируются на этой исходной плоскости. Эта исходная плоскость должна находиться поверх формы с тем, чтобы текстовые эффекты были видимыми. Пример трехмерного текста проиллюстрирован на фиг.4.
Примерная исходная последовательность операций для установки
операционной системы/драйверов
Фиг.5 - это блок-схема, представляющая последовательность 500 операций способа формирования трехмерной графики из входных данных двумерной формы, согласно варианту осуществления. Последовательность 500 операций может осуществляться в любом надлежащем вычислительном окружении. Например, последовательность 400 операций может приводиться в исполнение посредством системы, такой как двумерный/трехмерный механизм 102 (фиг.2). Следовательно, описание последовательности 500 операций может относиться по меньшей мере к одному из компонентов на фиг.2. Тем не менее, любая подобная ссылка на компоненты по фиг.2 служит только для целей описания, и следует понимать, что реализации фиг.2 являются неограничивающей средой для последовательности 500 операций. В этой примерной последовательности операций пользователь, использующий приложение, такое как приложение 104-1 (фиг.1), создал форму, которая должна быть визуализирована.
На этапе 502, если форма содержит текст, механизм двумерной визуализации визуализирует все двумерные текстовые эффекты, которые должны быть применены к тексту (к примеру, разрешенные пользователем через приложение). В одном варианте осуществления механизм двумерной визуализации - это стандартный механизм двумерной визуализации, и он является частью фабрики 204 передней поверхности (фиг.2).
На этапе 504, если применяются трехмерные текстовые эффекты (к примеру, разрешенные пользователем), фабрика исходной плоскости (к примеру, аналогичная фабрике 206 исходной плоскости, но предназначенная для текста вместо форм) создает трехмерную исходную плоскость для текста. Эта исходная плоскость является отдельной от исходной плоскости формы.
Этапы 502 и 504 в этом примере выполняются только в том случае, если трехмерные эффекты должны быть применены к тексту формы.
На этапе 506 двумерные эффекты формы применяются к форме. В одном варианте осуществления вышеупомянутый механизм двумерной визуализации применяет двумерные эффекты формы (к примеру, эффект затенения, эффект блеска, эффект отражения) к форме.
На этапе 508 создается исходная плоскость формы, и двумерные эффекты формы ассоциативно связываются с исходной плоскостью формы. В одном варианте осуществления фабрика исходной плоскости, такая как фабрика 206 исходной плоскости, создает исходную (лежащую в основе) плоскость и ассоциативно связывает двумерные эффекты формы (к примеру, эффект затенения, эффект блеска, эффект отражения) с исходной плоскостью формы.
На этапе 510 выполняется то же, что и на этапе 502, но в сценариях, в которых трехмерные эффекты не применяются к тексту формы.
На этапе 512 двумерные поверхностные эффекты применяются к форме. В одном варианте осуществления механизм двумерной визуализации фабрики передней поверхности применяет эффекты поверхности (к примеру, заливка, градиентная заливка, изображение и т.д.) к форме.
На этапе 514 карта отображения текстуры создается с помощью двумерных текстовых эффектов и двумерных поверхностных эффектов из этапов 510 и 512. В одном варианте осуществления фабрика передней поверхности создает карту отображения текстуры.
На этапе 516 двумерная геометрия получается из формы. В одном варианте осуществления фабрика трехмерного моделирования, такая как фабрика 202 трехмерного моделирования (фиг.2), получает двумерную геометрию из формы.
На этапе 518 трехмерная модель формируется из двумерной геометрии, полученной на этапе 516. В одном варианте осуществления вышеупомянутая фабрика трехмерного моделирования формирует трехмерную модель посредством задания параметров экструзии и выпуклости для формы.
На этапе 520 карта отображения текстуры из этапа 514 отображается на трехмерную модель из этапа 518. В одном варианте осуществления фабрика трехмерного моделирования отображает карту отображения текстуры на трехмерную модель с тем, чтобы передняя поверхность формы имела двумерный текст, текстовые эффекты и поверхностные эффекты из этапов 510 и 512. Помимо этого фабрика трехмерного моделирования также может применять карту отображения текстуры к трехмерным признакам, таким как экструзия и выпуклость (к примеру, "оборачивание" заливки вокруг выпуклостей и экструзий).
На этапе 522 битовая карта создается из трехмерной формы из этапа 520, комбинированной с исходной плоскостью из этапа 508. В одном варианте осуществления растеризатор/механизм компоновки, такой как растеризатор/механизм 208 компоновки (фиг.2), создает битовую карту. Кроме того, в сценариях, в которых трехмерные эффекты применяются к тексту формы, растеризатор/механизм компоновки также использует исходную плоскость из этапа 504 для того, чтобы создать битовую карту.
Хотя последовательность 500 операций проиллюстрирована и описана последовательно в конкретном порядке, в других вариантах осуществления операции, описанные на этих этапах, могут быть выполнены в другом порядке, несколько раз и/или параллельно. Дополнительно, в некоторых вариантах осуществления одна или более операций, описанных на этапах, могут быть обособлены в другой этап, опущены или комбинированы.
В данном подробном описании содержится ссылка на "один вариант осуществления", "вариант осуществления" или "примерный вариант осуществления", что означает то, что конкретный описанный признак, структура или характеристика включена по меньшей мере в один вариант осуществления. Таким образом, использование таких фраз может относиться к более чем просто одному варианту осуществления. Помимо этого описанные признаки, структуры или характеристики могут быть комбинированы любым надлежащим образом в одном или более вариантах осуществления.
Тем не менее, специалисты в данной области техники могут признавать, что варианты осуществления могут быть использованы на практике без одной или более конкретных подробностей или с другими способами, ресурсами, материалами и т.д. В других случаях широко распространенные структуры, ресурсы или операции не показаны или описаны подробно просто для того, чтобы избежать затруднений в понимании аспектов вариантов осуществления.
Хотя проиллюстрированы и описаны примерные варианты осуществления и применения, следует понимать, что изобретение не ограничено точной конфигурацией и ресурсами, описанными выше. Различные модификации, изменения и вариации, очевидные специалистам в данной области техники, могут быть выполнены в структуре, работе и деталях способов и систем, раскрытых в данном документе, без отклонения от области применения заявленного изобретения.