MÉTODO Y APARATO PARA CALCULAR los valores de Texel para visualizar la textura en un objeto
Descripción general
 El uso de una cantidad mínima de división intensivo computacionalmente, generando un valor Texel, al mismo tiempo, gráficos de ordenador con un generador de valor Texel capaz de mantener una seleccionables criterios de precisión Texel a lo largo de la línea de exploración Sistema. ] Seleccione de forma óptima el punto de segmentación que dibuja el segmento de escaneo a lo largo de cada línea de exploración para que el intervalo entre los puntos de segmentación sea lo más grande posible sin exceder el criterio de precisión de texto seleccionado. Dado que se han elegido los criterios de precisión de los texel, tales como los límites de error de texel, la ubicación de los puntos de partición óptimamente espaciados a lo largo de la línea de escaneo se selecciona como una función del criterio de precisión seleccionado.
Campo técnico
La presente invención se presentó el 1 de abril de 1994 e incorporada por Sun Microsystems Inc. Que está asignado a, a fin de complementar la descripción de los antecedentes, que se incorpora aquí por referencia, de acuerdo con Yakov Kamen y Uma Sabada 'Amethod y aparato para un AdaptiveTextural MappingController titulado' solicitud de patente de EE.UU. Ser. No. 08 / 041.073 .
La presente invención se refiere al campo de los gráficos por ordenador. En particular, la invención se refiere al campo del mapeo de texturas por aproximación.
Antecedentes de la técnica
La aplicación anterior pendiente contiene una descripción de fondo general de gráficos de computadora y mapeo de texturas. Esta sección de antecedentes se centra en el mapeo tradicional de texturas con corrección de perspectiva, un método para hacerlo y sus inconvenientes.
La mayoría de los gráficos por computadora convencionales incluyen un dispositivo de visualización para mostrar una imagen bidimensional representada como una matriz de mapas de bits de píxeles espaciados uniformemente. Cada píxel comprende valores de píxel y se identifica de manera única por pares de valores de coordenadas X e Y. El cartesiano X coordenada Y representación, por ejemplo, tal como un tubo de rayos catódicos (CRT) y la pantalla activo / pasivo de cristal líquido (LCD), una mayor parte del dispositivo de visualización de gráficos incluye una pluralidad de líneas de exploración que la imagen a lo largo del eje X Es compatible
Convencionalmente, la textura, y se ven como patrón se aplica a la superficie en respuesta a los cambios en las relaciones de punto de vista y perspectiva, se aplica a la superficie del objeto Graphics, el color, el brillo, la transparencia normal a la superficie, u otro Se define como la deformación de las características de la superficie. Para la visualización de objeto tridimensional realista sobre un dispositivo de visualización como una imagen bidimensional de alta calidad, para cada píxel, y genera el valor de mapeo de textura adecuada llamado valor Texel, se corrige en la imagen de los valores de píxel sometido en perspectiva .
Se usó un modelo matemático para obtener una excelente calidad de imagen, pero fue computacionalmente intensivo y tendió a exigir excesivamente al procesador del sistema de gráficos por computadora. En general, la aparición de valores de téxel implicará cálculos en dos partes o su equivalente para cada píxel de la imagen para calcular la corrección de la perspectiva. Aunque el hardware dedicado que implementa cálculos de particiones está equipado en el procesador, como es bien sabido en las artes de la computación, los cálculos segmentados generalmente requieren considerablemente más ciclos de reloj. Utilizando procesadores potentes como los procesadores basados ​​en SPARC es posible realizar dos segmentos de cálculos por píxel en tiempo real, pero al mismo tiempo apoyar otros procesos para los cálculos de textura resultantes. La capacidad del procesador será limitada. Para procesadores menos potentes como el microprocesador Intel 80486 SX, el cálculo del valor de la textura en tiempo real que requiere dos segmentos por píxel no es problemático para el procesador. Por lo tanto, es altamente deseable mitigar los requisitos computacionales para generar un mapa de textura de alta calidad corregido en perspectiva. En un enfoque convencional típico, el número total de cálculos por partes se reduce utilizando interpolación lineal en lugar de píxeles situados a intervalos predeterminados entre puntos de segmentos calculados con precisión.
1A y como se muestra en B, y el primer método de interpolación pre-determinista, el polígono matriz 100 es progresivamente, número de niños más pequeños geométrica predeterminada de una manera polígonos 110, 120, . . . Se subdivide en 190. Refiriéndose a uno 110 Figura 1C muestra en detalle el polígono niño resultante, por ejemplo, con respecto a poner fin a puntos tales como puntos finales 111a y 111Z que cruzan la línea de límite de las líneas de exploración 111 de polígono niño 110 pares, el texel exacta Un valor es calculado. A continuación, realizando una interpolación lineal a lo largo de la línea 111 de exploración, los píxeles 111b, 111c ,. . . Los valores aproximados de texel se calculan para 111 y. Este proceso se repite hasta las líneas de exploración restantes 112, 113 ,. . . 119 y los polígonos secundarios restantes 120, 130, ..., se repiten hasta que se haya completado el cálculo de los valores de texel para todos los píxeles en el polígono padre 100. . . Todas las 190 líneas de escaneo también se repetirán de manera similar.
1A
1C
Con referencia ahora a la Fig. 2A, el segundo método de interpolación pre-determinista, por ejemplo, las líneas de exploración, tales como la línea de exploración 210 del polígono 200, un número predeterminado de puntos de división 212, 213 ,. . . 218 y se muestran los puntos finales 211, 219. Por ejemplo, para cada línea de exploración, tal como la línea de exploración 210, puntos extremos 211, 219 y puntos de segmento 212, 213 ,. . . Se calcula un valor de texel exacto para 218. A continuación, como se muestra en la figura 2B, los píxeles restantes 211 a, 211 b ,. . . 211 z, 212 a, 212 b ,. . . 212 z, 218 a, 218 b ,. . . Los valores de Texel para 218 z se calculan por interpolación lineal. Este proceso continúa hasta que todos los píxeles del polígono 200 se han calculado valores de téxel, de modo que las líneas de exploración restantes 220, 230 ,. . . 290.
2A
2B
Para el método convencional descrito anteriormente, la interpolación lineal de los valores intermedios de téxel se puede realizar mediante la siguiente ecuación ejemplar, tal como se aplica al polígono 2000 en la figura 2C. Polygon 2000 es un triángulo especificado por un triple (xi, yi, zi, wi, ui, vi), un i = 1, 2, 3, en el que, (xi, yi) son los vértices del triángulo coordinar un dispositivo, zi es la profundidad Z en el ápice, wi es el valor absoluto de la recíproca de componentes w de los vértices en las coordenadas de clip homogéneos, (ui, vi) un bidimensionales coordenadas de textura de los vértices . U, V y W, entre la (x1, y1, z1, w1, u1, v1) y (x3, y3, z3, w3, u3, v3), a lo largo del lado izquierdo del triángulo 2000, respectivamente, la interpolación lineal Este es el valor de u, v, w.
2C
De acuerdo con el método convencional descrito anteriormente, mediante el uso de una interpolación lineal simple por cálculos de división intensivos en lugar algo computacionalmente, la carga de cálculo en el procesador se reduce, por desgracia, los métodos convencionales son ambos flexibles Es sin sexo, ineficiente y no puede obtener valores satisfactorios de téxel, o uno de ellos. Esto se debe a que funciona bien solo si la variación de textura entre los objetos y el degradado de textura en el objeto son ambos constantes en una extensión considerable sobre la imagen completa porque determina las cantidades de partición de antemano. De hecho, diferentes objetos de diferentes imágenes pueden tener diferentes propiedades de textura, por lo que un nivel predeterminado del segmento de escaneo puede no ser óptimo para todos los objetos. Por ejemplo, si un segmento de línea de exploración determinado es demasiado corto, es decir, el espaciado entre los puntos del segmento es demasiado cercano, se requerirá una cantidad excesiva de cálculos de segmento para el procesador. A la inversa, cuando el segmento de línea de exploración predeterminado es demasiado largo, cuanto más lejos de la posición de píxel con respecto al punto de segmento, de manera significativa será valor Texel se obtiene por aproximación inexacta, la calidad de la textura de toda la imagen se deteriora.
Tarea de solución
Un objeto de la presente invención, una cantidad mínima de división computacionalmente intensivo, es decir, utilizando el número mínimo de punto de división, generar un valor de Texel, al mismo tiempo, para mantener una seleccionables criterios de precisión Texel a lo largo de la línea de exploración En el que se puede generar un generador de valores de texel capaz de generar un valor de texel.
Solución
Esto se logra seleccionando un punto de segmentación que dibuja un segmento de escaneo a lo largo de cada línea de escaneo y haciendo que el espaciado de los puntos de segmentación sea lo más amplio posible sin exceder el criterio de precisión de tono de tinta seleccionado. .
Dado que se seleccionan los criterios de precisión de los mensajes de texto, como los límites de error de texto, la posición del punto de segmentación a lo largo de la línea de exploración se calcula como una función del criterio de precisión seleccionado. En general, los gradientes de textura no se distribuyen uniformemente en la superficie de un objeto dado, los diferentes objetos de una imagen, ya que existe la variación de la textura, elegir uno a la vez, el punto de división para acomodar Y es ventajoso omitir tantos píxeles como lo permita el degradado de textura local entre los puntos del segmento. Es decir, el número de píxeles por selección arbitraria entre dos puntos de división adyacentes varía según el gradiente de textura local.
Una vez que se ha seleccionado el punto de segmentación entre los puntos finales de la línea de exploración, también se calcula un valor de texel preciso en estos puntos de segmento y en los puntos finales de la línea de exploración. En general, se realiza un cálculo preciso de cada valor de téxel utilizando cálculos de dos partes, o operaciones matemáticas equivalentes tales como cálculo recíproco y multiplicación. A continuación, se calcula un valor aproximado de téxel para los píxeles ubicados entre los puntos de vinculación adyacentes a lo largo de la línea de exploración. Los esquemas de aproximación adecuados incluyen métodos de interpolación tales como la interpolación lineal.
El proceso anterior de seleccionar puntos de segmento y calcular valores de texel precisos en estos puntos de segmento y puntos finales y aproximar los valores de texel para píxeles ubicados entre puntos de segmento adyacentes y / o puntos finales, Para cada línea de escaneo que se superpone al objeto hasta que se completen todos los valores de pixel texel para mostrar.
Definición
Pixel: un punto entero ubicado en un sistema de coordenadas predefinido, como coordenadas XY con valores de píxel asociados con la imagen de un objeto dado para mostrar.
MIP (pequeño contenido rico) mapa: por ejemplo, [u, v, d] estructura de datos piramidal parámetro que permite coordinar trilineal proyecto de interpolación tanto entre los niveles dentro y el nivel en el sistema de coordenadas. Donde u, v son las coordenadas espaciales utilizadas para acceder a los puntos dentro del nivel de la pirámide y las coordenadas d se usan para indexar e interpolar entre diferentes niveles de la pirámide.
Valor de Texel: Un valor de textura para mapear el valor de píxel correspondiente de modo que la textura de un objeto dado se muestre en función de una relación de perspectiva predeterminada.
Imagen gráfica: una representación de un objeto dado que se muestra en un dispositivo de visualización de gráficos.
Polígono: un área de forma matemáticamente conveniente que es problemática en un objeto dado.
Ejemplos
Una serie de detalles en la siguiente descripción permitirá una comprensión completa de la presente invención. Estos detalles incluyen bloques funcionales que ayudan a los desarrolladores a realizar un generador de valor de téxel adaptable eficiente por software, hardware o una combinación de los mismos, y los criterios de precisión típicos de téxel. . Además, aunque el generador de valores de téxel de la presente invención se describe con referencia a realizaciones específicas, la presente invención es aplicable a una amplia variedad de entornos y sistemas de gráficos por ordenador. Para no ocultar innecesariamente la presente invención, en otros ejemplos no se dan descripciones detalladas de circuitos, estructuras y códigos de programa bien conocidos.
La figura 3 es un diagrama de bloques que ilustra una realización de un sistema 300 de mapeo de texturas que incluye un generador 310 de valores de téxeles de la presente invención. El sistema de mapeo de textura 300, MIP mapa selector 320, mesa de textura de búsqueda 330, el generador de valor de iluminación 340, el combinador 350, tampón de valor de píxel de mapa de bits 360,3 uno de digital a analógico (DAC) 370a, 370b, 370c , Y un dispositivo de visualización 380 también están incluidos.
El generador 310 de valores de téxel está acoplado a la tabla 330 de búsqueda de textura directamente y a través del selector de correspondencia MIP. Los respectivos nodos de salida de la tabla de consulta de textura 330 y el generador de valores de iluminación 340 están acoplados al combinador 350. El nodo de salida del combinador 350 está acoplado a la memoria intermedia de valores de píxeles mapeada en bits 360. Además, el almacenamiento intermedio de valor de píxel 360 está acoplado a los nodos de entrada digital de los DAC 370 a, 370 b, 370 c. Los nodos de salida analógica de los DAC 370 a, 370 b, 370 c están acoplados al dispositivo de visualización 380.
El generador 310 de valores de texel agrega señales u, v y u, v diferenciales a la tabla 330 de búsqueda de textura y al selector 320 MIP, respectivamente. Además, el selector MIP 320 agrega la señal de selección de mapa MIP a la tabla 330 de búsqueda de textura. La tabla de búsqueda de textura 330 y el generador de valores de iluminación 340 generan valores de textura e iluminación para el combinador 350, respectivamente. El combinador 350 combina luego estos valores de textura e iluminación con los valores de píxel de retroalimentación del almacenamiento intermedio de valores de píxel para generar un valor de píxel de mapa de bits combinado en el almacenamiento intermedio 360. Finalmente, por el valor de píxel tampón 360, cada una de la señal RGB digital se alimenta, DAC370a, 370b, 370c por, se convierte en una señal RGB analógica correspondiente al dispositivo de visualización 380.
4A y 4B son diagramas de flujo que muestran un método óptimo para subdividir correctamente las líneas de exploración, método que es útil para el generador 310 de valores de téxel. En una realización, para adaptarse al dispositivo de visualización de gráficos más común, los valores de téxel se generan a lo largo de un polígono y una línea de exploración limítrofe formando un área problemática en un objeto dado, respectivamente. . Cada línea de escaneo tiene un par de punto final donde la línea de escaneo intersecta el límite del polígono. Estas líneas de exploración se pueden descomponer en columnas de píxeles en posiciones enteras en el sistema de coordenadas XY.
4A
Haciendo referencia al diagrama de flujo de la Fig. 4A, en primer lugar, los puntos finales de las líneas de exploración, tales como truncamiento o redondeo a la baja / round-up se ajusta a un píxel entero posición mediante un método compatible (paso 410) de coordenadas. Si la línea de escaneo es muy corta, es decir, si el tramo de la línea de escaneo está vacío debido a la fusión de los dos extremos enteros, no se necesita subdivisión (paso 420). De forma similar, si el tramo de la línea de escaneo es demasiado corto y no hay muchos beneficios de la subdivisión, no se realiza la subdivisión (paso 430).
4A
A la inversa, el lapso es suficientemente largo, cuando se hace que someterse grandemente beneficiado de subdivisión, generador de valor Texel 310, un lapso de una línea de exploración sea óptimo subdividido en subdivisiones número mínimo de espaciamiento óptimo ( Paso 440).
Con referencia ahora al diagrama de flujo de la figura 4B, el paso 440 se muestra con mayor detalle. En primer lugar, se selecciona un criterio de precisión de texel coincidente (paso 442). En esta realización, el criterio de exactitud de téxel es el límite de error de téxel. valor Texel generador 310, a partir de un extremo de la línea de exploración, el cálculo de la posición de la multa máxima correspondiente al espacio sección, próximos puntos de división número entero a lo largo de las líneas de exploración para satisfacer los criterios de precisión seleccionados (Paso 444). El cálculo de los puntos del segmento adicional se repite a lo largo de la línea de exploración (paso 446) hasta que se alcanza el otro extremo de la línea de exploración. Los apéndices A y B muestran las ecuaciones y el programa de cálculo para calcular la posición del punto de división en la realización preferida, respectivamente.
4B
La figura 5 muestra un polígono 500 en el que la línea 510 de exploración está subdividida por puntos de corte x 2, x 3, x 4 y puntos finales x 1, x 5. De acuerdo con una realización preferida, aumenta el error de los valores de aproximación Texel, se alcanza un umbral de error máximo E o casi error umbral e, entonces disminuye entre puntos / puntos finales divisionales adyacentes. Cuando optimizado para el umbral de error e, los puntos finales / punto pares x1 división y x2, x2 y x3, X3 y X4, y, como se muestra por x4 y x5, hay una posibilidad de que se produce el espacio desigual.
Para la realización preferida, el espacio t entre puntos de división adyacentes se calcula usando la siguiente ecuación:
Aquí, e = límite de error
w = valor absoluto del componente recíproco de w
Y dw = (wr wl) / (x r sl)
Aquí, wl = valor w en el punto de división izquierdo
wr = valor w en el punto de división derecho contiguo
A lo largo del tramo de la línea de exploración, en un paso dado t, dw y e son constantes y wl varía. Uno de los valores coincidentes de e es 0.5, es decir, la mitad del píxel. Al elegir e = 0.5, cada píxel se asigna a la mitad del píxel que debería caber. El borde de texel ampliado muestra una falla coincidente de no monotonicidad, pero esto se puede corregir fácilmente disminuyendo el valor de e seleccionado. Por el contrario, aumentar el valor de e seleccionado aumenta el límite de error, por lo que aumenta la probabilidad de mal funcionamiento.
Como alternativa, es posible que la ecuación tome la forma:
La figura 6 es un diagrama de flujo que ilustra un método para aproximar los valores de téxel a lo largo del tramo de una línea de exploración después de seleccionar un punto de segmento. En primer lugar, el generador 310 de valores de téxel calcula el valor exacto de téxel en los dos puntos finales enteros (etapa 610). Si existe, el valor de téxel exacto para el punto de partición entero seleccionado en la etapa 444 también se calcula (etapa 620). Finalmente, el generador de valor Texel 310 que incluye una calculadora 310a aproximada puede generar un valores de téxel aproximados de los píxeles intermedios situados entre los puntos de división y contiguas puntos finales de cada línea de exploración (paso 630). Los métodos de aproximación adecuados incluyen técnicas de interpolación tales como la interpolación lineal que utiliza la ecuación EQ (i) (ix) anterior.
En algunas realizaciones, el nivel del mapa MIP también es aproximado. Dado que cada uno de los segmentos de línea subdivididos formados por puntos de segmentos vecinos se relaciona con una transformación afín, el nivel de mapa MIP es constante a lo largo de cada segmento de línea. En general, los mapas MIP dividen u y v en mitades. Por lo tanto, el nivel del mapa MIP se puede aproximar utilizando la siguiente ecuación.
Aunque la invención se ha descrito en conexión con las realizaciones preferidas, son posibles muchas adiciones y modificaciones sin apartarse del espíritu de la invención. En consecuencia, el alcance de la invención debe juzgarse por las reivindicaciones adjuntas.
Efecto de la invención
Los métodos convencionales indica dividen en una pluralidad de niño polígonos de un número predeterminado de 1 polígono padre (, A B), es un diagrama que muestra un polígono niño detallada (C).
Figura 2 polígono línea de exploración, ilustra un método convencional de dividir el grupo de píxeles adyacentes están separados por punto de segmento de un número predeterminado (A, B) y para dar cuenta de la interpolación lineal de los valores de téxel intermedios (C) mostrando un triángulo típico.
La figura 3 es un diagrama de bloques que muestra un sistema de mapeo de texturas que incluye un generador de valores de téxeles de la presente invención.
La figura 4 es un diagrama de flujo que ilustra un método para subdividir líneas de exploración según la presente invención.
La figura 5 es una vista que muestra un polígono en el que las líneas de exploración están subdivididas de forma óptima.
La figura 6 es un diagrama de flujo que muestra un método para aproximar el valor de téxel y, al mismo tiempo, también satisface el criterio de precisión seleccionable de téxel.
Sistema de mapeo de textura 300
Generador de valor 310 texel
Selector de mapa 320 MIP
330 Tabla de búsqueda de texturas
340 Generador de valores de iluminancia
350 combinador
Búfer de valor de píxel de mapa de bits de 360
370 un convertidor analógico digital
Convertidor analógico digital 370 b
Convertidor analógico digital 370 c
380 dispositivo de visualización
Reclamo
Texels a la imagen del objeto que tiene un pixel proporcionado con la reivindicación 1 valor de píxel generado en el dispositivo de visualización, un sistema de gráficos de ordenador para visualizar, muestra una textura a un objeto predeterminado basado en la relación distancia predeterminada una etapa de selección apropiadamente una pluralidad de puntos de división entre los puntos de extremo del par a lo largo de la línea de exploración método Te Ioi para calcular los valores de manera eficiente, lo que corresponde a una pluralidad de píxeles situados entre los puntos de división adyacentes de dicha línea de exploración Y aproximar una pluralidad de valores de texel intermedios que se mostrarán en el objeto utilizando el valor de texel.
La reivindicación 2 adicionalmente reivindicación 1 que tiene una segunda pluralidad de segundos pasos de cálculo aproximado de los valores de téxel intermedios correspondientes a una pluralidad de píxeles situados entre un punto de segmento adyacente de los puntos finales de las líneas de exploración .
3. El método según la reivindicación 1, que comprende además la etapa de calcular con precisión una pluralidad de valores de téxel que corresponden al punto de división y al punto final de la línea de exploración.
4. El método de la reivindicación 1, que comprende además modificar el valor de píxel del píxel utilizando el valor de téxel intermedio.
5. Un generador de valores de téxel para su uso en un sistema de gráficos por computadora para generar, modificar y visualizar una imagen de un objeto que comprende píxeles con valores de píxeles en un dispositivo de visualización, que comprende: el cálculo de una calculadora para calcular las posiciones de una pluralidad de puntos de división a lo largo de una línea de exploración, acoplado a dicho calculadora, una pluralidad de valores de téxel intermedias correspondientes a una pluralidad de píxeles situados entre los puntos de división adyacentes de dicha línea de exploración Y un generador de valores de téxel que tiene una calculadora aproximada para calcular un valor de téxel.
6. El generador de valores de téxel de la reivindicación 5, que comprende además un elemento de almacenamiento acoplado a la calculadora para almacenar el criterio de precisión de téxel seleccionado.
7. Un sistema de mapeo de textura para usar en un sistema de gráficos por computadora para generar, modificar y mostrar una imagen de un objeto que comprende píxeles con valores de píxel en un dispositivo de visualización, una calculadora para calcular las posiciones de una pluralidad de puntos de división a lo largo de la línea, acoplados a dicho calculadora, para calcular una pluralidad de valores de téxel intermedios correspondientes a una pluralidad de píxeles situados entre los puntos de división adyacentes de dicha línea de exploración Un sistema de mapeo acoplado a la calculadora aproximada y que tiene un combinador para modificar el valor de píxel de acuerdo con el valor de téxel intermedio.
8. El sistema de mapeo de la reivindicación 7, que comprende además un elemento de almacenamiento acoplado a la calculadora para almacenar el criterio de precisión de téxel seleccionado.
9. El sistema de mapeo de la reivindicación 7, en el que el valor de píxel se modifica calculando un nivel de mapa MIP del valor de téxel intermedio usando la siguiente ecuación:
ID de reclamo = 000003 HE = 010 WI = 043 LX = 1285 LY = 0 650
Dibujo :
Application number :1997-027039
Inventors :サン?マイクロシステムズ?インコーポレーテッド
Original Assignee :ウォルター?イー?ドノヴァン