ES2226109T3 - Metodo de formacion de la caracteristica de proyector y procesador de imagen que lo utiliza. - Google Patents

Metodo de formacion de la caracteristica de proyector y procesador de imagen que lo utiliza.

Info

Publication number
ES2226109T3
ES2226109T3 ES98911132T ES98911132T ES2226109T3 ES 2226109 T3 ES2226109 T3 ES 2226109T3 ES 98911132 T ES98911132 T ES 98911132T ES 98911132 T ES98911132 T ES 98911132T ES 2226109 T3 ES2226109 T3 ES 2226109T3
Authority
ES
Spain
Prior art keywords
light sources
light
polygons
image processing
circuit
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
ES98911132T
Other languages
English (en)
Inventor
Seisuke Morioka
Keisuke Yasui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega 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 Sega Corp filed Critical Sega Corp
Application granted granted Critical
Publication of ES2226109T3 publication Critical patent/ES2226109T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

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

Abstract

Se utiliza una tabla para formar las características de un proyector que imparten efectos de iluminación a las imágenes poligonales representadas por un sistema de procesamiento de imágenes y el número de fuentes de luz que puede utilizarse en una escena de una imagen se incrementa por encima del número de fuentes de luz que pueden utilizarse simultáneamente. Para realizar esto, se propone un procedimiento de formación de las características de los efectos de un proyector unidas a los polígonos de configuración de píxeles en donde se mantiene en una tabla una serie de valores de características que se corresponden con una curva de características de proyector prescrita y dicha curva de características de proyector está formada a partir de valores de características leídos de la tabla y a partir de valores interpolados hallados mediante interpolación entre valores de características adyacentes. Se hallan productos internos entre los vectores de los ejes del proyector y los vectores de luz que se extienden hacia los píxeles, estos valores de los productos internos así hallados se utilizan como direcciones, y se leen valores de características de las direcciones apropiadas de la tabla. También se incluyen una memoria intermedia para conservar los datos de las fuentes de luz que exceden del número de fuentes de luz que pueden ser utilizadas simultáneamente por el sistema de procesamiento de imágenes, medios para unir símbolos identificadores de las fuentes de luz en un número igual al número de fuentes de luz que afectan a cada polígono, medios para leer información de las fuentes de luz de la memoria intermedia de acuerdo con el símbolo identificador de las fuentes de luz y medios para realizar una corrección de la distribución de la luz de acuerdo con la información de las fuentes de luz.

Description

Método de formación de la característica de proyector y procesador de imágen que lo utiliza.
Esta invención se refiere a un método de tratamiento de imágenes para comunicar un efecto de iluminación a objetos representados gráficamente por tecnología de gráficos de ordenador, y a un sistema de tratamiento de imágenes en el que se utiliza dicho procedimiento.
En años recientes, ha habido una proliferación de sistemas de tratamiento de imágenes que utilizan tecnología de gráficos de ordenador en la representación gráfica de objetos situados en el espacio virtual de tres dimensiones con múltiples polígonos. Los esfuerzos de investigación y desarrollo continúan para hacer cada vez más realistas los objetos representados.
Un aspecto de tal tecnología de gráficos de ordenador es la tecnología de procesos de matización o sombreado para comunicar efectos de iluminación sobre las superficies de objetos representados. El impartir de efectos especiales tales como enfocar un proyector de luz sobre un objeto es un método incluido entre tales procesos de matización o sombreado.
El método Open Gl (marca comercial) desarrollado por Silicon Graphics es una tecnología para impartir características del proyector que es conocida en la técnica anterior. Con referencia a la figura 1, si se considera que un vector de luz L que se extiende desde una fuente O del proyector en la dirección de un punto prescrito P, y un vector D de eje de la fuente de luz que se mueve desde la fuente O del proyector hacia el objeto, el método Open GL (marca comercial) designa parámetros para las características de proyector de haz denominadas "spotexp" y "cutoff", que son calculados por la Ecuación 1 siguiente. Las características del efecto del proyector en este momento se muestran en el gráfico de la figura 2.
19
Como se muestra en la figura 2, cuando "spotexp" se hace un valor grande, la mancha (spot) resulta una mancha que tiene una forma estrechada. Sin embargo, cuando se utiliza realmente, en casi todos los casos las características de mancha se consideran en términos de ángulo de extensión de mancha. Por lo tanto, es necesario encontrar, mediante una operación inversa, aquella "spotexp" en la que el "SpotEffect" esté en o por debajo de un cierto valor en el ángulo de extensión de mancha designado. Tales operaciones inversas implican tratamiento por ordenador, que no es sencillo.
Y, aún suponiendo que ha sido determinado el valor de "spotexp" mediante una operación inversa, la forma de la curva característica de mancha es diferente, dependiendo del valor de "spotexp", como se ve en la figura 2. Por esa razón, existe el peligro de que el resultado sea muy diferente de la percepción de un observador que contempla realmente la imagen dibujada.
Además, la forma de la curva característica de mancha es determinada únicamente mediante el valor de "spotexp", por lo que no puede ser designada independientemente de la distribución de extensión e intensidad de la mancha. Como consecuencia, no es posible obtener características tales que sea estrecha la extensión de la mancha, y la distribución de intensidad es aproximadamente constante, como con un proyector de exploración, y el resultado es una proyección de haz indistinta.
El parámetro de "cutoff", por otra parte, es tal que si se excede cierto ángulo tomado como límite, el valor del "spoteffect" se toma como 0. Por lo tanto, es un parámetro que especifica un ángulo, y diferente de "spotexp", por lo que es fácil de controlar. Sin embargo, la distribución de intensidades resulta discontinua, de manera que sólo se pueden obtener características del proyector con las que el borde de mancha sea agudo y la distribución de intensidades sea constante. Esto constituye un inconveniente.
En otras palabras, "cutoff" es el valor de limitación de extensión de luz y, si se excede, resulta que el efecto de iluminación de mancha resulta cero. Cuando se establece un "cutoff", esta región de iluminación resulta conspicua, lo que constituye un problema.
Entretanto, existen también métodos, incluyendo Softimage, desarrollado por Microsoft, con los que se designan el ángulo de inicio de desvanecimiento (ángulo de cono) y el ángulo de final de desvanecimiento (ángulo de extensión) de la mancha, como se esquematiza en la figura 3. Con este método, las características de mancha se calculan utilizando la Ecuación 2 siguiente. Cuando se utiliza este segundo método, puesto que se designan características con ángulos, el control es fácil y los cálculos son sencillos.
18
Sin embargo, estas características son tal como se esquematizan en la figura 4, siendo lineales las variaciones de valores característicos, de manera que no se pueden obtener características de mancha que se parezcan a una curva apropiada tal como con Open GL (marca comercial).
Por lo tanto, existe el problema de que, como se representa en la figura 3, ocurra un énfasis de borde no natural en la posición del ángulo de iniciar desvanecimiento (ángulo de cono). Por énfasis de borde se quiere significar aquí un efecto visual por el cual no es continua la variación de brillantez en regiones adyacentes a una región límite, y se enfatiza la brillantez de límite.
En la figura 5 se da un diagrama de bloques de un ejemplo de un sistema convencional de tratamiento de imágenes. En la figura 5, una CPU tiene la función de controlar la ejecución de programas para tratamiento de imágenes utilizando polígonos. Esta CPU 1 lee datos de polígonos de una memoria temporal o intermedia 11 de polígonos, y les da salida hacia un convertidor de coordenadas 2.
El convertidor de coordenadas 2 convierte datos tridimensionales de polígonos en coordenadas bidimensionales de manera que puedan ser presentadas visualmente en un monitor 7 de presentación de CRT. Las coordenadas de datos de polígonos convertidas en coordenadas bidimensionales son enviadas a un circuito de inserción 30 y a un circuito 31 generador texturas.
El circuito de inserción 30 calcula información en elementos de imagen o pixeles que están dentro de un intervalo que está incluido por los vértices de los polígonos. El cálculo para la inserción observada anteriormente realiza interpolación lineal, por ejemplo, en información en pixeles entre los vértices de polígonos, sobre la base de información en dos vértices correspondientes. El circuito 31 generador de texturas es un circuito que lee la textura correspondiente a un elemento de imagen de una memoria temporal de textura interna, y determina colores para cada elemento de imagen por cálculo. La salida del circuito 31 generador de texturas es enviada como datos de pixeles al circuito de matización o sombreado 32.
El circuito de matización 32 es un circuito para determinar los efectos de iluminación basados en el proyector, tal como se ha hecho observar anteriormente, que están basados en los datos de pixeles y son impartidos a los pixeles. La salida del circuito de matización 32 es enviada a un circuito 12 de modulación de color y a un circuito mezclador 33. El circuito 12 de modulación de color es un circuito que efectúa modulación de color en cada píxel, sobre la base de los resultados determinados por el circuito 32 de matización, por ejemplo. El circuito mezclador 33 mezcla información de color de pixeles de polígonos con información de color extraída previamente, inscribiendo estos datos en tramas para una memoria temporal 5 de tramas. La información de esta memoria temporal 5 de tramas es presentada en el monitor 7 de presentación de CRT.
A continuación se describe un método de formación de características de fuente de luz que se incorpora convencionalmente en el circuito de matización 32 de un sistema de tratamiento de imágenes configurado como se ha descrito en lo que antecede. En el ejemplo de la técnica anterior esquematizado en la figura 5, en algunos casos, cuatro registros 329 de fuentes de luz y cuatro unidades aritméticas correspondientes de fuentes de luz (no mostradas) son configuradas en el circuito de matización 32, el cual es capaz de tratar información procedente de cuatro fuentes de luz simultáneamente.
En un caso en el que se usan fuentes de luz a, d, c y d en una escena de imagen, la información en cada fuente de luz, a saber, a, b, c y d, es almacenada previamente en registros A, B, C y D de fuentes de luz. El circuito de matización 32 calcula qué tipo de efecto tendrán las fuentes de luz a, b, c y d sobre cada píxel o elemento de imagen sobre la base de la información de las fuentes de luz a, b, c y d que está almacenada en los registros 329 de fuentes de luz.
La información de fuentes de luz incluye, por ejemplo, vectores de dirección axial de mancha (Dx, Dy, Dz), un ángulo de corte (Cutoff) y coeficiente de normalización de anchura de desvanecimiento (Escala de penumbras), como se describe en relación con la figura 1 o la figura 3. El circuito de matización 6 realiza cálculos de matización sobre la base de datos de fuentes de luz cuando estos se añaden a los resultados conjuntamente, y calcula los efectos que tienen las cuatro fuentes de luz sobre cada píxel.
Así, con la técnica anterior, se proporcionan los registros 329 de fuente de luz y las unidades aritméticas de fuentes de luz en números exactamente coincidentes con el número de fuentes de luz que se pueden utilizar en una escena de imagen. En general, el número de fuentes de luz en una escena de imagen es el mismo que el número de registros 329 de fuentes de luz y de unidades aritméticas de fuentes de luz. Al ser ello así, en el caso en que se utilicen 100 fuentes de luz en una escena de imagen, por ejemplo, tienen que ser proporcionados 100 registros 329 de fuentes de luz y un número igual de unidades aritméticas de fuentes de luz, teniendo que ser realizados cálculos de matización a partir de las 100 fuentes de luz, teniendo que ser añadidos estos resultados conjuntamente y teniendo que ser calculados los efectos de 100 fuentes de luz para cada elemento de imagen. En términos de tamaño de equipo físico (hardware), sin embargo, esto no es practicable.
Si, por otra parte, el sistema es de un tipo de máquina de estado, es posible aumentar el número de fuentes de luz aparentes reinscribiendo secuencialmente los parámetros de fuentes de luz, pero esto es difícil de gestionar. Y en un sistema que contenga Z-clasificaciones o similares, en el que el orden de trazado de polígonos no es preservado, el número de fuentes de luz aparentes no puede ser incrementado.
Otros sistemas de la técnica anterior se describen en los documentos EP-A-0 613 099, US-A-4 709 231 y US-A-4 819 192.
Según se ha hecho observar en lo que antecede, existen problemas con todos los métodos propuestos en la técnica anterior para impartir efectos de iluminación. Por lo tanto, un objeto de la presente invención es proporcionar un método de tratamiento de imágenes y un sistema de tratamiento de imágenes que utiliza dicho método, con los que se pueden resolver tales problemas, al menos parcialmente.
Otro objeto de la presente invención es proporcionar un método de tratamiento de imágenes y un sistema de tratamiento de imágenes que utiliza dicho método, con los que se pueden realizar, utilizando tablas, en algunas realizaciones de la presente invención, operaciones complejas que eran implementadas en la técnica anterior mediante tratamiento por ordenador utilizando unidades aritméticas.
Además, en sistemas convencionales de tratamiento de imágenes tales como los descritos en lo que antecede, cuando se utilizan múltiples fuentes de luz en una escena de imagen es necesario realizar cálculos de matización un número de veces igual al número de fuentes de luz, y sumar conjuntamente esos resultados. El proporcionar números de registros de fuentes de luz y unidades aritméticas de fuentes de luz iguales al número de fuentes de luz utilizadas en una escena de imagen da lugar a una enorme cantidad de equipo físico.
Sin embargo, en una escena de una historia de juego real, los fuertes efectos de una fuente de luz sobre un polígono están limitados a aquellas fuentes de luz situadas cerca de ese polígono, o de las fuentes de luz de gran intensidad. Incluso cuando hay 100 fuentes de luz en una escena de imagen, por ejemplo, los efectos fuertes sobre cada polígono están limitados a los de cuatro o cinco fuentes de luz próximas a ese polígono. En tales casos, no es necesario calcular los efectos de todas las fuentes de luz en la escena de imagen. En la mayoría de los casos, será suficiente realizar cálculos de matización sólo para aquellas fuentes de luz de las cuales proceden los efectos fuertes.
Siendo ello así, otro objeto de la presente invención es proporcionar un método de tratamiento de imágenes y un sistema de tratamiento de imágenes con los cuales es posible aumentar el número de fuentes de luz que pueden ser usadas en una escena de imagen, mientras se mantiene invariable el número de fuentes de luz que pueden ser tratadas por el circuito de matización.
De acuerdo con un aspecto de la invención, se proporciona un método de tratamiento de imágenes de acuerdo con la reivindicación 1 adjunta.
De acuerdo con otro aspecto de la invención, se proporciona un sistema de tratamiento de imágenes según la reivindicación 8 adjunta.
En una realización de la invención, se pueden incorporar a una tabla múltiples valores característicos correspondientes a un proyector de haz prescrito, y la curva característica de ese proyector de haz formada a partir de valores característicos leídos de la tabla o de valores interpolados encontrados por interpolación entre valores característicos mutuamente adyacentes leídos de esa tabla.
Se pueden incorporar a una tabla de antemano múltiples valores característicos correspondientes a una curva característica de proyector de haz. La configuración puede ser también tal que se usan valores característicos leídos de la tabla, o valores interpolados encontrados por interpolación entre valores característicos mutuamente adyacentes leídos de la tabla. Por lo tanto, se pueden asociar múltiples valores característicos con una curva característica de proyector de haz, en la que se puede formar cualquier característica de proyector de haz.
Pueden ser usados valores característicos incorporados de antemano a una tabla, de manera que no son necesarios cálculos complejos. En términos de la configuración concreta, pueden ser leídos valores característicos a partir de direcciones de tabla correspondientes a productos interiores entre vectores de eje óptico de proyector de haz y vectores de luz que se extienden desde fuentes de luz hacia pixeles o desde pixeles hacia fuentes de luz.
Además, es muy fácil comunicar efectos de manchas no circulares realizando una configuración en la que se definen el vector de eje óptico de proyector de haz y al menos dos ejes perpendiculares ese vector de eje óptico de proyector de haz, se leen valores característicos de la tabla correspondientes a los ángulos subtendidos entre al menos dos planos definidos, respectivamente, por un vector de eje óptico de proyector de haz y al menos dos ejes perpendiculares al mismo, y proyecciones ortogonales para al menos dos planos de vectores de luz que se extienden desde las fuentes de luz hacia los pixeles o desde los pixeles hacia las fuentes de luz, y se forman curvas características de proyector de haz a partir de valores característicos así leídos o de valores interpolados entre valores característicos mutuamente adyacentes leídos de la tabla.
Además, como base de la presente invención, en un sistema de tratamiento de imágenes que imparte efectos de iluminación basados en fuentes de luz a objetos presentados gráficamente por polígonos múltiples, están comprendidos una memoria que preserva información sobre fuentes de luz múltiples, medios para realizar matización basada en información sobre un número prescrito de fuentes de luz para un polígono, y medios para leer la información sobre el número prescrito de fuentes de luz, correspondientes al polígono, a partir de la memoria, y suministrar esa información a los medios de realización de matización.
Por lo tanto, cuando se calcula cómo afectan las fuentes de luz a cada polígono, no es necesario calcular los efectos procedentes de cada fuente de luz en una escena de imagen. Si sólo es leída información en un número prescrito de fuentes de luz especificado por símbolos identificadores de fuentes de luz unidos a cada polígono, y se realiza tratamiento de matización sólo para aquellas fuentes de luz, es posible utilizar un número de fuentes de luz en una escena de imagen que, aparentemente, exceda del número de fuentes de luz que se puedan usar simultáneamente.
La invención puede ser realizada también por el hecho de comprender, en un sistema de tratamiento de imágenes que comunica efectos de iluminación basados en fuentes de luz a objetos presentados gráficamente por múltiples polígonos, una memoria que preserva múltiples grupos de información en múltiples fuentes de luz, medios para realizar matización sobre la base de grupos de información en una pluralidad de fuentes de luz para un polígono, y medios para leer los grupos de información sobre la pluralidad de fuentes de luz, correspondientes al polígono, a partir de la memoria, y suministrar los grupos de información a los medios de realización de matización.
Por lo tanto, cuando el número de fuentes de luz que pueden ser usadas simultáneamente por el sistema de tratamiento de imágenes es un número plural, la información sobre esa pluralidad de fuentes de luz puede ser pluralmente preservada como un grupo en una memoria temporal, y los símbolos identificadores de fuentes de luz unidos a cada polígono pueden leer información de fuentes de luz de la memoria temporal en grupos. Por estas razones, se elimina el proceso para seleccionar información de fuentes de luz para cada polígono, haciendo posible mejorar la velocidad del tratamiento.
La invención puede también realizarse con un método de tratamiento de imágenes para comunicar efectos de iluminación sobre la base de fuentes de luz a objetos presentados gráficamente por múltiples polígonos, que comprende los pasos de: (1) inscribir información sobre fuentes de luz usadas en una escena de imagen para memoria; (2) aplicar símbolos identificadores a cada polígono afectado por una fuente de luz; (3) realizar conversiones de coordenadas en datos de polígonos; (4) inscribir símbolos identificadores en cada píxel de polígono; (5) generar textura sobre la base de datos de pixeles; (6) leer de la memoria información sobre fuentes de luz correspondientes a símbolos identificadores; (7) matizar o sombrear pixeles; y (8) inscribir datos de pixeles en una memoria temporal de tramas.
Por lo tanto, puesto que sólo es necesario calcular, para cada píxel en un polígono, los efectos de las fuentes de luz especificadas por los símbolos identificadores de fuentes de luz, es posible mejorar la velocidad de tratamiento de matización.
Además, como basadas en la presente invención, las fuentes de luz que configuran un grupo de fuentes de luz se pueden utilizar de un modo con el que al menos algunas se solaparán con relación a cada polígono. Al ser esto así, usando fuentes de luz de manera que algunas de ellas se solapen, es posible mantener invariable el número de fuentes de luz que pueden ser usadas simultáneamente y sin embargo usar un número de fuentes de luz en una escena que exceda de ese número.
Otras particularidades y características de realizaciones de la presente invención resultarán claras de las realizaciones descritas a continuación con referencia a los dibujos.
Breve descripcion de los dibujos
La figura 1 es un diagrama para describir el método Open GL;
La figura 2 es un diagrama que representa características de mancha sobre la base del método Open GL;
La figura 3 es un diagrama para describir un método de designar el ángulo de iniciación de desvanecimiento de mancha (ángulo de cono) y el ángulo de detención de desvanecimiento (ángulo de extensión);
La figura 4 es un diagrama que representa características de mancha sobre la base del método esquematizado en la figura 3;
La figura 5 es un diagrama de bloques de una configuración de ejemplo de un sistema de tratamiento de imágenes convencional;
La figura 6 es un diagrama de bloques de una configuración de ejemplo de un sistema de tratamiento de imágenes que puede emplear un método de formar características de proyector de haz de acuerdo con un desarrollo de la presente invención;
La figura 7 es un diagrama de bloques de una configuración de la realización de un circuito de matización que puede utilizar la presente invención;
La figura 8 es un diagrama de bloques de una configuración ejemplar de un circuito de generación de características de manchas, utilizado en un circuito de matización;
La figura 9 representa un ejemplo de una configuración convencional de comparación para aclarar las características del circuito esquematizado en la figura 8;
La figura 10 es un diagrama de bloques de una configuración ejemplar de un generador de direcciones;
La figura 11 es un diagrama para describir un efecto de iluminación sobre la base de una fuente de proyector de haz que tiene un vector de eje;
La figura 12 es un diagrama para describir características de efecto de mancha en un ejemplo sobre la base de una fuente de proyector de haz que tiene un vector de eje;
La figura 13 es un diagrama para utilizar en la explicación de otra realización;
La figura 14 es un diagrama de bloques de una primera configuración de ejemplo de un sistema de tratamiento de imágenes de la presente invención;
La figura 15 es un diagrama de bloques de una segunda configuración de ejemplo de un sistema de tratamiento de imágenes de la presente invención;
La figura 16 es un diagrama de bloques de una tercera configuración de ejemplo de un sistema de tratamiento de imágenes de la presente invención;
La figura 17 es un diagrama que indica el contenido de la memoria temporal de fuentes de luz de la configuración ejemplar esquematizada en la figura 16;
La figura 18 es un diagrama de bloques de una configuración ejemplar de un circuito de matización o sombreado que utiliza la presente invención;
La figura 19 es un diagrama de bloques de una configuración ejemplar de un circuito de generación de características de mancha y registro de fuentes de luz según la presente invención;
La figura 20 es un diagrama para describir un efecto de iluminación sobre la base de una fuente de proyector de haz que tiene un vector de eje;
La figura 20 es un diagrama que describe una escena de imagen en una realización de la presente invención; y
La figura 21 es un gráfico de flujo del proceso para un aspecto de la presente invención.
Ahora se describirán realizaciones de la invención con referencia a los dibujos. En los dibujos, los mismos números de referencia o símbolos se asignan a elementos iguales o similares.
La figura 6 es un diagrama de bloques de una configuración ejemplar de un sistema de tratamiento de imágenes que utiliza un método de formación de característica de proyector de haz.
En la figura 6, una CPU 1 tiene la función de controlar la ejecución de programas para tratamiento de imágenes que usan polígonos. La CPU 1, a medida que avanza el programa, almacena temporalmente datos de vértices para polígonos que han de ser presentados en un monitor de presentación 12 y funciones de establecimiento de registros en una memoria temporal 11 de polígonos.
Los datos leídos de la memoria temporal 11 de polígonos se introducen en un ordenador 2 de geometría. El ordenador 2 de geometría convierte los datos de entrada en un sistema de coordenadas bidimensionales con el fin de presentar visualmente polígonos dispuestos en espacio tridimensional en el monitor de presentación 7 a medida que es ejecutado el programa introducido en la CPU.
Un ordenador de interpretación 3 está conectado para aplicar color, sombreado y textura a los polígonos que se han de presentar. En el lado de salida del ordenador de interpretación 3 está conectada una memoria temporal 5 de tramas en la que se almacena una pantalla de datos que se han de presentar.
A la memoria temporal 5 de tramas está conectado un CRT u otro monitor de presentación 7, a través de un circuito convertidor de D/A 6, en el cual el contenido de la memoria temporal 5 de tramas es presentado secuencialmente.
Aquí el ordenador de geometría 2 indicado anteriormente lee datos de vértice de polígonos (que contiene coordenadas de vértices, colores de vértices, coordenadas de mapa de texturas, transparencia de vértices y vectores normales de vértices, etc.) y funciones de establecimiento de registros de la memoria temporal 11 de polígonos, correspondientes a la velocidad de tratamiento y avance del programa por la CPU 1.
El ordenador de geometría 2 pone polígonos en espacio tridimensional sobre la base de datos de coordenadas de vértices, y realiza decisiones de punto de vista en que se han de incluir regiones para presentar en espacio tridimensional, etc. También realiza truncamiento, es decir, eliminación de vértices de polígonos que sobresalen fuera de un punto de vista. También realiza conversión de coordenadas de tridimensional en bidimensional, proyectando polígonos situados en un punto de vista sobre un plano bidimensional, basado en un punto de vista especificado.
Las coordenadas de datos de polígono convertidas en coordenadas bidimensionales son enviadas al ordenador de interpretación 3. El ordenador de interpretación 3 comprende un circuito de inserción 30, un circuito de aplicación de textura 31, un circuito de matización 32 y un circuito de mezclado 33.
El circuito de inserción 30 tiene funciones para calcular información para pixeles que están en un intervalo comprendido por los vértices de polígonos y pasa esta información a otros circuitos en el ordenador de interpretación 3. Los cálculos para la inserción indicada anteriormente son tales que, por ejemplo, las interpolaciones lineales basadas en información sobre dos vértices corresponden a información sobre vértices entre vértices de polígonos.
El circuito 31 de aplicación de textura es un circuito que lee texturas correspondientes a pixeles de una memoria temporal 4 de texturas, y calcula colores para cada píxel. El circuito de matización 32 es un circuito que imparte efectos de iluminación a polígonos sobre los datos de vértices de polígonos. Es en este circuito en el que se puede implementar un método de formación de características del proyector de acuerdo con un desarrollo de la presente invención. Por lo tanto, los detalles y funciones de este circuito de matización 32 de describen posteriormente.
La salida del circuito de matización 32 es enviada al circuito mezclador 33. El circuito mezclador 33 mezcla, según sea necesario, información de color de pixeles para polígonos previamente trazados, leída de la memoria temporal de tramas 11, con información de color de pixeles para polígonos recién tratados, e inscribe los resultados en la memoria temporal 5 de tramas. La información en esta memoria temporal 5 de tramas, para una pantalla completa, es enviada a través del circuito convertidor 6 de D/A al monitor de presentación 7 y presentada visualmente.
Aunque se omite en el diagrama de la figura 6, también se proporciona aquí, en el ordenador de interpretación 3, una unidad funcional de verificación de profundidad. Esta unidad funcional de verificación de profundidad compara la relación de delante-a-atrás entre múltiples polígonos, y almacena datos sobre polígonos situados en posición más delantera en la memoria temporal de profundidad (no mostrada).
En otras palabras, en la memoria temporal de profundidad se almacenan los Z ejes de pixeles para gráficos (polígonos) previamente trazados. Y, cuando se haya de presentar un nuevo polígono en una posición superpuesta a un polígono previamente dibujado en la pantalla, los Z ejes de los pixeles que configuran el nuevo polígono se comparan con los Z ejes de los pixeles del polígono previamente dibujado o trazado y se leen de la memoria temporal de profundidad. Si, como resultado de esta comparación, se encuentra que los nuevos pixeles de polígonos están en la parte delantera, los Z ejes para estos pixeles se inscriben en la memoria temporal de profundidad.
A continuación se describe un método de formación de características de proyector que puede utilizar la presenta invención e incorporado en la unidad de matización 32 en el sistema de tratamiento de imágenes configurado como se ha descrito en lo que antecede, y una configuración de realización para el circuito de matización.
La figura 7 es un diagrama de bloques de una configuración de realización del circuito de matización 32 en el que se aplica la presente invención.
Un circuito inversor de coordenadas 320 es un circuito para convertir datos de polígonos de coordenadas bidimensionales en datos de polígonos de coordenadas tridimensionales. Los datos de pixeles convertidos en coordenadas tridimensionales por el circuito convertidor de coordenadas 320 son divididos, con una bifurcación de entrada a un circuito 321 de vectores de luz y la otra bifurcación de entrada a un circuito 327 de vectores de reflexión.
El circuito 321 de vector de luz, basado en posiciones de fuente de proyector de haz en espacio tridimensional virtual y coordenadas tridimensionales de píxeles, determina vectores de luz que se extienden desde las fuentes de proyector de haz hacia los pixeles. También determina datos en distancias entre fuentes de luz y pixeles.
Los vectores de luz así determinados son introducidos en un circuito 322 generador de características de mancha. Los datos de distancia entre fuentes de luz y pixeles así determinados se introducen en un circuito 323 de tratamiento de atenuación.
A continuación se describirá una configuración de ejemplo que puede seguir la presente invención para el circuito 322 generador de características de mancha. En este circuito, sin embargo, como se esquematiza en la figura 11, se determinan características de efecto de mancha resultantes de una fuente de luz O del proyector que tiene el vector de eje 70, un ejemplo del cual se representa en la figura 12.
En el circuito 322 generador de características de mancha se encuentra el producto interior 60 del vector de eje 70 de la fuente del proyector de haz y la entrada del vector de luz para cada píxel, es decir, el valor de coseno, al que se da salida como la intensidad de la luz resultante de la fuente del proyector en la dirección del píxel.
El circuito 323 de tratamiento de atenuación calcula cantidades de atenuación de luz sobre la base de la distancia entre la fuente O del proyector y los vectores en la emisión. A continuación se determinan, a partir de un circuito 324 de sintetización de intensidad de luz, las intensidades de luz para los pixeles en cuestión, sobre la base de las intensidades de luz hacia los pixeles producidos por la fuente de proyector de haz, a partir del circuito 322 generador de características de mancha, y las cantidades de atenuación de luz basadas en distancias desde el manantial del proyector a los pixeles en cuestión, desde el circuito 323 de tratamiento de atenuación.
En otras palabras, las intensidades de luz para cada píxel son determinadas por las cantidades de atenuación basadas en el ángulo subtendido entre el vector de eje 70 de la fuente del proyector y el vector de luz del píxel en cuestión, y las cantidades de atenuación basadas en la distancia desde la fuente de proyección de haz a la posición del píxel en cuestión.
A continuación, sobre la base de las intensidades de luz para los pixeles, determinadas por el circuito 324 de sintetización de intensidad de luz, se comunican efectos de sombreado o matización a los pixeles. Estos efectos de sombreado incluyen un efecto de reflexión difusa y un efecto de reflexión en espejo.
El efecto de reflexión difusa es denominado reflexión irregular, producido por luz que penetra en la superficie de un objeto, es absorbido e irradiado de nuevo. Esta luz reflejada difusa se irradia uniformemente en todas direcciones.
Por esta razón, no guarda relación con el punto de vista de un observador. Lo que es importante es el ángulo subtendido entre la dirección desde la fuente de luz hacia el píxel en cuestión, y la dirección de la normal de la superficie del píxel en cuestión. Cuando este ángulo excede de \pi/2, la fuente de luz entra en la sombra del objeto y no ocurre difusión de luz difusa.
Por lo tanto, son introducidas las intensidades de luz para los pixeles, determinadas por el circuito 324 de sintetización de intensidades de luz, a las cuales se aplica un coeficiente de reflexión de difusión constante, en un circuito de difusión 325, mediante lo cual se encuentran los tamaños de la luz reflejada difusa.
El efecto de reflexión en espejo, por otra parte, produce un efecto en el que, en una superficie reflectante perfecta, el ángulo de la luz reflejada con respecto a la luz incidente resulta el mismo con relación a la normal. Por lo tanto, el efecto de reflexión de espejo puede ser observado solamente por un observador que esté en un ángulo que coincida con el ángulo de la luz reflejada. Por esta razón, con el fin de encontrar el tamaño de la luz reflejada, se necesita el vector de línea de mira del observador.
El circuito 326 de reflexión de espejo da entrada a intensidades de luz para vectores determinadas por el circuito 324 de sintetización de intensidad de luz, tras lo cual determina y da salida a ángulos de incidencia en los pixeles en cuestión y cantidades de reflexión desde vectores de línea de visión obtenidos por un circuito 327 de vector de reflexión.
Las cantidades de luz difusa procedentes del circuito de difusión 325, indicadas anteriormente, y las cantidades de luz de reflexión de espejo procedentes del circuito 326 de reflexión de espejo son sintetizadas en un circuito de modulación 328 y emitidas como salida.
En la figura 8 se presenta un diagrama de bloques de una configuración ejemplar de un circuito 322 generador de características de mancha, que utiliza un circuito de matización configurado como se ha descrito en lo que antecede. La figura 9 presenta un ejemplo de una configuración convencional para comparación, para aclarar las características del circuito esquematizado en la figura 8.
En la configuración de la figura 9 se determinan características de mancha mediante las operaciones aritméticas directas de una unidad aritmética 40, a partir de datos de pixeles y de datos de coeficientes. En tales casos, como se ha descrito antes en relación con las figuras 1 a 4, el cálculo es complejo y es muy difícil formar características de mancha a voluntad.
Con la presente invención, sin embargo, que es un método que puede utilizar una tabla, como se describirá en lo que sigue, no son necesarios cálculos complejos, y es posible formar cualquier característica de mancha deseada a partir de datos almacenados en las tablas.
Además, las características de mancha generadas por el circuito 322 generador de características de mancha, según se representan en el ejemplo de la figura 12, son tales que se forma una curva característica uniendo los valores característicos de intensidad de luz en puntos característicos a a p dentro del intervalo de la región de desvanecimiento (escala de penumbras). Por región de desvanecimiento (escala de penumbras) se quiere significar aquí que la región desde el punto de partida de atenuación característica de mancha dentro del intervalo del ángulo 62 indicado en la figura 11 para el punto (cutoff) en que resulta nulo el efecto de iluminación de mancha.
En la figura 12, la intensidad de luz de la fuente O de proyector en la dirección del vector de eje de luz es tomada como 1, los ángulos subtendidos entre los vectores de eje de luz D y los vectores que se extienden hacia los pixeles correspondientes a los puntos característicos a a p son representados en el eje horizontal, los valores característicos de manchas son representados en el eje vertical, y se representan los valores de normalización de cada punto para una intensidad de 1.
El circuito 322 generador de características de mancha, según se esquematiza en la figura 8, comprende una tabla 8 que recibe valores de intensidad de luz para los puntos característicos a a p indicados anteriormente, un generador 9 de direcciones para generar direcciones leídas para valores de intensidad de luz para los puntos característicos a a p a partir de la tabla 8, y un interpolador 10 para una interpolación unidireccional entre puntos característicos.
La tabla 8 de características de mancha del circuito 322 generador de características de mancha esquematizado en la figura 8 comprende un primer grupo 80 y un segundo grupo 81, como una realización. Una configuración de ejemplo para el generador de direcciones 9 se esquematiza en la figura 10.
En el generador 9 de direcciones se introducen información de pixeles L (vectores de fuente de luz Lx, Ly, Lz) y datos de coeficientes (vectores "Dx, Dy, Dz" de dirección de ejes de manchas, ángulos de corte "Cutoff", coeficientes de normalización de anchura de desvanecimiento "Escala de penumbras", e índice "tabla-id" para seleccionar la tabla de características 8).
En la figura 10, se encuentra el producto interior 60 (véase la figura 11) entre el vector Lx, Ly, Lz de fuente de luz y el vector Dx, Dy, Dz de dirección de eje de mancha, mediante una unidad de cálculo 90 de producto interior, y se determina el valor del coseno producido por estos dos vectores. Las porciones que exceden de la parte de corte 61 (véase la figura 11) son suprimidas por un substractor 91.
A continuación, la salida del substractor 91 que ha suprimido las porciones que exceden de la parte de corte 61 se multiplica por un coeficiente de normalización de anchura de desvanecimiento "Escala de penumbras", por ejemplo mediante un coeficiente de 10, y la porción que se aplica a la parte de penumbra (parte de desvanecimiento) 62 (véase la figura 11) se normaliza de 0,1 a 1,0. Por lo tanto, cuando la entrada excede de 1,0, se trunca hasta 1,0, y cuando es menor que 0,0 se trunca a 0,0 mediante una unidad aritmética de truncado 93.
La salida procedente de la unidad aritmética de truncado 93 se utiliza en el acceso a la tabla de características 8 y en la interpolación entre puntos característicos. Suponiendo aquí que la salida de la unidad aritmética de truncado es una salida de 16 bits, entonces se pueden utilizar 4 bits para acceder a la tabla 8 de características, 1 bit para la bandera o indicador SF de grupo, y 11 bits para interpolar entre puntos característicos.
Aquí, en la realización esquematizada en la figura 8, la tabla de características 8 comprende primero y segundo grupos 80 y 81 de memorias. Por lo tanto, en el diagrama de características de la figura 12, los datos de valores característicos adyacentes para puntos característicos a a p se almacenan alternativamente en el primer grupo 80 de memorias y el segundo grupo 81 de memorias, respectivamente. Al ser configurada de este modo, es posible leer simultáneamente datos de valores característicos adyacentes y por tanto acortar el tiempo de acceso a memoria.
Además, cuando el indicador SF de conmutación de grupo es 0, la dirección leída (dirección impar) OA para el primer grupo 80 de memorias y la dirección leída (dirección par) EA para el segundo grupo 81 de memorias son los mismos. Cuando el indicador SF de conmutación de grupo es 1, por otra parte, la dirección leída (dirección par) EA para el segundo grupo 81 de memorias es hecha avanzar en 1, mediante un circuito 94 de incrementar, con relación a la dirección leída (dirección impar) OA para el primer grupo 80 de memorias.
Para describir esto en términos de ejemplos concretos, cuando el indicador SF de conmutación de lectura de grupos es 0, y la dirección es 0000, la dirección leída EA para el primer grupo 80 de memorias es la misma que la dirección leída OA para el segundo grupo 81 de memorias, y en el punto característico a son leídos datos del primer grupo 80 de memorias y en el punto característico b son leídos datos del segundo grupo 81 de memorias.
En este caso, el interpolador 10 de la figura 8 introduce un parámetro de interpolación t y el 0 lógico del indicador de conmutación SF leído del grupo. Además, se da entrada a datos para los puntos característicos a y b leídos de las tablas de características 80 y 81.
Por lo tanto, el interpolador 10 encuentra el valor entre los puntos característicos a y b mediante interpolación unidimensional a partir de la relación expresada por la ecuación 3 siguiente.
...(3)D_{t \ a-b} = tA + (1-t) B
En la ecuación 3 anterior, Dta-b es el valor de efecto de mancha para el punto de parámetro de interpolación entre los puntos característicos a y b, A es el valor de efecto de mancha para el punto característico a, y B es el valor de efecto de mancha para el punto característico b.
En el ejemplo concreto indicado anteriormente, cuando el indicador de conmutación SF de lectura de grupo es un 1 lógico, es hecha avanzar en 1 la primera dirección leída de la tabla de características 80 por el circuito 94 de incrementar, dando lugar a una dirección de 0001. En esta dirección se almacenan los datos para el punto característico c.
En este caso, en el interpolador 10, el indicador de conmutación SF de lectura de grupo es un 1 lógico, por lo cual se le da prioridad al punto característico b leído de la tabla de características 80, y se obtienen de la Ecuación 4 siguiente los datos de interpolación Dtb-c ente los puntos característicos b y c.
...(4)D_{t \ b-c} = tB + (1-t)
Como se ha indicado anteriormente, es posible formar características de mancha usando operaciones aritméticas simples.
Además, configurando los datos de puntos característicos almacenados en la tabla de características 8 según se desee, se puede formar cualquier característica de mancha deseada. En otras palabras, configurando datos de puntos característicos como potencias exponenciales, se pueden aproximar características de manchas de Open GL (marca comercial), y configurando estas linealmente, se pueden aproximar características de mancha de Softimage.
La figura 13 es un diagrama para describir una realización de la presente invención. En la realización descrita en la que antecede, las características de mancha se encuentran en términos de un ángulo con algún eje, de manera que la mancha resulta siempre circular. En el ejemplo representado en la figura 12, sólo se puede expresar un efecto del proyector sobre la base de características del proyector circulares concéntricas. En otras palabras, sólo se pueden generar características del proyector unidimensionales.
Sin embargo, en la realización esquematizada en la figura 13, el número de ejes se incrementa más, y es posible mantener datos de puntos característicos bidimensionales en la tabla de características 8. Con esta configuración, las características de mancha producen manchas que tienen características bidimensionales.
En el ejemplo concreto esquematizado en la figura 13, se definen los ejes A y B perpendiculares a un eje O de proyector de haz, haciendo posible considerar un plano de OA y un plano de OB definidos por el eje de proyector de haz y los ejes A y B. Después de ello, se referencia una tabla bidimensional usando los ángulos \Psi y \theta subtendidos entre los ejes A y B, respectivamente, y las proyecciones ortogonales C y D del vector de luz OB con relación al plano de OA y al plano de OB. Así, es posible obtener características de mancha bidimensionales. También es posible definir una pluralidad de ejes que sean perpendiculares al eje de mancha O.
A continuación se describe una realización de un sistema de tratamiento de imágenes de acuerdo con la invención, en el que se puede utilizar el método de formar características de fuente de proyector de haz descritas en lo que antecede. En esta realización de la presente invención, hay múltiples grupos de fuentes de luz y símbolos identificadores de fuentes de luz (en lo que sigue denominados "IDs-Luz") que indican qué grupo de fuentes de luz se utiliza para cada polígono. El circuito de matización o sombreado lee la información efectiva de fuente de luz sobre la base del ID-Luz, y realiza matización de acuerdo con ello. La figura 14 es un diagrama de bloques de una primera configuración ejemplar de un sistema de tratamiento de imágenes que utiliza el método de formación de características de fuentes de luz de la presente invención.
La CPU 1 tiene la misión de controlar la ejecución de programas para tratar imágenes que usan polígonos. La CPU 1 almacena temporalmente datos de vértices para polígonos que se han de presentar en el monitor de presentación 7 de CRT y registra funciones de establecimiento en la memoria temporal 11 de polígonos. siguiendo el avance del programa. La CPU 1 también aplica un ID-Luz a cada polígono como información determinante de qué fuente de luz afecta cada a polígono.
Los datos leídos de la memoria temporal 11 de polígonos se introducen en el convertidor 2 de coordenadas. El convertidor 2 de coordenadas convierte los datos de entrada en coordenadas bidimensionales con el fin de presentar polígonos situados en espacio tridimensional en el monitor de presentación 7 de CRT, a medida que el programa que está siendo ejecutado. Las coordenadas de datos de polígonos convertidas en coordenadas bidimensionales son enviadas al circuito de inserción 30 y al circuito 31 generador de texturas.
El circuito de inserción 30 calcula información para pixeles dentro de un intervalo que está comprendido por los vértices de polígonos. Los cálculos para la inserción indicados anteriormente son tales como, por ejemplo, interpolaciones lineales basadas en información sobre dos vértices correspondiente a información sobre vértices entre vértices de polígonos. El circuito de inserción 30 inscribe, además, los IDs-Luz unidos a cada polígono a los pixeles que configuran los polígonos. Esta operación de inscripción se repite un número de veces igual al número de polígonos.
El circuito 31 generador de textura lee textura (no mostrada) correspondiente a los pixeles de la memoria temporal de textura, y calcula colores para cada píxel. La salida del circuito 31 generador de textura es enviada como datos de pixeles al circuito de matización 32, mientras, simultáneamente, son unidos IDs-Luz de polígono correspondientes por el circuito de inserción 30 a los pixeles que constituyen los polígonos. El circuito de matización 32 realiza, sobre la base de estos IDs-Luz, tratamiento de matización para fuentes de luz que afectan a cada uno de los pixeles que configuran los polígonos.
En la configuración ejemplar esquematizada en la figura 14, hay cuatro registros 329 de fuentes de luz dentro del circuito de matización 32, designados por A, B, C y D, en un caso en el que es cuatro el número de fuentes de luz que pueden ser tratadas por el circuito de matización 32 para una escena de imagen. En estos cuatro registros 329 de fuentes de luz se almacena información sobre fuentes de luz que afectan a los polígonos.
Entretanto, en la memoria temporal 17 de fuentes de luz, se almacena o guarda información sobre todas de fuentes de luz. Esta información de fuentes de luz se designa en cuatro unidades mediante ID-Luz, que se almacenan en los registros 329 de fuentes de luz en el circuito de matización 32. En este caso, un ID-Luz se une a cada uno de los pixeles de la escena de imagen, por lo que el tratamiento de matización para los pixeles se hace sólo para cuatro fuentes de luz designadas por el ID-Luz. El circuito de matización 32, además, calcula, sobre la base de la información de fuentes de luz en los registros 329 de fuentes de luz, efectos de información de pixeles sobre la base de los datos de vértices de polígonos. Los detalles y funciones de este circuito de matización 32 se describen posteriormente.
La salida del circuito de matización 32 es enviada al circuito de modulación de colores 12 y al circuito de mezclado 33. El circuito de modulación de colores 12 es un circuito que modula colores para cada píxel, sobre la base de la salida del circuito de matización 32.
El circuito de mezclado 33 mezcla la información de colores para los pixeles de polígonos previamente dibujados, y lee de la memoria temporal 5 de tramas, junto con la información de colores para pixeles de polígonos recién tratados, e inscribe esta información como una pantalla de datos en una memoria temporal 5 de tramas. La información de esta memoria temporal 5 de tramas es presentada visualmente en el monitor de presentación 7 de CRT.
La figura 15 es un diagrama de bloques de una segunda configuración ejemplar de un sistema de tratamiento de imágenes en el que se emplea la presente invención. En la memoria temporal 17 de fuentes de luz de la figura 15 se guardan una pluralidad de unidades de información de fuentes de luz que pueden ser tratadas en una escena de imagen, es decir, el número de registe 329 de fuentes de luz, como un grupo. Cuando es este el caso, un ID-Luz se une a cada píxel, y el circuito de matización 6, sobre la base de este ID-Luz, puede leer información de fuentes de luz de la memoria temporal 17 de fuentes de luz, tomando cuatro fuentes de luz como un grupo es la realización.
La figura 16 es un diagrama de bloques de una tercera configuración de ejemplo de un sistema de tratamiento de imágenes en la que se puede utilizar la presente invención. En esta configuración ejemplar, se almacena o guarda en la memoria 8 de fuentes de luz información de todas las fuentes de luz utilizadas, y en la memoria temporal 17 de fuentes de luz se almacena información para un grupo de fuentes de luz que tienen un efecto sobre cada píxel. Un ID-Luz se une a cada píxel. El circuito de matización 32, sobre la base de ese ID-Luz, puede reconocer el grupo de fuentes de luz de la memoria temporal 17 de fuentes de luz que tienen un efecto sobre el píxel, y puede leer información de las fuentes de luz de la memoria 18 de fuentes de luz.
La figura 17 esquematiza un ejemplo del contenido de la memoria temporal 17 de fuentes de luz en la tercera configuración de ejemplo del sistema de tratamiento de imágenes esquematizado en la figura 18. En este caso, el ID-Luz para cada píxel es dado como una dirección de 6 bits. En esa dirección se almacena, en la memoria temporal 17 de fuentes de luz, información sobre un número de fuentes de luz, es decir el número de registros de fuentes de luz, como fuentes de luz que tienen un efecto sobre cada píxel, por ejemplo, sobre un grupo de fuentes de luz en el que cuatro forman un grupo.
Los IDs-Luz son proporcionados por la CPU 1, siguiendo el curso del programa de juego, como información en la que un polígono ha de ser afectado por cuatro fuentes de luz. Las fuentes de luz así designadas serán usualmente fuentes de luz que estén ya sea cerca del polígono o sean de gran intensidad.
Por esta razón, como se esquematiza en la figura 17, cuando un ID-Luz (000001) ha sido unido a algún polígono, ese polígono y los pixeles contenidos en ese polígono son sometidos a tratamiento de matización como influenciados por las fuentes de luz c, d, e y f.
Por lo tanto, si se utiliza una dirección de 6 bits, son posibles 64 combinaciones de grupos de fuentes de luz, y el número de fuentes de luz aparentes puede ser incrementado incluso aunque sea cuatro el número de fuentes de luz que puedan ser tratadas en términos de equipo físico.
A continuación se describe un método de formación de características de fuente de luz incorporado en el circuito de matización 32 en un sistema de tratamiento de imágenes que tiene la configuración descrita en lo que antecede, junto con una realización del circuito de matización 32. La figura 18 es un diagrama de bloques de una realización del circuito de matización 32 en la que utiliza la presente invención.
El circuito de matización o sombreado 32 es un circuito que calcula cómo son incluidos los pixeles contenidos en los polígonos por las fuentes de luz. En esta realización, el circuito de matización 32 comprende cuatro bloques, a saber, una unidad aritmética 331 de vectores, unidades aritméticas 330 de fuentes de luz, registros 329 de fuentes de luz y el acumulador 328. En esta realización, para que los efectos de cuatro fuentes de luz puedan ser tratados al mismo tiempo, se proporcionan los registros 329 de fuentes de luz para almacenar información de fuentes de luz y las unidades aritméticas 330 de fuentes de luz que calculan matización para los pixeles, respectivamente, en cuatro juegos o conjuntos. Los datos para cuatro fuentes de luz, según se describen en la relación con las figuras 14 a 17 anteriores, se guardan en los registros 329 A, B, C y D, respectivamente, de fuentes de luz.
Por lo tanto, los efectos producidos por cuatro fuentes de luz sobre cada píxel son calculados por las unidades aritméticas 330 A, B, C y D de fuentes de luz correspondientes a las cuatro fuentes de luz, respectivamente, y los efectos de las cuatro fuentes de luz sobre los pixeles son combinados por el acumulador 328. Los datos de fuentes de luz almacenados en los registros 329 de fuentes de luz se utilizan en las unidades aritméticas 330 de fuentes de luz cuando generan características de mancha o tratan atenuación de fuentes de luz.
A continuación se explica el funcionamiento de cada uno de los subcircuitos contenidos en el circuito de matización 32. La unidad aritmética 331 de vectores comprende un inversor de coordenadas 320 y un circuito 327 de vectores de reflexión. El inversor de coordenadas 320 es un circuito que convierte datos de pixeles de coordenadas bidimensionales de entrada en datos de pixeles de coordenadas tridimensionales. La salida del circuito inversor 320 de coordenadas es, en esta realización, introducida en las unidades aritméticas 330 (A, B, C, D) de fuentes de luz, tras lo cual son calculados al mismo tiempo los efectos de las cuatro fuentes de luz. La otra salida del circuito inversor 320 de coordenadas es introducida por el circuito 327 de vectores de reflexión. Los datos convertidos en datos de coordenadas tridimensionales por el circuito inversor de coordenadas 320 e introducidos por una de las unidades aritméticas 330 de fuentes de luz, por ejemplo la A, son introducidos por el circuito 321 de vectores de luz.
El circuito 321 de vectores de luz determina vectores de luz que se extienden desde fuentes de luz hacia pixeles, sobre la base de las posiciones de aquellas fuentes de luz en espacio virtual tridimensional y las coordenadas tridimensionales de aquellos pixeles. Este circuito determina también datos sobre distancias entre fuentes de luz y los pixeles en cuestión.
Los vectores de luz así determinados son introducidos en el circuito 322 generador de características de mancha. Los datos sobre distancias encontradas entre fuentes de luz y los pixeles en cuestión son introducidos en el circuito 323 de tratamiento de atenuación. En este circuito 323 de tratamiento de atenuación son determinadas las características de efecto de mancha representadas como ejemplo en la figura 12 por la fuente de luz O que tiene el eje de vector 70, como se esquematiza en la figura 11. El circuito 322 generador de características de mancha determina el producto interior 60 entre el vector 70 de eje de fuente de luz de proyector y la entrada de vectores de luz para cada píxel, es decir, el coseno para el mismo, y da salida a la intensidad de luz generada desde la fuente de proyector de haz hacia el píxel.
Entretanto, el circuito 323 de tratamiento de atenuación calcula la cantidad de atenuación de luz de acuerdo con la distancia entre la fuente de luz O de proyector y el píxel en cuestión. A continuación, sobre la base de la intensidad de luz generada hacia el píxel por la fuentes de luz de proyector, desde el circuito 322 generador de características de mancha, y la cantidad de atenuación de luz resultante de la distancia desde la fuente de luz de proyector al píxel en cuestión, desde el circuito 323 de tratamiento de atenuación, se determina la intensidad de luz para el píxel en cuestión, desde el circuito de sintetización de intensidad de luz 324.
En otras palabras, la intensidad de luz para cada píxel se determina a partir de la intensidad presentada por la propia fuente de luz, resultando la cantidad de atenuación del ángulo subtendido por el vector 70 de fuente de luz de proyector y del vector de luz para el píxel en cuestión, y resultando la cantidad de atenuación de la distancia desde la fuente de proyector a la posición del píxel en cuestión.
Sobre la base de la intensidad de luz para cada píxel, según es determinada por el circuito 324 de sintetización de intensidad de luz, se imparten a continuación efectos de matización o sombreado a cada píxel. Estos efectos de matización incluyen un efecto de reflexión difusa y un efecto de reflexión de espejo.
El efecto de reflexión difusa es denominado reflexión irregular, producida por luz que penetra en la superficie de un objeto, es absorbida e irradiada de nuevo. Esta luz reflejada difusa irradia uniformemente en todas direcciones. Por esta razón, no guarda relación con el punto de vista de un observador. Lo que es importante es el ángulo subtendido entre la dirección desde la fuente de luz hacia el píxel en cuestión, y la dirección de la normal de la superficie del píxel en cuestión. Cuando este ángulo excede de \pi/2, la fuente de luz entra en la sombra de un objeto y no ocurre reflexión de luz difusa.
El efecto de reflexión de espejo, por otra parte, produce un efecto en el que, con una superficie reflectante perfecta, el ángulo de la luz reflejada con respecto a la luz incidente resulta el mismo con relación a la normal.
Por lo tanto, el efecto de reflexión de espejo puede ser observado sólo por un observador que se sitúa según un ángulo que coincida con el ángulo de la luz reflejada. Por esta razón, con el fin de encontrar el tamaño de la luz reflejada, es necesario el vector de reflexión de línea de mira del observador.
El circuito 326 de reflexión de espejo introduce intensidades de luz para vectores determinados por el circuito 324 de sintetización de intensidad de luz, tras lo cual determina y da salida a ángulos incidentes en los pixeles en cuestión y cantidades de reflexión desde vectores de línea de mira obtenidos de un circuito 327 de vectores de reflexión.
Las cantidades de luz difusa procedentes del circuito de difusión 325 indicado anteriormente, y las cantidades de luz de reflexión de espejo procedentes del circuito 326 de reflexión de espejo son sintetizadas en el acumulador 328, junto con la salida de las otras unidades aritméticas 330 B, C y D de fuentes de luz, y emitidas como salida.
En la figura 19 se da un diagrama de bloques de una configuración ejemplar del circuito 322 generador de características de mancha empleado en el circuito de matización 32 configurado como se ha descrito en lo que antecede. En esta configuración de ejemplo, por medio de un método en el que se emplea una tabla, como se describirá más adelante, es posible formar cualquier característica de mancha deseada a partir de datos almacenados en la tabla, sin que se requieran cálculos complejos. Se ha de observar que los circuitos A, B, C y D generadores de características de mancha tienen la misma configuración, de manera que la descripción dada se dirige al circuito A generador de características de mancha.
Las características de mancha generadas por el circuito 322 generador de características de mancha, como se representa en el ejemplo de la figura 12, son tales que se forma una curva característica uniendo los valores característicos de intensidad de luz en puntos característicos a a p dentro del intervalo de la región de desvanecimiento (escala de penumbras) 62 (véase la figura 12).
Más concretamente, en la figura 12, tomando la intensidad de luz en la dirección del vector de eje de luz del haz O de proyector como 1, el ángulo subtendido entre el vector D de eje de luz y el vector L en la dirección del píxel correspondiente a los puntos característicos a a p se representa en el eje horizontal, y el valor normalizado para la intensidad de luz de 1 en cada punto se representa en el eje vertical.
El circuito 322 generador de características de mancha, en esta configuración de ejemplo, comprende, según se esquematiza en la figura 19, una tabla 80 para almacenar los valores de intensidad de luz para los puntos característicos a a p para las características de mancha indicadas anteriormente, un generador 90 de direcciones para generar direcciones para leer valores de intensidad de luz para los puntos característicos a a p de la tabla 80, y un interpolador 100 para realizar interpolación unidireccional entre los puntos característicos.
En el generador 90 de direcciones se introducen datos de píxeles (Lx, Ly, Lz) como información de pixeles, vectores (Dx, Dy, Dz) de direcciones de ejes de manchas como información de fuentes de luz, un ángulo de corte (Cutoff), coeficientes de normalización de anchura de desvanecimiento (Escalas de penumbra), e índices (IDs de tabla) para seleccionar la tabla 80 de características.
Además, estas unidades de información de fuentes de luz son almacenadas para cada fuente de luz a, b, c, ..., ya sea en la memoria temporal 17 de fuentes de luz indicada en las figuras 14 y 15 o la memoria 18 de fuentes de luz indicada en la figura 16. En este ejemplo de realización, se pueden tratar los efectos de cuatro fuentes de luz en cada píxel, y se le comunica a cada píxel un ID-Luz para designar las cuatro fuentes de luz, mediante la CPU 1 indicada en la figura 14, etc. Los registros 329 de fuentes de luz son cuatro, a saber, A, B, C y D, se leen cuatro unidades de datos de fuentes de luz ya sea de la memoria temporal 7 de fuentes de luz o de la memoria 8 de fuentes de luz, de acuerdo con el ID-Luz, y los datos de fuentes de luz se suministran a los circuitos 322 (A, B, C, D) generadores de características de mancha.
En la figura 19 se obtiene el producto interior 60 (véase la figura 11) entre los datos de pixeles Lx, Ly, Lz y el vector Dx, Dy, Dz de dirección de eje de mancha, y se determina el valor del coseno [del ángulo] subtendido por estos dos vectores. La porción que excede de la parte de corte 61 (véase la figura 11) es suprimida por el substractor 92.
A continuación, la salida del substractor 92 que ha suprimido la porción excedente de la parte de corte 61 es multiplicada por el entero de normalización de anchura de desvanecimiento Escala de penumbras, es decir, por un coeficiente de 10, por ejemplo, por un multiplicador 93, y la parte aplicable a la parte en penumbra (parte de desvanecimiento) 62 (véase la figura 11) es normalizada a un valor comprendido entre 0,0 y 1,0. Por lo tanto, cuando la entrada está por encima de 1,0, será truncada a 1,0, y cuando es menor que 0,0, será truncada a 0,0, mediante una unidad aritmética 94 de truncado.
La salida procedente de la unidad aritmética 94 de truncado se utiliza tanto para acceder a la tabla 80 de características como en la interpolación entre puntos característicos. Si se supone que la salida de la unidad aritmética 94 de truncado es una salida de 16 bits, entonces 4 bits de la misma se usan para acceder a la tabla 80 de características, 1 bit se utiliza como un indicador SF de conmutación de grupos, y 11 bits se usan en interpolación de puntos característicos.
Aquí, en la realización esquematizada en la figura 19, la tabla 80 de características comprende un primer y un segundo grupos de memorias 81 y 82. Por lo tanto, en el diagrama de características de la figura 12, los datos en los puntos característicos a a p son mantenidos alternadamente en el primer grupo de memorias 81 y el segundo grupo de memorias 82, respectivamente.
Además, cuando el indicador SF de conmutación de grupos es 0, la dirección leída (dirección impar) OA para el primer grupo de memorias 81 y la dirección leída (dirección par) EA para el segundo grupo de memorias 82 son la misma. Por otra parte, cuando el indicador SF de conmutación de grupos es 1, la dirección leída (dirección par) EA para el segundo grupo de memorias 82 es hecha avanzar en 1, por un circuito 94 de incrementar, con relación a la dirección leída (dirección impar) OA para el primer grupo de memorias 81.
Un ejemplo concreto es el mismo que se ha descrito anteriormente. Cuando el indicador SF de conmutación de lectura de grupos es 0, y la dirección es 0000, la dirección leída EA para el primer grupo de memorias 81 es la misma que la dirección leída OA para el segundo grupo de memorias 82, tras lo cual son leídos datos del punto característico a del primer grupo de memorias 81 y son leídos datos del punto característico b del segundo grupo de memorias 82.
En este caso, el interpolador 100 de la figura 19 introduce un parámetro t de interpolación y el 0 lógico del indicador SF de conmutación de lectura de grupos. Además, se da entrada a datos para puntos característicos a y b leídos de las tablas de características 81 y 82.
Por lo tanto, el interpolador 100 obtiene el valor Dta-b entre los puntos característicos a y b por interpolación unidireccional a partir de la relación expresada por la Ecuación 3 anterior.
En el ejemplo concreto descrito anteriormente, cuando el indicador SF de conmutación de lectura de grupos pasa a 1 lógico, la dirección leída de la primera tabla de características 81 es hecha avanzar 1 por el circuito de incrementar 95, de manera que la dirección se convierte en 0001. En esta dirección se guardan datos del punto característico c.
En un caso tal como este, en el interpolador 100, el indicador SF de conmutación de lectura de grupos está en 1 lógico, por lo que se da prioridad al punto característico b leído de la tabla de características 82, y los datos interpolados Dtb-c entre los puntos característicos b y c son obtenidos por la ecuación 4 anterior.
Por lo tanto, de la manera anteriormente descrita, es posible formar características de mancha mediante operaciones aritméticas sencillas. Y configurando los datos de puntos característicos contenidos en la tabla de características 80 según se desee, se puede formar cualquier característica de mancha deseada.
A continuación, en la figura 20 se esquematiza un ejemplo de trabajo de una escena de imagen en la que una calle es iluminada por una pluralidad de lámparas de calle, de acuerdo con la presente invención. Las fuentes de luz a, b, c, etc. se sitúan a ambos lados de la calle. A los polígonos que forman la calle se unen IDs-Luz que indican de qué fuente de luz se encuentran afectados. En este ejemplo, un polígono puede ser afectado por un máximo de cuatro fuentes de luz. En el caso de que el ID-Luz para el polígono P2 sea 000001, por ejemplo, ese polígono será afectado por las fuentes de luz c, d, e y f, de acuerdo con el contenido de la memoria temporal de fuentes de luz esquematizada en la figura 17.
Así, si cada polígono contiene un ID que indica qué fuente de luz lo afecta, y el tratamiento de fuentes de luz se realiza correspondientemente, será efectuado en la escena un número de fuentes de luz mayor que el número de fuentes de luz que pueden ser tratadas simultáneamente.
El flujo del proceso para la presente invención se esquematiza en la figura 21. En el proceso en el estado de inicialización de programa, se realizan rutinas de paso 1 y paso 2. En primer lugar, los parámetros de fuentes de luz en la escena se inscriben en la memoria temporal 17 (paso 1) de fuentes de luz. Los parámetros de fuentes de luz incluyen posición, color, intensidad y dirección, etc. de fuentes de luz La escena puede ser hecha contener cualquier número de fuentes de luz que sean permitidas por la memoria temporal 17 de fuentes de luz.
A continuación, los IDs de luz (IDs-Luz) se unen a cada polígono para indicar las fuentes de luz que tienen un efecto sobre ellos (paso 2). Cada polígono es afectado de la manera más fuerte por la fuente de luz más próxima al mismo. En sistemas en los que el equipo físico permite el tratamiento simultáneo de cuatro fuentes de luz, es posible aplicar direcciones en la memoria temporal de fuentes de luz que designan cuatro fuentes de luz que están las más próximas a cada polígono. En cuanto a las fuentes de luz que afectan a un polígono, estas fuentes de luz pueden ser seleccionadas sobre la base de la dirección de los vectores normales de vértices para el polígono y la dirección en la que se orienta la fuente de luz.
Entonces, en el paso 3, se repiten las conversiones de coordenadas y las conversiones de transparencias un número de veces igual al número de polígonos, para cada polígono en cada escena, a medida que progresa el juego (paso 3). Con este tratamiento hecho en el paso 3, los polígonos tridimensionales son convertidos en datos bidimensionales en la pantalla, y, mediante conversión de transparencia, se puede hacer tratamiento para cambiar el sentido de profundidad asociado con cambios en la posición del punto visual.
A continuación, se inserta cada polígono, y se inscribe un ID-Luz por cada píxel (paso 4). Por lo tanto, en este paso 4, serán designadas cuatro fuentes de luz como las que tienen un efecto sobre el píxel, de entre las muchas fuentes de luz en la escena. Entonces, en el paso 5, se realiza generación de textura (paso 5). Tal textura incluye modelos de superficie de polígonos y percepción de material. Tales diseños o modelos, etc. se aplican a la superficie de polígonos mediante cartografía.
A continuación, de acuerdo con una característica de la presente invención, son leídos parámetros de fuente de luz correspondientes a los IDs-Luz de la memoria temporal 17 de fuentes de luz (paso 6). En otras palabras, cuando el ID-Luz está en una dirección en la memoria temporal 17 de fuentes de luz, sobre la base de esa dirección se lee información de fuente de luz almacenada en la memoria 18 de fuentes de luz.
A continuación se realiza el tratamiento de matización (paso 7). En este tratamiento de matización, basado en las fuentes de luz y los datos sobre los polígonos del objeto, se realizan procesos de iluminación de pantalla, coloración y matización. Entonces se inscribe una pantalla de datos de vídeo en la memoria temporal 5 de tramas (paso 8). Tales rutinas de tratamiento del paso 5 al paso 8 se repiten un número de veces igual al número de pixeles que forman el polígono, y se presenta visualmente una trama de información almacenada en la memoria temporal 5 de tramas en el monitor 7 de presentación de CRT.
De acuerdo con las realizaciones descritas en lo que antecede con referencia a los dibujos, con el método de formación de características de proyector, se referencia una tabla de características en la que se almacenan datos de puntos característicos, usando ángulos subtendidos entre ejes de manchas y vectores de fuentes de luz, con lo que se hace posible formar características de mancha con un alto grado de libertad con circuitos más sencillos en comparación con métodos que determinan características de mancha por cada píxel sobre la base de ecuaciones de cálculo.
Además, se realiza un elevado grado de libertad en las características de mancha, y la realización de circuitos es también sencilla. Además, si la tabla de características preparada se extiende a dos dimensiones, es también posible formar manchas no circulares o formar una pluralidad de manchas a partir de una fuente de luz. Como se ha descrito en lo que antecede, de acuerdo con la presente invención, se pueden manejar y seleccionar una pluralidad de grupos de fuentes de luz mediante los IDs-Luz, por lo que es posible utilizar un número de fuentes de luz mayor que el número de fuentes de luz que se pueden usar simultáneamente, en una escena.

Claims (13)

1. Un método de tratamiento de imágenes, para comunicar efectos de iluminación desde fuentes de luz (a-1) a objetos que son presentados gráficamente por múltiples polígonos (P1-P6), que incluye las operaciones o pasos de:
inscribir en memoria (17, 18) información sobre una pluralidad de fuentes de luz (a-1) utilizadas en una escena de imagen;
aplicar símbolos identificadores (IDs-Luz) a los polígonos (P1-P6), que identifican qué fuentes de luz afectan a cada polígono;
realizar conversiones de coordenadas en dichos datos de polígonos;
para cada polígono, inscribir su símbolo identificador aplicado en los pixeles que lo configuran;
generar textura sobre la base de dichos datos de pixeles;
leer información sobre fuentes de luz que afectan a cada uno de dichos polígonos (P1-P6), correspondiente a dichos símbolos identificadores, de la memoria (17, 18);
matizar o sombrear dichos pixeles sobre la base de información de fuentes de luz leída de dicha memoria (17, 18), e
inscribir dichos datos de pixeles en una memoria temporal (5) de tramas.
2. El método de tratamiento de imágenes según la reivindicación 1, en el que, en dicho paso de matizar los pixeles, son formadas características de proyector de haz impartidas a dichos pixeles que configuran polígonos, mediante las acciones de:
mantener una pluralidad de valores característicos en una tabla bidimensional (80) que tiene como parámetros dos componentes independientes extraídos de vectores de luz que se extienden desde una fuente de luz de proyector de haz hacia pixeles, o de pixeles hacia una fuente de luz de proyector de haz;
leer valores característicos de dicha tabla bidimensional (80), basados en dichos parámetros; y
formar una curva característica de proyector de haz a partir de dichos valores característicos así leídos, o de valores interpolados entre valores característicos mutuamente adyacentes leídos de dicha tabla bidimensional (80).
3. El método de tratamiento de imágenes según la reivindicación 2, en el que dichos dos componentes independientes son extraídos por los vectores de luz que son proyectados ortogonalmente sobre dos planos, estando cada plano compuesto por un vector de eje de proyector de haz y un eje perpendicular a dicho vector de eje de proyector de haz.
4. El método de tratamiento de imágenes según cualquier reivindicación precedente, en el que, para objetos configurados por una pluralidad de polígonos (P1-P6), dichas operaciones de realizar conversiones de coordenadas e inscribir símbolos identificadores se repiten un número de veces igual al número de dichos polígonos (P1-P6).
5. El método de tratamiento de imágenes según la reivindicación 4, en el que:
para polígonos configurados por una pluralidad de pixeles, dicho paso de generar textura al paso de inscribir los datos de pixeles en dicha memoria temporal (5) de tramas se repiten un número de veces igual al número de dichos pixeles.
6. El método de tratamiento de imágenes según cualquiera de las reivindicaciones precedentes, en el que:
dichos símbolos identificadores especifican un grupo de una pluralidad de fuentes de luz que tienen un efecto sobre cada polígono.
7. El método de tratamiento de imágenes según cualquiera de las reivindicaciones precedentes, en el que:
dichas fuentes de luz que tienen un efecto sobre cada uno de los polígonos son determinadas sobre la base de la distancia entre dicho polígono y dichas fuentes de luz.
8. Un sistema de tratamiento de imágenes, para comunicar efectos de iluminación sobre la base de fuentes de luz a objetos presentados gráficamente por múltiples polígonos (P1-P6), que incluye:
una primera memoria (17, 18) para almacenar información sobre fuentes de luz múltiples (a-1);
primeros medios (32) para realizar matización o sombreado basado en información sobre un número prescrito de fuentes de luz especificado por símbolos identificadores (ID-Luz) aplicados a los polígonos y que indican qué fuentes de luz afectan a cada polígono, en el que el número de dichas fuentes de luz múltiples es mayor que dicho número prescrito de fuentes de luz;
inscribir, para cada polígono, su símbolo identificador aplicado a los pixeles que lo configuran, y permitir así leer información sobre dicho número prescrito de fuentes de luz, correspondiente a cada uno de dichos polígonos, de dicha primera memoria (17, 18) y suministrar dicha información a dichos primeros medios (32).
9. El sistema de tratamiento de imágenes según la reivindicación 8, en el que:
dicho número prescrito de fuentes de luz está determinado sobre la base de las distancias entre dichos polígonos y dichas fuentes de luz.
10. El sistema de tratamiento de imágenes según la reivindicación 8 o la 9, en el que dicho número prescrito de fuentes de luz es tal que al menos algunas de las mismas solapan polígonos diferentes.
11. El sistema de tratamiento de imágenes según la reivindicación 8, 9 ó 10, que comprende además:
una segunda memoria (329) para almacenar una pluralidad de información sobre grupos de una pluralidad de fuentes de luz, en el que
dichos primeros medios (32) leen información sobre dicho grupo de una pluralidad de fuentes de luz correspondiente a dicho símbolo identificador de dicha primera memoria (17, 18) y guarda dicha información en dicha segunda memoria.
12. El sistema de tratamiento de imágenes según la reivindicación 11, en el que:
dicho grupo de una pluralidad de fuentes de luz está determinado sobre la base de las distancias entre dichos polígonos y dichas fuentes de luz.
13. El sistema de tratamiento de imágenes según la reivindicación 11 o la 12, en el que:
las fuentes de luz de dicho grupo de una pluralidad de fuentes de luz son tales que algunas de ellas solapan polígonos diferentes.
ES98911132T 1997-05-07 1998-03-31 Metodo de formacion de la caracteristica de proyector y procesador de imagen que lo utiliza. Expired - Lifetime ES2226109T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP11597197 1997-05-07
JP11597197 1997-05-07
JP17590497 1997-07-01
JP17590497 1997-07-01

Publications (1)

Publication Number Publication Date
ES2226109T3 true ES2226109T3 (es) 2005-03-16

Family

ID=26454384

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98911132T Expired - Lifetime ES2226109T3 (es) 1997-05-07 1998-03-31 Metodo de formacion de la caracteristica de proyector y procesador de imagen que lo utiliza.

Country Status (9)

Country Link
US (1) US6333742B1 (es)
EP (1) EP0974935B1 (es)
JP (1) JP4060375B2 (es)
KR (1) KR100295709B1 (es)
CN (1) CN1231041A (es)
DE (1) DE69826996T2 (es)
ES (1) ES2226109T3 (es)
TW (1) TW371746B (es)
WO (1) WO1998050890A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084405A (ja) * 1999-09-16 2001-03-30 Sega Corp ポリゴン画像形成方法及び、これを用いた画像処理装置
US6753875B2 (en) * 2001-08-03 2004-06-22 Hewlett-Packard Development Company, L.P. System and method for rendering a texture map utilizing an illumination modulation value
US7948490B2 (en) * 2003-10-22 2011-05-24 Microsoft Corporation Hardware-accelerated computation of radiance transfer coefficients in computer graphics
EP2439729A3 (en) * 2006-06-02 2013-09-04 Samsung Display Co., Ltd. Field sequential color display system having multiple segmented backlight
US8913829B2 (en) * 2012-06-05 2014-12-16 Tandent Vision Science, Inc. Automatic processing scale estimation for use in an image process
CN104361863A (zh) * 2014-11-30 2015-02-18 南京巨鲨显示科技有限公司 基于等高圆近似的亮度均匀性调节方法
GB2545226A (en) * 2015-12-09 2017-06-14 Samsung Electronics Co Ltd Determining lighting in a 3D virtual scene

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60246481A (ja) * 1984-05-21 1985-12-06 Yokogawa Hokushin Electric Corp 図形表示装置
JPH0746391B2 (ja) * 1984-09-14 1995-05-17 株式会社日立製作所 図形シエ−デイング装置
US4819192A (en) * 1985-02-26 1989-04-04 Sony Corporation Method of displaying image
JP2806023B2 (ja) 1990-09-19 1998-09-30 ソニー株式会社 画像表示処理装置
JP2973573B2 (ja) 1991-04-12 1999-11-08 ソニー株式会社 画像変換装置
GB9301661D0 (en) * 1993-01-28 1993-03-17 Philips Electronics Uk Ltd Rendering an image
JPH06301794A (ja) 1993-04-15 1994-10-28 Matsushita Electric Ind Co Ltd 3次元画像生成表示装置
JP2763502B2 (ja) 1994-12-01 1998-06-11 株式会社ナムコ 画像合成装置及び画像合成方法
JPH1063874A (ja) 1996-08-13 1998-03-06 Tsuneo Ikedo スポットライティング回路

Also Published As

Publication number Publication date
JP4060375B2 (ja) 2008-03-12
DE69826996D1 (de) 2004-11-18
US6333742B1 (en) 2001-12-25
CN1231041A (zh) 1999-10-06
KR20000023605A (ko) 2000-04-25
TW371746B (en) 1999-10-11
KR100295709B1 (ko) 2001-07-28
EP0974935B1 (en) 2004-10-13
WO1998050890A1 (fr) 1998-11-12
DE69826996T2 (de) 2005-03-10
EP0974935A1 (en) 2000-01-26
EP0974935A4 (en) 2003-04-16

Similar Documents

Publication Publication Date Title
US5995111A (en) Image processing apparatus and method
US7583264B2 (en) Apparatus and program for image generation
US7616228B2 (en) Hardware based interdigitation
Haeberli et al. Texture mapping as a fundamental drawing primitive
Kaufman et al. Memory and processing architecture for 3D voxel-based imagery
McReynolds et al. Advanced graphics programming techniques using OpenGL
US5704024A (en) Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map
US5805782A (en) Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US4763280A (en) Curvilinear dynamic image generation system
US6157385A (en) Method of and apparatus for performing perspective transformation of visible stimuli
US5230039A (en) Texture range controls for improved texture mapping
US10593096B2 (en) Graphics processing employing cube map texturing
JPH07152926A (ja) 3次元像を陰影付けする方法
JPH05143746A (ja) 映像効果装置
CN111508053A (zh) 模型的渲染方法、装置、电子设备及计算机可读介质
ES2226109T3 (es) Metodo de formacion de la caracteristica de proyector y procesador de imagen que lo utiliza.
US5793372A (en) Methods and apparatus for rapidly rendering photo-realistic surfaces on 3-dimensional wire frames automatically using user defined points
US7180523B1 (en) Trimming surfaces
Ernst et al. Gouraud bump mapping
US7034827B2 (en) Extension of fast phong shading technique for bump mapping
KR100559127B1 (ko) 화상처리장치
KR100429092B1 (ko) 그래픽영상처리방법및장치
CN114288649A (zh) 一种阴影边缘的确定和渲染方法,存储介质和电子设备
US6130669A (en) Image processing method for stimulating structure in relief, and device for carrying out the method
KR20030083962A (ko) 3차원 렌더링 이미지에 쉐이딩 효과를 적용하는 방법 및이를 구현한 프로그램을 저장한 정보저장매체