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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000015572 biosynthetic process Effects 0.000 title description 6
- 239000013598 vector Substances 0.000 claims abstract description 68
- 230000000694 effects Effects 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 88
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 abstract description 5
- 238000005304 joining Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 33
- 238000012797 qualification Methods 0.000 description 23
- 238000005562 fading Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 9
- 230000037431 insertion Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 239000003086 colorant Substances 0.000 description 7
- 238000010606 normalization Methods 0.000 description 6
- 238000009792 diffusion process Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
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.
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.
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.
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.
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)
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)
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 | スポットライティング回路 |
-
1998
- 1998-03-31 US US09/214,494 patent/US6333742B1/en not_active Expired - Fee Related
- 1998-03-31 CN CN98800937A patent/CN1231041A/zh active Pending
- 1998-03-31 EP EP98911132A patent/EP0974935B1/en not_active Expired - Lifetime
- 1998-03-31 DE DE69826996T patent/DE69826996T2/de not_active Expired - Fee Related
- 1998-03-31 ES ES98911132T patent/ES2226109T3/es not_active Expired - Lifetime
- 1998-03-31 WO PCT/JP1998/001475 patent/WO1998050890A1/ja active IP Right Grant
- 1998-03-31 JP JP54791098A patent/JP4060375B2/ja not_active Expired - Fee Related
- 1998-04-13 TW TW087105592A patent/TW371746B/zh not_active IP Right Cessation
-
1999
- 1999-01-07 KR KR1019997000052A patent/KR100295709B1/ko not_active IP Right Cessation
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차원 렌더링 이미지에 쉐이딩 효과를 적용하는 방법 및이를 구현한 프로그램을 저장한 정보저장매체 |