EA011896B1 - System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces - Google Patents

System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces Download PDF

Info

Publication number
EA011896B1
EA011896B1 EA200600375A EA200600375A EA011896B1 EA 011896 B1 EA011896 B1 EA 011896B1 EA 200600375 A EA200600375 A EA 200600375A EA 200600375 A EA200600375 A EA 200600375A EA 011896 B1 EA011896 B1 EA 011896B1
Authority
EA
Eurasian Patent Office
Prior art keywords
texture
polygon
mosaic
atlas
elements
Prior art date
Application number
EA200600375A
Other languages
Russian (ru)
Other versions
EA200600375A1 (en
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 EA200600375A1 publication Critical patent/EA200600375A1/en
Publication of EA011896B1 publication Critical patent/EA011896B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Paper (AREA)
  • Prostheses (AREA)

Abstract

Systems and methods for displaying volume data on an arbitrary three-dimensional polygonal surface are disclosed. For each polygon in the polygonal surface, a two-dimensional texture tile is created and these texture tiles are combined to form texture atlases. Each texture atlas is allocated a specific amount of memory in a texture cache. Each polygon in the polygonal surface may be scan-converted and the resulting texels may be placed in the texture cache. Voxels that do not intersect any polygon in the polygonal surface may not be scan-converted. This method may result in reduced use of texture cache.

Description

Предпосылки для создания настоящего изобретенияBACKGROUND OF THE INVENTION

В некоторых областях полезно моделировать реальные или машинно-генерируемые объекты в трех размерах. Моделирование таких объектов оказывается полезным во множестве случаев применения. Например, моделирование подповерхностных структур части земной коры полезно для нахождения нефтяных месторождений, местонахождения линий сброса породы и в других геологических применениях. Аналогичным образом, моделирование частей человеческого тела полезно для медицинских учебнотренировочных упражнений, диагностики, реализации дистанционной хирургии и для других медицинских применений. Моделирование машинно-генерируемых объектов полезно для создания компьютерных игр, разработки имитаций условий полетов и других применений. Существуют другие применения трехмерного моделирования реальных и машинно-генерируемых объектов.In some areas, it is useful to model real or machine-generated objects in three sizes. Modeling such objects is useful in many applications. For example, modeling subsurface structures of parts of the earth's crust is useful for locating oil fields, locating rock discharge lines, and other geological applications. Similarly, modeling parts of the human body is useful for medical training exercises, diagnostics, the implementation of distance surgery and other medical applications. Modeling machine-generated objects is useful for creating computer games, developing simulations of flight conditions, and other applications. There are other applications of three-dimensional modeling of real and machine-generated objects.

Некоторые трехмерные модели представляют объект как трехмерную матрицу точек информационного объема. Такая матрица, известная как информационный объем, включает в себя множество информационных точек, известных как точки информационного объема. Каждая точка информационного объема может быть названа объемным пикселом, известным также как воксел. Воксел является наименьшим различимым трехмерным элементом трехмерного изображения. Воксел подобен пикселу, но представляет собой трехмерный объем, а не двумерную область. Каждый воксел представляет дискретную выборку трехмерной части моделируемого объекта.Some three-dimensional models represent an object as a three-dimensional matrix of points of information volume. Such a matrix, known as information volume, includes many information points, known as information volume points. Each point in the information volume can be called a volume pixel, also known as a voxel. A voxel is the smallest distinguishable three-dimensional element of a three-dimensional image. A voxel is similar to a pixel, but represents a three-dimensional volume, not a two-dimensional region. Each voxel represents a discrete sample of the three-dimensional part of the simulated object.

Каждый воксел в информационном объеме содержит уникальный набор координат (х, у, ζ) и одно или более информационных значений, которые представляют изучаемое специальное свойство. Эти информационные значения могут иллюстрироваться на шкале (0-256), которая соответствует специальному коду цвета красный, зеленый, синий (ВОВ) и величине (А) непрозрачности, которые получают из измерения значения изучаемого свойства. Измерение или значение свойства соответствует части объекта, которую представляет воксел. Это обеспечивает возможность графического представления изучаемого свойства.Each voxel in the information volume contains a unique set of coordinates (x, y, ζ) and one or more information values that represent the special property being studied. These information values can be illustrated on a scale (0-256), which corresponds to a special color code red, green, blue (BOB) and opacity value (A), which are obtained from measuring the values of the studied property. The measurement or value of a property corresponds to the part of the object that the voxel represents. This provides the ability to graphically represent the property being studied.

Например, в сейсмических или геологических случаях применения, сейсмические данные получают искусственным созданием звуковых волн и регистрацией прибытия этих звуковых волн после того, как они были отражены от поверхностей раздела подповерхностных скальных образований с другими физическими свойствами. Затем из отраженных звуковых волн или сейсмических данных создают информационный объем, представляющий подповерхностную структуру. В таком примере каждый воксел содержит значение данных, представляющее передаточную волну (т.е. амплитуду) из отраженной звуковой волны. Геологическая структура может быть получена из отображаемого изображения этой информационной величины. Например, самые высокие значения данных сейсмической амплитуды могут быть представлены красным цветом, немного более низкие значения данных амплитуды могут быть представлены оранжевым цветом, а другие значения данных амплитуды могут быть представлены другими цветами. Возможны другие цветные схемы. Это обеспечивает возможность графического представления сейсмических данных.For example, in seismic or geological applications, seismic data is obtained by artificially generating sound waves and recording the arrival of these sound waves after they have been reflected from the subsurface rock formations with other physical properties. Then, an information volume representing a subsurface structure is created from the reflected sound waves or seismic data. In such an example, each voxel contains a data value representing a transmission wave (i.e., amplitude) from a reflected sound wave. The geological structure can be obtained from the displayed image of this information value. For example, the highest values of seismic amplitude data may be represented in red, slightly lower values of amplitude data may be represented in orange, and other values of amplitude data may be represented in different colors. Other color schemes are possible. This provides the ability to graphically represent seismic data.

Как только был представлен информационный объем, его содержимое может быть отображено для пользователей. Пользователь может определить трехмерную поверхность, содержащуюся в объеме, и система отображения данных отображает вокселы на этой поверхности на экране или другой среде отображения. Это дает возможность пользователю видеть вокселы, которые содержатся внутри информационного объема.Once the information volume has been presented, its contents can be displayed to users. The user can determine a three-dimensional surface contained in the volume, and a data display system displays voxels on that surface on a screen or other display medium. This enables the user to see voxels that are contained within the information volume.

Одна система отображения вокселов на произвольной трехмерной поверхности известна как трехмерное отображение текстуры. Эта технология реализуется в растровом процессоре аппаратного ускорителя компьютерной графики. В этой технологии используется особая специализированная память, известная как сверхоперативная память текстуры или память текстуры, которую устанавливают отдельно на интегральной схеме.One voxel mapping system on an arbitrary three-dimensional surface is known as a three-dimensional texture mapping. This technology is implemented in a raster processor of a hardware accelerator of computer graphics. This technology uses a special specialized memory, known as super-operative texture memory or texture memory, which is installed separately on the integrated circuit.

В этой технологии сверхоперативную память текстуры используют как буфер для информации, содержащейся в информационном объеме. Блок или часть информационного объема считывается в сверхоперативной памяти текстуры, и информация в этом блоке используется растровым процессором. Затем второй блок информационного объема считывается в сверхоперативной памяти текстуры и растровым процессором используется второй блок. Этот процесс продолжается до тех пор, пока весь информационный объем не становится доступным для растрового процессора, по одному блоку за один раз через сверхоперативную память текстуры. В этом случае сверхоперативная память текстуры используется как буфер для информационного объема.In this technology, super-operative memory texture is used as a buffer for information contained in the information volume. A block or part of the information volume is read in the super-operative memory of the texture, and the information in this block is used by the raster processor. Then the second block of the information volume is read in the super-operative memory of the texture and the second block is used by the raster processor. This process continues until the entire information volume becomes available to the raster processor, one block at a time through super-operative texture memory. In this case, the superoperative texture memory is used as a buffer for the information volume.

Такая технология имеет некоторые характерные свойства, которые делают ее неэффективной для особых ситуаций. Например, для информационных объемов, которые велики по сравнению с размером доступной сверхоперативной памяти текстуры, информационный объем должен быть разбит на блоки и каждый блок должен быть перекачен в сверхоперативную память текстуры. Эта проблема увеличивается,This technology has some characteristic properties that make it ineffective for special situations. For example, for information volumes that are large compared to the size of the available super-operative texture memory, the information volume must be divided into blocks and each block must be transferred to the super-operative texture memory. This problem is increasing,

- 1 011896 когда трехмерная поверхность мала по сравнению с информационным объемом.- 1 011896 when the three-dimensional surface is small compared to the information volume.

Помимо всего прочего, поскольку в этой технологической операции используется относительно большая величина сверхоперативной памяти текстуры, величина сверхоперативной памяти текстуры ограничена для других графических операций. Это ограничивает производительность визуализации (рендеринга) объекта и ограничивает производительность других графических операций.Among other things, since this process operation uses a relatively large amount of super-operative texture memory, the amount of super-operative texture memory is limited for other graphic operations. This limits the performance of rendering (rendering) the object and limits the performance of other graphic operations.

Имеется потребность, среди прочего, в технологии отображения содержимого информационного объема на произвольной трехмерной поверхности, содержащейся в объеме, в которой используется уменьшенная величина сверхоперативной памяти текстуры.There is a need, inter alia, for a technology for displaying the contents of an information volume on an arbitrary three-dimensional surface contained in a volume in which a reduced amount of superoperative texture memory is used.

Сущность изобретенияSUMMARY OF THE INVENTION

В одном аспекте вариант осуществления настоящего изобретения, направленный на преодоление этих и других проблем, существующих в известном уровне техники, относится к способу применения трехмерной объемной текстуры к многоугольнику. Способ предусматривает этапы обеспечения информационного объема, содержащего множество точек информационного объема, обеспечения многоугольной поверхности, частично или полностью содержащейся в информационном объеме, причем многоугольная поверхность содержит по меньшей мере один многоугольник, создания набора атласов текстуры, причем каждый атлас текстуры содержит двумерную компоновку по меньшей мере одного многоугольника в многоугольной поверхности. Способ также предусматривает этапы сканирующего преобразования каждого многоугольника на основе точек информационного объема в информационном объеме и запись результатов сканирующего преобразования каждого многоугольника в сегмент памяти, выделенный для атласа текстуры, содержащего компоновку, включающую в себя многоугольник.In one aspect, an embodiment of the present invention to overcome these and other problems of the prior art relates to a method for applying a three-dimensional volumetric texture to a polygon. The method includes the steps of providing an information volume containing a plurality of points of information volume, providing a polygonal surface partially or fully contained in the information volume, the polygonal surface containing at least one polygon, creating a set of texture atlases, each texture atlas containing a two-dimensional layout of at least one polygon in a polygonal surface. The method also includes the steps of scanning conversion of each polygon based on the points of the information volume in the information volume and recording the results of the scanning conversion of each polygon into a memory segment allocated for a texture atlas containing a layout including a polygon.

В дополнительном аспекте настоящее изобретение включает в себя элемент мозаичного изображения текстуры, имеющий размеры элемента мозаичного изображения текстуры, описывающие размер элемента мозаичного изображения текстуры, и представление многоугольника, причем многоугольник полностью или частично содержится в трехмерном информационном объеме.In an additional aspect, the present invention includes a texture mosaic element having texture mosaic element sizes describing the size of a texture mosaic element and a representation of a polygon, the polygon being fully or partially contained in a three-dimensional information volume.

В еще одном дополнительном аспекте атлас текстуры включает в себя размеры, описывающие размеры атласа и представление многоугольника, причем многоугольник полностью или частично содержится в трехмерном информационном объеме.In yet a further aspect, the texture atlas includes dimensions describing the dimensions of the atlas and the representation of the polygon, the polygon being fully or partially contained in a three-dimensional information volume.

В еще одном аспекте сегмент памяти содержит множество текселов (базовых блоков текстурированной графики), причем множество текселов включает в себя один или более предварительно определенных текселов многоугольника и один или более предварительно определенных текселов не многоугольника, где каждый тексел многоугольника во множестве текселов содержит значение, вычисленное на основе точки информационного объема в информационном объеме, и каждый другой тексел является недействительным.In yet another aspect, a memory segment comprises a plurality of texels (base blocks of textured graphics), the plurality of texels including one or more predefined texels of a polygon and one or more predefined texels of a non-polygon, where each texel of a polygon in a plurality of texels contains a value calculated based on the point of the information volume in the information volume, and every other texel is invalid.

В еще одном дополнительном аспекте настоящее изобретение содержит систему для применения текстуры трехмерного объема к многоугольной поверхности. Система содержит сверхоперативную память текстуры, конфигурированную для содержания множества текселов, и память, конфигурированную для содержания многоугольной поверхности и информационного объема, причем многоугольная поверхность содержит один или более многоугольников, а информационный объем содержит одну или более точек информационного объема. Система также содержит управляющий модуль, конфигурированный для создания набора атласов текстуры, причем каждый атлас текстуры содержит двумерную компоновку по меньшей мере одного многоугольника в многоугольной поверхности для выделения сегмента сверхоперативной памяти текстуры для каждого атласа текстуры, для сканирующего преобразования по меньшей мере одного многоугольника, создавая в соответствии с этим один или более текселов, и для записи одного или более текселов, полученных в результате сканирующего преобразования каждого многоугольника в сегмент сверхоперативной памяти текстуры, выделенный для атласа текстуры, содержащего компоновку, включающую в себя многоугольник.In yet a further aspect, the present invention provides a system for applying a three-dimensional volume texture to a polygonal surface. The system comprises a super-operative texture memory configured to contain multiple texels and a memory configured to contain a polygonal surface and information volume, the polygonal surface containing one or more polygons, and the information volume containing one or more points of the information volume. The system also contains a control module configured to create a set of texture atlases, each texture atlas contains a two-dimensional layout of at least one polygon in a polygonal surface to allocate a segment of texture super-memory for each texture atlas, for scanning conversion of at least one polygon, creating accordingly, one or more texels, and for recording one or more texels resulting from the scanning transformation of each a polygon into a segment of texture super-memory allocated for a texture atlas containing a layout including a polygon.

Краткое описание чертежейBrief Description of the Drawings

Настоящее изобретение будет описано со ссылкой на сопроводительные чертежи, в которых аналогичные элементы указаны аналогичными ссылочными номерами и в которых фиг. 1 - иллюстрация информационного объема и трехмерной поверхности в соответствии с вариантом осуществления настоящего изобретения;The present invention will be described with reference to the accompanying drawings in which like elements are indicated by like reference numbers and in which FIG. 1 is an illustration of a data volume and a three-dimensional surface in accordance with an embodiment of the present invention;

фиг. 2 - блок-схема, иллюстрирующая способ применения объемных данных к поверхности в соответствии с вариантом осуществления настоящего изобретения;FIG. 2 is a flowchart illustrating a method of applying bulk data to a surface in accordance with an embodiment of the present invention;

фиг. 3 - иллюстрация элементов мозаичного изображения текстуры в соответствии с вариантом осуществления настоящего изобретения;FIG. 3 is an illustration of texture mosaic elements in accordance with an embodiment of the present invention;

фиг. 4 - набор атласов текстуры в соответствии с вариантом осуществления настоящего изобретения;FIG. 4 is a set of texture atlases in accordance with an embodiment of the present invention;

фиг. 5 - иллюстрация сегмента памяти текстуры в соответствии с вариантом осуществления настоящего изобретения;FIG. 5 is an illustration of a texture memory segment in accordance with an embodiment of the present invention;

фиг. 6 - иллюстрация многоугольника перед и после сканирующего преобразования в соответствии с вариантом осуществления настоящего изобретения;FIG. 6 is an illustration of a polygon before and after a scan transform in accordance with an embodiment of the present invention;

фиг. 7 - блок-схема системы для применения трехмерной объемной текстуры к многоугольной поFIG. 7 is a block diagram of a system for applying a three-dimensional volumetric texture to a polygonal

- 2 011896 верхности в соответствии с вариантом осуществления настоящего изобретения;- 2011896 surfaces in accordance with an embodiment of the present invention;

фиг. 8 - блок-схема, иллюстрирующая способ разбиения многоугольника и создание элементов мозаичного изображения текстуры в соответствии с вариантом осуществления настоящего изобретения;FIG. 8 is a flowchart illustrating a method for partitioning a polygon and creating texture mosaic elements in accordance with an embodiment of the present invention;

фиг. 9 - блок-схема, иллюстрирующая создание атласа текстуры в соответствии с настоящим изобретением.FIG. 9 is a block diagram illustrating the creation of a texture atlas in accordance with the present invention.

Подробное описание вариантов осуществления настоящего изобретенияDetailed Description of Embodiments of the Present Invention

На фиг. 1 иллюстрируется информационный объем и трехмерная поверхность в соответствии с вариантом осуществления настоящего изобретения. Информационный объем 100 может быть трехмерной моделью или включать в себя трехмерную модель реального или машинно-генерируемого объекта. Информационный объем 100 может быть трехмерной матрицей или включать в себя трехмерную матрицу точек 102а-б информационного объема.In FIG. 1 illustrates an information volume and a three-dimensional surface in accordance with an embodiment of the present invention. The information volume 100 may be a three-dimensional model or include a three-dimensional model of a real or machine-generated object. The information volume 100 may be a three-dimensional matrix or include a three-dimensional matrix of points of information volume 102a-b.

Каждая из точек 102а-б информационного объема может содержать одно или более значений, которые описывают конкретную часть информационного объема 100. Например, каждая из точек 102а-б информационного объема может содержать координаты х, у, ζ, которые определяют местоположение части информационного объема 100. Каждая из точек 102а-б информационного объема может дополнительно содержать одно или более информационных значений, соответствующих одному или более характерным свойствам. Например, каждая из точек 102а-б информационного объема может содержать информационное значение, соответствующее сейсмическому свойству, плотности или некоторому другому свойству.Each of the information volume points 102a-b may contain one or more values that describe a specific part of the information volume 100. For example, each of the information volume points 102a-b may contain the coordinates x, y, ζ, which determine the location of a part of the information volume 100. Each of the points 102a-b of the information volume may additionally contain one or more information values corresponding to one or more characteristic properties. For example, each of the points 102a-b of the information volume may contain an information value corresponding to a seismic property, density, or some other property.

В одном варианте осуществления каждая из точек 102а-б информационного объема может быть вокселом или содержать воксел. Каждый воксел может быть отображен как комбинированные код цвета и величина непрозрачности (НОВА), которые получены из измерения или значения характерного свойства.In one embodiment, each of the information volume points 102a-b may be a voxel or contain a voxel. Each voxel can be displayed as a combined color code and opacity value (NOVA), which are derived from a measurement or characteristic property value.

Информационный объем 100 может быть ограничен в любой системе координат, например в декартовой системе координат с началом координат 104.The information volume 100 can be limited in any coordinate system, for example, in a Cartesian coordinate system with a coordinate origin 104.

Многоугольная поверхность 106 может полностью или частично содержаться в информационном объеме 100. Многоугольная поверхность 106 может быть двух- или трехмерной поверхностью, которая выбрана или определена пользователем или компьютером. Многоугольная поверхность 106 может быть выбрана так, чтобы давать возможность пользователю изучать точки 102а-б информационного объема, которые делят на части многоугольную поверхность 106. Многоугольная поверхность 106 в некоторых случаях применения может быть выбрана для того, чтобы точно или приблизительно моделировать естественно существующую поверхность. Например, многоугольная поверхность 106 может быть выбрана для моделирования поверхности раздела между слоями земной коры.The polygonal surface 106 may be wholly or partially contained in the information volume 100. The polygonal surface 106 may be a two- or three-dimensional surface that is selected or defined by a user or computer. The polygonal surface 106 may be selected to allow the user to examine points of information volume 102a-b that divide the polygonal surface 106 into parts. The polygonal surface 106 may, in some applications, be selected to accurately or approximately simulate a naturally existing surface. For example, a polygonal surface 106 may be selected to simulate an interface between layers of the earth's crust.

Многоугольная поверхность 106 может быть ограничена одним или более многоугольниками 108аб. Для описания каждого многоугольника возможны различные способы. Например, каждый многоугольник может быть ограничен набором вершин и ребер. В одном варианте осуществления многоугольники 108а-б являются треугольниками, а каждый из многоугольников 108а-б ограничен декартовыми координатами его вершин.The polygonal surface 106 may be limited by one or more polygons 108ab. Various methods are possible for describing each polygon. For example, each polygon can be limited to a set of vertices and edges. In one embodiment, the polygons 108a-b are triangles, and each of the polygons 108a-b is limited by the Cartesian coordinates of its vertices.

На фиг. 2 приведена блок-схема, иллюстрирующая способ применения информационного объема к поверхности в соответствии с вариантом осуществления настоящего изобретения. Способ начинается с этапа 200, на котором может быть обеспечен информационный объем 100. Этот информационный объем 100 может быть получен из данных измерения, например сейсмических данных, или может быть получен иначе.In FIG. 2 is a flowchart illustrating a method of applying information volume to a surface in accordance with an embodiment of the present invention. The method begins with step 200, in which an information volume 100 can be provided. This information volume 100 can be obtained from measurement data, for example, seismic data, or can be obtained otherwise.

На этапе 202 может быть обеспечена многоугольная поверхность 106. Многоугольная поверхность 106 может быть определена пользователем или компьютером. Многоугольная поверхность 106 может быть выбрана для изучения точек 102а-б информационного объема, которые делят на части многоугольную поверхность 106. Многоугольная поверхность 106 может быть выбрана для точного или приблизительного моделирования естественно имеющейся поверхности или может быть выбрана иначе.At step 202, a polygonal surface 106 can be provided. The polygonal surface 106 can be defined by a user or a computer. The polygonal surface 106 may be selected to examine points of information volume 102a-b that divide the polygonal surface 106 into parts. The polygonal surface 106 may be selected to accurately or approximately simulate a naturally existing surface, or may be selected differently.

На этапе 204 может быть удалена сжатая индексация многоугольников 108а-б. В некоторых вариантах осуществления многоугольники 108а-б могут быть представлены при использовании формы сжатой индексации, называемой также индексацией вершин или разбивкой на треугольники. Например, каждая из вершин 110а-б представляет вершину, совместно используемую двумя или более многоугольниками. Для удаления этой формы сжатой индексации и установления набора вершин, уникального для каждого многоугольника для раздельной идентификации, каждой вершине 110а-б присваивается номер Уп вершины и номер Рп многоугольника. В этом случае каждый многоугольник может быть отдельно индексирован в соответствии со своим собственным набором вершин. Например, многоугольник, ограниченный вершинами 110а-с, будет представлен Уп=0, 1, 2 и Рп=0; многоугольник, ограниченный вершинами 110Ьб, будет представлен Уп=0, 1, 2 и Рп=1; а многоугольник, ограниченный вершинами 110с-е, будет представлен Уп=0, 1, 2 и Рп=2. Другие способы удаления индексации и другие формы сжатой индексации могут быть хорошо известны из предшествующего уровня техники и по этой причине не описываются в этой заявке.At step 204, the compressed indexing of the polygons 108a-b can be removed. In some embodiments, polygons 108a-b may be represented using a compressed indexing form, also called vertex indexing or triangulation. For example, each of the vertices 110a-b represents a vertex shared by two or more polygons. To remove this form of compressed indexing and establish a set of vertices that is unique for each polygon for separate identification, each vertex 110a-b is assigned a vertex number Up and a polygon number Pn. In this case, each polygon can be individually indexed in accordance with its own set of vertices. For example, a polygon bounded by vertices 110a-c will be represented by Yn = 0, 1, 2 and Pn = 0; a polygon bounded by vertices 110b will be represented by Yn = 0, 1, 2 and Pn = 1; and the polygon bounded by the vertices 110c-e will be represented by Yn = 0, 1, 2 and Pn = 2. Other methods of removing indexing and other forms of compressed indexing may be well known in the art and for this reason are not described in this application.

На этапе 206 могут быть разбиты многоугольники 108а-б. Этот этап может гарантировать то, что каждый многоугольник 108а-б на этапе 208 может вписываться в элемент мозаичного изображения текстуры. В одном варианте осуществления определяется максимальный размер элемента мозаичного изоAt step 206, polygons 108a-b can be split. This step can ensure that each polygon 108a-b in step 208 can fit into the texture tile. In one embodiment, the maximum tile size of the tile is determined.

- 3 011896 бражения текстуры. В этом варианте осуществления некоторые многоугольники не могут быть вписаны в самый большой допустимый элемент мозаичного изображения текстуры. В этом случае эти многоугольники могут быть разбиты на более мелкие многоугольники, которые вписываются в элементы мозаичного изображения текстуры допустимого размера.- 3 011896 Waxing Texture. In this embodiment, some polygons cannot be inscribed on the largest allowable tile element of the texture. In this case, these polygons can be divided into smaller polygons that fit into the mosaic elements of a texture of acceptable size.

На этапе 208 элемент мозаичного изображения текстуры может быть создан для каждого многоугольника 108а-6. Каждый элемент 300а-6 мозаичного изображения текстуры может включать в себя двумерную матрицу или представлен двумерной матрицей или другой частью электронной памяти, размер которой определен для соответствия конкретному многоугольнику 108а-6. Если конкретный многоугольник 108а-6 меньше, чем предварительно определенный размер элемента мозаичного изображения, то в одном варианте осуществления каждый элемент 300а-6 мозаичного изображения текстуры включает в себя двумерную матрицу наименьшего размера, которая ограничивает конкретный многоугольник 108а-6. В другом варианте осуществления, где конкретный многоугольник 108а-6 меньше предварительно определенного размера элемента мозаичного изображения, каждый элемент 300а-6 мозаичного изображения текстуры включает в себя размеры матрицы, которая достаточно велика, чтобы ограничивать конкретный многоугольник 108а-6, но не ограничивает саму физическую матрицу.At 208, a texture tile may be created for each polygon 108a-6. Each texture mosaic element 300a-6 may include a two-dimensional matrix or represented by a two-dimensional matrix or other part of electronic memory, the size of which is determined to correspond to a particular polygon 108a-6. If a particular polygon 108a-6 is smaller than a predetermined size of the tile, then in one embodiment, each texture tile 300a-6 includes the smallest two-dimensional matrix that bounds the specific polygon 108a-6. In another embodiment, where the particular polygon 108a-6 is smaller than the predetermined size of the tile, each tile 300a-6 of the texture includes dimensions of a matrix that is large enough to limit the specific polygon 108a-6, but does not limit the physical matrix.

Каждый элемент 300а-6 мозаичного изображения текстуры может содержать информацию, описывающую конкретный соответствующий многоугольник 108а-6. Например, каждый элемент мозаичного изображения текстуры может содержать координаты (х, у, ζ) вершин для каждого соответствующего многоугольника 108а-6 и число (Рп), которое идентифицирует многоугольник.Each texture mosaic tile 300a-6 may contain information describing a particular corresponding polygon 108a-6. For example, each element of a texture mosaic may contain the coordinates (x, y, ζ) of the vertices for each corresponding polygon 108a-6 and a number (Pn) that identifies the polygon.

Каждый элемент 300а-6 мозаичного изображения текстуры может также содержать число (Тп), которое идентифицирует элемент мозаичного изображения, число (Ап), которое идентифицирует атлас текстуры, создаваемый на этапе 210, который ассоциируется с элементом мозаичного изображения, координаты (к1,!'), которые идентифицируют местоположение элемента мозаичного изображения в атласе текстуры, координаты (к, !), которые идентифицируют положение элемента мозаичного изображения в воспроизводимом изображении, и координаты (х1, у'), которые идентифицируют нулевую точку многоугольной поверхности 106.Each texture tile 300a-6 may also contain a number (Tn) that identifies the tile, a number (Ap) that identifies the texture atlas created in step 210, which is associated with the tile, coordinates (to 1 ,! '), which identify the location of the tile in the texture atlas, coordinates (k,!) that identify the position of the tile in the reproduced image, and coordinates (x 1 , y') that identify the zero point of the polygonal surface 106.

На этапе 210 элементы 300а-6 мозаичного изображения текстуры могут быть скомбинированы для образования одного или более атласов текстуры. Атласы текстуры, создаваемые на этом этапе, описываются со ссылкой на фиг. 4. Каждый атлас 400а-с текстуры может быть двумерной компоновкой или включать в себя двумерную компоновку элементов 300а-6 мозаичного изображения текстуры. Каждый элемент 300а-6 мозаичного изображения текстуры может быть размещен в одном атласе 400а-с текстуры. Если нет места в любом существующем атласе 400а-с текстуры, то может быть создан новый атлас 400а-с текстуры. В некоторых вариантах осуществления пользователь может определять заданный или максимальный размер для каждого атласа 400а-с текстуры.In step 210, texture mosaic elements 300a-6 may be combined to form one or more texture atlases. The texture atlases created at this stage are described with reference to FIG. 4. Each texture atlas 400a-c may be a two-dimensional layout or include a two-dimensional layout of the texture mosaic elements 300a-6. Each texture mosaic tile 300a-6 may be placed in a single texture atlas 400a-c. If there is no place in any existing texture atlas 400a-c, then a new texture atlas 400a-c can be created. In some embodiments, a user may determine a predetermined or maximum size for each texture atlas 400a-c.

В другом варианте осуществления каждый атлас 400а-с текстуры может быть двумерной матрицей или включать в себя двумерную матрицу или другой тип электронной памяти, который конфигурирован для ограничения одного или более элементов 300а-6 мозаичного изображения текстуры. В еще одном варианте осуществления каждый атлас 400а-с текстуры может содержать информацию о том, как элементы 300а-6 мозаичного изображения текстуры могут быть оптимально расположены в двухмерной компоновке, включая то, где каждый атлас 400а-с текстуры расположен в сегменте 500 памяти, описываемом со ссылкой на этап 212. В этом варианте осуществления может оказаться необязательным для атласов текстуры содержание достаточной физической памяти для содержания каждого элемента 300а-6 мозаичного изображения текстуры.In another embodiment, each texture atlas 400a-c may be a two-dimensional matrix or include a two-dimensional matrix or other type of electronic memory that is configured to limit one or more texture mosaic elements 300a-6. In yet another embodiment, each texture atlas 400a-c may contain information about how texture mosaic elements 300a-6 can be optimally positioned in a two-dimensional layout, including where each texture atlas 400a-c is located in the memory segment 500 described with reference to step 212. In this embodiment, it may not be necessary for texture atlases to contain sufficient physical memory to contain each texture mosaic element 300a-6.

Таким образом, как описано, создание элементов 300а-6 мозаичного изображения текстуры на этапах 206 и 208 и создание атласов 400а-с текстуры на этапе 210 может быть осуществлено оптимальным образом. Это уменьшит или минимизирует пустое или неиспользуемое пространство в элементах 300а-6 мозаичного изображения текстуры, атласах 400а-с текстуры или в элементах текстуры и атласах текстуры. В этом случае доступное пространство памяти текстуры оптимизируют при использовании вышеописанной технологии. Могут быть также использованы другие хорошо известные технологии, например технологии, описанные в статье Баттке, Сталлинга и Хеге «Быстрая линейная интегральная свертка произвольных поверхностей в трехмерном пространстве», опубликованной в выпуске «Визуализация и Магнетизм» в 1997 г.Thus, as described, creating texture mosaic elements 300a-6 in steps 206 and 208 and creating texture atlases 400a-c in step 210 can be optimally implemented. This will reduce or minimize empty or unused space in texture mosaic elements 300a-6, texture atlases 400a-c, or texture elements and texture atlases. In this case, the available texture memory space is optimized using the above technology. Other well-known technologies may also be used, such as those described in Butte, Stalling, and Hege's article, “Fast Linear Integral Convolution of Arbitrary Surfaces in Three-Dimensional Space,” published in the 1997 issue of Visualization and Magnetism.

На этапе 212 для каждого атласа 400а-с текстуры может быть выделен сегмент памяти. Сегменты памяти, выделяемые на этом этапе, описываются со ссылкой на фиг. 5. Размеры сегмента 500 памяти, выделенного для конкретного атласа 400а текстуры, могут быть равны или могут быть пропорциональны размерам атласа 400а текстуры. Сегмент 500 памяти может включать в себя один или более сегментов памяти текстуры или сверхоперативной памяти текстуры. Сегменты 500 памяти могут включать в себя множество текселов (элементов текстуры) 502а-6. Тексел является базовым блоком текстурированной графики, графики, которая ограничивает поверхность трехмерного объекта. Текселы 502а-6 могут быть невидимыми блоками текстуры, представленными в сегменте 500 памяти. Один или более текселов 502а и 502Ь могут соответствовать части атласа 400а текстуры, которая целиком или частично ограничена в многоугольнике 1086. Эти текселы 502а и 502Ь могут быть названы текселами многоугольника. ОдинAt step 212, a memory segment may be allocated for each texture atlas 400a-c. The memory segments allocated at this stage are described with reference to FIG. 5. The sizes of the memory segment 500 allocated to a particular texture atlas 400a may be equal to or proportional to the sizes of the texture atlas 400a. The memory segment 500 may include one or more texture memory segments or super-operative texture memory. Memory segments 500 may include a plurality of texels (texture elements) 502a-6. Texel is the basic unit of textured graphics, graphics that bound the surface of a three-dimensional object. Texels 502a-6 may be invisible texture units represented in memory segment 500. One or more texels 502a and 502b may correspond to a portion of texture atlas 400a that is wholly or partially bounded in polygon 1086. These texels 502a and 502b may be called texels of the polygon. One

- 4 011896 или более текселов 502с могут соответствовать части атласа 400а текстуры, которая ограничена в элементе 3006 мозаичного изображения текстуры, но не ограничена в каком-либо многоугольнике 108а-6. Эти текселы могут быть названы текселами элемента мозаичного изображения. Один или более текселов 5026, которые не являются ни текселами многоугольника, ни текселами элемента мозаичного изображения, могут быть включены в сегмент 500 памяти. Поскольку информация, содержащаяся в атласе текстуры и элементах мозаичного изображения текстуры, может быть использована для определения того, какие из текселов в сегменте памяти являются текселами многоугольника, текселы многоугольника в сегменте 500 памяти могут считаться предварительно определенными.- 4 011896 or more texels 502c may correspond to a portion of texture atlas 400a that is limited in texture tile 3006 but not limited to any polygon 108a-6. These texels can be called texels of the mosaic element. One or more texels 5026 that are neither texels of the polygon nor texels of the tile may be included in the memory segment 500. Since the information contained in the texture atlas and texture mosaic elements can be used to determine which of the texels in the memory segment are polygon texels, the polygon texels in memory segment 500 can be considered predefined.

На этапе 214 каждый многоугольник 108а-6 может быть подвергнут сканирующему преобразованию. Этап сканирующего преобразования многоугольника описывается со ссылкой на фиг. 6. Сканирующее преобразование является процессом, с помощью которого информационные значения, ограниченные в информационном объеме 100, отображаются в текселах. Одна или более точек 102а-6 информационного объема в информационном объеме 100 могут перекрывать (пересекать) конкретный многоугольник 1086. Из информации, ограниченной в этих точках, пересекающих информационный объем, создают текселы 600а-6, которые соответствуют точкам 102а-6 информационного объема. Если точки 102а-6 информационного объема включают в себя вокселы, то эти вокселы могут быть отображены в соответствующих текселах 600а-6 при использовании хорошо известной математической технологии, называемой трилинейной интерполяцией. При использовании этой технологии каждый тексел определяют линейным взвешиванием восьми вокселов, которые являются ближайшими к текселу в информационном объеме 100. Текселы 600а-6, которые созданы в сканирующем преобразовании, могут соответствовать текселам 502а-Ь многоугольника, которые содержатся в сегменте 500 памяти. Размещение элементов мозаичного изображения текстуры в каждом атласе текстуры и размещение каждого атласа текстуры в сегменте памяти не было установлено до этого этапа.At step 214, each polygon 108a-6 may be subjected to scanning transformation. The scanning polygon transform step is described with reference to FIG. 6. Scanning transformation is a process by which information values limited in the information volume 100 are displayed in texels. One or more points of the information volume 102a-6 in the information volume 100 can overlap (intersect) a particular polygon 1086. From the information limited at these points intersecting the information volume, texels 600a-6 are created that correspond to the points 102a-6 of the information volume. If points 102a-6 of the information volume include voxels, then these voxels can be displayed in the respective texels 600a-6 using a well-known mathematical technology called trilinear interpolation. Using this technology, each texel is determined by linearly weighing the eight voxels that are closest to the texel in the information volume 100. The texels 600a-6 that are created in the scanning transform can correspond to the texels 502a-b of the polygon that are contained in the memory segment 500. The placement of texture mosaic elements in each texture atlas and the placement of each texture atlas in a memory segment have not been established before this stage.

На этапе 216 результаты сканирующего преобразования могут быть записаны (занесены) в сегмент 500 памяти. Это может включать в себя запись текселов 600а-6 в текселах 502а-Ь в сегмент 500 памяти. В одном варианте осуществления каждый тексел 600а-6 может быть записан в соответствующий тексел 502а-Ь, когда он создается. В другом варианте осуществления могут быть созданы текселы 600а-6, соответствующие конкретному многоугольнику 108а-6, и все текселы 600а-6 для многоугольника 108а-6 могут быть записаны в сегмент 500 памяти. В другом варианте осуществления могут быть созданы текселы 600а-6, соответствующие конкретному атласу 400а-с структуры, и записаны как группа, или все текселы, соответствующие всем многоугольникам 108а-6, могут быть созданы и записаны как группа.At step 216, the results of the scanning conversion can be recorded (recorded) in the segment 500 of the memory. This may include recording texels 600a-6 in texels 502a-b in memory segment 500. In one embodiment, each texel 600a-6 can be written to the corresponding texel 502a-b when it is created. In another embodiment, texels 600a-6 corresponding to a particular polygon 108a-6 can be created, and all texels 600a-6 for polygon 108a-6 can be written to memory segment 500. In another embodiment, texels 600a-6 corresponding to a particular atlas 400a-c of the structure can be created and recorded as a group, or all texels corresponding to all polygons 108a-6 can be created and written as a group.

Сегмент 500 памяти может содержать один или более текселов 502с-6, которые не являются текселами многоугольника. Эти текселы могут не содержать информации, которая полезна при визуализации поверхности 106. По этой причине эти текселы могут считаться недействительными. В одном варианте осуществления недействительные текселы 502с-6 могут быть пустыми текселами, текселами, содержащими только исходные значения, или текселами, которые иначе специально маркированы недействительными. В других вариантах осуществления недействительные текселы могут содержать данные тексела, например данные тексела из предшествующей визуализации поверхности или другой операции.The memory segment 500 may comprise one or more texels 502c-6 that are not polygon texels. These texels may not contain information that is useful in visualizing surface 106. For this reason, these texels may be considered invalid. In one embodiment, invalid texels 502c-6 may be empty texels, texels containing only the original values, or texels that are otherwise specifically marked invalid. In other embodiments, invalid texels may contain texel data, for example texel data from a previous surface visualization or other operation.

После того как все текселы 502а-Ь многоугольника для всех многоугольников в многоугольной поверхности 106 были записаны в сегменты 500 памяти, сегменты 500 памяти могут содержать требуемую информацию для отображения информации, содержащейся в информационном объеме 100, на поверхности 106.After all the polygon texels 502a-b for all the polygons in the polygonal surface 106 have been recorded in the memory segments 500, the memory segments 500 may contain the required information to display the information contained in the information volume 100 on the surface 106.

На этапе 218 эти результаты могут быть отображены для пользователя. Содержимое сегментов 500 памяти может быть отображено посредством электронно-лучевой трубки или другого экрана, может быть распечатано или может быть воспроизведено иначе.At step 218, these results can be displayed to the user. The contents of the memory segments 500 may be displayed by means of a cathode ray tube or other screen, may be printed, or may be reproduced differently.

Этот способ может быть осуществлен в связи с другими системами и способами графического отображения информационного объема. Например, этот способ может быть использован в связи с системой для анализа и визуализации наборов трехмерного информационного объема, описанной в патентной заявке США Система и способ анализа и визуализации трехмерных наборов информационного объема, № 09/119635, которая включена в эту заявку в качестве ссылки. При практическом использовании настоящего изобретения в связи с таким устройством ряд зондов для отбора проб или определенных пользователем поверхностей может быть создано, спрофилировано, образмерено и интерактивно перемещено пользователем во всем трехмерном наборе информационного объема. Пересечение зонда для отбора проб со всем трехмерным набором информационного объема является текстурой, отображенной на поверхностях зонда для отбора проб, или объемом, визуализированным с переменной степенью прозрачности в зонде для отбора проб. Например, когда пользователь движет зонд для отбора проб, например, путем щелканья и протаскивания мышью, пользователь воспринимает текстуру на поверхностях зонда для отбора проб. В этом случае пользователь может интерактивно двигать зонды для отбора проб через весь трехмерный объем и более просто и эффективно визуализировать и интерпретировать элементы и физические параметры, которые представлены в географическом пространстве, представленном набором информационного трехмерного объема.This method can be implemented in connection with other systems and methods for graphically displaying information volume. For example, this method can be used in connection with a system for analysis and visualization of sets of three-dimensional information volume described in US patent application. System and method for analysis and visualization of three-dimensional sets of information volume, No. 09/119635, which is incorporated into this application by reference. In the practical use of the present invention in connection with such a device, a series of probes for sampling or user-defined surfaces can be created, profiled, dimensioned and interactively moved by the user in the entire three-dimensional set of information volume. The intersection of the sampling probe with the entire three-dimensional set of information volume is the texture displayed on the surfaces of the sampling probe, or the volume visualized with a varying degree of transparency in the sampling probe. For example, when the user moves the probe for sampling, for example, by clicking and dragging with the mouse, the user perceives the texture on the surfaces of the probe for sampling. In this case, the user can interactively move the probes for sampling through the entire three-dimensional volume and more simply and efficiently visualize and interpret the elements and physical parameters that are represented in the geographical space represented by a set of three-dimensional information volume.

На фиг. 7 приведена блок-схема системы для применения текстуры трехмерного объема к поверх- 5 011896 ности многоугольника в соответствии с вариантом осуществления настоящего изобретения. Система 700 может включать в себя сверхоперативную память 702 текстуры, содержащую множество текселов 704. Система 700 также включает в себя память 706, которая может содержать многоугольную поверхность 106 и информационный объем 100. Многоугольная поверхность 106 может быть представлена в памяти 706 множеством координат вершин, описывающих множество многоугольников 108а-б, или некоторым другим способом. Информационный объем 100 может быть представлен в памяти 706 множеством точек 102а-б информационного объема. Каждая из точек 102а-б информационного объема может быть или включать в себя воксел.In FIG. 7 is a block diagram of a system for applying a three-dimensional volume texture to a surface of a polygon in accordance with an embodiment of the present invention. System 700 may include a super-operative texture memory 702 containing multiple texels 704. System 700 also includes memory 706, which may include a polygonal surface 106 and information volume 100. A polygonal surface 106 may be represented in memory 706 by a plurality of vertex coordinates describing many polygons 108a-b, or in some other way. The information volume 100 may be represented in memory 706 by a plurality of points of information volume 102a-b. Each of the points 102a-b of the information volume may or may include a voxel.

Система 700 также содержит управляющий модуль 708. Управляющий модуль 708 может также быть способен выполнять машинно-выполняемые команды. Управляющий модуль 708 может включать в себя или ссылаться на машинно-выполняемые команды 710. Машинно-выполняемые команды 710 могут храниться в управляющем модуле 708, в памяти 706 или в другом месте. Управляющий модуль 708 может выполнять машинно-выполняемые команды 710 для выполнения различных функций.System 700 also includes a control module 708. The control module 708 may also be capable of executing machine-executable instructions. The control module 708 may include or reference computer-executable instructions 710. The computer-executable instructions 710 may be stored in the control module 708, in memory 706, or elsewhere. The control module 708 may execute machine-executable instructions 710 to perform various functions.

Управляющий модуль 708 может быть конфигурирован для выполнения различных функций путем выполнения машинно-выполняемых команд 710. Управляющий модуль 708 может быть конфигурирован для удаления сжатой индексации из многоугольной поверхности 106, например, путем особого представления каждой вершины каждого многоугольника 108а-б в многоугольной поверхности 106. Управляющий модуль 708 может быть также конфигурирован для разбиения тех многоугольников 108а-б в многоугольной поверхности, которые больше максимально допустимого размера элемента мозаичного изображения.The control module 708 can be configured to perform various functions by executing machine-executable instructions 710. The control module 708 can be configured to remove compressed indexing from the polygonal surface 106, for example, by specifically representing each vertex of each polygon 108a-b in the polygonal surface 106. The control module 708 can also be configured to split those polygons 108a-b into a polygonal surface that are larger than the maximum allowable size of the mosaic element dimensional image.

Управляющий модуль 708 может также быть конфигурирован для создания элемента 300а-б мозаичной структуры для каждого многоугольника 108а-б, ограниченного в многоугольной поверхности 106. Управляющий модуль 708 может хранить элементы 300а-б мозаичной структуры текстуры в памяти 706 или в другом месте. Управляющий модуль 708 может быть дополнительно конфигурирован для комбинирования элементов 300а-б мозаичной структуры в одном или более атласах 400а-с текстуры. Управляющий модуль 708 может хранить атласы 400а-с текстуры в памяти 706 или в другом месте.The control unit 708 may also be configured to create a mosaic tile 300a-b for each polygon 108a-b bounded on the polygonal surface 106. The control unit 708 may store mosaic texture tiles 300a-b in a memory 706 or elsewhere. The control module 708 may be further configured to combine mosaic elements 300a-b in one or more texture atlases 400a-c. Control module 708 may store atlases 400a-c of texture in memory 706 or elsewhere.

Управляющий модуль 708 может быть дополнительно конфигурирован для выделения сегмента 710а-с сверхоперативной памяти 702 текстуры для каждого из атласов 400а-с текстуры. Управляющий модуль 708 может также быть конфигурирован для сканирующего преобразования каждого многоугольника 108а-б в многоугольной поверхности 106 на основе точек 102а-б информационного объема, ограниченных в информационном объеме 100. Результатами сканирующего преобразования могут быть один или более текселы, которые могут быть записаны к текселам 704 сверхоперативной памяти 702 текстуры. Текселы 704, записанные как результат сканирующего преобразования конкретного многоугольника 108а, могут быть текселами 704, которые ограничены в сегменте 710а, выделенном для атласа 400а текстуры, который содержит компоновку, включающую в себя многоугольник 108а.The control module 708 may be further configured to allocate a segment 710a-s of super-operative texture memory 702 for each of the texture atlases 400a-c. The control unit 708 may also be configured to scan each polygon 108a-b in a polygonal surface 106 based on the information volume points 102a-b limited in the information volume 100. The scanning transformation may result in one or more texels that can be written to texels 704 super-memory 702 textures. The texels 704 recorded as a result of the scanning transform of a particular polygon 108a may be texels 704 that are limited to a segment 710a allocated to the texture atlas 400a that contains a layout including the polygon 108a.

Управляющий модуль 708 может также быть конфигурирован для отображения результатов сканирующего преобразования для пользователя посредством катодно-лучевой трубки, другого экрана, принтера или другого дисплея.The control module 708 may also be configured to display the results of the scanning conversion for the user through a cathode ray tube, another screen, printer, or other display.

На фиг. 8 приведена блок-схема, иллюстрирующая один вариант осуществления способа разбиения многоугольника и создания элементов мозаичного изображения текстуры, соответствующего настоящему изобретению. Этот способ может быть одной реализацией этапов 206 и 208, иллюстрируемых на фиг.In FIG. 8 is a flowchart illustrating one embodiment of a method for splitting a polygon and creating texture mosaic elements in accordance with the present invention. This method may be one implementation of steps 206 and 208 illustrated in FIG.

2.2.

Реализация способа начинается на этапе 800, в котором может быть создан набор многоугольников. Набор многоугольников может быть представлен многоугольниками 108а-б, которые составляют многоугольную поверхность 106. В одном варианте осуществления этап 800 создания набора многоугольников может включать в себя удаление сжатой индексации в представлении многоугольников 108а-б. В другом варианте осуществления многоугольники могут уже быть представлены без сжатой индексации.The implementation of the method begins at step 800, in which a set of polygons can be created. The set of polygons can be represented by polygons 108a-b, which make up the polygonal surface 106. In one embodiment, the step 800 of creating a set of polygons can include removing the squeezed indexing in the representation of polygons 108a-b. In another embodiment, polygons may already be represented without compressed indexing.

На этапе 802 может быть создан набор элементов мозаичного изображения текстуры. Набор элементов мозаичного изображения текстуры может быть конфигурирован для хранения одного или более элементов 300а-б мозаичного изображения текстуры. Набор элементов мозаичного изображения текстуры может содержать максимальный размер элемента мозаичного изображения текстуры, который может быть представлен шириной и высотой. Набор элементов мозаичного изображения текстуры может не содержать каких-либо элементов 300а-б текстуры, когда он создан.At 802, a set of texture mosaic elements can be created. A set of texture mosaic elements may be configured to store one or more texture mosaic elements 300a-b. A set of texture tile elements may contain the maximum size of a texture tile element, which can be represented by its width and height. A set of texture mosaic elements may not contain any texture elements 300a-b when it is created.

На этапе 804 набор многоугольников изучают для определения, остаются ли в наборе многоугольников какие-либо необработанные многоугольники 108а-б. Если набор многоугольников не содержит одного или более необработанных многоугольников, то осуществление способа завершено, и способ завершается на этапе 806.At 804, a set of polygons is examined to determine if any unprocessed polygons 108a-b remain in the set of polygons. If the set of polygons does not contain one or more raw polygons, then the method is completed and the method ends at block 806.

Если набор многоугольников содержит один или более необработанных многоугольников 108а-б, то на этапе 808 выбирают один из необработанных многоугольников 108а-б. На этапе 810 многоугольник 108а-б изучают для определения того, соответствует ли он элементу 300а-б мозаичного изображения текстуры максимального допустимого размера. Если многоугольник 108а-б не будет соответствовать элементу 300а-б мозаичного изображения текстуры максимального допустимого размера, то на этапе 812If the set of polygons contains one or more raw polygons 108a-b, then at step 808, one of the raw polygons 108a-b is selected. At step 810, the polygon 108a-b is examined to determine if it matches the texture tile 300a-b of the maximum allowable size. If the polygon 108a-b does not correspond to the maximum allowable size texture tile 300a-b, then at 812

- 6 011896 многоугольник 108а-б может быть разбит. Разбиение может быть любым процессом, посредством которого создается несколько меньших многоугольников 108а-б, объединение которых дает исходный многоугольник 108а-б. В одном варианте осуществления многоугольник 108а-б разбивают путем разделения пополам самого длинного ребра многоугольника 108а-б и путем создания нового ребра в точке деления пополам вершины многоугольника 108а-б. В другом варианте осуществления многоугольник 108а-б может быть разбит посредством вырождения центра тяжести. Это может предусматривать нахождение центра тяжести многоугольника 108а-б и создание нового ребра из каждой вершины многоугольника 108а-б к центру тяжести.- 6 011896 polygon 108a-b can be divided. Partitioning can be any process by which several smaller polygons 108a-b are created, the union of which gives the original polygon 108a-b. In one embodiment, the polygon 108a-b is broken by halving the longest edge of the polygon 108a-b and by creating a new edge at the point of halving the vertices of the polygon 108a-b. In another embodiment, polygon 108a-b may be broken by degeneration of the center of gravity. This may include finding the center of gravity of polygon 108a-b and creating a new edge from each vertex of polygon 108a-b to the center of gravity.

На этапе 814 многоугольники 108а-б, полученные в результате разбиения, могут быть помещены в набор многоугольников. Это может гарантировать то, что каждый из этих многоугольников 108а-б разбит при необходимости и что для каждого создан элемент 300а-б мозаичного изображения текстуры.At step 814, the polygons 108a-b resulting from the partition can be placed in a set of polygons. This can ensure that each of these polygons 108a-b is broken if necessary, and that a texture mosaic element 300a-b is created for each.

На этапе 816 исходный многоугольник 108а-б может быть маркирован как обработанный. Это может предусматривать, например, установку логической переменной или другого обозначения, что многоугольник 108а-б был изучен. Элемент 300а-б мозаичного изображения текстуры не обязательно должен быть создан для исходного многоугольника 108а-б, поскольку будут созданы элементы 300а-б мозаичного изображения текстуры для многоугольников 108а-б, полученных в результате разбиения.At 816, the original polygon 108a-b may be marked as processed. This may include, for example, setting a logical variable or other designation that polygon 108a-b has been studied. Texture mosaic element 300a-b need not be created for the original polygon 108a-b, since texture mosaic elements 300a-b for polygons 108a-b resulting from the partition will be created.

Если на этапе 810 определено, что изучаемый многоугольник будет соответствовать элементу 300аά мозаичного изображения текстуры максимально допустимого размера, то на этапе 818 может быть создан новый элемент 300а-б мозаичного изображения текстуры. Элемент 300а-б мозаичного изображения текстуры, который создан, может включать в себя многоугольник 108а-б или может содержать информацию, описывающую многоугольник 108а-б. В одном варианте осуществления могут быть выбраны размеры элемента 300а-б мозаичного изображения текстуры для уменьшения размера элемента 300а-б мозаичного изображения текстуры, гарантирующего в то же самое время то, что элемент 300а-б текстуры содержит многоугольник 108а-б. Например, в одном варианте осуществления элемент 300а-б мозаичного изображения текстуры может быть наименьшим прямоугольным элементом 300а-б мозаичного изображения текстуры, который содержит многоугольник 108а-б.If it is determined at step 810 that the polygon under study will correspond to the maximum allowable size texture tile 300aά, then at step 818 a new texture tile 300a-b can be created. The texture mosaic element 300a-b that is created may include a polygon 108a-b or may contain information describing a polygon 108a-b. In one embodiment, the sizes of the texture mosaic element 300a-b may be selected to reduce the size of the texture mosaic element 300a-b, guaranteeing at the same time that the texture element 300a-b contains a polygon 108a-b. For example, in one embodiment, the texture tile 300a-b may be the smallest rectangular texture tile 300a-b that contains a polygon 108a-b.

На этапе 820 элемент 300а-б мозаичного изображения текстуры может быть введен в набор элементов мозаичного изображения текстуры. Этот способ затем продолжается на этапе 816, где многоугольник 108а-б маркируется как обработанный. Способ возвращается на этап 804, где определяется, имеются ли какие-либо необработанные многоугольники 108а-б, оставшиеся в наборе многоугольников.At 820, a texture mosaic element 300a-b may be added to the texture mosaic elements set. This method then continues to block 816, where the polygon 108a-b is marked as processed. The method returns to step 804, where it is determined whether there are any unprocessed polygons 108a-b remaining in the set of polygons.

На фиг. 9 приведена блок-схема, иллюстрирующая один вариант осуществления способа создания атласа текстуры в соответствии с этапом 210, указанным на фиг. 2. Реализация способа начинается на этапе 900, где может быть создан набор атласов текстуры. Набор атласов текстуры может быть конфигурирован для хранения одного или более атласов 400а-с текстуры. Набор атласов текстуры может содержать максимальный размер атласа текстуры, который может быть представлен шириной и высотой. Набор атласов текстуры может не содержать каких-либо атласов 400а-с текстуры, когда он создан.In FIG. 9 is a flowchart illustrating one embodiment of a method for creating a texture atlas in accordance with step 210 of FIG. 2. The implementation of the method begins at step 900, where a set of texture atlases can be created. A set of texture atlases can be configured to store one or more texture atlases 400a-c. A set of texture atlases can contain the maximum size of a texture atlas, which can be represented by width and height. The texture atlas set may not contain any texture atlases 400a-c when it is created.

На этапе 902 может быть изучен набор элементов мозаичного изображения текстуры для определения того, остались ли в наборе элементов мозаичного изображения текстуры необработанные элементы 300а-б мозаичного изображения текстуры. Изученный набор элементов мозаичного изображения текстуры может быть набором элементов мозаичного изображения текстуры, созданным во время реализации способа, иллюстрируемого на фиг. 8. Если набор элементов мозаичного изображения текстуры не содержит одного или более необработанных элементов 300а-б мозаичного изображения текстуры, то реализация способа завершена, и способ заканчивается на этапе 904.At 902, a set of texture mosaic elements can be examined to determine if the raw texture mosaic elements 300a-b remained in the texture mosaic element set. The studied set of texture mosaic elements may be a set of texture mosaic elements created during the implementation of the method illustrated in FIG. 8. If the set of texture mosaic elements does not contain one or more raw texture mosaic elements 300a-b, then the implementation of the method is completed and the method ends at 904.

Если набор многоугольников содержит один или более необработанных элементов 300а-б мозаичного изображения текстуры, то на этапе 906 отбирается один из необработанных элементов 300а-б мозаичного изображения текстуры. На этапе 908 элемент 300а-б мозаичного изображения текстуры и набор атласов изучают для определения того, будет ли элемент 300а-б мозаичного изображения текстуры соответствовать какому-либо атласу 400а-с текстуры, содержащемуся в наборе атласов текстуры. Если элемент 300а-б мозаичного изображения текстуры не будет соответствовать какому-либо атласу 400а-с текстуры, то на этапе 910 может быть создан новый атлас 400а-с текстуры. Новый атлас 400а-с текстуры может быть размещен в наборе атласов текстуры. В одном варианте осуществления пустое пространство в атласе 400а-с текстуры представлено пустыми элементами300а-б мозаичного изобретения текстуры в атласе 400а-с текстуры. Это могут быть элементы 300а-б мозаичного изображения текстуры, которые специально промаркированы как пустые. В этом варианте осуществления один пустой элемент 300а-б мозаичного изображения текстуры размеров атласа 400а-с текстуры может быть введен в атлас 400а-с текстуры.If the set of polygons contains one or more raw texture mosaic elements 300a-b, then at step 906 one of the raw texture mosaic elements 300a-b is selected. In step 908, the texture mosaic element 300a-b and a set of atlases are examined to determine whether the texture mosaic element 300a-b will correspond to any texture atlas 400a-c contained in the texture atlas set. If the texture mosaic element 300a-b does not correspond to any texture atlas 400a-c, then at step 910 a new texture atlas 400a-c can be created. The new texture atlas 400a-c can be placed in a set of texture atlases. In one embodiment, the empty space in the texture atlas 400a-c is represented by the empty texture elements 300a-b of the mosaic texture invention in the texture atlas 400a-c. These can be texture mosaic elements 300a-b that are specifically marked as empty. In this embodiment, one empty texture mosaic tile 300a-b of the dimensions of the texture atlas 400a-c can be inserted into the texture atlas 400a-c.

На этапе 912 элемент 300а-б мозаичного изображения текстуры, выбранный на этапе 906, может быть введен в атлас 400а-с в наборе атласов текстуры. В одном варианте осуществления размещение элемента 300а-б мозаичного изображения текстуры может быть осуществлено оптимизированным образом или другим образом для уменьшения пустого места в атласах 400а-с текстуры.In step 912, the texture mosaic element 300a-b selected in step 906 can be inserted into the atlas 400a-c in the set of texture atlases. In one embodiment, the placement of the texture mosaic tile 300a-b can be optimized or otherwise optimized to reduce empty space in texture atlases 400a-c.

В одном варианте осуществления пустое место в каждом атласе 400а-с текстуры представляют пустыми элементами 300а-б мозаичного изображения текстуры. В этом варианте осуществления элементIn one embodiment, the empty space in each texture atlas 400a-c is represented by empty texture mosaic elements 300a-b. In this embodiment, the element

- 7 011896- 7 011896

ЗООа-ά мозаичного изображения текстуры, вводимый в атлас текстуры, может быть размещен в местоположении пустого элемента ЗООа-ά мозаичного изображения текстуры, которое меньше всего отличается от площади вводимого элемента ЗООа-ά мозаичного изображения текстуры. Как только введен элемент ЗООа-ά мозаичного изображения текстуры, могут быть созданы новые пустые элементы ЗООа-ά мозаичного изображения текстуры. Эти новые пустые элементы ЗООа-ά мозаичного изображения текстуры могут покрывать площадь атласа 4ООа-с текстуры, которые прежде были покрыты пустым элементом ЗООа-ά мозаичного изображения текстуры, но не покрыты элементом ЗООа-ά мозаичного изображения текстуры, который был введен. Эти новые пустые элементы ЗООа-ά мозаичного изображения текстуры могут быть размещены в местоположении разности площадей между введенным элементом ЗООа-ά мозаичного изображения текстуры и пустым элементом ЗООа-ά мозаичного изображения текстуры.ZOOa-ά texture mosaic image, entered into the texture atlas, can be placed at the location of the empty element ZOOa-ά texture mosaic image, which is the least different from the area of the entered element ZOOa-ά texture mosaic image. As soon as the ZOOa-элемент element of the texture mosaic is entered, new empty ZOOa-ά elements of the texture mosaic can be created. These new empty ZOOa-ά texture mosaic elements can cover the atlas 4OOa-s texture atlas, which were previously covered by the empty ZOOa-ά texture mosaic element, but are not covered by the ZOOa-ά texture mosaic element that was entered. These new empty ZOOa-ά mosaic texture image elements can be placed at the location of the area difference between the entered ZOOa-ά texture mosaic image element and the empty ZOOa-ά texture mosaic element.

На этапе 914 элемент ЗООа-ά мозаичного изображения текстуры может быть маркирован как обработанный. Это может предусматривать, например, установку логической переменной или другого обозначения, что элемент ЗООа-ά мозаичного изображения текстуры был размещен в наборе атласов текстуры. Способ возвращается к этапу 9О2, где определяется, остались ли в наборе элементов мозаичного изображения текстуры какие-либо необработанные элементы ЗООа-ά мозаичного изображения текстуры.At step 914, the MOO-элемент element of the texture mosaic can be marked as processed. This may include, for example, setting a boolean variable or other designation that the ZOOa-элемент element of the texture mosaic was placed in a set of texture atlases. The method returns to step 9O2, where it is determined whether there are any unprocessed elements of the ZOOa-ά texture mosaic in the set of texture mosaic elements.

Вышеприведенное описание настоящего изобретения является иллюстративным, и квалифицированным специалистам в этой области техники будут очевидны модификации его конфигурации и реализации. Например, этапы могут комбинироваться или могут выполняться в любом порядке. Хотя элементы мозаичного изображения текстуры и атласы текстуры были описаны как физические сегменты электронной памяти, способные содержать один или более многоугольников, они не обязательно содержатся в этой памяти. Элементы мозаичного изображения текстуры или атласы текстуры предпочтительно могут включать в себя данные, определяющие размеры достаточного сегмента памяти. Аппаратные средства, программные средства или другие средства, описанные как сингулярные, могут в вариантах осуществления быть распределенными, и аналогичным образом средства в вариантах осуществления, описанные как распределенные, могут быть скомбинированы. Предполагается, что объем настоящего изобретения должен быть ограничен только следующей формулой изобретения.The above description of the present invention is illustrative, and modifications to its configuration and implementation will be apparent to those skilled in the art. For example, the steps may be combined or may be performed in any order. Although texture mosaic elements and texture atlases have been described as physical segments of electronic memory capable of containing one or more polygons, they are not necessarily contained in this memory. Texture mosaic elements or texture atlases may preferably include data defining sizes of a sufficient memory segment. Hardware, software, or other means described as singular may be distributed in the embodiments, and likewise, means in the embodiments described as distributed may be combined. It is intended that the scope of the present invention be limited only by the following claims.

Claims (27)

1. Способ отображения графических данных, причем графические данные содержат по меньшей мере одну точку (1О2) информационного объема в информационном объеме (1ОО), причем способ предусматривает следующие этапы:1. A method of displaying graphic data, wherein the graphic data contains at least one point (1O2) of the information volume in the information volume (1OO), the method comprising the following steps: создание атласа текстуры, причем атлас текстуры содержит двумерную компоновку по меньшей мере одного многоугольника (1О8) в многоугольной поверхности;creating a texture atlas, the texture atlas comprising a two-dimensional arrangement of at least one polygon (1O8) in a polygonal surface; сканирующее преобразование по меньшей мере одного многоугольника (1О8) для формирования соответствующего тексела (6ОО) и запись каждого тексела, который перекрывает многоугольную поверхность, в сегмент (5ОО) памяти для необязательного отображения.scanning the conversion of at least one polygon (1O8) to form a corresponding texel (6OO) and writing each texel that overlaps the polygonal surface into a memory segment (5OO) for optional display. 2. Способ по п.1, в котором информационный объем является объемом сейсмической информации, содержащим по меньшей мере один атрибут из амплитуды, фазы, частоты, меры подобия и когерентности.2. The method according to claim 1, in which the information volume is the volume of seismic information containing at least one attribute of amplitude, phase, frequency, measure of similarity and coherence. 3. Способ по п.1, дополнительно предусматривающий этап создания элемента (ЗОО) мозаичного изображения текстуры.3. The method according to claim 1, additionally providing for the step of creating an element (ZOO) mosaic image texture. 4. Способ по п.З, дополнительно предусматривающий следующие этапы:4. The method according to claim 3, further comprising the following steps: определение - соответствует ли по меньшей мере один многоугольник (1О8) заранее определенному максимальному размеру элемента мозаичного изображения текстуры;determination - whether at least one polygon (1O8) corresponds to a predetermined maximum size of the texture mosaic element; разбиение по меньшей мере одного многоугольника (1О8) на множество составляющих многоугольников, если он не соответствует максимальному размеру элемента мозаичного изображения текстуры; и маркировку по меньшей мере одного многоугольника (1О8) и каждого из множества составляющих многоугольников, которые соответствуют максимальному размеру элемента текстуры.splitting at least one polygon (1O8) into a plurality of constituent polygons, if it does not correspond to the maximum size of the texture mosaic element; and marking at least one polygon (1O8) and each of the plurality of constituent polygons that correspond to the maximum size of the texture element. 5. Способ по п.4, дополнительно предусматривающий этап создания набора элементов мозаичного изображения текстуры, причем набор элементов мозаичного изображения текстуры содержит множество элементов мозаичного изображения текстуры, при этом упомянутое множество элементов мозаичного изображения текстуры включает в себя упомянутый элемент мозаичного изображения текстуры, причем каждый из множества элементов мозаичного изображения текстуры состоит по меньшей мере из одного многоугольника (1О8) и упомянутого множества составляющих многоугольников.5. The method according to claim 4, further comprising the step of creating a set of texture mosaic elements, the set of texture mosaic elements comprising a plurality of texture mosaic elements, said plurality of texture mosaic elements including said texture mosaic element, each of the set of elements of the mosaic image of the texture consists of at least one polygon (1O8) and said set of constituent elements angles. 6. Способ по п.4, в котором упомянутый по меньшей мере один многоугольник (1О8), который не соответствует максимальному размеру элемента мозаичного изображения, содержит самое длинное ребро, среднюю точку на этом самом длинном ребре и вершину.6. The method according to claim 4, in which said at least one polygon (1O8), which does not correspond to the maximum size of the tile, contains the longest edge, the middle point on this longest edge and the vertex. 7. Способ по п.6, дополнительно предусматривающий следующие этапы:7. The method according to claim 6, further comprising the following steps: создание ребра между средней точкой и вершиной и выполнение вырождения центра тяжести.creating an edge between the midpoint and the apex and performing degeneration of the center of gravity. - 8 011896- 8 011896 8. Способ по п.5, дополнительно предусматривающий следующие этапы:8. The method according to claim 5, further comprising the following steps: определение - соответствует ли каждый из упомянутого множества элементов мозаичного изображения текстуры заранее определенному максимальному размеру атласа текстуры;determining whether each of the plurality of texture mosaic elements corresponds to a predetermined maximum texture atlas size; назначение каждого из упомянутого множества элементов мозаичного изображения текстуры, которые соответствуют максимальному размеру атласа текстуры, этому атласу текстуры;assigning each of the plurality of texture mosaic elements that correspond to the maximum size of the texture atlas to this texture atlas; назначение каждого из упомянутого множества элементов мозаичного изображения текстуры, которые не соответствуют упомянутому максимальному размеру атласа текстуры, новому атласу текстуры и маркировку каждого из упомянутого множества элементов мозаичного изображения текстуры, которые назначены упомянутому атласу текстуры и новому атласу текстуры.assigning each of said plurality of texture mosaic elements that do not correspond to said maximum texture atlas size, a new texture atlas, and marking each of said plurality of texture mosaic elements that are assigned to said texture atlas and a new texture atlas. 9. Способ по п.8, дополнительно предусматривающий этап сравнения размера элемента мозаичного изображения для каждого из множества элементов мозаичного изображения текстуры с максимальным размером атласа текстуры, причем каждый из множества элементов мозаичного изображения текстуры, назначенные атласу текстуры и новому атласу текстуры, назначается для минимизации разности между коллективным размером элементов мозаичного изображения для множества элементов мозаичного изображения текстуры, назначенных упомянутому атласу текстуры, и максимальным размером атласа текстуры, и для минимизации разности между коллективным размером элементов мозаичного изображения для множества элементов мозаичного изображения текстуры, назначенных новому атласу текстуры, и максимальным размером атласа текстуры.9. The method of claim 8, further comprising the step of comparing the size of the mosaic image element for each of the plurality of texture mosaic elements with a maximum texture atlas size, each of the plurality of texture mosaic elements assigned to the texture atlas and a new texture atlas, to minimize the difference between the collective size of the mosaic elements for the plurality of texture mosaic elements assigned to the texture atlas, and Maximum Feed texture atlas size and to minimize a difference between a collective tile size for the plurality of tile texture assigned new texture atlas and the maximum texture atlas size. 10. Способ по п.1, в котором тексел (600) основан на соответствующей точке (102) информационного объема.10. The method according to claim 1, in which Texel (600) is based on the corresponding point (102) of the information volume. 11. Способ по п.1, дополнительно предусматривающий этап обработки представления по меньшей мере одного многоугольника (108), причем обработанное представление упомянутого по меньшей мере одного многоугольника (108) содержит по меньшей мере одну вершину для этого многоугольника.11. The method according to claim 1, further comprising the step of processing a representation of at least one polygon (108), wherein the processed representation of said at least one polygon (108) comprises at least one vertex for that polygon. 12. Способ по п.1, дополнительно предусматривающий этап отображения по меньшей мере части перекрытия тексела (600) и многоугольной поверхности.12. The method according to claim 1, further comprising the step of displaying at least a portion of the texel overlap (600) and the polygonal surface. 13. Система, содержащая устройство хранения программ, считываемое машиной, причем устройство хранения программ содержит программу команд, выполняемых машиной для отображения графических данных, при этом графические данные содержат по меньшей мере одну точку информационного объема в информационном объеме (100), а команды предусматривают следующие этапы:13. A system comprising a program storage device readable by a machine, the program storage device comprising a program of instructions executed by the machine to display graphic data, wherein the graphic data contains at least one point of the information volume in the information volume (100), and the instructions include the following stages: создание атласа текстуры, причем атлас текстуры содержит двумерную компоновку по меньшей мере одного многоугольника (108) в многоугольной поверхности;creating a texture atlas, the texture atlas comprising a two-dimensional arrangement of at least one polygon (108) in a polygonal surface; сканирующее преобразование по меньшей мере одного многоугольника (108) для формирования соответствующего тексела (600) и запись каждого тексела, который перекрывает многоугольную поверхность, в сегмент (500) памяти для необязательного отображения.scanning the conversion of at least one polygon (108) to form a corresponding texel (600) and writing each texel that overlaps the polygonal surface into a memory segment (500) for optional display. 14. Система по п.13, в которой информационный объем является объемом сейсмической информации, содержащим по меньшей мере один атрибут из амплитуды, фазы, частоты, меры подобия и когерентности.14. The system of claim 13, wherein the information volume is the volume of seismic information containing at least one attribute of amplitude, phase, frequency, similarity measure, and coherence. 15. Система по п.13, в которой атлас текстуры содержит элемент (300) мозаичного изображения текстуры.15. The system according to item 13, in which the texture atlas contains an element (300) of the mosaic image of the texture. 16. Система по п.15, дополнительно содержащая этап создания набора элементов мозаичного изображения текстуры, причем набор элементов (300) мозаичного изображения текстуры содержит упомянутый элемент (300) мозаичного изображения текстуры и другой элемент мозаичного изображения текстуры.16. The system of clause 15, further comprising the step of creating a set of texture mosaic elements, the set of texture mosaic elements (300) comprising said texture mosaic element (300) and another texture mosaic element. 17. Система по п.16, в которой атлас текстуры содержит по меньшей мере один из упомянутого элемента (300) мозаичного изображения текстуры и другого элемента мозаичного изображения текстуры.17. The system of claim 16, wherein the texture atlas comprises at least one of said texture mosaic element (300) and another texture mosaic element. 18. Система по п.17, дополнительно содержащая этап создания набора атласов текстуры, причем набор атласов текстуры содержит упомянутый атлас текстуры и другой атлас текстуры, при этом другой атлас текстуры содержит по меньшей мере один из упомянутого элемента (300) мозаичного изображения текстуры и другого элемента мозаичного изображения текстуры.18. The system of claim 17, further comprising the step of creating a set of texture atlases, wherein the set of texture atlases comprises said texture atlas and another texture atlas, wherein another texture atlas contains at least one of said tile (300) mosaic texture image and another mosaic texture element. 19. Система по п.15, в которой элемент (300) мозаичного изображения текстуры содержит многоугольник.19. The system of claim 15, wherein the tile (300) of the texture mosaic contains a polygon. 20. Система по п.13, в которой тексел (600) основан на соответствующей точке информационного объема.20. The system of claim 13, wherein the texel (600) is based on a corresponding point in the information volume. 21. Система по п.13, дополнительно содержащая этап обработки представления по меньшей мере одного многоугольника (108), причем обработанное представление упомянутого по меньшей мере одного многоугольника (108) содержит по меньшей мере одну вершину для этого многоугольника.21. The system of claim 13, further comprising the step of processing a representation of at least one polygon (108), wherein the processed representation of said at least one polygon (108) comprises at least one vertex for that polygon. 22. Считываемый компьютером носитель, имеющий структуру данных, сохраненную на нем в форме атласа текстуры для использования в наложении трехмерной текстуры на многоугольную поверхность, содержащую элемент (300) мозаичного изображения текстуры, содержащий отдельное число, которое отличает упомянутый элемент (300) мозаичного изображения текстуры от 22. A computer-readable medium having a data structure stored therein in the form of a texture atlas for use in overlaying a three-dimensional texture on a polygonal surface containing a texture mosaic element (300) containing a single number that distinguishes said texture mosaic element (300) from - 9 011896 других элементов мозаичного изображения текстуры, координаты, которые идентифицируют местоположение элемента (300) мозаичного изображения текстуры на атласе текстуры, размер атласа текстуры;- 9 011896 other texture mosaic elements, coordinates that identify the location of the texture mosaic element (300) on the texture atlas, texture atlas size; соотношение сторон атласа текстуры и координаты, которые идентифицируют позицию атласа текстуры в сегменте (500) памяти, назначенного для этого атласа текстуры.the aspect ratio of the texture atlas and the coordinates that identify the position of the texture atlas in the memory segment (500) assigned to that texture atlas. 23. Носитель по п.22, в котором элемент (300) мозаичного изображения текстуры дополнительно содержит представление многоугольника, причем это представление многоугольника содержит вершины, упомянутые вершины являются, по меньшей мере, частично содержащимися в трехмерном информационном объеме, число, которое идентифицирует упомянутый многоугольник;23. The medium of claim 22, wherein the texture mosaic tile (300) further comprises a polygon representation, wherein the polygon representation contains vertices, said vertices are at least partially contained in a three-dimensional information volume, a number that identifies said polygon ; размер элемента;item size число, которое идентифицирует атлас текстуры, который содержит упомянутый элемент; и координаты, которые идентифицируют позицию этого элемента в отображенном изображении.a number that identifies the texture atlas that contains the element; and coordinates that identify the position of this element in the displayed image. 24. Носитель по п.23, в котором информационный объем содержит сейсмические данные, причем упомянутые сейсмические данные содержат по меньшей мере один атрибут из амплитуды, фазы, частоты, меры подобия и когерентности.24. The medium of claim 23, wherein the information volume contains seismic data, said seismic data comprising at least one attribute of amplitude, phase, frequency, similarity measure, and coherence. 25. Носитель по п.23, в котором многоугольником является треугольник.25. The medium according to item 23, in which the polygon is a triangle. 26. Носитель по п.23, в котором представление многоугольника содержит индивидуальные координаты для каждой из вершин.26. The media according to item 23, in which the representation of the polygon contains individual coordinates for each of the vertices. 27. Носитель по п.23, в котором сегмент (500) памяти содержит сверхоперативную память текстуры.27. The storage medium according to item 23, in which the segment (500) of the memory contains super-operative texture memory.
EA200600375A 2003-08-06 2004-08-05 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces EA011896B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/636,441 US7151545B2 (en) 2003-08-06 2003-08-06 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
PCT/US2004/025298 WO2005017608A2 (en) 2003-08-06 2004-08-05 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces

Publications (2)

Publication Number Publication Date
EA200600375A1 EA200600375A1 (en) 2007-08-31
EA011896B1 true EA011896B1 (en) 2009-06-30

Family

ID=34116431

Family Applications (1)

Application Number Title Priority Date Filing Date
EA200600375A EA011896B1 (en) 2003-08-06 2004-08-05 System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces

Country Status (13)

Country Link
US (3) US7151545B2 (en)
EP (1) EP1660930B1 (en)
CN (1) CN1926558B (en)
AU (1) AU2004265970C1 (en)
BR (1) BRPI0412949A (en)
CA (1) CA2534981C (en)
EA (1) EA011896B1 (en)
EG (1) EG24485A (en)
MA (1) MA28023A1 (en)
MX (1) MXPA06001497A (en)
NO (1) NO340522B1 (en)
UA (1) UA91329C2 (en)
WO (1) WO2005017608A2 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3670274B2 (en) * 2002-11-05 2005-07-13 アジア航測株式会社 Visualization processing system, visualization processing method, and visualization processing program
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
GB2434287B (en) * 2006-01-17 2011-09-14 Delcam Plc Improvements Relating To Designing And Manufacturing An Article
CN102096937B (en) * 2006-07-24 2014-07-09 索尼株式会社 A hair motion compositor system and optimization techniques for use in a hair/fur pipeline
US7889205B1 (en) * 2006-10-24 2011-02-15 Adobe Systems Incorporated Frame buffer based transparency group computation on a GPU without context switching
US9013499B2 (en) 2007-07-19 2015-04-21 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering including irregular texture maps
US8098258B2 (en) * 2007-07-19 2012-01-17 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering
US8385669B2 (en) * 2009-03-04 2013-02-26 Microsoft Corporation Scalable mutable tiled multi-resolution texture atlases
US8922558B2 (en) * 2009-09-25 2014-12-30 Landmark Graphics Corporation Drawing graphical objects in a 3D subsurface environment
US9058685B2 (en) * 2010-03-11 2015-06-16 Broadcom Corporation Method and system for controlling a 3D processor using a control list in memory
CN101877149B (en) * 2010-07-16 2012-08-29 光庭导航数据(武汉)有限公司 Display method of two-dimensional map background on three-dimensional graphical display and acceleration equipment
CN103392190B (en) 2011-04-04 2016-01-20 三菱电机株式会社 Texture mapping unit
US8872839B2 (en) * 2011-09-09 2014-10-28 Microsoft Corporation Real-time atlasing of graphics data
US9236024B2 (en) 2011-12-06 2016-01-12 Glasses.Com Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US20130314401A1 (en) 2012-05-23 2013-11-28 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a user for a virtual try-on product
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US20130335416A1 (en) * 2012-05-23 2013-12-19 1-800 Contacts, Inc. Systems and methods for generating a 3-d model of a virtual try-on product
CA2869548C (en) 2012-06-27 2017-08-15 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
US9342923B2 (en) * 2012-06-27 2016-05-17 Landmark Graphics Corporation Systems and methods for creating a three-dimensional texture atlas
US9245363B2 (en) * 2012-12-21 2016-01-26 Nvidia Corporation System, method, and computer program product implementing an algorithm for performing thin voxelization of a three-dimensional model
US9582848B2 (en) * 2012-12-28 2017-02-28 Apple Inc. Sprite Graphics rendering system
CN104796649B (en) * 2014-01-21 2017-12-26 北京炬力北方微电子有限公司 A kind of method and device of tripleplane
CN104199091B (en) * 2014-08-25 2017-03-01 电子科技大学 Texture properties method based on azimuthal seismic data
CN107248187B (en) * 2017-05-22 2020-12-08 武汉地大信息工程股份有限公司 Method for quickly cutting and recombining three-dimensional model textures
CN107330454B (en) * 2017-06-20 2020-07-17 陈文芹 Nonlinear massive high-dimensional sequence data classification characteristic visualization and quantitative analysis method
US11348287B2 (en) * 2018-07-16 2022-05-31 Adobe Inc. Rendering of graphic objects with pattern paint using a graphics processing unit
CN115104121A (en) * 2020-02-19 2022-09-23 交互数字Vc控股公司 Method and apparatus for processing image content
US11748940B1 (en) * 2021-10-11 2023-09-05 Meta Platforms Technologies, Llc Space-time representation of dynamic scenes
CN117372600A (en) * 2023-09-25 2024-01-09 深圳市地质环境研究院有限公司 Automatic texture mapping method for three-dimensional geological model

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064771A (en) * 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US20020060684A1 (en) * 2000-11-20 2002-05-23 Alcorn Byron A. Managing texture mapping data in a computer graphics system
US6438493B1 (en) * 2000-09-29 2002-08-20 Exxonmobil Upstream Research Co. Method for seismic facies interpretation using textural analysis and neural networks
US20020162081A1 (en) * 2001-03-23 2002-10-31 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data
US6483520B1 (en) * 1999-03-16 2002-11-19 Konami Co., Ltd. Image creating method and apparatus, recording medium for recording image creating program, and video game machine

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467461A (en) 1981-01-05 1984-08-21 Conoco Inc. Interactive color analysis of geophysical data
CZ273297A3 (en) * 1995-03-02 1998-06-17 Parametric Technology Corporation Computer graphical system for making and improving carts relating to three-dimensional models
JP2930102B2 (en) * 1997-01-31 1999-08-03 日本電気株式会社 Wiring structure for semiconductor device and method of manufacturing the same
US6373486B1 (en) 1997-02-03 2002-04-16 Landmark Graphics Corporation Method and apparatus for creating representations of geologic shapes
US6765570B1 (en) 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
US7259766B1 (en) 1998-10-30 2007-08-21 Autodesk, Inc. Aperiodic tiling of textured images
US6744442B1 (en) * 2000-08-29 2004-06-01 Harris Corporation Texture mapping system used for creating three-dimensional urban models
US6914610B2 (en) * 2001-05-18 2005-07-05 Sun Microsystems, Inc. Graphics primitive size estimation and subdivision for use with a texture accumulation buffer
US7174050B2 (en) * 2002-02-12 2007-02-06 International Business Machines Corporation Space-optimized texture maps
US6850233B2 (en) * 2002-05-01 2005-02-01 Microsoft Corporation Systems and methods for optimizing geometric stretch of a parametrization scheme
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
US6843520B1 (en) * 2003-12-22 2005-01-18 Lear Corporation Rear jump seat head restraint mounting sleeve

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064771A (en) * 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
US6483520B1 (en) * 1999-03-16 2002-11-19 Konami Co., Ltd. Image creating method and apparatus, recording medium for recording image creating program, and video game machine
US6438493B1 (en) * 2000-09-29 2002-08-20 Exxonmobil Upstream Research Co. Method for seismic facies interpretation using textural analysis and neural networks
US20020060684A1 (en) * 2000-11-20 2002-05-23 Alcorn Byron A. Managing texture mapping data in a computer graphics system
US20020162081A1 (en) * 2001-03-23 2002-10-31 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data

Also Published As

Publication number Publication date
BRPI0412949A (en) 2007-01-02
CA2534981C (en) 2013-01-22
CN1926558A (en) 2007-03-07
MA28023A1 (en) 2006-07-03
US7310102B2 (en) 2007-12-18
NO20061069L (en) 2006-05-05
UA91329C2 (en) 2010-07-26
US7151545B2 (en) 2006-12-19
EP1660930A4 (en) 2011-10-05
CA2534981A1 (en) 2005-02-24
EP1660930A2 (en) 2006-05-31
US7397480B2 (en) 2008-07-08
WO2005017608A2 (en) 2005-02-24
EA200600375A1 (en) 2007-08-31
US20050030317A1 (en) 2005-02-10
CN1926558B (en) 2010-08-11
WO2005017608A3 (en) 2006-11-09
AU2004265970B2 (en) 2009-01-29
US20070091108A1 (en) 2007-04-26
NO340522B1 (en) 2017-05-02
EG24485A (en) 2009-08-11
AU2004265970A1 (en) 2005-02-24
MXPA06001497A (en) 2006-05-15
EP1660930B1 (en) 2020-06-10
US20070076011A1 (en) 2007-04-05
AU2004265970B9 (en) 2009-05-21
AU2004265970C1 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
US7397480B2 (en) System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
Bloomenthal Polygonization of implicit surfaces
JP4637837B2 (en) Multiple attribute real-time simultaneous rendering method, system and program
US5555356A (en) System and method for generating a trimmed parametric surface for display on a graphic display device
US20240212863A1 (en) Unified anisotropic volume and surface mesh storage
US20160155266A1 (en) Systems and methods for creating a three-dimensional texture atlas
US20030103048A1 (en) System and method for hidden object removal
US20130060488A1 (en) Image processing system and method for ndt/ndi testing devices
AU2012383532A1 (en) Systems and methods for creating a three-dimensional texture atlas
US9342923B2 (en) Systems and methods for creating a three-dimensional texture atlas
Upson Volumetric visualization techniques
Zehner On the visualization of 3D geological models and their uncertainty
Zhou et al. Rendering interior-filled polygonal vector data in a virtual globe
Madi et al. Modeling and visualization of layered objects
CN112053437B (en) Three-dimensional modeling method for geophysical exploration based on contour line
Kaufman et al. Modeling in volume graphics
Reed Interactive volume rendering and deformation for surgery simulation
Pajon et al. Discrete Data Visualization in Geology
Fort Visibility and proximity on triangulated surfaces
Glinzner Texturing of 3D Objects using Simple Physics and Equilateral Triangle Patches
Hart Green, S. and Paddon, DJ Exploiting Coherence for Multiprocessor Ray Tracing. IEEE Computer Graphics and Applications, 9 (6), November 1989, pp 12-26. Hart, J. C, Lescinsky, GW, DeFanti, TA and Kauffman, LH Scientific and Artistic investigation of multi-dimensional fractals on the AT & T Pixel Machine. The Visual Computer 9, 1993, pp 346-355.
Jankovič Visualization of the volume datasets in science

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM BY KG MD TJ TM

MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AZ KZ RU