MXPA06012368A - Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional. - Google Patents

Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional.

Info

Publication number
MXPA06012368A
MXPA06012368A MXPA06012368A MXPA06012368A MXPA06012368A MX PA06012368 A MXPA06012368 A MX PA06012368A MX PA06012368 A MXPA06012368 A MX PA06012368A MX PA06012368 A MXPA06012368 A MX PA06012368A MX PA06012368 A MXPA06012368 A MX PA06012368A
Authority
MX
Mexico
Prior art keywords
objects
visual
model
scene
tree
Prior art date
Application number
MXPA06012368A
Other languages
English (en)
Inventor
Joseph S Beda
Adam M Smith
Gregory D Swedberg
Greg D Schechter
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA06012368A publication Critical patent/MXPA06012368A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Generation (AREA)

Abstract

Una jerarquia de objetos visuales (2D) y objetos de escena (3D) se integra para procesamiento uniforme para presentar imagenes (2D) que incluyen una vista (2D) de una escena (3D) en una presentacion de computadora (2D). El procesamiento de los objetos de modelo (3D) y objetos visuales (2D) en la jerarquia visual se integran para que el procesamiento se controle facilmente entre las operaciones (3D) y (2D). Ademas el numero de transiciones entre los objetos visuales (2D) de procesamiento y objetos de modelo (3D) cuando se crea una imagen de presentacion no tiene limite de arquitectura. Una estructura de datos integra los objetos de programa de computadora para crear imagenes (3D) e imagenes (2D) en una jerarquia de objeto de arbol visual que tiene objetos visuales (2D) u objetos de escena (3D) que senalan a objetos de modelo (3D). La estructura de datos comprende una jerarquia de arbol de objeto, una o mas objetos visuales (2D), y uno o mas objetos de referencia o escena (3D) que senalan a los objetos de modelo (3D). Los objetos visuales (2D) definen operaciones que dibujan una imagen (2D). Los objetos de referencia o de escena (3D) definen referencias que senalan a objetos con operaciones que dibujan una vista bidimensional de una escena tridimensional formada de uno o mas modelos (3D). Los objetos de referencia (3D) o de escena senalan a los objetos de modelo (3D) y un objeto de camara. El objeto de camara define una vista bidimensional de la escena (3D). Los objetos de modelo (3D) dibujan los modelos (3D) y definen informacion de malla utilizada en contornos de dibujo de un modelo e informacion material utilizada en dibujar textura de superficie de un modelo. La informacion de material para la textura de superficie de un modelo puede definirse por un objeto visual (2D), un objeto de referencia (3D) o de escena o una jerarquia de arbol de objetos visuales (2D) y/u objetos de escena de referencia (3D).

Description

Además, este problema se agrava por la introducción de gráficos tridimensionales (3D) y efectos especiales con una animación de las imágenes 3D que se presentan. Lo que se necesita es una generación de gráficos y sistema de composición que presenta imágenes 3D en tiempo real, que cree las imágenes como las imágenes se recuerdan por el programa de computadora. Además, la creación de imágenes 3D se debe integrar en presentación de gráficos bidimensional (2D) como se necesite para proporcionar una mezcla de imágenes 3D y 2D en la presentación. Con respecto a estas consideraciones y otras la presente invención se ha hecho.
BREVE DESCRIPCION DE LA INVENCIÓN Los problemas anteriores y otros se resuelven al integrar objetos de modelo 3D en una jerarquía de objetos visuales 2D y las imágenes 3D y 2D que se procesan uniformemente para presentarse en una presentación 2D. El procesamiento de los objetos de modelo 3D y objetos visuales 2D en la jerarquía visual se integran para que el procesamiento se controle fácilmente entre las operaciones 3D y 2D. Además del número de transiciones entre los objetos 2D de visuales de procesamiento y objetos de modelo 3D cuando crean una imagen de presentación no tienen límite de arquitectura. De esa forma, el usuario es libre de crear gráficos que fijan imágenes 3D en imágenes 2D e imágenes 2D en imágenes 3D hasta el infinito. Por ejemplo, un cuadro de dialogo de interfase de usuario se texturizaría en una esfera que se presenta como parte de otro cuadro de dialogo que a su vez se texturiza en un cono. De acuerdo con otro aspecto, la presente invención se refiere a una estructura de datos para integrar objetos de programa de computadora para crear imágenes 3D e imágenes 2D en una jerarquía de objeto tridimensional visual que tiene objetos 2D u objetos de escena 3D que señalan a objetos de modelo 3D. Los objetos 2D visuales definen operaciones que dibujan una imagen 2D. La referencia 3D o los objetos de escena definan referencias que señalan a esos objetos con operaciones que juntas dibujan una vista bidimensional de una escena tridimensional formada de uno ó más modelos 3D. La referencia 3D u objetos de escenas señalan a los objetos de modelo 3D y un objeto de cámara. El objeto de cámara define una vista bidimensional de la escena 3D. Los objetos de modelo 3D presentan los modelos 3D y definen información de maya utilizada en contornos de dibujo de un modelo e información material utilizada en la textura de superficie de dibujo de un modelo. La información de material de la textura de superficie de un modelo puede definirse por un objeto 2D, visual, una referencia 3D u objeto de escena o una jerarquía de árbol de objetos 2D visual y/o objetos de escena de referencia 3D. De acuerdo con otro aspecto, la presente invención se refiere a un método para procesar una jerarquía de objetos visuales de programa de computadora para crear una mezcla de imágenes bidimensionales (2D) y tridimensionales (3D) como salida de una computadora. El método comprende atravesar ramas de una primera jerarquía de árbol de objetos visuales para procesar objetos de hoja y objetos de rama y detectar si el siguiente objeto visual no procesado es un objeto 2D visual o un objeto 3D visual. Se detecta un objeto 2D visual, un procedimiento 2D llama para procesar el objeto visual. Si un objeto 3D visual se detecta, un procedimiento 3D se llama para procesar al objeto visual. El procedimiento 3D establece una vista de cámara y presenta imágenes de uno ó más modelos 3D definidos por el objeto 3D visual. Las imágenes se presentan basadas en la vista de cámara de una ó más modelos 3D.
La invención puede implementarse como un procedimiento de computadora, un sistema de cómputo o como un artículo de fabricación tala como un producto de programa de computadora o medios legibles por computadora. Los medios legibles por computadora pueden ser un medio de almacenamiento de computadora legible por un sistema de computadora y que codifica un programa de computadora de instrucciones para ejecutar un procedimiento de computadora. Los medios legibles por computadora también pueden ser una señal propagada en un vehículo legible por un sistema de cómputo y que codifican un programa de computadora de instrucciones para ejecutar un procedimiento de computadora. Estas y varias otras características así como ventajas, que caracterizan la presente invención, serán evidentes a partir de una lectura de la siguiente descripción detallada y revisión de los dibujos asociados.
BREVE DESCRIPCION DE LOS DIBUJOS La Figura 1 ilustra una jerarquía de objeto visual organizada de acuerdo con una modalidad de la presente invención para fijar objetos 3D en un árbol visual de objetos 2D. La Figura 2 ilustra un ejemplo de un ambiente de sistema de cómputo adecuado en el cual las modalidades de la invención pueden implementarse. La Figura 3 es un diagrama de bloque que generalmente representa una arquitectura de capa de gráficos en el cual se puede incorporar la presente invención. La Figura 4 es una representación de un gráfico de escena de visuales y componentes asociados para procesar el gráfico de escena tal como el atravesar el gráfico de escena para proporcionar comandos de gráficos y otros datos. La Figura 5 es una representación de un gráfico de escena de visuales de validación, visuales de dibujo y primitivos de dibujo asociados construidos. La Figura 6 ilustra un ejemplo detallado de una porción de una jerarquía de árbol visual en donde se señala un objeto 3D visual a un objeto de modelo 3D que tiene un objeto 3D primitivo con contenido 3D visual que además señala a la escena 3D formada de un grupo de modelos 3D con uno de tales modelos 3D que tiene un objeto 2D visual como contenido de material. La Figura 7 ilustra los parámetros de cámara utilizados al definir una vista de cámara o vista 2D de una escena o modelo 3D. La Figura 8 es un cuadro de flujo de operaciones que ¡lustra el flujo operacional para procesar objetos 2D visuales en un árbol visual y la transición para procesar objetos 3D visuales en el mismo árbol visual. La Figura 9 es un cuadro de flujo de operaciones que ilustra flujo operacional para procesar objetos 3D visuales en un árbol visual y la transición a los objetos 2D visuales de procesamiento en le mismo árbol visual. La Figura 10 es un árbol de objeto visual ilustrativo que ilustra el procesamiento por los cuadros de flujo de operaciones de las Figuras 8 y 9.
DESCRIPCION DETALLADA DE LA INVENCIÓN De acuerdo con una modalidad de la invención, La Figura 1 ilustra referencia 3D u objetos de escena integrados en una jerarquía de árbol de objeto visual para que el árbol tenga tanto objetos 2D visuales como referencia 3D u objetos visuales de escenas. "Visual", cuando se asocia aquí con objetos, representa un dibujo presentado es una pantalla de presentación de computadora por el objeto. En esta ilustración ilustrativa de un árbol visual, un objeto visual de raíz 10 tiene cuatro hijos con modalidades alternas para un hijo que es un hijo de escena 3D. Los hijos 2D visuales son objetos 12, 14, y 16, y uno de los objetos de escena 3D 18 y 20 en la alternativa es el cuarto hijo del objeto visual de raíz 10. El objeto de escena 3D 18 es un objeto 3D visual 18 y contiene una referencia o señalador 23 al objeto (S) 3D de modelo 24 y una referencia o señalador 25 a un objeto de cámara 22 para ver un modelo 3D como una imagen 2D. Los objetos 3D visuales se describen en más detalle en la solicitud de patente de referencia cruzada titulada INTERFASE DE PROGRAMA DE APLICACIÓN DE CONSTRUCCIÓN DE MODELO 3D y mencionada anteriormente. La cámara 22 del modelo(s) 3D dibujado por el objeto(s) 24 como una escena 3D. El objeto(s) 3D del modelo 24 y el objeto de cámara 22 juntos producen una imagen 2D y la escena 3D en una pantalla de presentación de computadora. El objeto de escena 3D 20 es un objeto 2D visual con contexto de dibujos. En esta modalidad de la invención, el contexto de dibujo del objeto 2D visual contiene la referencia o señalador 27 al objeto (s) 3D de modelo 24 y la referencia o señalador 29 al objeto de cámara 22. Para crear una imagen y presentar una presentación las ramas del árbol visual se atraviesan y procesan de izquierda a derecha; de esa forma la secuencia de presentación de la Figura 1 se muestra de izquierda a derecha. El objeto 2D visual con contexto de dibujo y el procesamiento del árbol visual se describe en la solicitud comúnmente asignada titulada INTERFASE GRAFICA VISUAL Y DE ESCENA mencionada anteriormente en la referencia cruzada a la solicitudes relacionadas. Una breve revisión de ese procesamiento se incluirá aquí en la descripción de las Figuras 3 a 5. Para ilustrar como se produce una presentación de imagen en esta secuencia de presentación asumiremos que el objeto 2D visual 12 crea un triángulo, el objeto 2D visual 14 produce un círculo, y el objeto 2D visual 16 produce un cuadrado. El objeto 3D visual de escena 3D 18 u objeto 2D visual de escena 3D 20 produce una escena 3D como se ve desde una cámara. Ya que la secuencia de presentaciones de izquierda a derecha y los objetos presentados posteriormente traslapan objetos presentados anteriormente, el árbol visual 8 producirá la imagen de presentación 25 en la Figura 1. En otras palabras, el triángulo, producido del visual 12, y él circulo, producido del visual 14, se traslapan por el cuadrado proporcionado por el visual 16 debido a que el visual 16 se procesa después del visual 12 y 14. De forma similar, la vista 2D de la escena 3D creada por el objeto de escena 3D 18 o 20 se produce después del círculo y se traslapa al círculo. Al proporcionar objetos de escena 3D que contienen una escena 3D y una cámara virtual para ver esa escena, la escena 3D se convierte a una imagen 2D que puede presentarse como otra imagen 2D desde el árbol visual. Además, ya que las imágenes se dibujan más que ser imágenes de mapa de bit, la presentación puede presentarse en tiempo real en una pantalla de presentación de computadora o como otra salida de video de computadora. En otra característica significante de la invención, el objeto(s) de modelo 3D 24 tiene material o información de textura 26. La información de material 26 puede señalar a otro árbol visual representado por el objeto visual 28. Este objeto visual 28 puede tener objetos 2D visuales y objetos de escena 3D justo como al objeto de raíz de árbol visual 10. De esa forma, la jerarquía de árbol visual puede fijar objetos de escena 3D en un árbol visual con objetos 2D y, además, un segundo árbol visual con objetos 2D y objetos de escena 3D a su vez pueden fijarse en los modelos 3D de los objetos de escena 3D en el primer árbol visual. Está fijación de alternado secuencial de objetos 3D y 2D en la jerarquía de árbol pueden proceder tantas veces como se desee por el creador de programa de gráficos para crear la presentación deseada de imágenes 2D y 3D mezcladas. Una ilustración más detallada de la integración de objetos 3D con objetos 2D en una jerarquía de árbol visual se muestra en la Figura 6. Sin embargo, las Figuras 2-5 ahora se describirán para proporcionar ambiente de operación ilustrativo y un ambiente de software para procesar la jerarquía de árbol visual integrada.
AMBIENTE OPERATIVO ILUSTRATIVO La Figura 2 ilustra un ejemplo de un ambiente y sistema de cómputo adecuado 100 en el cual se puede implementar la invención. El ambiente de sistema de computo 100 solo es un ejemplo de un ambiente de computo adecuado que no pretende sugerir ninguna alimentación al alcance de uso o funcionalidad de la invención. El ambiente de cómputo 100 tampoco debe ser interpretado como teniendo alguna dependencia o requerimiento que se relaciona a alguno o combinación de componentes ilustrados en el ambiente operativo ilustrativo 100. La invención es operacional con numerosos otros ambientes o configuraciones de sistema de cómputo de propósito general o propósito especial. Los ejemplos de sistemas de cómputo bien conocidos, ambientes y/o configuraciones que pueden ser adecuados para utilizarse con la invención incluyen, pero no se limitan a, computadoras personales, computadoras de servidor, dispositivos móviles o portátiles, dispositivos de tableta, sistemas de multiprocesador, sistemas a base de microprocesador, cajas de TV por cable, electrónica programable para el consumidor, PCs de red, minicomputadoras, macrocomputadoras, ambientes de cómputo distribuido que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares. La invención puede describirse en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, que se ejecutan por una computadora. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, y así sucesivamente, que realizan tareas particulares o implementan tipos de datos abstractos particulares. La invención también puede practicarse en ambientes de cómputo distribuidos en donde las tareas se realizan por dispositivos de procesamiento remotos se enlazan a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden localizarse tanto en medios de almacenamiento de computadora local y remota que incluyen dispositivos de almacenamiento de memoria. Con referencia a la Figura 2, un sistema ilustrativo para ¡mplementar la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110. Los componentes de computadora 110 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que incluyen la memoria de sistema a la unidad de procesamiento 120. El conductor común de sistema 121 puede ser cualquiera de varios tipos de estructuras de conductor común que incluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. Como ejemplo, y no limitación, tales arquitecturas incluyen conductor común de Arquitectura Estándar de Industria (ISA), conductor común de Arquitectura de Micro Canal (MCA), conductor común ISA Aumentado (EISA), conductor común local de Asociación de Estándares Electrónicos de Vídeo (VESA), conductor común de Puerto de Gráficos Acelerado (AGP) y conductor común de Interconexión de Componente Periférico (PCI) también conocido como conductor común de Mezanine.
La computadora 110 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora puede ser cualquier medio disponible que se puede acceder por la computadora 110 e incluye tanto medios volátiles como no volátiles, medios removibles y no removibles. Como ejemplo, y no limitación, los medios legibles por computadora pueden comprender medios de almacenamiento de computadora y medios de comunicación. Los medios de almacenamiento por computadora incluyen tanto medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento de computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria instantánea u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada y que puede accederse por la computadora 110. Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como onda de vehículo u otro mecanismo de transporte e incluye cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no limitación, los medios de comunicación incluyen medios mediante cables tal como red mediante cables o conexión mediante cables directa, y medios inalámbricos tal como medios acústicos, de RF, infrarrojos y otros medios inalámbricos. Combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medio legible por computadora. La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memoria sólo de lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 110, tal como durante el arranque, se almacena típicamente en ROM 131. RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles y/o ahora están siendo operados por la unidad de procesamiento 120. A manera de ejemplo, y no limitación, la Figura 2 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento de computadora removibles/no removibles, volátiles/ no volátiles. A manera de ejemplo solamente, la Figura 2 ilustra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156 tal como un CD ROM u otros medios ópticos. Otros medios de almacenamiento de computadora removibles/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria instantánea, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una interfase de memoria no removible tal como interfase 140, y unidad de disco magnético 151 y unidad de disco óptico 155 típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como interfase 150. Las unidades y sus medios de almacenamiento de computadora asociados discutidos anteriormente e ilustrados en la Figura 2, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 2, por ejemplo, la unidad de disco duro 141 se ilustra como sistema operativo de almacenamiento 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Se debe notar que estos componentes pueden ser iguales o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 aquí se les da números diferentes para ilustrar que, en un mínimo, son copias diferentes. Un usuario puede introducir comandos e información en la computadora 100 a través de dispositivos de entrada tal como una tableta (digitalizador electrónico) 164, un micrófono 163, un teclado 162 y dispositivo de señalamiento 161, comúnmente denominado como ratón, seguibola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir una palanca de mando, almohadilla de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema, pero puede conectarse a través de otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto de juego o un conductor común en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. El monitor 191 también puede integrarse con un panel 193 o similares que pueden ingresar entrada digitalizada tal como escritura a mano en el sistema de computadora 110 a través de una interfase, tal como una interfase de pantalla sensible al tacto 192. Se debe notar que el monitor y/o panel de pantalla sensible al tacto pueden acoplarse físicamente a un alojamiento en el cual se incorpora el dispositivo de cómputo 110, tal como en una computadora personal de tipo de tableta. En donde el panel de pantalla sensible al tacto 193 esencialmente sirve como la tableta 164. Además, las computadoras tal como el dispositivo de cómputo 110 también pueden incluir otros dispositivos de salida periféricos tal como bocinas 195 e impresora 196, que pueden estar conectados a través de una interfase periférica de salida 194 ó similares. La computadora 110 puede operar en un ambiente en red que utiliza conexiones lógicas a una o más computadoras remotas, tal como computadora remota 180. La computadora remota 180 puede ser una computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos a la computadora 110, aunque sólo se ilustró un dispositivo de almacenamiento de memoria 181 en la Figura 2. Las conexiones lógicas ilustradas en la Figura 2 incluyen una red de área local (LAN) 171 y una red de área amplia (WAN) 173, pero también puede incluir otras redes. Tales ambientes en red están ubicados comúnmente en oficinas, redes de computadoras extendidas en empresa, intranets e Internet. Cuando se utiliza en un ambiente en red de LAN, la computadora 110 se conecta a la LAN 171 a través de una interfase de red o adaptador 170. Cuando se utiliza en un ambiente en red de WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como Internet. El módem 172, que puede ser interno o externo, puede conectarse al conductor común de sistema 121 por medio de la interfase de entrada de usuario 160 u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remoto. A manera de ejemplo, y no limitación, la Figura 2 ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181. Se apreciará que las conexiones de red mostradas son ilustrativas y se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras.
AMBIENTE DE SOFTWARE PARA PROCESAR LA JERARQUIA DE ARBOL VISUAL La Figura 3 representa una arquitectura en capas general 200 en la cual se pueden procesar árboles visuales. Como se represento en la Figura 3, el código de programa 202 (por ejemplo, un programa de aplicación o componente de sistema operativo o similares) puede desarrollarse a datos de gráfico de salida en una o más de varias formas que incluyen a través de imagen 204, a través de elementos de gráfico de vector 206, y/o a través de función/llamados de método colocados directamente a una interfase de programación de aplicación visual (API) capa 212, de acuerdo con un aspecto de la presente invención. En general, la imagen 204 proporciona el código de programa 202 con un mecanismo para cargar, editar y guardar imágenes, por ejemplo, mapas de bit. Como se describe más adelante, estas imágenes pueden utilizarse por otras partes del sistema, y también existe una forma de utilizar el código de dibujo primitivo para dibujar una imagen directamente. Los elementos gráficos de vector 206 proporcionan otra forma para dibujar gráficos, consistente con el resto del modelo del objeto (descrito más adelante). Los elementos gráficos de vector 206 pueden crearse a través de un lenguaje de marcación, con un sistema de elemento/propiedad 208 y sistema de presentador 210 interpreta para hacer llamadas apropiadas a la capa AP y visual 202.
La arquitectura de capa de gráfico 200 incluye una composición de nivel superior y motor de animación 214, que incluye o de otra forma está asociado con una estructura de datos de guardada en memoria caché 216. La estructura de datos guardada en memoria caché 216 contiene un gráfico de escena que comprende objetos dispuestos jerárquicamente que están administrados de acuerdo con uno de los objetos definidos, como se describe más adelante. En general, la capa API visual 212 proporciona el código de programa 202 (y el sistema de presentador 210) con' una interfase a la estructura de datos guardada en memoria caché 216, que incluye la capacidad de crear objetos, abrir y cerrar objetos para proporcionar datos a estos, y así sucesivamente. En otras palabras, la composición de nivel superior y motor de animación 214 expone una capa API de medios unificados 212 para por la cual los desarrolladores puede expresar intenciones sobre gráficos y medios para presentar información de gráficos, y proporcionar una plataforma fundamental con suficiente información para que la plataforma pueda optimizar el uso del hardware para el código de programas. Por ejemplo, la plataforma fundamental puede ser responsable de guardar en memoria caché, negociación de recursos e integración de medios. La composición de nivel superior y motor de animación 214 pasa una corriente de instrucción y posiblemente otros datos (señaladores a mapas de bits) a una composición de nivel inferior, rápida y motor de animación 218. Como se utiliza aquí, los términos "nivel superior" y "nivel inferior" son similares a aquellos utilizados en otros escenarios de computo, en donde en general, entre más inferior sea un componente de software es relativo a los componentes superiores, entre más cercanos al componente es relativo al hardware. De esa forma, por ejemplo, la información de gráficos enviada de la composición de nivel superior y el motor de animación 214 puede recibirse en la composición de nivel inferior y motor de animación 218, en donde la información se utiliza para enviar datos de gráficos al subsistema de gráficos que incluyen el hardware 222. La composición de nivel superior y motor de animación 214 en conjunto con el código de programa 202 construye un gráfico de escena para representar una escena de gráficos proporcionada por el código de programa 202. Por ejemplo, cada artículo para dibujarse puede cargarse con instrucciones de dibujo, cuyo sistema puede guardar en memoria caché la estructura de datos de gráfico de escena 216. Como se describirá más adelante, existe un número de varias formas para especificar está estructura de datos 216, y lo que se dibuja. Además, la composición de nivel superior y motor de animación 214 se integra con registro de tiempo y sistemas de animación 220 para proporcionar control de animación declarativa (u otra) (por ejemplo intervalos de animación) y control de registro de tiempo. Se nota que el sistema de animación permite que se pasen valores animados esencialmente en cualquier lugar del sistema, que incluye, por ejemplo, en el nivel de propiedad de elemento 208, dentro de la capa API visual 212, y en cualquier otro de los recursos. El sistema de registro de tiempo se expone al elemento y niveles visuales. La composición de nivel inferior y motor de animación 218 administra la composición, animación y presentación de la escena, que después se proporciona al subsistema de gráficos 222. El motor de nivel inferior 218 compone las presentaciones para las escenas de múltiples aplicaciones, y con componentes de presentación, implementa la presentación real de gráficos a la escena. Se nota, sin embargo, que en tiempos puede ser necesario y/o ventajoso para alguna de la presentación sucede en niveles superiores. Por ejemplo, mientras el servicio de capas inferior solicita múltiples aplicaciones, las capas superiores se inician en una base por aplicación, en donde es posible a través de los mecanismos de imagen 204 realizar consumo de tiempo o presentación específica de aplicación en niveles superiores, y pasar referencias a un mapa de bits a las capas inferiores. Las Figuras 4 y 5 muestran gráficos de escena ilustrativos 300 y 400, respectivamente, que incluyen un objeto de base denominado como uno visual. En general, un visual comprende un objeto que representa una superficie virtual al usuario y tiene una representación visual en la presentación. Como se represente en la Figura 4, un visual de nivel superior (o raíz) 302 se conecta al objeto de administrador visual 304, que también tiene una relación (por ejemplo, a través de un control) con una ventana (HWnd) 306 o unidad similar en la cual los datos gráficos se sacan del código de programas. El Administrador Visual 304 administra el dibujo del visual del nivel superior (y cualquier hijo de ese visual) a la ventana 306. Para dibujar, el administrador visual 304 procesa (por ejemplo, atraviesa o transmite) el gráfico de escena como se programo por un distribuidor 308, y proporciona instrucciones gráficas y otros datos al componente del nivel inferior 218 (Figura 3) para su ventana correspondiente 306. El procesamiento de gráfico de escena ordinariamente se programará por el distribuidor 308 a una velocidad que es relativamente más lenta que la velocidad de renovación del componente del nivel inferior 218 y/o subsistema de gráfico 222. La Figura 4 muestra un número de visuales de hijo 310-315 dispuestos jerárquicamente bajo el visual de nivel superior (raíz) 302, algunos que se representan como llenados a través de contextos de dibujos 316, 317 (mostrados como cuadros punteados para representar su origen temporal) con listas de instrucción asociadas 318 y 319, respectivamente, por ejemplo, que contienen primitivos de dibujo y otros visuales. Los visuales también pueden contener otra información de propiedad, como se muestra en la siguiente clase visual e ilustrativa: Como se puede observar, los visuales ofrecen servicios al proporcionar transformación, sujetador, opacidad y posiblemente otras propiedades que pueden establecerse, y/o leerse a través de un modo de obtención. Además, el visual tiene banderas que controlan como participa en la prueba superior. Una propiedad de Mostrar se utiliza para mostrar/esconder, por ejemplo, cuando es falso el visual es invisible, de otra forma, el visual es visible. Una transformación, establecida por la propiedad de transformación, define el sistema de coordenada para el sub gráfico de un visual. El sistema de coordenada antes de la transformación se llama al sistema de coordenada de pretransformación, una antes de la transformación se llama al sistema de coordenada de pos transformación, es decir, un visual con una transformación es equivalente a un visual con un modo de transformación como un padre. Una descripción más completa del árbol visual y el sistema de composición se incluye en la solicitud de patente relacionada titulada INTE FASE DE GRAFICO VISUAL Y DE ESCENA de referencia cruzada anterior.
INTEGRACIÓN DE 3D VISUAL EN JERARQUIA DE ARBOL VISUAL Con el ambiente de hardware y software anteriormente, la Figura 6 ilustra la integración de objetos de escena 3D en una jerarquía de árbol visual que también tiene objetos 2D visual. Como se describió previamente con referencia a la Figura 1, el objeto de escena 3D visual crea una imagen 2D, vista de cámara de una escena 3D. Como se describe anteriormente para la Figura 1 el objeto de escena 3D se implementa como un objeto 3D visual con un señalador al modelo(s) 3D o un objeto 2D visual que tiene contexto de dibujo con un señalador a modelo(s) 3D. También como se describe para la Figura 1, existirá un segundo señalador mostrado en la Figura 1 a un objeto de cámara. En el ejemplo de la Figura 6 el señalador del objeto de escena 3D al modelo(s) 3D se representa por el señalador 602. Este señalador 302 señala un primitivo de modelo 3D 604 que dibujará un objeto 3D y hace uso de información de malla 606 e información de material 608 al dibujar el objeto 3D. La información de malla 606 se refiere a una malla de formas 2D que puede utilizarse para aproximar los contornos 3D del modelo 3D. Por ejemplo, en unas imágenes que presionan una red de malla de vestido sobre un modelo 3D tal como una silla; la red asume los contornos de la silla. Típicamente la malla está hecha de formas triangulares planas. Los triángulos son usualmente un poco pequeños y como tal forman una malla fina que puede utilizarse para seguir los contornos 3D. Además de los triángulos otras formas 2D con más de tres lados o incluso lados continuos pueden utilizarse para formar la malla, pero se prefieren triángulos debido a los tres puntos de un triángulo que definen un plano y esto simplifica el cálculo de la malla. El material de información 608, que también es información asociada para el objeto de modelo 3D 604, se refiere a la textura utilizada para el llenado de una superficie en la imagen del modelo 3D. La textura puede ser sombreada, color, o imágenes visuales adicionales. En la Figura 6 la imagen visual adicional para el material es un objeto de escena en 3D 610. El objeto de escena 3D 610 puede ser un objeto 3D visual o un objeto 2D visual como se describió en la Figura 1. En cualquier evento tendrá un señalador a los modelos 3D y un señalador a un objeto de cámara. El señalador 612 señala el objeto de cámara para definir los parámetros de cámara para presentar la vista 2D de la escena 3D. El señalador 616 a los objetos 3D en la Figura 6 es una parte del contenido 3D 612. El señalador 616 señala al objeto de raíz 618 de los objetos 3D de modelo que conforman un árbol visual 3D. El objeto de raíz es el objeto de grupo de modelo 3D 618. Un objeto de grupo de modelo 3D sirve como un nodo de raíz o nodo de recolección en un árbol visual 3D que contiene uno ó más objetos primitivos en modelo 3D. Los objetos primitivos estarán en la hoja de una rama en el árbol visual 3D y contienen la información de dibujo para crear un modelo 3D. En la Figura 6, existen dos objetos primitivos de modelo 3D, primitivo 620 primitivo 622, y un objeto de luz de modelo 3D 624. El contenido de información de luz del objeto de luz 624 define la luz que ilumina la escena 3D hecha de los modelos 3D y la dirección de los rayos de luz si es aplicable. El contenido de información de dibujo de cada uno de los primitivos de modelo 3D incluye información de malla e información de material. Este contenido solo se muestra para el primitivo 622 como información de malla 626 e información de material 628. La información de material 628 simplemente puede tener información de contenido de dibujo o puede tener un objeto 2D visual o un objeto de escena 3D o ambos. En ejemplo en la Figura 6 la información de material 628 tiene un objeto 2D visual 630. Para revisar la integración que se ilustra por la Figura 6, la Figura 6 inicia con un señalador de un objeto de escena 3D, tal como un objeto 18 u objeto 20 en la Figura 1, a un objeto de modelo 3D 604. El objeto de modelo 3D 604 tiene información de material 608 que además tiene objeto de escena 3D 610 que señala un objeto de grupo 3D de modelo 618 y un objeto de cámara 614. En la escena 3D definida por el grupo 3D 618 con su hijo, el objeto primitivo 3D 622 tiene información de material que señala un objeto 2D visual 630. De esta forma una jerarquía de árbol visual con objetos visuales 2D pueden integrarse en una escena 3D creada por un objeto de escena 3D. A su vez el objeto de modelo 3D en el árbol de escena 3D puede tener información que señala un segundo árbol visual que tiene integrado a el otro objeto visual 2D, un objeto de escena 3D o ambos tipos de objetos. Está integración de objetos de escena 3D y objetos 2D visuales pueden proceder hasta el infinito. Una de las características sobresalientes de la invención es el hecho que los objetos visuales y los objetos de modelo 3D no almacenan mapas de bits de las imágenes para producirse, pero en vez de eso proporcionan instrucciones para dibujar las imágenes cuando se procesa el árbol visual. Descrito inmediatamente antes está el procesamiento para tal árbol visual. El procesamiento de un árbol visual de escena 3D es similar pero agrega unas cuantas operaciones para crear la vista 2D de una escena de 3D definida por los objetos de modelo 3D. Un objeto de escena 3D crea una vista de cámara, es decir una vista 2D, de la escena 3D. La vista de cámara especifica por parámetros que identifican la "posición" de cámara virtual, la "observación" o vista de objetivo de la cámara y el "campo" de la vista de la cámara. Un ejemplo de parámetros de cámara se ilustra en la Figura 7 en donde la posición de cámara o punto de vista se localiza en coordenadas x, y, z 2, 7, 0. La observación o dirección de objetivo de la cámara se especifica por la ubicación de observación de X Y Z es 6, 1, 2. El campo de vista de la cámara se indica como 30 grados. Estos parámetros de cámara se utilizan para establecer la cámara o vista 2D cuando se dibujan los modelos 3D creados por los primitivos 3D. Estos parámetros de cámara reflejan una cámara de vista en perspectiva. Otras cámaras puede utilizarse para que esas descritas en la solicitud de patente comúnmente asignadas titulada INTERFASE DE PROGRAMA DE APLICACIÓN DE CONSTRUCCIÓN DE MODELO 3D citada anteriormente en la referencia cruzada a la solicitud de relacionadas. Por ejemplo una cámara ortogonal proporcionaría una vista ortogonal en donde todos los rayos de luz son paralelos y los parámetros de cámara primarios se ponen en objetivo, u observación, dirección y campo de vista. Las Figuras 8 y 9 ¡lustran un flujo operacional para controlar un árbol visual que contiene tanto objetos 2D visuales como objetos de escena 3D. La Figura 10 se denomina para que durante la descripción de las Figuras 8 y 9 como un ejemplo de un árbol visual que se está procesando por las operaciones en las Figuras 8 y 9. Las operaciones lógicas de las Figuras 8 y 9 se implementan (1) como una secuencia de actos implementados por computadora o módulos de programa que corren en un sistema de cómputo y/o (2) como circuitos de lógica de máquina interconectados o módulos de circuito dentro del sistema de cómputo. La implementación es un asunto de elección dependiente de los requerimientos de desempeño del sistema de cómputo que implementa la invención. Por consiguiente, las operaciones lógicas que forman las modalidades de la presente invención descritas anteriormente se denominan variadamente como operaciones, dispositivos estructurales, altos módulos. Se reconocerá por un experto en la técnica que estas operaciones, dispositivos estructurales, actos y nodulos pueden implementarse en software, en firmware, en lógica digital de propósito especial, y cualquier combinación de la misma sin desviarse del espíritu y alcance de la presente invención como se menciona dentro de las reivindicaciones anexas a esto. En el ejemplo de la Figura 10 el árbol visual representa una ventana en una pantalla de presentación de computadora. El objeto de raíz 2D visual 1002 para la ventana tienen tres hijos, objeto visual de panel 1004, objeto visual de cuadro de revisión 1006, y objeto 3D visual 1008. El objeto visual de panel 1004 es un objeto visual de contenedor y tiene dos hijos, un objeto visual de botón 1010 y un objeto visual de barra de desplazamiento 1012. De esa forma el programador crea una ventana con un botón, una barra de desplazamiento y un cuadro de revisión junto con un objeto de escena 3D para proporcionar escena 3D vista como una imagen 2D.
El objeto de escena 3D 1008 señala los parámetros de cámara 1011 con el señalador 1009 y señala la escena 3D 1016 con el señalador 1014. La escena 3D está formada de dos objetos de grupo de modelo 3D 1018 y 1020, los objetos primitivos de modelo 3D 1024 y 1025, y un objeto de luz de modelo 3D 1022. Cada uno de los primitivos 3D contiene contexto de dibujo y en cada caso ilustra una posibilidad de contexto de dibujo diferente. El objeto de luz 1022 específica la iluminación de los modelos dibujados por el objeto primitivo 1024 como el objeto de luz 1022 y objeto primitivo 1024 son hijos de objeto de grupo 1020. El objeto primitivo 1024 contiene información de malla 1026 e información de material 1028. El primitivo 1025 contiene información de malla 1027 y la información de material 1029. La información de material 1029 señala otro árbol visual que tiene raíz de árbol visual 1030, y tanto objeto visual 2D 1032 como un objeto de escena 3D 1034. El flujo operacional para procesar el árbol visual en la Figura 10 comienza en la Figura 8, que muestra el objeto visual 2D que procesa un puente para el procesamiento de objeto de escena 3D. Como será evidente la descripción de este flujo de operación, el flujo en las Figuras 8 y 9 es un flujo recursivo. El flujo de operación procesa una rama del árbol hacia abajo a las hojas y después procesa otras ramas hacia debajo de las hojas. Como se describe en la Figura 1 el árbol transversal y la imagen que presenta secuencias de izquierda a derecha; sin embargo, se debe reconocer cualquier número de formas como, por ejemplo, de derecha a izquierda a través del árbol, o por longitud de ramas o por cualquier otra propiedad para atravesar el árbol que el programador puede desear implementar. La Figura 8 comienza a procesar el árbol visual en la Figura 10 cuando el procedimiento de árbol visual se llama pór una operación de llamado (no mostrada) fuera de la Figura 8. La operación de llamado es el llamado primario al procesamiento para crear una ventana que inicia con el objeto de ventana 1002. El flujo de operación que crea la ventana ingresa a la entrada de procedimiento de árbol visual 800. La operación de movimiento 801 mueve el procesamiento al siguiente objeto en el árbol que no se ha procesado. El primero de tales objetos que es el objeto de ventana 1002. El flujo de operación ingresa al giro 802 que contiene la operación de llamado 803 y más operación de prueba de objeto 704. Mientras se procesan los objetos 2D visuales, las operaciones en el giro 802 caminan al procedimiento a través del árbol. La operación de llamado 803 llama al punto de entrada de procedimiento 2D 805. En el punto de entrada 805, el flujo de operación pasa a la operación de prueba de escena 3D 806. La operación de prueba 806 detecta si el objeto es un objeto de escena 3D o un objeto 2D visual. Si es un objeto 2D visual, como en el caso para el objeto de la ventana 1002 en la Figura 10, el flujo de operación se ramifica a "NO" para procesar la operación visual 808. La operación de procedimiento 808 ejecuta el objeto de ventana 1004 para dibujar una imagen de ventana. La operación 808 se describe en la solicitud de patente relacionada de referencia cruzada anterior y titulada Interfase de Gráfico Visual y de Escena. Después de que la operación visual de procesamiento 808 se completa, la operación de regreso 810 regresa al flujo de operación a la operación de llamado 803. En la operación de llamado 803 el flujo se dirige a más operación de prueba de objeto 804. La operación de prueba de más objetos 804 detecta si existen más objetos para procesarse en el árbol visual. Si los hay, el flujo de operación se ramifica a SÍ para moverse a la operación 801. La operación de movimiento 801 se mueva hacia abajo a la rama izquierda del árbol al objeto de panel 1004 en la Figura 10 que es el siguiente objeto no procesado. Las ramas del árbol se procesaran de izquierda a derecha. El objeto de panel 1004 es otro objeto 2D visual y se procesa de la misma forma como se describió para el objeto de ventana 1002. La operación de regreso de nuevo regresa el flujo a la operación de llamado 803 y el flujo pasa a la operación de movimiento 801. El procesamiento ahora se mueve al primer hijo del objeto de panel 1004 que es el objeto 2D visual de botón 1010. El objeto de botón se procesa como se describió anteriormente para el objeto 1002 y el flujo regresa a la operación de llamado 803 y a partir de ahí a la operación de movimiento 801. El siguiente objeto no procesado en la misma rama es el objeto visual de barra de desplazamiento 1012. Este es un objeto visual 2D, y el flujo de operación de nuevo pasará para procesar la operación 2D visual 808 a través de la operación de prueba de escena 3D 806. La operación visual 2D de procesamiento 808 procesará el objeto visual de barra de desplazamiento 1012 de la misma forma como se describió anteriormente para el procedimiento del objeto de ventana 1002. El flujo de operación de nuevo regresa a la operación de llamado 803, y la operación de movimiento 801 camina al árbol visual en la Figura 6 al primer objeto en la siguiente rama, es decir el objeto de cuadro de revisión 1006. Después que se procesa el objeto 2D 1006, la operación de movimiento 801 camina al árbol al objeto de escena 3D 1008. El objeto de escena 3D 1008 se detectará por la operación de prueba 806, y el flujo de operación se ramificará a "SI" para llamar al procedimiento de escena 3D en la operación de llamado 812. El flujo operacional de procedimiento de escena 3D se ¡lustra en la Figura 9, y la operación de llamado 812 pasa al flujo de operación al punto de entrada de escena 3D 900en la Figura 9. En la Figura 9, la operación de movimiento 901 mueve el procedimiento al siguiente objeto en el árbol de escena 3D que no se ha procesado. El primero de tales objetos es objeto de grupo 3D 1018 que también es el nodo de raíz del árbol de escena 3D. El flujo de operación ingresa al giro 902 que contiene la operación de llamado 903 y la operación de prueba de más objetos 904. Mientras los objetos de modelo 3D en el árbol de escena 3D 1016 se procesan, el flujo de operación alrededor del giro 902 camina al procedimiento a través de las ramas del árbol de escena 3D de izquierda a derecha.
La operación de llamado 903 llama al punto de entrada de módulo de procedimiento 3D 909. En el punto de entrada 909 el flujo de operación pasa a la operación de prueba de objeto de grupo 914. El primer objeto es el objeto de grupo 3D 1018. La operación de prueba de grupo 914 detectará el objeto de grupo y ramifica el flujo de operación a la operación de grupo 3D de procedimiento 930. Una operación puede ser una operación de transformación u otras operaciones tal como establecer una operación de sujetador de modelo, una operación de sombreado, una operación de marco mediante cables, etc. Después de la operación de grupo de procedimiento 930, el regreso a la operación de llamador 920 de nuevo regresa al flujo para la operación de llamado 903. Un regreso a la operación de llamado 903 causa que el flujo pase alrededor del giro 902 a la operación de prueba de más objetos 904. La operación de prueba de más objetos 904 detecta si hay más objetos para procesarse en el árbol de escena 3D. Si existen, el flujo de operación se ramifica a SI a la operación de movimiento 901. La operación de movimiento 901 se mueve hacia abajo a la rama izquierda del árbol de escena 3D al objeto de grupo 3D 1020 en la Figura 10 que es el siguiente objeto no procesado. Las ramas del árbol se procesarán de izquierda a derecha. El objeto de modelo 3D 1020 es otro objeto de grupo y operación de prueba de grupo 914 ramificará el flujo a SI para procesar operación de grupo 930 para procesar objeto de grupo 1020. La operación de regreso 920 de nuevo regresa al flujo para la operación de llamado 903, y el flujo pasa para mover operación 901. El procedimiento ahora se mueve al objeto de luz de modelo 3D 1022 que es el siguiente objeto no procesado en la misma rama del árbol de escena 3D 1016. La operación de prueba de objeto de grupo pasa el flujo a la operación de prueba de objeto de luz 916. El objeto de luz 1022 se detecta y pasa para procesar operación de objeto de luz 918. La operación de luz de procedimiento establece la luz de la escena 3D recolectada por el objeto de grupo 3D 1020, y el flujo después pasa a la operación de regreso a llamador 920. El flujo regresa a la operación de llamado 903 y a partir de allí para la operación de movimiento 901. El siguiente objeto no procesado en la misma rama es el objeto primitivo 3D 1024. Los objetos primitivos dibujan los modelos 3D. La prueba de objeto de grupo 914 y prueba de objeto de luz 916 responden con resultados negativos cuando se detecta el objeto primitivo 1024. Por consiguiente, el flujo de operación se ramifica a "NO" de la prueba de objeto de luz 916 para recuperar la operación de cámara 922 que recupera los parámetros de cámara. Establecer la operación de vista 924 después establece la cámara o vista 2D, y el flujo de operación pasa a la operación de prueba de contenido 2D 926. Ya que el objeto primitivo 1024 en la Figura 10 no tiene objetos visuales y de esa forma no tiene contenido 2D unido, el flujo de operación se ramificaría a "NO" para dibujar operación primitiva 928. La operación primitiva de dibujo 928 dibuja un modelo 3D basado en información de malla 1026 e información de material 1029 contenida en el objeto primitivo de modelo 3D 1024. El modelo se dibuja desde la perspectiva de la vista de cámara basada en los parámetros de cámara. El resultado es una imagen 2D de un modelo 3D como iluminado de acuerdo con objeto de luz 1022. En la operación de regreso al llamador 920, el flujo de operación regresa a la operación de llamado 903 de nuevo. La operación de prueba de más objetos 904 detecta que ya no hay más objetos en el árbol de escena 3D para procesarse. La operación de movimiento 901 camina al árbol de escena 3D a la siguiente rama y al objeto primitivo 3D 1025, el siguiente objeto no procesado. El objeto primitivo 3D 1025 tiene información de material 1029 que incluye tanto objetos de escena 2D como 3D en la información de material. Por consiguiente, el flujo de operación se ramifica a SI de la operación de prueba de contenido 926 para llamar a la operación de procedimiento de árbol visual 932. El árbol visual de llamado procesa llamados al punto de entrada de árbol visual 800 en la Figura 8, y la operación de movimiento 801 mueve el control de programa para procesar el objeto 2D visual 1030. La operación de llamado 803 llama al procedimiento 2D, y el objeto 2D visual 1030 se procesa por la operación visual de procedimiento 808. El flujo de operación pasa a la operación de regreso a llamador 810 y regresa a la operación de llamado 803. La operación de movimiento 801 después camina al árbol de contenido 2D al objeto 2D visual 1032. El procedimiento 2D se llama de nuevo para procesar el objeto 2D visual 1032. El objeto 1032 se procesa por operación visual de procedimiento y el flujo de operación regresa al giro 802. Ahora la operación de movimiento 801 mueve el control al objeto de escena 3D 1034. La operación de llamado 803 llama al procedimiento 2D, y el objeto de escena 3D 1034 se detectará por la operación de prueba de escena 3D 806. Como resultado la operación de llamado 812 llama al procedimiento de escena 3D en la Figura 9 para procesar objetos de modelo 3D (no mostrados) de una escena 3D. El procedimiento sería el mismo que se discutió anteriormente en el ejemplo de la escena 3D 1016. El objeto de escena 3D 1034 en la Figura 9 se llama para procesar los modelos de escena 3D representados por el objeto 3D visual 1034, y cuando el último modelo para el objeto de escena 1034 se dibuja, el flujo de operación pasa a la operación de regreso a llamador 920 en la Figura 9. El llamador en esta situación es la operación de llamado 903. La operación de llamado 903 pasa al flujo a prueba de más objetos 904 detecta que ya no hay más objetos asociados con el objeto de escena 3D 1034. El flujo de operación se ramifica a NO para regresar a la operación de llamador 906 que pasa el flujo de regreso a la operación de llamado 812. La operación de llamado pasa el flujo a la operación de llamado 803. La operación de prueba de más objetos 804 detecta que ya no hay más objetos para procesarse por el árbol de contenido 2D compuesto de objetos 1030, 1032 y 1034. Por consiguiente el flujo se ramifica a NO para regresar a la operación de llamador 814. En este caso el regreso es a la operación de llamado 932 que llamó al procedimiento de árbol visual para controlar el árbol de contenido 2D. Dibujar la operación primitiva 3D 934 ahora dibuja el modelo 3D para objeto primitivo 1025 que utiliza la información de material representada por objetos de árbol de contenido 2D 1030, 1032 y 1034. El regreso a la operación de llamador 920 después regresa al flujo para operación de llamado 903. La operación de prueba de más objetos 904 después detecta que ya no hay más objetos en el árbol de escena 3D 1016 y pasa el flujo para regresar a la operación de llamador 906. La operación de regreso 906 ahora regresa el flujo para llamar la operación de escena 3D 812 en la Figura 8. El flujo después pasa de regreso a la operación de llamado 803 por la operación de regreso 810. La operación de prueba de más objetos 804 detecta que el árbol visual de la Figura 10 se proceso completamente y por lo tanto pasa al flujo de operación a la operación de regreso a llamador 810. La operación de regreso a llamador pasa el control de programa de regreso al llamador 932. La operación de llamado 932 llama al procedimiento 2D en la Figura 8 que ahora procesa el objeto 2D visual 1030. El objeto 2D visual 1030 es el objeto de raíz para la información de material 1028. La operación visual de procedimiento 808 procesa el objeto de raíz 1030, y la operación de regreso a llamador 810 pasa el control de programa de regreso al llamador primario (no mostrado) que llamó para procesar el árbol visual de la Figura 10. Esto completa el procedimiento del árbol visual ilustrativo en la Figura 10 con sus objetos de escena 3D integrados y objetos 2D visuales. Aunque la invención se describió en lenguaje específico a características estructurales de computadora, actos metodológicos y por medios legibles por computadora, se debe entender que la invención definida en las reivindicaciones no necesariamente está limitada a las estructuras específicas, actos y medios descritos. Por lo tanto, las características estructurales específicas, actos y medios se describen como modalidades ilustrativas que implementan la invención reclamada. Las varias modalidades descritas anteriormente se proporcionan a manera de ilustración solamente y se deben construir para limitar la invención. Aquellos expertos en la técnica reconocerán fácilmente varias modificaciones y cambios que se pueden hacer a la presente invención sin seguir las modalidades ilustrativas y aplicaciones ilustradas y descritas aquí, y sin apartarse del verdadero espíritu y alcance de la presente invención, que se menciona en las siguientes reivindicaciones.

Claims (19)

REIVINDICACIONES
1.- Una estructura de datos para integrar objetos de programa de computadora para crear imágenes tridimensionales (3D) e imágenes bidimensionales (2D) en una jerarquía de objeto de árbol visual que tiene objetos 2D visuales y objetos 3D visuales, la estructura de datos comprende: una jerarquía de árbol de objeto; uno o más objetos 2D visuales en la jerarquía de árbol que define operaciones que dibujan una imagen 2D; uno o más objetos de escena 3D que definen operaciones que dibujan una vista bidimensional de una escena tridimensional formada de uno o más objetos 3D, el objeto de escena 3D hace referencia a uno o más objetos de modelo 3D y al menos un objeto de cámara; cada uno o más objetos de modelo 3D definiendo modelos 3D para la escena 3D; y el objeto de cámara definiendo una vista de cámara bidimensional de la escena 3D.
2.- La estructura de datos de acuerdo con la reivindicación 1, en donde uno o más objetos de modelo 3D define información de material para la textura de superficie de un modelo.
3.- La estructura de datos de acuerdo con la reivindicación 2, en donde el material comprende un objeto 2D visual que define operaciones que dibujan una imagen bidimensional para la textura de superficie.
4.- La estructura de datos de acuerdo con la reivindicación 2, en donde la información de material para la textura de un modelo además comprende un objeto de escena 3D.
5.- La estructura de datos de acuerdo con la reivindicación 2, en donde la información de material para la textura de un modelo además comprende una jerarquía de árbol visual de objetos visuales.
6. - La estructura de datos de acuerdo con la reivindicación 1, en donde el objeto de escena 3D comprende: un objeto 3D visual que tiene un señalador para los objetos de modelo 3D y un señalador para al menos un objeto de cámara.
7. - Un método para procesar una jerarquía de objetos visuales de programa de computadora para crear una mezcla de imágenes bidimensionales (2D) e imágenes tridimensionales (3D) como salida de una computadora, el método comprende: atravesar ramificaciones de una primera jerarquía de árbol de objetos visuales para procesar objetos de hoja y objetos de rama; detectar si el siguiente objeto visual no procesado es un objeto 2D visual u objeto de escena 3D; y llamar un procedimiento 2D para procesar un objeto visual si un objeto 2D visual se detecta y llama al procedimiento 3D para procesar un objeto de modelo 3D si se detecta un objeto de escena 3D.
8. - El método de acuerdo con la reivindicación 7, el procedimiento 3D comprende: establecer una vista de cámara; y dibujar imágenes de uno o más modelos 3D definidos por uno o más objetos de modelo 3D, las imágenes están basadas en la vista de cámara de uno o más modelos 3D.
9.- El método de acuerdo con la reivindicación 7, en donde los modelos 3D se definen como una segunda jerarquía de árbol de uno o más objetos de modelo 3D señalados por un objeto de escena 3D.
10. - El método de acuerdo con la reivindicación 9, en donde el uno o más objetos de modelo 3D en el segundo árbol definen una ¦tercera jerarquía de árbol de objetos visuales para uso en el dibujo de los modelos 3D.
11. - El método de acuerdo con la reivindicación 10, en donde la tercera jerarquía de árbol tiene al menos un objeto 2D visual que a su vez define una cuarta jerarquía de árbol de objetos de modelo 3D con lo cual los objetos de escena 3D y objetos 2D visuales pueden integrarse en una pluralidad de objetos sucesivos a lo largo de ramas de una jerarquía de árbol de objeto y procesados por el procedimiento 2D y procedimiento 3D apropiado.
12.- Un medio legible por computadora que codifica una estructura de datos de objetos de programa de computadora para integrar objetos visuales para imágenes bidimensionales y objetos visuales para imágenes bidimensionales de modelos tridimensionales, dicha estructura de datos comprende: una jerarquía de árbol visual de objetos que crean imágenes bidimensionales; uno o más objetos visuales siendo un objeto de escena 3D que hace referencia a un modelo 3D y una vista bidimensional del modelo 3D; el modelo 3D definido por una segunda jerarquía de árbol de objetos; y los objetos del segundo árbol comprenden al menos un objeto de dibujo que define las operaciones para dibujar el modelo 3D, y un objeto visual de luz que define la iluminación del modelo 3D.
13.- El medio legible por computadora de acuerdo con la reivindicación 12, en donde la vista bidimensional de los modelos 3D se define de la perspectiva de una primera posición definida y una segunda posición definida; y la primera y segunda posiciones definiendo una dirección objetivo de la vista del modelo 3D.
14.- El medio legible por computadora de acuerdo con la reivindicación 13, en donde la primera posición es un punto de posición de cámara, y la segunda posición es un punto de posición de "observación".
15. - El medio legible por computadora de acuerdo con la reivindicación 13, en donde el objeto de dibujo contiene información de material utilizada en textura de las superficies del modelo.
16. - El medio legible por computadora de acuerdo con la reivindicación 15, en donde la información de material define una tercera jerarquía de árbol de objetos.
17.- El medio legible por computadora de acuerdo con la reivindicación 16, en donde la estructura de datos además comprende: uno o más objetos de la tercera jerarquía de árbol que es un objeto de escena 3D que hace referencia a un segundo modelo 3D y una vista bidimensional del segundo modelo 3D; el segundo modelo 3D definido por una cuarta jerarquía de árbol de objetos; y los objetos del cuarto árbol que comprenden al menos un objeto de dibujo que define las operaciones para dibujar el modelo 3D, y un objeto visual de luz que define la iluminación del modelo 3D.
18.- El medio legible por computadora de acuerdo con la reivindicación 17, en donde los objetos de dibujo en la estructura de datos además contiene información de malla para definir formas planas para aproximar los contornos del modelo 3D.
19.- La estructura de datos de acuerdo con la reivindicación 1, en donde el objeto de escena 3D comprende: un objeto 2D visual que tiene un contexto de dibujo que define un señalador para los objetos 3D de modelo y al menos un objeto de cámara. RESUMEN Una jerarquía de objetos visuales (2D) y objetos de escena (3D) se integra para procesamiento uniforme para presentar imágenes (2D) que incluyen una vista (2D) de una escena (3D) en una presentación de computadora (2D). El procesamiento de los objetos de modelo (3D) y objetos visuales (2D) en la jerarquía visual se integran para que el procesamiento se controle fácilmente entre las operaciones (3D) y (2D). Además el número de transiciones entre los objetos visuales (2D) de procesamiento y objetos de modelo (3D) cuando se crea una imagen de presentación no tiene limite de arquitectura. Una estructura de datos integra los objetos de programa de computadora para crear imágenes (3D) e imágenes (2D) en una jerarquía de objeto de árbol visual que tiene objetos visuales (2D) u objetos de escena (3D) que señalan a objetos de modelo (3D). La estructura de datos comprende una jerarquía de árbol de objeto, una ó más objetos visuales (2D), y uno ó más objetos de referencia o escena (3D) que señalan a los objetos de modelo (3D). Los objetos visuales (2D) definen operaciones que dibujan una imagen (2D). Los objetos de referencia o de escena (3D) definen referencias que señalan a objetos con operaciones que juntas dibujan una vista bidimensional de una escena tridimensional formada de uno ó más modelos (3D). Los objetos de referencia (3D) o de escena señalan a los objetos de modelo (3D) y un objeto de cámara. El objeto de cámara define una vista bidimensional de la escena (3D). Los objetos de modelo (3D) dibujan los modelos (3D) y definen información de malla utilizada en contornos de dibujo de un modelo e información material utilizada en dibujar textura de superficie de un modelo. La información de material para la textura de superficie de un modelo puede definirse por un objeto visual (2D), un objeto de referencia (3D) o de escena o una jerarquía de árbol de objetos visuales (2D) y/u objetos de escena de referencia (3D).
MXPA06012368A 2004-05-03 2004-07-29 Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional. MXPA06012368A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/838,935 US7145562B2 (en) 2004-05-03 2004-05-03 Integration of three dimensional scene hierarchy into two dimensional compositing system
PCT/US2004/024368 WO2005111943A1 (en) 2004-05-03 2004-07-29 Integration of three dimensional scene hierarchy into two dimensional compositing system

Publications (1)

Publication Number Publication Date
MXPA06012368A true MXPA06012368A (es) 2007-01-17

Family

ID=35186598

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06012368A MXPA06012368A (es) 2004-05-03 2004-07-29 Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional.

Country Status (11)

Country Link
US (1) US7145562B2 (es)
EP (1) EP1743303A4 (es)
JP (1) JP5225674B2 (es)
KR (1) KR101087427B1 (es)
CN (1) CN1942904A (es)
AU (2) AU2004319589B2 (es)
BR (1) BRPI0418680A (es)
CA (1) CA2560475C (es)
MX (1) MXPA06012368A (es)
RU (1) RU2360290C2 (es)
WO (1) WO2005111943A1 (es)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8031190B2 (en) * 2004-05-03 2011-10-04 Microsoft Corporation Translating two-dimensional user input on three-dimensional scene
WO2006004894A2 (en) 2004-06-29 2006-01-12 Sensable Technologies, Inc. Apparatus and methods for haptic rendering using data in a graphics pipeline
US7426304B2 (en) * 2004-09-15 2008-09-16 Hewlett-Packard Development Company, L.P. Method and device for three-dimensional graphics to two-dimensional video encoding
US7535480B2 (en) * 2005-08-24 2009-05-19 Microsoft Corporation Compositing rendering layers
WO2007064280A1 (en) * 2005-12-01 2007-06-07 Swiftfoot Graphics Ab Computer graphics processor and method for rendering a three-dimensional image on a display screen
FR2902908B1 (fr) * 2006-06-21 2012-12-07 Streamezzo Procede de creation et de restitution optimise du rendu d'une scene multimedia comprenant au moins un objet actif, sans modification prealable de la semantique et/ou du format de description de scene
JP5055570B2 (ja) * 2006-08-08 2012-10-24 株式会社ニコン カメラおよび画像表示装置並びに画像記憶装置
US8300050B2 (en) 2006-11-28 2012-10-30 Adobe Systems Incorporated Temporary low resolution rendering of 3D objects
US8059124B2 (en) * 2006-11-28 2011-11-15 Adobe Systems Incorporated Temporary non-tiled rendering of 3D objects
TWI322392B (en) * 2006-12-14 2010-03-21 Inst Information Industry Apparatus, method, application program, and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3d object
EP2048599B1 (en) * 2007-10-11 2009-12-16 MVTec Software GmbH System and method for 3D object recognition
US20090153550A1 (en) * 2007-12-18 2009-06-18 Disney Enterprises, Inc. Virtual object rendering system and method
KR101475779B1 (ko) * 2008-06-02 2014-12-23 삼성전자주식회사 3d 영상 처리 방법
US8179393B2 (en) * 2009-02-13 2012-05-15 Harris Corporation Fusion of a 2D electro-optical image and 3D point cloud data for scene interpretation and registration performance assessment
CN101630419B (zh) * 2009-08-13 2013-01-02 苏州市数字城市工程研究中心有限公司 一种用于城市综合管网三维可视化系统的架构方法
US9035949B1 (en) * 2009-12-21 2015-05-19 Lucasfilm Entertainment Company Ltd. Visually representing a composite graph of image functions
JP4858626B2 (ja) 2010-04-16 2012-01-18 カシオ計算機株式会社 情報表示装置及びプログラム
US8723886B2 (en) * 2010-09-08 2014-05-13 Navteq B.V. Generating a multi-layered geographic image and the use thereof
KR101530634B1 (ko) * 2010-11-01 2015-06-23 한국전자통신연구원 체험형 학습 콘텐츠 저작 장치 및 방법
EP2461587A1 (en) * 2010-12-01 2012-06-06 Alcatel Lucent Method and devices for transmitting 3D video information from a server to a client
US20130127849A1 (en) * 2011-05-26 2013-05-23 Sebastian Marketsmueller Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content
WO2013022804A1 (en) * 2011-08-05 2013-02-14 Caustic Graphics, Inc. Systems and methods for 3-d scene acceleration structure creation and updatting
US9342322B2 (en) 2011-09-12 2016-05-17 Microsoft Technology Licensing, Llc System and method for layering using tile-based renderers
WO2013107273A1 (en) 2012-01-21 2013-07-25 Thomson Licensing Method and apparatus for compressing texture information of three-dimensional (3d) models
US9053582B2 (en) 2012-06-11 2015-06-09 Disney Enterprises, Inc. Streaming light propagation
US9123162B2 (en) 2012-06-11 2015-09-01 Disney Enterprises, Inc. Integration cone tracing
CN102760304A (zh) * 2012-06-28 2012-10-31 电子科技大学 一种基于可视化编辑的高级材质合成系统与方法
US9123154B2 (en) 2012-10-09 2015-09-01 Disney Enterprises, Inc. Distributed element rendering
CN102938165B (zh) * 2012-10-17 2015-06-17 山东理工大学 基于型面特征逼近的产品stl模型光顺方法
CN103914877A (zh) * 2013-01-09 2014-07-09 南京理工大学 一种基于扩展合并的三维模型多细节层次结构
DE102013201377A1 (de) 2013-01-29 2014-07-31 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von 3d-Bilddaten
US9508315B2 (en) 2013-03-08 2016-11-29 Disney Enterprises, Inc. Ordering rays in rendered graphics for coherent shading
GB2544931B (en) 2013-03-15 2017-10-18 Imagination Tech Ltd Rendering with point sampling and pre-computed light transport information
EP2793127B1 (en) * 2013-04-19 2021-11-17 Huawei Technologies Co., Ltd. Method for displaying a 3D scene graph on a screen
CN103412700B (zh) * 2013-07-24 2016-05-11 天脉聚源(北京)传媒科技有限公司 一种分场景展示多媒体资源的方法及装置
US9261966B2 (en) 2013-08-22 2016-02-16 Sony Corporation Close range natural user interface system and method of operation thereof
US9552664B2 (en) * 2014-09-04 2017-01-24 Nvidia Corporation Relative encoding for a block-based bounding volume hierarchy
US10235338B2 (en) 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
US20180099846A1 (en) 2015-03-06 2018-04-12 Wal-Mart Stores, Inc. Method and apparatus for transporting a plurality of stacked motorized transport units
WO2016142794A1 (en) 2015-03-06 2016-09-15 Wal-Mart Stores, Inc Item monitoring system and method
US10071892B2 (en) 2015-03-06 2018-09-11 Walmart Apollo, Llc Apparatus and method of obtaining location information of a motorized transport unit
CN106157353B (zh) * 2015-04-28 2019-05-24 Tcl集团股份有限公司 一种文字渲染方法和文字渲染装置
US20170249772A1 (en) * 2016-02-26 2017-08-31 Blackberry Limited System and method for accelerated rendering of two-dimensional graphics
CA2961938A1 (en) 2016-04-01 2017-10-01 Wal-Mart Stores, Inc. Systems and methods for moving pallets via unmanned motorized unit-guided forklifts
CN107480174A (zh) * 2017-06-30 2017-12-15 百度在线网络技术(北京)有限公司 三维城市模型与二维地图的联动方法、装置及可读介质
CN110046333B (zh) * 2018-01-16 2023-03-21 阿里巴巴集团控股有限公司 信息展示方法、数据处理方法、设备及系统
CN110795609A (zh) * 2019-10-28 2020-02-14 国网新疆电力有限公司经济技术研究院 一种用于变电站的二次系统三维可视化方法
WO2021195267A1 (en) * 2020-03-25 2021-09-30 Opt Industries, Inc. Systems, methods and file format for 3d printing of microstructures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7927298A (en) * 1997-07-11 1999-02-08 France Telecom Audiovisual data decoding method
WO1999056249A1 (en) * 1998-04-27 1999-11-04 Interactive Silicon, Inc. Graphics system and method for rendering independent 2d and 3d objects
US6912293B1 (en) * 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
AU5635100A (en) * 1999-06-25 2001-01-31 Bethere Photogrammetry engine for model construction
AU7831500A (en) * 1999-09-24 2001-04-24 Sun Microsystems, Inc. Method and apparatus for rapid processing of scene-based programs
JP4758013B2 (ja) * 2000-03-14 2011-08-24 三星電子株式会社 三次元シーンのノード処理方法及びその装置
JP2001273520A (ja) * 2000-03-23 2001-10-05 Famotik Ltd マルチメディアドキュメント統合表示システム
US7436406B2 (en) * 2002-07-12 2008-10-14 Raytheon Company Scene graph based display for desktop applications
US7486795B2 (en) * 2002-09-20 2009-02-03 University Of Maryland Method and apparatus for key management in distributed sensor networks
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer

Also Published As

Publication number Publication date
AU2010227110A1 (en) 2010-11-04
CA2560475C (en) 2014-03-25
EP1743303A4 (en) 2011-07-13
CN1942904A (zh) 2007-04-04
WO2005111943A1 (en) 2005-11-24
US7145562B2 (en) 2006-12-05
CA2560475A1 (en) 2005-11-24
US20050243086A1 (en) 2005-11-03
BRPI0418680A (pt) 2007-06-12
JP2007536621A (ja) 2007-12-13
JP5225674B2 (ja) 2013-07-03
AU2004319589B2 (en) 2010-11-25
RU2006142687A (ru) 2008-06-10
KR101087427B1 (ko) 2011-11-25
KR20070004878A (ko) 2007-01-09
RU2360290C2 (ru) 2009-06-27
AU2010227110B2 (en) 2011-12-15
AU2004319589A1 (en) 2005-11-24
EP1743303A1 (en) 2007-01-17

Similar Documents

Publication Publication Date Title
MXPA06012368A (es) Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional.
JP4290477B2 (ja) ベクターグラフィック用のマークアップ言語およびオブジェクトモデル
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
JP4796499B2 (ja) 映像およびシーングラフインターフェイス
US8723875B2 (en) Web-based graphics rendering system
KR20070011062A (ko) 모델 3d 구성 애플리케이션 프로그램 인터페이스
US8031190B2 (en) Translating two-dimensional user input on three-dimensional scene
CA2618862A1 (en) Extensible visual effects on active content in user interfaces
US11625900B2 (en) Broker for instancing
JP4260747B2 (ja) 動画像構成方法及びシーン構成方法
CN115167940A (zh) 3d文件加载方法及装置
JP2005165873A (ja) Web3D画像表示システム
Chung Pro Processing for Images and Computer Vision with OpenCV: Solutions for Media Artists and Creative Coders
CN117351126A (zh) 虚拟场景中雨雪特效的生成方法、装置及电子设备
Trapp Analysis and exploration of virtual 3D city models using 3D information lenses
Miao M-buffer: a practice of object-oriented computer graphics with UML
Verlinden et al. The simple virtual environment library
Chung Pro Processing for Images and Computer Vision with OpenCV

Legal Events

Date Code Title Description
FG Grant or registration