RU2604674C2 - Системы и способы для создания трехмерного текстурного атласа - Google Patents

Системы и способы для создания трехмерного текстурного атласа Download PDF

Info

Publication number
RU2604674C2
RU2604674C2 RU2014148186/08A RU2014148186A RU2604674C2 RU 2604674 C2 RU2604674 C2 RU 2604674C2 RU 2014148186/08 A RU2014148186/08 A RU 2014148186/08A RU 2014148186 A RU2014148186 A RU 2014148186A RU 2604674 C2 RU2604674 C2 RU 2604674C2
Authority
RU
Russia
Prior art keywords
texture
dimensional
triangles
adjusted
triangle
Prior art date
Application number
RU2014148186/08A
Other languages
English (en)
Other versions
RU2014148186A (ru
Inventor
Цзытао Сюй
Венкатраман ВИСВАНАТАН
Скотт СЕНФТЕН
Чарльз СЕМБРОСКИ
Я Сунь
Мэри КОУЛ
Original Assignee
Лэндмарк Графикс Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Лэндмарк Графикс Корпорейшн filed Critical Лэндмарк Графикс Корпорейшн
Publication of RU2014148186A publication Critical patent/RU2014148186A/ru
Application granted granted Critical
Publication of RU2604674C2 publication Critical patent/RU2604674C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

Изобретение относится, в общем, к системам и способам для создания трехмерного (3D) текстурного атласа. Техническим результатом является повышение эффективности использования кэш-памяти текстур посредством уменьшения объема кэш-памяти текстур, необходимого для хранения каждого текстурного атласа. В способе создания трехмерного текстурного атласа подразделяют трехмерную треугольную сетку на множество скорректированных треугольников. Группируют множество скорректированных треугольников в группы скорректированных треугольников. Сканируют каждую группу скорректированных треугольников внутри трехмерного ограничивающего объема, чтобы сформировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику. Уменьшают объем компьютерной кэш-памяти текстур, требуемой для хранения текстурного атласа, путем объединения каждой стандартизованной текстурной мозаики, чтобы сформировать трехмерный текстурный атлас, содержащий равное число стандартизованных текстурных мозаик в каждом измерении. Сохраняют каждый текстурный атлас в компьютерной кэш-памяти текстур. 2 н. и 14 з.п. ф-лы, 5 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится, в общем, к системам и способам для создания трехмерного (3D) текстурного атласа. В частности, настоящее изобретение относится к уменьшению объема кэш-памяти текстур, необходимой для хранения текстурного атласа, с использованием однозначно сгруппированных скорректированных треугольников для создания каждого текстурного атласа.
УРОВЕНЬ ТЕХНИКИ
В некоторых областях полезно моделировать реальные или компьютерно-сгенерированные объекты в трех измерениях. Моделирование таких объектов оказывается полезным во множестве различных областей применения. Например, моделирование строения среды участка земной коры полезно для нахождения нефтяных месторождений, определения местонахождения геологических разломов и в других геологических областях применения. Аналогично, моделирование частей человеческого тела полезно для медицинских практических занятий, диагностики, проведения дистанционной хирургии или для других медицинских областей применения. Моделирование компьютерно-сгенерированных объектов полезно при создании компьютерных игр, проектировании моделей условий полета и в других областях применения. Существуют другие области применения 3D моделирования реальных или компьютерно-сгенерированных объектов.
Некоторые 3D модели представляют объект в виде 3D матрицы точек объемных данных. Данная матрица, известная как объем данных, включает в себя множество точек данных, известных как точки объемных данных. Каждая точка объемных данных может быть названа объемным пикселем, известным также под названием воксель. Воксель является минимальной различимой объемной частью 3D изображения. Воксель подобен пикселю, но представляет 3D объем, а не двумерную (2D) область. Каждый воксель представляет дискретный отсчет 3D участка моделируемого объекта.
После того как объем данных создан, его содержимое может отображаться для пользователей. Пользователь может задавать 3D поверхность, содержащуюся в объеме, и система отображения отображает воксели на упомянутой поверхности на экране или другом средстве отображения. Это дает пользователю возможность наблюдать воксели, которые содержатся внутри объема данных.
Одна система для отображения вокселей на произвольной 3D поверхности известна как 3D текстурное отображение. Данный метод реализуется в блоке обработки растровых данных аппаратного ускорителя компьютерной графики. Данный метод использует особую специализированную память, известную как кэш текстур или память текстур, которая обеспечивается отдельно на интегральной схеме.
Данный метод обладает некоторыми присущими ему свойствами, которые делают его неэффективным для конкретных ситуаций. Например, для объемов данных, которые являются большими в сравнении с размером доступного кэша текстур, объем данных необходимо разбивать на блоки и каждый блок необходимо подкачивать в кэш текстур. Это неэффективно по причине относительно больших издержек, требующихся при определении размера каждого блока и считывании его в кэш текстур.
Кроме того, даже если только те воксели, которые находятся на 3D поверхности, могут требоваться блоку обработки растровых данных при данном методе, каждый воксель в объеме данных считывается в кэш текстур и сохраняется в нем. Таким образом, память в кэше текстур используется неэффективно, потому что в кэше текстур может храниться относительно большое количество ненужных данных. Данная проблема обостряется, когда 3D поверхность является небольшой по сравнению с объемом данных.
Кроме того, поскольку при данной операции используется относительно большой объем кэша текстур, то объем кэша текстур, доступный другим графическим операциям, ограничен. Это ограничивает производительность визуализации объекта и ограничивает производительность других графических операций.
Другие методы, широко известные в технике, включают в себя подразделение полигональной поверхности на несколько многоугольников и создание текстурной мозаики для каждого многоугольника, при этом каждая текстурная мозаика используется для формирования одного или более текстурных атласов. Текстурная мозаика является набором скорректированных треугольников и его ограничивающего объема, который содержит 3D текстурные данные. Текстурный атлас является группой текстурных мозаик, которые обычно располагают так, чтобы текстурный атлас содержал максимальное число текстурных мозаик. Однако данные методы все равно могут оставлять пустым или неиспользуемым пространство в каждом текстурном атласе, которое требует памяти в кэше текстур для хранения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В связи с этим настоящее изобретение удовлетворяет вышеприведенным требованиям и устраняет один или более недостатков известного уровня техники посредством уменьшения объема кэш-памяти текстур, необходимой для хранения текстурного атласа, с использованием однозначно сгруппированных скорректированных треугольников для создания каждого текстурного атласа.
В одном варианте осуществления настоящее изобретение включает в себя способ создания трехмерного текстурного атласа, который содержит следующие этапы: i) подразделяют трехмерную треугольную сетку на множество скорректированных треугольников; ii) группируют множество скорректированных треугольников в одну или более групп скорректированных треугольников с использованием компьютерного процессора; iii) сканируют каждую группу скорректированных треугольников внутри трехмерного ограничивающего объема, чтобы сформировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику; и iv) объединяют каждую стандартизованную текстурную мозаику, чтобы сформировать, по меньшей мере, один трехмерный текстурный атлас.
В другом варианте осуществления настоящее изобретение включает в себя устройство долговременного носителя программ, содержащее в материальной форме выполняемые компьютером команды для создания трехмерного текстурного атласа, при этом команды выполняются для осуществления: i) подразделения трехмерной треугольной сетки на множество скорректированных треугольников; ii) группирования множества скорректированных треугольников в одну или более групп скорректированных треугольников; iii) сканирования каждой группы скорректированных треугольников внутри трехмерного ограничивающего объема, чтобы формировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику; и iv) объединения каждой стандартизованной текстурной мозаики, чтобы формировать, по меньшей мере, один трехмерный текстурный атлас.
Дополнительные аспекты, преимущества и варианты осуществления изобретения будут понятны специалистам в данной области техники из нижеследующего описания различных вариантов осуществления и соответствующих чертежей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение описано ниже со ссылками на прилагаемые чертежи, на которых одинаковые элементы обозначены одинаковыми позициями и на которых:
Фиг. 1 - блок-схема последовательности операций, иллюстрирующая один вариант осуществления способа для осуществления настоящего изобретения.
Фиг. 2 - графическое представление, иллюстрирующее этап 104 и этап 106, показанные на фиг. 1.
Фиг. 3 - графическое представление, иллюстрирующее этап 108, показанный на фиг. 1.
Фиг. 4 - другое графическое представление, иллюстрирующее этап 108, показанный на фиг. 1.
Фиг. 5 - блок-схема, иллюстрирующая один вариант осуществления компьютерной системы для осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Предмет настоящего изобретения описан с привязкой к конкретной задаче, однако описание само по себе не предполагает ограничения объема изобретения. Следовательно, предмет изобретения можно также осуществлять другими способами, включающим в себя другие этапы или комбинации этапов, сходные с этапами, описанными в настоящей заявке, в сочетании с другими технологиями. Кроме того, хотя термин «этап» может применяться в настоящей заявке для описания разных элементов используемых способов, этот термин нельзя интерпретировать как подразумевающий какой-либо конкретный порядок среди или между различными этапами, раскрытыми в настоящей заявке, если иное прямо не ограничено в описании конкретным порядком. Хотя нижеследующее описание относится к нефтегазовой отрасли, системы и способы согласно настоящему изобретению не ограничены данной отраслью и могут также применяться в других отраслях для получения сходных результатов.
Настоящее изобретение использует октодерево, которое является общеизвестной древовидной структурой данных, в которой каждый внутренний узел имеет точно восемь дочерних элементов, чтобы разделить 3D пространство посредством его рекурсивного подразделения на восемь октантов, называемых также в настоящей заявке листьями. Все листья октодерева в октодереве имеют одинаковый размер, и каждый лист октодерева соответствует конкретному геометрическому местоположению в кэш-памяти текстур. Октодерево является 3D аналогом 2D квадродерева, которое используется в настоящей заявке для иллюстрации настоящего изобретения. Однако настоящее изобретение использует октодерево для пространственного индексирования скорректированных треугольников, чтобы уменьшить объем памяти в кэше текстур, необходимый для каждого текстурного атласа.
ОПИСАНИЕ СПОСОБА
На фиг. 1 изображена блок-схема последовательности операций одного варианта осуществления способа 100 для осуществления настоящего изобретения. Способ 100 уменьшает объем кэш-памяти текстур, который необходим для хранения каждого текстурного атласа.
На этапе 102, 3D треугольная сетка и параметры процедуры вводятся с использованием клиентского интерфейса и/или видеоинтерфейса, описанного со ссылкой на фиг. 5. 3D треугольная сетка может быть исходной сеткой, или данная сетка может быть создана преобразованием из нетреугольной сетки с использованием методов, широко известных в данной области техники. Только одно октодерево требуется для обработки всех 3D треугольных сеток одновременно, но часто имеется только одна 3D треугольная сетка. Параметры процедуры могут включать в себя, но без ограничения: i) максимальный размер скорректированного треугольника, который является предварительно заданной длиной наибольшего ребра для каждого скорректированного треугольника; ii) размер листа октодерева, при этом каждое измерение его объема, по меньшей мере, в три раза больше, чем длина наибольшего ребра, которая задает максимальный размер скорректированного треугольника; iii) число листьев октодерева для каждого октодерева, которое равно 2(3n), и n часто равно, по меньшей мере, 4; iv) размер предпочтительного 3D ограничивающего объема, причем каждое измерение предпочтительного 3D ограничивающего объема меньше или равно 2k и k равно любому положительному целому числу, которое ограничивает размер предпочтительного 3D ограничивающего объема до размера листа октодерева плюс максимальный размер скорректированного треугольника; и v) число текстурных мозаик для каждого измерения 3D текстурного атласа, которое основано на числе полных текстурных мозаик и производительности графического процессора. Следовательно, графический процессор с большой производительностью будет допускать формирование меньшего числа (более крупных) текстурных атласов, а графические процессоры с меньшей производительностью могут потребовать формирования большего числа (меньших) текстурных атласов. Другими словами, меньшее число текстурных атласов будет создавать меньше текстурных объектов и способствовать большей кэш-памяти текстур и более высоким характеристикам. Поскольку k выбирают для размещения размера предпочтительного 3D ограничивающего объема в качестве близкого по размеру к размеру листа октодерева плюс максимальному размеру скорректированного треугольника, то 2k минус измерение размера предпочтительного 3D ограничивающего объема представляет неиспользуемую кэш-память текстур в одном измерении. Таким образом, размер предпочтительного 3D ограничивающего объема способствует сбалансированному подходу к достижению наиболее эффективного размера для каждой текстурной мозаики и каждого текстурного атласа,
На этапе 104 3D треугольная сетка подразделяется на скорректированные треугольники с использованием методов, широко известных в данной области техники, и максимального размера скорректированного треугольника. На фиг. 2, например, графическое представление 2D квадродерева 200 используется для иллюстрации 3D треугольной сетки 210, подразделенной на скорректированные треугольники, каждый из которых нумерован. 2D квадродерево 200 включает в себя четыре листа (октанта) 202, 204, 206 и 208 октодерева. При заданном максимальном размере скорректированного треугольника с этапа 102, 3D треугольная сетка подразделяется многократным делением длины наибольшего ребра каждого треугольника, пока каждый треугольник не становится меньше или равен максимальному скорректированному треугольнику. Таким образом, форма и размер каждого скорректированного треугольника остаются, по существу, одинаковыми.
На этапе 106 скорректированные треугольники группируются в одну или более групп (наборов) скорректированных треугольников в соответствии с их пространственным расположением (геометрическим местоположением) относительно листа октодерева. На фиг. 2, например, скорректированные треугольники пронумерованы в соответствии с их пространственным расположением относительно листа октодерева. Каждому скорректированному треугольнику, по существу: i) внутри листа 202 октодерева присваивается 0; ii) внутри листа 204 октодерева присваивается 1; iii) внутри листа 206 октодерева присваивается 2; и iv) внутри листа 208 октодерева присваивается 3. Каждый скорректированный треугольник может принадлежать только к одному листу октодерева, и, если он перекрывается с двумя или более листами октодерева, то он распределяется листу октодерева, содержащему наибольший участок скорректированного треугольника.
На этапе 108 каждая группа скорректированных треугольников внутри 3D ограничивающего объема сканируется с использованием методов, широко известных в данной области техники, чтобы сформировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику, содержащую текстурное изображение и соответствующую группу скорректированных треугольников. Если размер 3D ограничивающего объема для соответствующей группы скорректированных треугольников удовлетворяет размеру предпочтительного 3D ограничивающего объема, то сканированием формируется стандартизованная текстурная мозаика. На фиг. 3, например, графическое представление 300 листа 206 октодерева иллюстрирует группу скорректированных треугольников 302 внутри 3D ограничивающего объема 304, который удовлетворяет размеру предпочтительного 3D ограничивающего объема. Если размер 3D ограничивающего объема для соответствующей группы скорректированных треугольников не удовлетворяет размеру предпочтительного 3D ограничивающего объема, то сканированием формируется нестандартизованная текстурная мозаика. На фиг. 4, например, графическое представление 400 листа 401 октодерева иллюстрирует группу скорректированных треугольников 402 внутри 3D ограничивающего объема 404, который не удовлетворяет размеру предпочтительного 3D ограничивающего объема. Каждая стандартизованная текстурная мозаика имеет, по существу, одинаковые размер и форму. Каждая нестандартизованная текстурная мозаика больше, чем стандартизованная текстурная мозаика. Приведенное разграничение между стандартизованными текстурными мозаиками и нестандартизованными текстурными мозаиками эффективно оптимизирует использование кэш-памяти текстур при формировании каждого текстурного атласа. Другими словами, способ 100 уравновешивает размер каждой группы скорректированных треугольников и размер соответствующего листа октодерева, чтобы приблизить размер 3D ограничивающего объема для соответствующей группы скорректированных треугольников, без превышения, к размеру предпочтительного 3D ограничивающего объема.
На этапе 110 стандартизованные текстурные мозаики объединяют для формирования одного или более текстурных атласов и нестандартизованные текстурные мозаики объединяют отдельно для формирования одного или более текстурных атласов. Таким образом, каждый текстурный атлас, содержащий стандартизованные текстурные мозаики, должен включать в себя одинаковое число текстурных мозаик в каждом измерении текстурного атласа. Это способствует эффективному использованию кэш-памяти текстур посредством уменьшения объем кэш-памяти текстур, необходимого для хранения каждого текстурного атласа. Остающиеся нестандартизованные текстурные мозаики, которые объединяются для формирования одного или более текстурных атласов, потребуют большей кэш-памяти текстур для хранения, чем текстурные атласы, содержащие стандартизованные текстурные мозаики.
ОПИСАНИЕ СИСТЕМЫ
Настоящее изобретение может быть осуществлено посредством компьютерно-выполняемой программы команд, например программных модулей, в общем, называемых программными приложениями или прикладными программами, выполняемыми компьютером. Программное обеспечение может включать в себя, например, подпрограммы, программы, объекты, компоненты и структуры данных, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Программное обеспечение формирует интерфейс для предоставления компьютеру возможности реагировать в соответствии с источником данных. Коммерческое программное приложение DecisionSpace®, предлагаемое на рынке компанией Landmark Graphics Corporation, можно использовать как интерфейсное приложение для осуществления настоящего изобретения. Программное обеспечение может также взаимодействовать с другими сегментами кода для инициирования множества задач в ответ на данные, принятые в связи с источником принятых данных. Программное обеспечение может храниться и/или переноситься на любых многочисленных запоминающих средах, например CD-ROM (компакт-диске только для чтения), магнитном диске, в памяти на магнитных доменах и полупроводниковой памяти (например, RAM (оперативной памяти) или ROM (постоянной памяти) различных типов). Кроме того, программное обеспечение и его результаты могут переноситься множеством различных физических каналов передачи данных, например, по оптическому волокну, металлическому проводу, свободному пространству и/или посредством любой из множества различных сетей, например, сети Internet.
Кроме того, специалистам в данной области техники будет очевидно, что изобретение может применяться с множеством различных конфигураций компьютерных систем, включая ручные устройства, микропроцессорные системы, микропроцессорную или программируемую бытовую электронную технику, миникомпьютеры, универсальные вычислительные машины и т.п. Для применения с настоящим изобретением подходит любое число компьютерных систем и компьютерных сетей. Изобретение может применяться в распределенных вычислительных средах, в которых задачи выполняются удаленными устройствами обработки, которые связаны по сети связи. В распределенных вычислительных средах программные модули могут находиться как на локальных, так и на удаленных носителях данных для компьютера, включая запоминающие устройства. Поэтому настоящее изобретение можно осуществить в связи с различным аппаратным обеспечением, программным обеспечением или их сочетанием, в компьютерной системе или другой системе обработки.
На фиг. 5 приведена блок-схема системы для осуществления настоящего изобретения на компьютере. Система содержит вычислительный блок, иногда называемый компьютерной системой, который содержит память, прикладные программы, клиентский интерфейс, видеоинтерфейс и блок обработки, который включает в себя графический процессор или графический адаптер. Вычислительный блок является только одним примером подходящей вычислительной среды и не предназначен для предположения какого-либо ограничения на объем применения или функций изобретения.
Память хранит главным образом прикладные программы, которые можно также описать как программные модули, содержащие компьютерно-выполняемые команды, выполняемые вычислительным блоком для осуществления настоящего изобретения, описанного в настоящей заявке и изображенного на фиг. 1-4. Поэтому память включает в себя модуль создания текстурных атласов, который запускает способы, изображенные и описанные со ссылкой на фиг. 1-4, и объединяет функции из остальных прикладных программ, показанных на фиг. 5. Память содержит также приложение DecisionSpace®, которое можно использовать как интерфейсное приложение для подачи входных данных в модуль создания текстурных атласов и/или отображения результирующих данных из модуля создания текстур. Хотя в качестве интерфейсного приложения можно использовать приложение DecisionSpace®, вместо него можно использовать другие интерфейсные приложения, или можно использовать модуль создания текстурных атласов в качестве автономного приложения.
Хотя вычислительный блок показан как содержащий обобщенную память, вычислительный блок обычно включает в себя множество различных машиночитаемых носителей. Например, и без ограничения, машиночитаемые носители могут содержать носители данных для компьютера и каналы передачи данных. Память компьютерной системы может включать в себя носители данных для компьютера в форме энергозависимой и/или энергонезависимой памяти, например постоянной памяти (ROM) и оперативной памяти (RAM). Базовая система ввода-вывода (BIOS), содержащая базовые подпрограммы, которые помогают передаче информации между элементами внутри вычислительного блока, например, во время запуска, обычно хранятся в ROM. RAM обычно содержит данные и/или программные модули, которые могут быть немедленно вызваны и/или в настоящий момент выполняются вычислительным блоком. Например, и без ограничения, вычислительный блок содержит оперативную систему, прикладные программы, другие программные модули и данные программы.
Компоненты, показанные в памяти, могут также содержаться на других съемных/несъемных, энергозависимых/энергонезависимых носителях данных для компьютера, или упомянутые компоненты могут быть реализованы в вычислительном блоке посредством интерфейса прикладных программ («API») или облачных вычислений, которые могут постоянно храниться в отдельном вычислительном блоке, подсоединенном посредством компьютерной системы или сети. Исключительно для примера, накопитель на жестких дисках может считывать или записывать с/на несъемные энергонезависимые магнитные носители, накопитель на магнитных дисках может считывать или записывать с/на съемный энергонезависимый магнитный диск, и накопитель на оптических дисках может считывать или записывать с/на съемный энергонезависимый оптический диск, например CD-ROM или другие оптические носители. Другие съемные/несъемные энергозависимые/энергонезависимые носители данных для компьютера, которые можно применять в примерной операционной среде, могут включать в себя, но без ограничения, кассеты с магнитными лентами, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельную RAM, твердотельную ROM и т.п. Вышеупомянутые накопители и связанные с ними носители данных для компьютера обеспечивают хранение машиночитаемых команд, структур данных, программных модулей и других данных для вычислительного блока.
Клиент может вводить команды и информацию в вычислительный блок посредством клиентского интерфейса, который может быть устройствами ввода, например, клавиатурой и указательным устройством, обычно называемым мышью, трекболом или сенсорным планшетом. Устройства ввода могут включать в себя микрофон, джойстик, спутниковую тарелку, сканер и т.п. Упомянутые и другие устройства часто подсоединяются к вычислительному блоку посредством клиентского интерфейса, который связан с системной шиной, но могут быть подсоединены посредством другого интерфейса и шинных структур, например, параллельного порта или универсальной последовательной шины (USB).
Монитор или другой тип устройства отображения может подсоединяться к системной шине посредством интерфейса, например видеоинтерфейса. Графический пользовательский интерфейс («GUI») также можно использовать с видеоинтерфейсом, чтобы принимать команды из клиентского интерфейса и передавать команды в вычислительный блок. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, например динамики и принтер, которые могут подсоединяться посредством интерфейса периферийных устройств вывода.
Хотя многие другие внутренние компоненты вычислительного блока не показаны, специалисты со средним уровнем компетенции в данной области техники примут во внимание, что данные компоненты и межсоединения широко известны.
Хотя настоящее изобретение описано в связи с вариантами осуществления, предпочтительными в настоящее время, специалистам в данной области техники будет понятно, что изобретение не предполагается ограничить данными вариантами осуществления. Поэтому предполагается, что различные альтернативные варианты осуществления и модификации раскрытых вариантов осуществления могут быть созданы без выхода за пределы существа и объема изобретения, определенных прилагаемой формулой изобретения и ее эквивалентами.

Claims (16)

1. Способ создания трехмерного текстурного атласа, который содержит этапы, на которых:
подразделяют трехмерную треугольную сетку на множество скорректированных треугольников;
группируют множество скорректированных треугольников в одну или более групп скорректированных треугольников с использованием компьютерного процессора;
сканируют каждую группу скорректированных треугольников внутри трехмерного ограничивающего объема, чтобы сформировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику;
уменьшают объем компьютерной кэш-памяти текстур, требуемой для хранения текстурного атласа, путем объединения каждой стандартизованной текстурной мозаики, чтобы сформировать, по меньшей мере, один трехмерный текстурный атлас, причем упомянутый, по меньшей мере, один трехмерный текстурный атлас содержит равное число стандартизованных текстурных мозаик в каждом измерении упомянутого, по меньшей мере, одного трехмерного текстурного атласа; и
сохраняют каждый текстурный атлас в компьютерной кэш-памяти текстур.
2. Способ по п. 1, в котором трехмерную треугольную сетку подразделяют на множество скорректированных треугольников посредством многократного деления длины наибольшего ребра каждого треугольника в трехмерной треугольной сетке, пока каждый треугольник не оказывается меньше или равен максимальному размеру скорректированного треугольника.
3. Способ по п. 2, в котором максимальный размер скорректированного треугольника является предварительно заданной длиной наибольшего ребра для каждого скорректированного треугольника.
4. Способ по п. 1, в котором каждый скорректированный треугольник имеет одинаковые размер и форму.
5. Способ по п. 1, в котором каждую группу скорректированных треугольников внутри трехмерного ограничивающего объема сканируют, чтобы сформировать стандартизованную текстурную мозаику, когда размер трехмерного ограничивающего объема удовлетворяет размеру предпочтительного трехмерного ограничивающего объема.
6. Способ по п. 5, в котором каждое измерение предпочтительного трехмерного ограничивающего объема меньше или равно 2k и k равно любому положительному целому числу, которое ограничивает размер предпочтительного трехмерного ограничивающего объема до размера листа октодерева плюс максимальный размер скорректированного треугольника.
7. Способ по п. 5, в котором каждая стандартизованная текстурная мозаика имеет одинаковые размер и форму.
8. Способ по п. 6, в котором каждое измерение размера листа октодерева задает объем и каждое измерение его объема, по меньшей мере, в три раза больше, чем длина наибольшего ребра, которая задает максимальный размер скорректированного треугольника.
9. Устройство носителя программ, содержащее в материальной форме выполняемые компьютером команды для создания трехмерного текстурного атласа, при этом команды выполняются для осуществления:
подразделения трехмерной треугольной сетки на множество скорректированных треугольников;
группирования множества скорректированных треугольников в одну или более групп скорректированных треугольников;
сканирования каждой группы скорректированных треугольников внутри трехмерного ограничивающего объема, чтобы формировать стандартизованную текстурную мозаику или нестандартизованную текстурную мозаику;
уменьшения объема компьютерной кэш-памяти текстур, требуемой для хранения текстурного атласа, путем объединения каждой стандартизованной текстурной мозаики, чтобы формировать, по меньшей мере, один трехмерный текстурный атлас, причем упомянутый, по меньшей мере, один трехмерный текстурный атлас содержит равное число стандартизованных текстурных мозаик в каждом измерении упомянутого, по меньшей мере, одного трехмерного текстурного атласа; и
сохранения каждого текстурного атласа в компьютерной кэш-памяти текстур.
10. Устройство носителя программ по п. 9, в котором трехмерная треугольная сетка подразделяется на множество скорректированных треугольников посредством многократного деления длины наибольшего ребра каждого треугольника в трехмерной треугольной сетке, пока каждый треугольник не оказывается меньше или равен максимальному размеру скорректированного треугольника.
11. Устройство носителя программ по п. 10, в котором максимальный размер скорректированного треугольника является предварительно заданной длиной наибольшего ребра для каждого скорректированного треугольника.
12. Устройство носителя программ по п. 9, в котором каждый скорректированный треугольник имеет одинаковые размер и форму.
13. Устройство носителя программ по п. 9, в котором каждая группа скорректированных треугольников внутри трехмерного ограничивающего объема сканируется, чтобы сформировать стандартизованную текстурную мозаику, когда размер трехмерного ограничивающего объема удовлетворяет размеру предпочтительного трехмерного ограничивающего объема.
14. Устройство носителя программ по п. 13, в котором каждое измерение предпочтительного трехмерного ограничивающего объема меньше или равно 2k и k равно любому положительному целому числу, которое ограничивает размер предпочтительного трехмерного ограничивающего объема до размера листа октодерева плюс максимальный размер скорректированного треугольника.
15. Устройство носителя программ по п. 13, в котором каждая стандартизованная текстурная мозаика имеет одинаковые размер и форму.
16. Устройство носителя программ по п. 14, в котором каждое измерение размера листа октодерева задает объем и каждое измерение его объема, по меньшей мере, в три раза больше, чем длина наибольшего ребра, которая задает максимальный размер скорректированного треугольника.
RU2014148186/08A 2012-06-27 2012-06-27 Системы и способы для создания трехмерного текстурного атласа RU2604674C2 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/044366 WO2014003736A1 (en) 2012-06-27 2012-06-27 Systems and methods for creating a three-dimensional texture atlas

Publications (2)

Publication Number Publication Date
RU2014148186A RU2014148186A (ru) 2016-08-20
RU2604674C2 true RU2604674C2 (ru) 2016-12-10

Family

ID=49783683

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014148186/08A RU2604674C2 (ru) 2012-06-27 2012-06-27 Системы и способы для создания трехмерного текстурного атласа

Country Status (7)

Country Link
US (2) US9378587B2 (ru)
EP (1) EP2826023B1 (ru)
AR (1) AR091581A1 (ru)
AU (1) AU2012383532B2 (ru)
CA (1) CA2869548C (ru)
RU (1) RU2604674C2 (ru)
WO (1) WO2014003736A1 (ru)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3018630A3 (en) 2014-09-15 2018-05-16 Samsung Electronics Co., Ltd. Display method and apparatus for rendering repeated geometric shapes
GB2530103B (en) * 2014-09-15 2018-10-17 Samsung Electronics Co Ltd Rendering geometric shapes
US20160155261A1 (en) * 2014-11-26 2016-06-02 Bevelity LLC Rendering and Lightmap Calculation Methods
CN104835201B (zh) * 2015-05-08 2017-07-04 华东师范大学 一种在数字地球软件平台上模拟和显示全球地壳结构的方法
KR102454893B1 (ko) * 2015-09-30 2022-10-14 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치의 동작 방법
CN106202928B (zh) * 2016-07-05 2019-02-26 浙江工业大学义乌科学技术研究院有限公司 一种用于计算组织切割后新生成模型顶点纹理坐标的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999073B1 (en) * 1998-07-20 2006-02-14 Geometrix, Inc. Method and system for generating fully-textured 3D
RU2324978C2 (ru) * 2002-06-20 2008-05-20 Майкрософт Корпорейшн Системы и способы для обеспечения управляемой дискретизации текстуры

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0264776A (ja) 1988-08-31 1990-03-05 Hitachi Ltd 有限要素生成方法
US6031548A (en) 1997-06-13 2000-02-29 International Business Machines Corporation Progressive multi-level transmission and display of triangular meshes
US6208347B1 (en) 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6064394A (en) 1997-10-31 2000-05-16 Autodesk, Inc. Texture mapping using a plane normal to a selected triangle and using a (U,V) origin thereof to preserve texture size upon surface scaling
US6563499B1 (en) 1998-07-20 2003-05-13 Geometrix, Inc. Method and apparatus for generating a 3D region from a surrounding imagery
US6342884B1 (en) 1999-02-03 2002-01-29 Isurftv Method and apparatus for using a general three-dimensional (3D) graphics pipeline for cost effective digital image and video editing, transformation, and representation
US6879946B2 (en) 1999-11-30 2005-04-12 Pattern Discovery Software Systems Ltd. Intelligent modeling, transformation and manipulation system
US6990228B1 (en) 1999-12-17 2006-01-24 Canon Kabushiki Kaisha Image processing apparatus
US7065242B2 (en) 2000-03-28 2006-06-20 Viewpoint Corporation System and method of three-dimensional image capture and modeling
CA2317336A1 (en) 2000-09-06 2002-03-06 David Cowperthwaite Occlusion resolution operators for three-dimensional detail-in-context
GB0023681D0 (en) 2000-09-27 2000-11-08 Canon Kk Image processing apparatus
US6819324B2 (en) * 2002-03-11 2004-11-16 Sun Microsystems, Inc. Memory interleaving technique for texture mapping in a graphics system
GB0224449D0 (en) 2002-10-21 2002-11-27 Canon Europa Nv Apparatus and method for generating texture maps for use in 3D computer graphics
GB2400288B (en) 2003-04-02 2005-12-28 Canon Europa Nv Generating texture maps for use in 3D computer graphics
US7151545B2 (en) * 2003-08-06 2006-12-19 Landmark Graphics Corporation System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
US7680350B2 (en) 2004-05-07 2010-03-16 TerraMetrics, Inc. Method and system for progressive mesh storage and reconstruction using wavelet-encoded height fields
US7358969B2 (en) 2004-09-27 2008-04-15 International Business Machines Corporation Method and system for partitioning the surface of a three dimentional digital object model in order to map a texture
US7283140B2 (en) * 2005-06-21 2007-10-16 Microsoft Corporation Texture montage
US20070018988A1 (en) 2005-07-20 2007-01-25 Michael Guthe Method and applications for rasterization of non-simple polygons and curved boundary representations
ATE477557T1 (de) 2006-03-24 2010-08-15 Exini Diagnostics Ab Automatische interpretation von medizinischen 3d- bildern des hirns und verfahren zum produzieren von zwischenergebnissen
US7619623B2 (en) 2006-04-17 2009-11-17 Microsoft Corporation Perfect multidimensional spatial hashing
US20080012853A1 (en) 2006-07-14 2008-01-17 William Geiger Generating mesh from implicit surface
US7800627B2 (en) * 2007-06-08 2010-09-21 Microsoft Corporation Mesh quilting for geometric texture synthesis
US8922558B2 (en) 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
US8903693B2 (en) * 2011-06-24 2014-12-02 Siemens Aktiengesellschaft Boundary handling for particle-based simulation
US9183667B2 (en) * 2011-07-15 2015-11-10 Kirill Garanzha Out-of-core ray tracing with memory-efficient page generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999073B1 (en) * 1998-07-20 2006-02-14 Geometrix, Inc. Method and system for generating fully-textured 3D
RU2324978C2 (ru) * 2002-06-20 2008-05-20 Майкрософт Корпорейшн Системы и способы для обеспечения управляемой дискретизации текстуры

Also Published As

Publication number Publication date
AR091581A1 (es) 2015-02-11
RU2014148186A (ru) 2016-08-20
US20160155266A1 (en) 2016-06-02
EP2826023B1 (en) 2019-04-10
EP2826023A4 (en) 2016-03-09
CA2869548C (en) 2017-08-15
CA2869548A1 (en) 2014-01-03
US9378587B2 (en) 2016-06-28
AU2012383532B2 (en) 2015-10-22
US9892555B2 (en) 2018-02-13
US20150248784A1 (en) 2015-09-03
WO2014003736A1 (en) 2014-01-03
EP2826023A1 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
US8760450B2 (en) Real-time mesh simplification using the graphics processing unit
US8125480B2 (en) Flat texture volume rendering
US8253730B1 (en) System and method for construction of data structures for ray tracing using bounding hierarchies
US7397480B2 (en) System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
RU2604674C2 (ru) Системы и способы для создания трехмерного текстурного атласа
US7561156B2 (en) Adaptive quadtree-based scalable surface rendering
JP5336067B2 (ja) グラフィックスを処理する方法および装置
US9208610B2 (en) Alternate scene representations for optimizing rendering of computer graphics
US9275493B2 (en) Rendering vector maps in a geographic information system
US8553041B1 (en) System and method for structuring an A-buffer to support multi-sample anti-aliasing
AU2012383532A1 (en) Systems and methods for creating a three-dimensional texture atlas
US9342923B2 (en) Systems and methods for creating a three-dimensional texture atlas
JP2017062789A (ja) グラフィックス処理装置、及びテクスチャリングのためのlodを決定する方法
KR20160068204A (ko) 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
López et al. An efficient GPU approach for designing 3D cultural heritage information systems
Müller et al. Adaptive load balancing for raycasting of non-uniformly bricked volumes
Zhou et al. Rendering interior-filled polygonal vector data in a virtual globe
US10930073B1 (en) Multi-resolution surface clipping with asynchronous incremental on-demand marking of spatial index nodes
US20230401667A1 (en) Graphics processing systems
EP4386685A1 (en) Method for 3d visualization of sensor data
Chang et al. GPU-based parallel construction of compact visual hull meshes
CN114092613A (zh) 对体素进行即时渲染的方法
Aravalli et al. Implementing Point Assignment Using Octrees and GPU

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20170628