MXPA06001497A - Sistema y metodo para aplicar texturas tridimensionales de volumen exacto a superficies arbitrariamente trianguladas. - Google Patents

Sistema y metodo para aplicar texturas tridimensionales de volumen exacto a superficies arbitrariamente trianguladas.

Info

Publication number
MXPA06001497A
MXPA06001497A MXPA06001497A MXPA06001497A MXPA06001497A MX PA06001497 A MXPA06001497 A MX PA06001497A MX PA06001497 A MXPA06001497 A MX PA06001497A MX PA06001497 A MXPA06001497 A MX PA06001497A MX PA06001497 A MXPA06001497 A MX PA06001497A
Authority
MX
Mexico
Prior art keywords
textures
texture
atlas
polygon
mosaic
Prior art date
Application number
MXPA06001497A
Other languages
English (en)
Inventor
Sean A Spicer
Original Assignee
Landmark Graphics Corp
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 Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of MXPA06001497A publication Critical patent/MXPA06001497A/es

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)
  • Prostheses (AREA)
  • Paper (AREA)

Abstract

Se describen sistemas y metodos para desplegar datos de volumen en una superficie poligonal arbitraria tridimensional. Para cada poligono en la superficie poligonal, se crea un mosaico de texturas bidimensional y estos mosaicos de texturas se combinan para formar atlas de texturas. Cada atlas de texturas se asigna a una cantidad especifica de memoria en un cache de texturas. Cada poligono en la superficie poligonal se puede convertir por exploracion y los texeles resultantes se pueden colocar en el cache de texturas. Los voxeles que no interceptan ningun poligono en la superficie poligonal no se pueden convertir por exploracion. Este metodo puede reducir el uso del cache de texturas.

Description

SISTEMA Y MÉTODO PARA APLICAR TEXTURAS TRIDIMENSIONALES DE VOLUMEN EXACTO A SUPERFICIES ARBITRARIAMENTE TRIANGULADAS CAMPO DE LA INVENCIÓN La invención se relaciona con sistemas y métodos para desplegar datos de gráficos, y de manera más particular se relaciona con técnicas para aplicar texturas tridimensionales de volumen exacto a superficies arbitrariamente trianguladas.
ANTECEDENTES DE IA INVENCIÓN En algunos campos, es útil modelar objetos de molde real o generador por computadora en tercera dimensión. El modelado de este tipo de objetos ha probado ser útil en una gama de aplicaciones. Por ejemplo, modelar la estructura subterránea de una porción de la corteza terrestre es útil para descubrir yacimientos de petróleo, localizar fallas tectónicas y en otras aplicaciones. De modo semejante, el modelado de partes del cuerpo humano resulta útil para ejercicios de capacitación médica, realizar diagnósticos, realizar cirugías a distancia o para otras aplicaciones médicas. El modelado de objetos generados por computadora resulta útil en la creación de juegos de computadora, diseño de simulaciones de vuelo y en otras aplicaciones. Existen otras aplicaciones para el modelado tridimensional de objetos reales o generadores por computadora . Algunos modelos tridimensionales representan un objeto como una matriz tridimensional de puntos de datos de volumen. Esta matriz, conocida como un volumen de datos, incluye una gama de puntos de datos, conocidos como puntos de datos de volumen. Cada punto de datos de volumen se puede identificar como un pixel de volumen, también conocido como voxel. Un voxel es la parte en forma de caja más pequeña que puede distinguirse de una imagen tridimensional. Un voxel es similar a un pixel, pero representa un volumen tridimensional en lugar de área bidimensional . Cada voxel representa un muestreo individual de una porción tridimensional del objeto a modelar. Cada voxel es el volumen de datos contiene un solo conjunto de coordinadas (x, y, z) y uno o más valores de datos que representan una propiedad única a examinarse. Estos valores de datos se pueden ilustrar a escala (0-256) que corresponde a un valor en especifico de color Rojo, Verde, Azul (RVA) y una variable de opacidad (A) que se derivan de una medición o de la propiedad a examinarse. La medición o valor de la propiedad corresponde a la porción del objeto que representa el voxel. Esto permite una representación gráfica de la propiedad a examinarse. Por ejemplo, en aplicaciones sísmicas o geológicas, los datos sísmicos se obtienen al crear artificialmente ondas sonoras y al grabar el arribo de estas ondas sonoras después de que se hayan reflejado a partir interfaces de formaciones rocosas subterráneas con distintas propiedades físicas . A partir de las ondas sonoras reflejadas, o de datos sísmicos, después se crea un volumen de datos que representa la estructura subterránea. En este ejemplo, cada voxel contiene un valor de datos que, a partir de una onda de sonora reflejada, representa una onda de transmisión (es decir, amplitud) . La estructura geológica se puede deducir a partir de la imagen desplegada de este de datos. Por ejemplo, los valores de datos sísmicos de amplitud más elevados se pueden representar con el color rojo, los valores de datos de amplitud ligeramente inferiores se pueden representar con el color naranja, y otros valores de datos de amplitud se pueden representar con otros colores . Son posibles otros esquemas de colores. Esto permite una representación gráfica de los datos sísmicos . Una vez que se ha creado un volumen de datos, su contenido se puede desplegar a los usuarios. Un usuario puede especificar una superficie tridimensional contenida dentro del volumen, y un sistema de despliegue despliega los voxeles en esta superficie en una pantalla o en otro medio de despliegue. Esto posibilita al usuario a observar voxeles que estén contenidos en el interior del volumen de datos.
Un sistema para desplegar los voxeles en una superficie arbitraria tridimensional se conoce como mapeo de texturas tridimensional. Esta técnica se implementa en la unidad de procesamiento más rápida de un acelerador por hardware de gráficos por computadora. Este técnica emplea una memoria especializada especifica, conocida como caché o memoria de texturas, que se fija dentro del circuito integrado . En esta técnica, el caché de texturas se emplea como una memoria intermedia para la información contenida en el volumen de datos . Un bloque o porción del volumen de datos se lee en el caché de texturas, y la información en este bloque se emplea con la unidad de procesamiento más rápida. Posteriormente, un segundo bloque del volumen de datos se lee en el caché de texturas, y la información en el segundo bloque se emplea con la unidad de procesamiento más rápida. Este proceso continúa hasta que el volumen de datos completo se haya hecho disponible para la unidad de procesamiento más rápida, un bloque a la vez, a través del caché de texturas. De esta manera, el caché de texturas se emplea como una memoria intermedia para el volumen de datos . Esta técnica tiene ciertas propiedades inherentes que se vuelven ineficientes para situaciones particulares . Por ejemplo, para volúmenes de datos que sean más grandes en comparación con el tamaño del caché de texturas disponible, el volumen de datos se debe fragmentar en bloques y cada bloque se transfiere al caché de texturas . Esto es ineficiente debido a que las operaciones auxiliares relativamente grandes necesarias para determinar el tamaño de cada bloque y de su lectura en el caché de texturas . Aún más, aún cuando en esta técnica la unidad de procesamiento más rápida sólo puede necesitar los voxeles que yacen en la superficie tridimensional, cada voxel en el volumen de datos se lee y almacena en el caché de texturas. Por consiguiente, la memoria en el caché de texturas no se emplea de manera eficiente debido a que en el caché de texturas se puede almacenar una cantidad relativamente grande de datos innecesarios. Este problema se intensifica cuando la superficie tridimensional es más pequeña en comparación con el volumen de datos . Además, debido a que en esta operación se emplea una cantidad relativamente grande del caché de texturas, se limita la cantidad del caché de texturas disponible para otras operaciones gráficas. Esto limita el desempeño de renderización del objeto y limita el desempeño de otras operaciones de gráficos . Existe la necesidad, entre otras cosas, de una técnica para desplegar el contenido de un volumen de datos en una superficie arbitraria tridimensional contenida dentro del volumen, que emplee una cantidad reducida del caché de texturas .
SUMARIO DE LA. INVENCIÓN En un aspecto, una modalidad de la presente invención que supera estos y otros problemas en la técnica se relaciona con un método para aplicar una textura de volumen tridimensional. El método incluye los pasos de proporcionar un volumen de datos que comprende una pluralidad de puntos de volúmenes de datos; proporcionar una superficie poligonal parcial o completamente contenida dentro del volumen de datos, la superficie poligonal comprende por lo menos un polígono; crear un conjunto de atlas de texturas, cada atlas de texturas comprende un trazado bidimensional de por lo menos un polígono en la superficie poligonal; y asignar un segmento de la memoria para cada atlas de texturas. El método también incluye los pasos de conversión de exploración de cada polígono en base a los puntos de datos de volumen en el volumen de datos y escribir los resultados de la conversión de exploración de cada polígono en el segmento de memoria asignado al atlas de texturas que contiene un arreglo que incluye el polígono . En un aspecto adicional, la presente invención incluye un mosaico de texturas que tiene dimensiones de mosaico que describen el tamaño de mosaico y la representación de .un polígono, el polígono está completo o parcialmente contenido en un volumen de datos tridimensionales . En otro aspecto, un atlas de texturas incluye dimensiones de atlas que describen el tamaño de atlas y la representación de un polígono, el polígono está completo o parcialmente contenido en un volumen de datos tridimensionales . En un aspecto adicional, un segmento de memoria incluye una pluralidad de texeles (unidades base de gráficos con textura) , la pluralidad de texeles incluye uno o más texeles poligonales predeterminados y uno o más texeles no poligonales predeterminados, en donde cada texel poligonal en la pluralidad de texeles contiene un volumen computado en base a un punto de datos de volumen en un volumen de datos, y en donde cada uno de los otros texeles es inválido. Aún en otro aspecto adicional, la presente invención incluye un sistema para aplicar una textura de volumen tridimensional a una superficie poligonal. El sistema incluye un caché de texturas configurado para contener una pluralidad de texeles, y una memoria configurada para contener una superficie poligonal y un volumen de datos, la superficie poligonal comprende uno o más polígonos y el volumen de datos comprende uno o más puntos de datos de volumen. El sistema también incluye un módulo de control configurado para: crear un conjunto de atlas de texturas, cada atlas de texturas comprende un trazado bidimensional de por lo menos un polígono en la superficie poligonal; para asignar un segmento del caché de texturas para cada atlas de texturas, para convertir por exploración el o los polígonos, con lo que se crea uno o más texeles; y para escribir el o los texeles resultantes de la conversión de exploración de cada polígono en el segmento del caché de texturas asignado al atlas de texturas que contiene un trazado que incluye el polígono.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La presente invención se describirá haciendo referencia a los dibujos anexos, en los cuales elementos similares se identifican con número de referencia similares, y en los cuales: La Figura 1 ilustra un volumen de datos y una superficie tridimensional de acuerdo con una modalidad de la presente invención. La Figura 2 es un diagrama de flujo que describe un método para aplicar datos de volumen a una superficie de acuerdo con una modalidad de la presente invención. La Figura 3 ilustra un conjunto de mosaicos de texturas de acuerdo con una modalidad de la presente invención . La Figura 4 ilustra un conjunto de atlas de texturas de acuerdo con una modalidad de la presente invención . La Figura 5 ilustra un segmento de memoria de texturas de acuerdo con una modalidad de la presente invención . La Figura 6 ilustra un polígono antes y después de la conversión de exploración de acuerdo con una modalidad de la presente invención. La Figura 7 ilustra un diagrama de bloques de un sistema para aplicar una textura de volumen tridimensional a una superficie poligonal de acuerdo con una modalidad de la presente invención. La Figura 8 es un diagrama de flujo que describe un método para la subdivisión poligonal y la creación de un mosaico de texturas de acuerdo con una modalidad de la presente invención. La Figura 9 es un diagrama de flujo que describe un método para la generación de un atlas de texturas de acuerdo con una modalidad de la presente invención.
DESCRIPCIÓN DETALLADA DE LAS MODALIDADES La Figura 1 ilustra un volumen de datos y una superficie tridimensional de acuerdo con una modalidad de la presente invención. El volumen de datos (100) puede ser o puede incluir un modelo tridimensional de un objeto real o generado por computadora. El volumen de datos (100) puede ser o puede incluir una matriz tridimensional de puntos (102a-d) de datos de volumen. Cada uno de los puntos (102a-d) de datos de volumen puede contener uno o más volúmenes que describen una porción en particular del volumen de datos (100) . Por ejemplo, cada unos de los puntos (102a-d) de datos de volumen puede contener coordinadas x, y, z que especifiquen la ubicación de una porción del volumen de datos (100) . Cada uno de los puntos (102a-d) de datos de volumen además puede contener uno o más volúmenes de datos que correspondan a una o más propiedades especificas. Por ejemplo, cada uno de los puntos (102a-d) de datos de volumen puede contener un volumen de datos que corresponda a una propiedad sísmica, una densidad o alguna otra propiedad . En una implementación, cada uno de los puntos (102a-d) de datos de volumen puede ser o puede incluir un voxel . Cada voxel se puede desplegar como un volumen de color combinado y una variable de opacidad (RGBA) que se derivan de una medición o valor de una propiedad en específico . El volumen de datos (100) se puede definir de cualquier sistema de coordenadas, por ejemplo, en el sistema de coordenadas Cartesiano con un origen (104) . Una superficie poligonal (106) puede estar completa o parcialmente contenida en el volumen de datos (100) . La superficie poligonal (106) puede ser una superficie bidimensional o tridimensional que se elige o especifica por un usuario o una computadora. La superficie poligonal (106) se puede elegir para que el usuario pueda examinar los puntos (102a-d) de datos de volumen que interceptan la superficie poligonal (106) . La superficie poligonal (106) se puede elegir, en algunas aplicaciones, con el fin de modelar exacta o aproximadamente una superficie de origen natural. Por ejemplo, la superficie poligonal (106) se puede elegir con el fin de modelar una interfase entre las capas de la corteza terrestre. La superficie poligonal (106) se puede definir por uno o más polígonos (108a-d) . Son posibles varios métodos para describir cada polígono. Por ejemplo, cada polígono se puede definir con un conjunto de vértices y bordes. En una implementación, los polígonos (108a-d) son triángulos, y cada uno de los polígonos (108a-d) se define con las coordenadas Cartesianas de sus vértices. La Figura 2 es un diagrama de flujo que describe un método para aplicar datos de volumen a una superficie de acuerdo con una modalidad de la presente invención. El método inicia en el paso (200) , en donde se puede proveer el volumen de datos (100) . El volumen de datos (100) se puede generar a partir de datos medidos, como por ejemplo, datos sísmicos, o se pueden generar de algún otro modo. En · el paso (202), se puede proporcionar la superficie poligonal (106) . La superficie poligonal (106) se puede especificar por un usuario o por alguna computadora. La superficie poligonal (106) se puede elegir con el fin de examinar los puntos (102a-d) de datos de volumen gue interceptan la superficie poligonal (106) . La superficie poligonal (106) se puede elegir modelar exacta o aproximadamente una superficie de origen natural o se puede elegir de alguna otra manera. En el paso (204) , se puede retirar el indexado comprimido de los polígonos (108a-d) . En algunas implementaciones, los polígonos (108a-d) se pueden representar empleando una forma de indexado comprimido también llamado indexado de vértice o vaciado selectivo de triángulo. Por ejemplo, cada elemento (110a-d) representa un vértice compartido por dos o más polígonos. Con el fin de retirar esta forma de indexado comprimido y asignar un conjunto de vértices único a cada polígono para una identificación por separado, cada vértice (110a-d) se asigna a un número de vértices Vn y un número de polígonos Pn. De esta manera, cada polígono se puede indexar por separado de acuerdo con su propio conjunto de vértices. Por ejemplo, el polígono vinculado con los elementos (110a-c) se representaría con Vn = 0,1,2 y Pn = 0; el polígono vinculado con los elementos (110b-d) se representaría con Vn = 0,1,2 y Pn = 1; y el polígono vinculado con los elementos (110c-e) se representaría con Vn = 0,1,2 y Pn = 2. Otros métodos de eliminación de esta y otras formas de indexado comprimido se pueden conocer perfectamente en la técnica y, por consiguiente, no se repiten en esta descripción. En el paso (206) , los polígonos (108a-d) se pueden subdividir. Este paso puede asegurar que cada polígono (108a-d) se pueda fijar sobre un mosaico de texturas en el paso (208). En una implementación, se especifica un mosaico de texturas máximo. En esta implementación, algunos polígonos no se pueden fijar sobre el mosaico de texturas más grande permisible. En este caso, estos polígonos se pueden subdividir en polígonos más pequeños que se fijen sobre los mosaicos de texturas de tamaño permisible. En el paso (208), se puede crear un mosaico de texturas para cada polígono (108a-d) . Los mosaicos de texturas creados en este paso se describen haciendo referencia a la Figura 3. Cada mosaico de texturas (300a-d) puede incluir o representar un arreglo bidimensional y otra porción de la memoria electrónica que tenga el tamaño adecuado para fijar un poligono (108a-d) en particular. Si un polígono (108a-d) en particular es más pequeño que el tamaño predeterminado del mosaico, entonces, en una implementación, cada mosaico de texturas (300a-d) incluye el arreglo bidimensional más pequeño que contiene un poligono (108a-d) en particular. En otra implementación donde un poligono (108a-d) en particular es más pequeño que el tamaño predeterminado del mosaico, cada mosaico de texturas (300a-d) incluye las dimensiones de un arreglo que es lo bastante grande para contener un poligono (108a-d) en particular, pero que no contiene el arreglo físico. Cada mosaico de texturas (300a-d) puede contener información que describa el polígono (108a-d) correspondiente en particular. Por ejemplo, cada mosaico de texturas puede contener coordenadas (x, y, z) de los vértices para cada polígono (108a-d) correspondiente, y un número (Pn) que identifica el polígono. Cada mosaico de texturas (300a-d) también puede contener un número (Tn) que identifica el mosaico, un número (An) que identifica el atlas de texturas creado en el paso (210) que se asocia con el mosaico, las coordenadas (s', t') que identifican la ubicación del mosaico en el atlas de texturas, las coordenadas (s, t) que identifican la posición del mosaico en la imagen desplegada, y las coordenadas (?', y') que identifican un origen para la superficie poligonal (106) . En el paso (210) , los mosaicos de texturas (300a-d) se pueden combinar para formar uno o más atlas de texturas. Los atlas de texturas creados en este paso se describen haciendo referencia a la Figura 4. Cada atlas de texturas (400a-c) puede ser o puede incluir un trazado dimensional de mosaicos de texturas (300a-d) . Cada mosaico de texturas (300a-d) se puede colocar en un atlas de texturas (400a-c) . Si no hay espacio en algún atlas de texturas (400a-c) ya existente, se puede crear un nuevo atlas de texturas (400a-c) . En algunas implementaciones, un usuario puede especificar un tamaño objetivo o máximo para cada atlas de texturas (400a-c) . En otra implementación, cada atlas de texturas (400a-c) puede ser o puede incluir un arreglo bidimensional u otro tipo de memoria electrónica que se configure para contener uno o más mosaicos de texturas (300a-d) . En otra implementación, cada atlas de texturas (400a-c) puede contener información acerca de cómo los mosaicos de texturas (300a-d) se podrían arreglar de manera óptima en un trazado bidimensional, incluyendo donde cada atlas de texturas (400a-c) se localiza en el segmento de memoria (500) discutido tomando como referencia el paso (212). En esta implementación, puede ser necesario que los atlas de texturas tengan bastante memoria física para contener cada mosaico de texturas (300a-d) . Por consiguiente, tal como se describe, la creación de los mosaicos de texturas (300a-d) en los pasos (206) y (208) y la creación de los atlas de texturas (400a-c) en el paso (210) se puede realizar de una manera optimizada. Esto reducirá o minimizará el vacío o espacio sin utilizar en los mosaicos de texturas (300a-d) , los atlas de texturas (400a-c) o en ambos. De esta manera, el espacio de memoria de texturas disponible se optimiza empleando las técnicas anteriores. También se pueden aplicar otras técnicas de optimización bien conocidas, como por ejemplo, las que se describen en el documento Fast Line Integral Convolution for Aritrary Surfaces in 3D por Battke, Stalling y Hege, publicado el la edición de 1997 de Visualization and Mathematics . En el paso (212), se puede asignar un segmento de memoria a cada atlas de texturas (400a-c) . Los segmentos de memoria asignados en este paso se describen tomando como referencia la Figura 5. Las dimensiones del segmento de memoria (500) asignado a un atlas de texturas (400a) en particular pueden ser iguales o proporcionales a las dimensiones del atlas de texturas (400a) . El segmento de memoria (500) puede ser o puede incluir uno o más segmentos de memoria de texturas o caché de texturas. Los segmentos de memoria (500) pueden incluir una pluralidad de texeles (502a-d) . Un texel es la unidad base de un gráfico con texturas, un gráfico que define la superficie de un objeto tridimensional. Los texeles (502a-d) pueden ser unidades indivisibles de texturas presentes en el segmento de memoria (500) . Uno o más texeles (502a) y (502d) pueden corresponder a una porción del atlas de texturas (400a) que está completa o parcialmente contenida en el polígono (108d) . Estos texeles (502a) y (502d) se puede llamar texeles poligonales. Uno o más texeles (502c) pueden corresponder a una porción del atlas de texturas (400a) que está contenido dentro del mosaico de texturas (300d) , pero que no está contenido dentro de alguno de los polígonos (108a-d) . Estos texeles se pueden llamar texeles de mosaico. Uno o más texeles (502d) que no sean texeles poligonales ni tampoco texeles de mosaico se pueden incluir en el segmento de memoria (500) . Debido a que la información contenida en el atlas de texturas y en los mosaicos de texturas se puede emplear para determinar cuales de los texeles en el segmento de memoria son texeles poligonales , los texeles poligonales en el segmento de memoria (500) se pueden considerar que son predeterminados. En el paso (214) , cada polígono (108a-d) se puede convertir por exploración. El paso de conversión por exploración de un polinucleótido se describe tomando como referencia la Figura 6. La conversión por exploración es el proceso por medio del cual los valores de datos contenidos en el volumen de datos (100) se mapean en texeles. Uno o más de los puntos (102a-d) de datos de volumen en el volumen de datos (100) puede interceptar el polígono (108d) en particular. A partir de la información contenida en estos puntos (102a-d) de datos de volumen intersectantes , se crean los texeles (600a-d) que corresponden a los puntos (102a-d) de datos de volumen. Si los puntos (102a-d) de datos de volumen incluyen voxeles, estos últimos se pueden mapear en los texeles (600a-d) correspondientes empleando una técnica matemática bien conocida llamada interpolación trilineal. Haciendo uso de esta técnica, se determina cada texel con una ponderación lineal de ocho (8) voxeles que son los más cercanos al texel en el volumen de datos (100) . Los texeles (600a-d) que se crean en la conversión por exploración pueden corresponder a los texeles poligonales (502a-b) que están contenidos en el segmento de memoria (500) . El arreglo de los mosaicos de texturas dentro de cada atlas de texturas, y la ubicación de cada atlas de texturas dentro del segmento de memoria, no se fija hasta este paso. En el paso (216) , los resultados de la conversión por exploración se pueden escribir en el segmento de memoria (500) . Esto puede incluir la acción de escribir los texeles (600a-d) en los texeles poligonales (502a-b) en el segmento de memoria (500) . En una implementación, cada texel (600a-d) se puede escribir en un texel poligonal (502a-b) correspondiente conforme se vaya creando. En otra implementación, se pueden crear texeles (600a-d) que correspondan a un polígono (108a-d) en particular, y todos los texeles (600a-d) para el polígono (108a-d) se puede escribir en el segmento de memoria (500) . En otras implementaciones, se pueden crear texeles (600a-d) que correspondan a un atlas de texturas (400a-c) en particular y escribir como un grupo, o se pueden crear todos los texeles que correspondan a todos los polígonos (108a-d) y escribir como un grupo. El segmento de memoria (500) puede contener uno o más texeles (502c-d) que no sean texeles poligonales. Estos texeles pueden no contener información que sea útil en la renderización de la superficie (106) . Por ello, estos texeles se pueden considerar inválidos. En una implementación, los texeles (502c-d) inválidos pueden ser texeles en blanco, texeles que contienen únicamente valores iniciales, o texeles que de algún modo están específicamente marcados como inválidos. En otra implementación, los texeles (502c-d) inválidos pueden contener datos de texeles, por ejemplo, datos de texeles provenientes de una renderización de superficie previa u otra operación. Después de que todos los texeles poligonales (502a-b) para todos los polígonos en la superficie poligonal (106) se hayan escrito en los segmentos de memoria (500), los segmentos de memoria (500) pueden contener la información requerida para desplegar la información contenida en el volumen de datos (100) en la superficie (106) . En el paso (218), los resultados se pueden desplegar a un usuario. El contenido de los segmentos de memoria (500) se puede desplegar vía un tubo de rayos catódicos o vía otra pantalla, se pueden imprimir o de alguna otra manera desplegar. El método se puede llevar a cabo junto con otros sistemas y métodos para desplegar de manera gráfica datos de volumen. Por ejemplo, el método se puede emplear junto con un sistema para analizar y para la formación de imágenes de conjuntos de datos de volumen tridimensional, como por ejemplo, el que se describe en la solicitud de patente de los Estados Unidos "Sistema y Método para Analizar y Formar Imágenes de Conjuntos de Datos de Volumen Tridimensional" (System and Met od for Analyzing and Imaging Three-Dimensional Volume Data Sets), número de serie 09/119,635, que se incorpora a esta descripción como referencia. Cuando se pone en práctica la presente invención junto con este tipo de dispositivo, dentro del conjunto de datos de volumen 3D un usuario puede crear, formar, dimensionar y quitar de manera interactiva un número de sondas de muestreo o de superficies especificas de un usuario. La intersección de la sonda de muestreo con el conjunto de datos de volumen 3D se mapea con texturas sobre las superficies de la sonda de muestreo, o el volumen se somete a renderización con varios grados de transparencia dentro de la sonda de muestreo. Por ejemplo, conforme el usuario mueve la sonda de muestreo, como por ejemplo, al "hacer clic o al arrastrar" con un "ratón", el usuario percibe que la textura sobre las superficies de la sonda de muestreo cambia en "tiempo real" con el movimiento de la sonda de muestreo. De esta manera, el usuario puede mover de manera interactiva las sondas de muestreo a través del volumen 3D completo, fácil y efectivamente visualizar e interpretar las características y parámetros físicos que se presentan dentro del espacio geográfico representado por el conjunto de datos de volumen 3D completo. Tomando como referencia la Figura 7, se muestra un diagrama de bloques de un sistema para aplicar una textura de volumen tridimensional a una superficie poligonal de acuerdo con una modalidad de la presente invención. El sistema (700) puede incluir el caché de texturas (702) que contiene una pluralidad de texeles (704) . El sistema (700) también incluye una memoria (706) que puede contener una superficie poligonal (106) y un volumen de datos (100) . La superficie poligonal (106) se puede representar en la memoria (706) mediante una pluralidad de coordenadas vértices que describen una pluralidad de polígonos (108a-d) o mediante algún otro método. El volumen de datos (100) se puede representar en la memoria (706) mediante una pluralidad de puntos (102a-d) de datos de volumen. Cada uno de los puntos (102a-d) de datos de volumen puede ser o puede incluir un voxel. El sistema (700) también contiene un módulo de control (708) puede ser capaz de ejecutar instrucciones ejecutables por la computadora. El módulo de control (708) puede incluir o hacer referencia a instrucciones ejecutables por computadora (710). Las instrucciones ejecutables por computadora (710) se pueden almacenar en el módulo de control (708), en la memoria (706) o en otro sitio. El módulo de control (708) puede ejecutar las instrucciones ejecutables por computadora (710) con el fin de realizar varias funciones. El módulo de control (708) se puede configurar para realizar varias funciones al ejecutar las instrucciones ejecutables por computadora (710). El módulo de control (710) se puede configurar parar quitar el indexado comprimido de la superficie poligonal (106) , por ejemplo, al representar distintamente cada vértice de cada polígono (108a-d) en la superficie poligonal (106) . El módulo de control (708) también se puede configurar para subdividir estos polígonos (108a-d) en la superficie poligonal (106) que son más grandes que un tamaño de mosaico máximo permisible. El módulo de control (708) también se puede configurar para crear un mosaico de texturas (300a-d) para cada polígono (108a-d) contenido en la superficie poligonal (106) . El módulo de control (708) puede almacenar los mosaicos de texturas (300a-d) en la memoria (706) o en sí mismo. El módulo de control (708) además se puede configurar para combinar los mosaicos de texturas (300a-d) en uno o más atlas de texturas (400a-c) . El módulo de control (708) puede almacenar los atlas de texturas (400a-c) en la memoria (706) o en sí mismo. El módulo de control (708) además se puede configurar para asignar un segmento (710a-c) del caché de texturas (702) para cada uno de los atlas de texturas (400a-c) . El módulo de control (708) también se puede configurar para convertir por exploración cada polígono (108a-d) en la 106 en la superficie poligonal (106) basándose en los puntos (102a-d) de datos de volumen contenidos en el volumen de datos (100) . Los resultados de la conversión por exploración pueden ser uno o más texeles, que se pueden escribir en los texeles (704) del caché de texturas (702). Los texeles (704) que se escriben como el resultado de una conversión por exploración de un polígono (108a) en particular pueden ser texeles (704) que están contenidos en el segmento (710a) que se asigna al atlas de texturas (400a) que contiene un trazado que incluye el polígono (108a) . El módulo de control (708) también se puede configurar para desplegar los resultados de la conversión por exploración a un usuario vía un tubo de rayos catódicos, otra pantalla, impresora y otro dispositivo de despliegue . La Figura 8 es un diagrama de flujo que describe una implementación de un método para la subdivisión poligonal y la creación de un mosaico de texturas de acuerdo con una modalidad de la presente invención. Este método puede ser una implementación de los pasos (206) y (208) en la Figura 2. El método inicia en el paso (800) , en donde se puede crear un conjunto de polígonos. El conjunto de polígonos puede ser una representación de los polígonos (108a-d) que constituyen una superficie poligonal (106) . En una implementación, el paso (800) de creación de un conjunto de polígonos puede incluir quitar el indexado comprimido en la representación de los polígonos (108a-d) .
En otra implementación, los polígonos se pueden representar con facilidad sin un indexado comprimido. En el paso (802), se puede crear un conjunto de mosaicos de texturas. El conjunto de mosaicos de texturas se puede configurar para alojar uno o más mosaicos de texturas (300a-d) . El conjunto de mosaicos de texturas puede contener un tamaño máximo de mosaico de texturas, que se puede representar con una anchura y una altura. El conjunto de mosaicos de texturas no puede contener ningún mosaico de texturas (300a-d) cuando se crea. En el paso (804), el conjunto de polígonos se examina para determinar si alguno de los polígonos (108a-d) no procesados permanecen en el conjunto de polígonos. Si el conjunto de polígonos no contiene uno o más polígono sin procesar, el método está completo, y el método termina en el paso (806) . Si el conjunto de polígonos contiene uno o más polígonos (108a-d) no procesados, en el paso (808) se selecciona uno de los polígonos (108a-d) no procesados. En el paso (810) , el polígono (108a-d) se examina con el fin de determinar si el polígono (108a-d) se fijará en un mosaico de texturas (300a-d) de tamaño máximo permisible. Si el polígono (108a-d) no se fijará en un mosaico de texturas (300a-d) de tamaño máximo permisible, el polígono (108a-d) se puede dividir en el paso (812) . La subdivisión puede ser cualquier proceso mediante el cual se crean varios polígonos (108a-d) más pequeños, cuya unión es el polígono (108a-d) original. En una implementación, el polígono (108a-d) se subdivide al bisectar el borde más largo del polígono (108a-d) , y al crear un nuevo borde en el punto de bisección de un vértice del polígono (108a-d) . En otra implementación, el polígono (108a-d) se puede subdividir mediante degeneración centroide. Esto puede incluir encontrar el centroide del polígono (108a-d) , y crear un nuevo borde de cada vértice del polígono (108a-d) en el centroide. En el paso (814), los polígonos (108a-d) resultantes de la subdivisión se pueden colocar en el conjunto de polígonos. Esto puede asegurar que cada uno de estos polígonos (108a-d) se subdivida de ser necesario, y que se cree un mosaico de texturas (300a-d) para cada uno. En el paso (816), el polígono (108a-d) original se puede marcar conforme se procesa. Esto puede incluir, por ejemplo, fijar una variable Boolean o de alguna otra manera indicar que el polígono (108a-d) se ha examinado. No es necesario crear un mosaico de texturas (300a-d) para el polígono (108a-d) original, ya que se crearán mosaicos de texturas (300a-d) para los polígonos (108a-d) resultantes de la subdivisión. Si en el paso (810) se determina que el polígono (108a~d) a examinarse se fijará en un mosaico de texturas (300a-d) de tamaño máximo permisible, en el paso (818) se puede crear un nuevo mosaico de texturas (300a-d) . El mosaico de texturas (300a-d) que se crea puede incluir el polígono (108a-d) o puede contener información que describa el polígono (108a-d) . En una implementación, las dimensiones del mosaico de texturas (300a-d) se pueden elegir para reducir el tamaño del mosaico de texturas (300a-d) al mismo tiempo que se asegura que el mosaico de texturas (300a-d) contiene el polígono (108a-d) . Por ejemplo, en una implementación, el mosaico de texturas (300a~d) puede ser la unidad medidora de carga rectangular más pequeño que contiene el polígono (108a-d) . En el paso (820), el mosaico de texturas (300a-d) se puede agregar al conjunto de mosaicos de texturas. El método después continúa en el paso (816) , en donde el polígono (108a-d) se marca conforme se procesa. El método regresa al paso (804), en donde se determina si existen polígonos (108a-d) sin procesar que aún permanezcan en el conjunto de polígonos. La Figura 9 ilustra un diagrama de flujo que describe una implementación de un método para la generación de atlas de texturas de acuerdo con el paso (210) en la Figura 2. El método inicia en el paso (900), en donde se puede crear un conjunto de atlas de texturas. El conjunto de atlas de texturas se puede configurar para alojar uno o más atlas de texturas (400a-c) . El conjunto de atlas de texturas puede contener un tamaño máximo de atlas de texturas, que se puede representar con una anchura y una altura. El conjunto de atlas de texturas puede no contener ningún atlas de texturas (400a-c) cuando se crea. En el paso (902), se puede examinar un conjunto de mosaicos de texturas para determinar si algún mosaico de texturas (300a-d) sin procesar permanece en el conjunto de mosaicos de texturas. El conjunto de mosaicos de texturas examinado puede ser el conjunto de mosaicos de texturas creado en el Método de la Figura 8. Si el conjunto de mosaicos de texturas no contiene uno o más mosaicos de texturas (300a-d) sin procesar, el método se completa y el método termina en el paso (904) . Si el conjunto de polígonos contiene uno o más mosaicos de texturas (300a-d) sin procesar, en el paso (906) se selecciona uno de los mosaicos de texturas (300a-d) . En el paso (908), el mosaico de texturas (300a-d) y el conjunto de atlas se examinan con el fin de determinar si el mosaico de texturas (300a-d) se fijará en algún atlas de texturas (400a-c) contenido en el conjunto de atlas de texturas. Si el mosaico de texturas (300a-d) no se fija en ningún atlas de texturas (400a-c), en el paso (910) se puede crear un nuevo atlas de texturas (400a-c) . El nuevo atlas de texturas (400a-c) se puede colocar en el conjunto de atlas de texturas. En una implementación, el espacio vacio en el atlas de texturas (400a-c) se representa con los mosaicos de texturas (300a-d) vacíos en el atlas de texturas (300a-c) . Estos pueden ser mosaicos de texturas (300a-d) que se marcan específicamente como vacíos. En esta implementación, al atlas de texturas (400a-c) se puede agregar un solo mosaico de texturas (300a-d) vacío, de las dimensiones del atlas de texturas (400a-c) . En el paso (912), el mosaico de texturas (300a-d) seleccionado en el paso (906) se puede agregar a un atlas de texturas (400a-c) en el conjunto de atlas de texturas. En una implementación, la colocación del mosaico de texturas (300a-d) se puede llevar a cabo de una manera optimizada o de otra manera para reducir el espacio vacío en los atlas de texturas (400a~c) . En una implementación, el espacio vacío en cada atlas de texturas (400a-c) se representa con los mosaicos de texturas (300a-d) . En esta implementación, el mosaico de texturas (300a-d) agregado al conjunto de atlas de texturas se puede colocar en el sitio del mosaico de texturas (300a-d) vacío que tiene la diferencia de área más pequeña con el mosaico de texturas (300a-d) agregado. Una vez que se haya agregado el mosaico de texturas (300a-d) , se pueden crear nuevos mosaicos de texturas (300a-d) vacíos. Estos nuevos mosaicos de texturas (300a-d) puede cubrir el área del atlas de texturas (400a-c) que anteriormente se cubrió con el mosaico de texturas (300a-d) vacio, pero no se cubre con el mosaico de texturas (300a-d) que se agregó. Estos nuevos mosaicos de texturas (300a-d) vacíos se pueden colocar en el" sitio de la diferencia de área entre el mosaico de texturas (300a-d) agregado y el mosaico de texturas (300a-d) vacío. En el paso (914), el mosaico de texturas (300a-d) se puede marcar conforme se procesa. Esto puede incluir, por ejemplo, fijar una variable Boolean o de alguna otra manera indicar que el mosaico de texturas (300a-d) se ha colocado en el conjunto de atlas de texturas. El método regresa al paso (902) , en donde se determina si existen algunos mosaicos de texturas (300a-d) sin procesar que aún permanezcan en el conjunto de mosaicos de texturas. La anterior descripción de la invención es ilustrativa, y aquellos experimentados en la técnica percibirán algunas modificaciones en la configuración e implementación . Por ejemplo, se pueden combinar pasos o se pueden llevar a cabo en cualquier orden. Si bien se han descrito mosaicos de texturas y atlas de texturas como segmentos físicos de memoria electrónica capaces de contener uno o más polígonos, no es necesario que contengan físicamente esta memoria. En lugar de ello, los mosaicos de texturas y atlas de texturas pueden incluir datos que especifiquen las dimensiones de un segmento suficiente de memoria. En algunas modalidades se puede distribuir un hardware, software u otros recursos descritos en particular, y de igual modo se pueden combinar los recursos de las modalidades descritas conforme se distribuyan. El alcance de la presente invención, por consiguiente está destinado, a limitarse únicamente por las siguientes reivindicaciones .

Claims (33)

  1. REIVINDICACIONES 1. Un método para desplegar datos de gráficos, los datos de gráficos comprende por lo menos un punto de datos de volumen dentro de un volumen de datos; el método comprende los pasos de: crear un atlas de texturas; el atlas de texturas comprende un trazado bidimensional de por lo menos un polígono en la superficie poligonal; asignar un segmento de memoria para el atlas de texturas y el volumen de datos; convertir por exploración el o los polígonos para formar un texel correspondiente; escribir el texel en el segmento; y determinar una intersección del texel y la superficie poligonal.
  2. 2. El método según la reivindicación 1, en donde el o los polígonos es un triángulo.
  3. 3. El método según la reivindicación 1, en donde el volumen de datos es un volumen de datos sísmicos que comprende por lo menos un atributo de amplitud, fase, frecuencia, fisonomía y coherencia.
  4. 4. El método según la reivindicación 1, en donde además comprende el paso de crear un mosaico de texturas .
  5. 5. El método según la reivindicación 4, en donde además comprende los pasos de: determinar si el o los polígonos fijos tienen un tamaño máximo predeterminado de mosaico de texturas; subdividir el o los polígonos en una pluralidad de polígonos de componentes si no se fija en el tamaño máximo predeterminado de mosaico de texturas, y marcar el o los polígonos y cada uno de la pluralidad de polígonos de componente que tienen el tamaño máximo predeterminado de mosaico de texturas .
  6. 6. El método según la reivindicación 5, en donde además comprende el paso de crear un conjunto de mosaicos de texturas, el conjunto de mosaicos de texturas comprende una pluralidad de mosaicos de texturas, la pluralidad de mosaicos de texturas incluye el mosaico de texturas, cada uno de la pluralidad de mosaicos de texturas contiene por lo menos uno de, el o los polígonos y la pluralidad de polígonos de componentes.
  7. 7. El método según la reivindicación 5, en donde el o los polígonos que no tienen el tamaño máximo de mosaico comprende un borde más largo, un punto medio en el borde más largo y un vértice.
  8. 8. El método según la reivindicación 7, en donde además comprende los pasos de: crear un borde entre el punto medio y el vértice; y llevar a cabo una degeneración del centroide.
  9. 9. El método según la reivindicación 6, en donde además comprende los pasos de: determinar si cada uno de la pluralidad de mosaicos de texturas tiene un tamaño máximo predeterminado de atlas de texturas; asignar cada uno de la pluralidad de mosaicos de texturas que tienen el tamaño máximo de atlas de texturas al atlas de texturas; asignar cada uno de la pluralidad de mosaicos de texturas que no tienen el tamaño máximo de atlas de texturas a un nuevo atlas de texturas; marcar cada uno de la pluralidad de mosaico de texturas que se asignan al atlas de texturas y al nuevo atlas de texturas.
  10. 10. El método según la reivindicación 9, en donde además comprende el paso de comparar el tamaño de un mosaico de cada uno de la pluralidad de mosaicos de texturas con el tamaño máximo de atlas de texturas, cada uno de la pluralidad de mosaicos de texturas asignados al atlas de texturas y al nuevo atlas de texturas se asignan para minimizar una diferencia entre un tamaño de mosaico colectivo para la pluralidad de mosaicos de texturas asignados al atlas de texturas y al tamaño de atlas de texturas, y para minimizar una diferencia entre un tamaño de mosaico colectivo para la pluralidad de mosaicos de texturas asignados al nuevo atlas de texturas y al tamaño máximo de atlas de texturas .
  11. 11. el método según la reivindicación 1, en donde el segmento de memoria comprende el caché de texturas .
  12. 12. El método según la reivindicación 1, en donde el texel se basa en un punto de datos de volumen correspondientes .
  13. 13. El método según la reivindicación 1, en donde además comprende el paso de procesar una representación del o los polígonos para quitar algún indexado comprimido.
  14. 14. El método según la reivindicación 13, en donde el procesamiento de la representación del o los polígonos comprende representar por lo menos un vértice para el polígono.
  15. 15. El método según la reivindicación 1, en donde además comprende el paso de desplegar por lo menos una porción de la intersección del texel y la superficie poligonal a un usuario.
  16. 16. Un atlas de texturas que comprende: un caché de texturas; un número que identifica el mosaico de texturas; un número que identifica la ubicación del mosaico de texturas en el atlas de texturas; una dimensión del atlas de texturas; una proporción dimensional del atlas de texturas; y coordenadas que identifican la posición del atlas de texturas en un segmento de memoria designado para el atlas de texturas.
  17. 17. el atlas de texturas según la reivindicación 16, en donde el mosaico de texturas comprende: una representación de un polígono, la representación del polígono comprende vértices, los vértices están contenidos, al menos parcialmente, en un volumen de datos tridimensional; coordenadas que identifican un origen del polígono; un número que identifica el polígono; una dimensión del mosaico; un número que identifica el mosaico; un número que identifica el atlas de texturas que contiene el mosaico; coordenadas que identifican la ubicación del mosaico en el atlas de texturas; y coordenadas que identifican la posición del mosaico en una imagen desplegada.
  18. 18. El atlas de texturas según la reivindicación 17, en donde el volumen de datos comprende datos sísmicos, los datos sísmicos comprenden por lo menos un atributo de amplitud, fase, frecuencia, fisonomía o coherencia.
  19. 19. El atlas de texturas según la reivindicación 17, en donde el polígono es un triángulo.
  20. 20. El atlas de texturas según la reivindicación 17, en donde la representación del polígono comprende coordenadas distintas para cada uno de sus vértices.
  21. 21. El atlas de texturas según la reivindicación 16, en donde el segmento de memoria comprende un caché de texturas .
  22. 22. Un sistema que comprende un dispositivo de almacenamiento de programas que se puede leer con una máquina, el dispositivo de almacenamiento de programas representa un programa de instrucciones ejecutables por la máquina para desplegar los datos de gráficos, los datos de gráficos comprenden por lo menos un punto de datos de volumen dentro de un volumen de datos; las instrucciones comprenden los pasos de: crear un atlas de texturas, el atlas de texturas comprende un trazado bidimensional de por lo menos un polígono en una superficie poligonal; asignar un segmento de memoria para el atlas de texturas y el volumen de datos; convertir por exploración el o los polígonos para formar un texel correspondiente; escribir el texel en el segmento de memoria; y determinar una intersección del texel y la superficie poligonal.
  23. 23. El sistema según la reivindicación 22, en donde el o los polígonos son un triángulo.
  24. 24. El sistema según la reivindicación 22, en donde el volumen de datos es un volumen de datos sísmicos que comprende por lo menos un atributo de amplitud, fase, frecuencia, fisonomía y coherencia.
  25. 25. El sistema según la reivindicación 22, en donde el atlas de texturas comprende un mosaico de texturas .
  26. 26. El sistema según la reivindicación 25, en donde además comprende el paso de crear un conjunto de mosaicos de texturas, el conjunto de mosaicos de texturas comprende el mosaico de texturas y otro mosaico de texturas .
  27. 27. El sistema según la reivindicación 26, en donde el atlas de texturas comprende por lo menos uno de: el atlas de texturas y el otro atlas de texturas.
  28. 28. El sistema según la reivindicación 27, en donde además comprende el paso de crear un conjunto de atlas de texturas, el conjunto de atlas de texturas comprende el atlas de texturas y otro atlas de texturas, el otro atlas de texturas comprende por lo menos uno de: el mosaico de texturas y el otro mosaico de texturas.
  29. 29. El sistema según la reivindicación 25, en donde el mosaico de texturas contiene el polígono.
  30. 30. El sistema según la reivindicación 22, en donde el segmento de memoria comprende el caché de texturas .
  31. 31. El sistema según la reivindicación 22, en donde el texel se basa en un punto de datos de volumen correspondientes .
  32. 32. El sistema según la reivindicación 22, en donde además comprende el paso de procesar una representación del o los polígonos para quitar cualquier indexado comprimido .
  33. 33. El sistema según la reivindicación 32, en donde la representación gráfica del o los polígonos comprende por lo menos un vértice para el polígono. R SUMEN DE LA INVENCIÓN Se describen sistemas y métodos para desplegar datos de volumen en una superficie poligonal arbitraria tridimensional. Para cada polígono en la superficie poligonal, se crea un mosaico de texturas bidimensional y estos mosaicos de texturas se combinan para formar atlas de texturas. Cada atlas de texturas se asigna a una cantidad específica de memoria en un caché de texturas. Cada polígono en la superficie poligonal se puede convertir por exploración y los texeles resultantes se pueden colocar en el caché de texturas. Los voxeles que no interceptan ningún polígono en la superficie poligonal no se pueden convertir por exploración. Este método puede reducir el uso del caché de texturas .
MXPA06001497A 2003-08-06 2004-08-05 Sistema y metodo para aplicar texturas tridimensionales de volumen exacto a superficies arbitrariamente trianguladas. MXPA06001497A (es)

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 (1)

Publication Number Publication Date
MXPA06001497A true MXPA06001497A (es) 2006-05-15

Family

ID=34116431

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06001497A MXPA06001497A (es) 2003-08-06 2004-08-05 Sistema y metodo para aplicar texturas tridimensionales de volumen exacto a superficies arbitrariamente trianguladas.

Country Status (13)

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

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003277561A1 (en) * 2002-11-05 2004-06-07 Asia Air Survey Co., Ltd. Visualizing system, visualizing method, and visualizing 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
CN101512633B (zh) * 2006-07-24 2012-01-25 索尼株式会社 毛发运动合成器系统和用于毛发/皮毛流水线的优化技术
US7889205B1 (en) * 2006-10-24 2011-02-15 Adobe Systems Incorporated Frame buffer based transparency group computation on a GPU without context switching
AU2008275873B2 (en) * 2007-07-19 2013-06-06 Disney Enterprises, Inc. Methods and apparatus for multiple texture map storage and filtering
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
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 (zh) * 2010-07-16 2012-08-29 光庭导航数据(武汉)有限公司 二维地图背景在三维图形显示加速设备上的显示方法
US9269181B2 (en) 2011-04-04 2016-02-23 Mitsubishi Electric Corporation Texture mapping device
US8872839B2 (en) * 2011-09-09 2014-10-28 Microsoft Corporation Real-time atlasing of graphics data
WO2013086137A1 (en) 2011-12-06 2013-06-13 1-800 Contacts, 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
US9378584B2 (en) 2012-05-23 2016-06-28 Glasses.Com Inc. Systems and methods for rendering virtual try-on products
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
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
RU2604674C2 (ru) 2012-06-27 2016-12-10 Лэндмарк Графикс Корпорейшн Системы и способы для создания трехмерного текстурного атласа
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 (zh) * 2014-01-21 2017-12-26 北京炬力北方微电子有限公司 一种三维投影的方法及装置
CN104199091B (zh) * 2014-08-25 2017-03-01 电子科技大学 基于方位地震数据的纹理属性方法
CN107248187B (zh) * 2017-05-22 2020-12-08 武汉地大信息工程股份有限公司 一种快速三维模型纹理切割重组的方法
CN107330454B (zh) * 2017-06-20 2020-07-17 陈文芹 非线性海量高维序列数据分类特性可视化及定量分析方法
US11348287B2 (en) * 2018-07-16 2022-05-31 Adobe Inc. Rendering of graphic objects with pattern paint using a graphics processing unit
BR112022016222A2 (pt) * 2020-02-19 2022-10-04 Interdigital Vc Holdings Inc Método e aparelho para criação de um atlas, e, método
US11748940B1 (en) * 2021-10-11 2023-09-05 Meta Platforms Technologies, Llc Space-time representation of dynamic scenes
CN117372600A (zh) * 2023-09-25 2024-01-09 深圳市地质环境研究院有限公司 三维地质模型自动纹理贴图方法

Family Cites Families (17)

* 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
WO1996027169A1 (en) * 1995-03-02 1996-09-06 Parametric Technology Corporation Computer graphics system for creating and enhancing texture maps
JP2930102B2 (ja) * 1997-01-31 1999-08-03 日本電気株式会社 半導体装置用配線構造及びその製造方法
US6373486B1 (en) * 1997-02-03 2002-04-16 Landmark Graphics Corporation Method and apparatus for creating representations of geologic shapes
US6064771A (en) * 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
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
JP3005581B1 (ja) * 1999-03-16 2000-01-31 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲ―ム装置
US6744442B1 (en) * 2000-08-29 2004-06-01 Harris Corporation Texture mapping system used for creating three-dimensional urban models
US6438493B1 (en) * 2000-09-29 2002-08-20 Exxonmobil Upstream Research Co. Method for seismic facies interpretation using textural analysis and neural networks
US6636225B2 (en) * 2000-11-20 2003-10-21 Hewlett-Packard Development Company, L.P. Managing texture mapping data in a computer graphics system
US6493858B2 (en) * 2001-03-23 2002-12-10 The Board Of Trustees Of The Leland Stanford Jr. University Method and system for displaying VLSI layout data
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

Also Published As

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

Similar Documents

Publication Publication Date Title
US7310102B2 (en) System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces
JP4637837B2 (ja) 複数属性のリアルタイム同時レンダリング方法、システム及びプログラム
CN103185896B (zh) 用于对波形体进行成像的系统和方法
EP1775685B1 (en) Information processing device and program
JP2007528529A (ja) 3dデータ集合のサーフェスを識別するための方法及びシステム(「ボクセル分割」)
MX2010012490A (es) Sistemas y metodos para formar la imagen de un volumen tridimensional de datos de rejilla geometricamente irregulares que representan un volumen de rejilla.
US20240212863A1 (en) Unified anisotropic volume and surface mesh storage
US20160155266A1 (en) Systems and methods for creating a three-dimensional texture atlas
US6897863B2 (en) System and method for hidden object removal
US20130060488A1 (en) Image processing system and method for ndt/ndi testing devices
US20090303236A1 (en) Method and system for explicit control of lighting type in direct volume rendering
Shen et al. Interactive visualization of three-dimensional vector fields with flexible appearance control
Zehner On the visualization of 3D geological models and their uncertainty
US20110074777A1 (en) Method For Displaying Intersections And Expansions of Three Dimensional Volumes
CN112053437B (zh) 一种基于等值线的地球物理勘探三维建模方法
Pajon et al. Discrete Data Visualization in Geology
Reed Interactive volume rendering and deformation for surgery simulation
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.
Ropinski et al. Interactive Visualization of Subsurface information

Legal Events

Date Code Title Description
FG Grant or registration