MXPA97007540A - Aparato y metodo para dibujar imagenes - Google Patents
Aparato y metodo para dibujar imagenesInfo
- Publication number
- MXPA97007540A MXPA97007540A MXPA/A/1997/007540A MX9707540A MXPA97007540A MX PA97007540 A MXPA97007540 A MX PA97007540A MX 9707540 A MX9707540 A MX 9707540A MX PA97007540 A MXPA97007540 A MX PA97007540A
- Authority
- MX
- Mexico
- Prior art keywords
- texture
- polygon
- data
- image
- memory
- Prior art date
Links
Abstract
Un aparato y método para dibujar imágenes, usadas en una computadora de gráficas, un dispositivo de efectos especiales o máquina de juegos de video. Para generar los datos requeridos para el dibujo de imágenes por el proceso previo de un procesador previo (32, con base en un comando de dibujo, para dibujar un modelo de imagen definido por la combinación de figuras unitarias, y generar datos de pixel en base a la figura unitaria por el mapeo de textura basado en los efectos generados para dibujar una imagen en un buffer (memoria intermedia) 18 de marco, los datos de textura requeridos por una máquina 33 de dibujo se transfieren en la etapa de proceso previo desde elárea de textura en el buffer 18 marco a una memoria caché33F de textura, y el procesador previo 32 y la máquina 33 de dibujo son operados en forma simultánea. Esto habilita el mapeo de textura o el mapeo de MIP sin detener el elemento de dibujo de imágenes, mientras reduce el número de veces que la memoria de textura tiene acceso como el tiempo de acceso, para aumentar la velocidad general de dibujo de imágenes.
Description
APARATOY MÉTODO PARA DIBUJAR IMÁGENES
Campo Técnico Esta invención se refiere a un aparato y método para dibujar imágenes, usadas en una computadora de gráficas, un dispositivo de efectos especiales o una máquina de juegos de video, los cuales son equipos de video que emplean las computadoras. Técnica Anterior En un dispositivo que genera imágenes, en una máquina doméstica de juegos de TV, las computadoras personales o computadoras de gráficas, usadas para generar datos de una imagen producida, para la exhibición en un receptor de televisión, un receptor de monitor o un dispositivo de exhibición de tubo de rayos catódicos (CRT) , se suministra un dispositivo dedicado de dibujos entre la unidad central de proceso (CPU) y una memoria temporal de marco, para hacer posible el proceso a altas velocidades. Es decir, en el dispositivo que genera imágenes, antes mencionado, la CPU, cuando genera una imagen, no tiene acceso directamente al buffer (memoria intermedia) del marco, sin embargo, realiza procesos de geometría, tal como la transformación de coordenadas, los cálculos del recortado o la fuente de luz, define un modelo tridimensional como una combinación de figuras unitarias básicas, tal como triángulos o cuadrángulos, con el fin de formular un comando de dibujo para obtener una imagen tridimensional y enviar este comando de dibujo, así generado, al dispositivo de dibujo. Para generar, por ejemplo, un objeto tridimensional, el objeto se resuelve en múltiples polígonos y un comando de dibujo para cada polígono se envía desde la CPU al dispositivo de dibujo. Este dispositivo de dibujo interpreta el comando de dibujo enviado desde la CPU para ejecutar procesos de servicios de escritura de datos de pixel (elementos de imagen) en el buffer (memoria intermedia) del marco, tomando en cuenta los valores Z y colores de todos los pixel que componen el polígono, de los valores Z que especifican los datos de color y profundidad de los puntos de vértice, para dibujar una figura en el buffer de marco. Los valores Z representan la información que especifica la distancia desde el punto de visión a lo largo de la dirección de profundidad. Si, por ejemplo, se exhibe un objeto tridimensional en el dispositivo que genera imágenes, antes mencionado, el objeto se resuelve en múltiples polígonos, y se transmite un comando de dibujo asociado con cada polígono desde la CPU al dispositivo de dibujo. Para representar el objeto más realísticamente, se han usado técnicas denominadas de mapeo de textura o mapeo de MIP. Existen también técnicas conocidas ampliamente de convertir los datos de color de imágenes por medio de una tabla de consulta de color (CLUT) , que tiene almacenados datos de conversión de color, para cambiar los colores exhibidos. El mapa de textura es una técnica para fijar un patrón de imagen bidimensional, provisto separadamente como una imagen de fuente de textura a la superficie de un polígono que constituye el objeto. El mapeo MIP, por una parte, está entre las técnicas de mapeo de textura de interpolar datos de pixel, de manera que el patrón de fijación en el polígono no sea espontáneo en el caso que el modelo tridimensional se mueva hacia o en alejamiento del punto de visión. Entretanto, la velocidad de dibujar la imagen depende de la velocidad del proceso de mapeo de textura o mapeo MIP para cada polígono en una máquina de dibujo. Asimismo, la velocidad de dibujar imágenes es influenciada por la velocidad de escritura de la máquina de dibujar al buffer de marco, de modo que, si la velocidad de acceso al buffer de marco es baja, disminuye la velocidad de dibujar. Por lo tanto, si se usa una memoria costosa de alta velocidad como un buffer de marco de capacidad grande, para aumentar la velocidad de dibujar, el costo del sistema aumenta prohibitivamente. Sin embargo, si se usa una memoria dinámica de acceso aleatorio (DRAM) barata, la velocidad de dibujar del sistema es disminuida.
En vista del estado del arte, ilustrado anteriormente, la presente invención tiene como sus objetos suministrar lo siguiente. Es decir, es un objeto de la presente invención suministrar un dispositivo y un método para dibujar de imágenes por el cual se mantenga una velocidad alta de dibujar aún con el uso de una memoria barata, tal como la
DAM, como un buffer (memoria intermedia) de marco. Es otro objeto de la presente invención suministrar un dispositivo y un método para dibujar imágenes, por los cuales, en el dispositivo para dibujar imágenes, para ejecutar el mapeo de textura por el elemento de dibujo, el proceso de dibujar puede ser ejecutado sin detener el elemento de dibujo. Es aún otro objeto de la presente invención suministrar un dispositivo y un método para dibujar imágenes, por los cuales el número de veces del acceso y el tiempo de acceso de la memoria de imagen pueden disminuir para aumentar la velocidad general de dibujo de imágenes. Descripción dß la Invención Un aparato para dibujar imágenes, de acuerdo con la presente invención, incluye elementos de proceso previo para generar los datos requeridos para el proceso de dibujo, antes del mismo en la base de figuras unitarias, de acuerdo con un comando de dibujo para dibujar un modelo de imagen definido por la combinación de las figuras unitarias, el elemento de dibujo de imágenes, para generar datos de pixel en la base de figura unitaria por el proceso de mapeo de textura, sensible al comando de dibujo, para dibujar una imagen en una memoria de imágenes, un elemento de almacenamiento, para el almacenamiento transitorio de los datos de textura requeridos por el elemento de dibujo de imágenes para el mapeo de textura, y un elemento de suministro, para suministrar los datos de textura requeridos por el elemento de dibujo de imágenes, para el mapeo de textura al elemento de almacenamiento, sensible a los datos producidos por el elemento de proceso previo. En el dispositivo para dibujar imágenes, de acuerdo con la presente invención, el elemento de dibujo de imágenes tiene la función de realizar el mapeo MIP, este elemento para dibujar imágenes selecciona datos de textura que tienen la resolución deseada, sensible a los datos producidos por el elemento de proceso previo, para suministrar los datos de textura seleccionados al elemento de almacenamiento. Un método para dibujar imágenes, de acuerdo con la presente invención, incluye las etapas de generar datos pertinentes al proceso de dibujo de imágenes en la base de figuras unitarias, de acuerdo con un comando de dibujo, para dibujar un modelo de imagen definido por la combinación de figuras unitarias, suministrar los datos de textura necesarios para el mapeo de textura en el proceso de dibujar imágenes, al elemento de almacenamiento, con base en los datos, generar datos de pixel de una figura unitaria por el proceso de textura, para dibujar sobre una memoria de imágenes y dibujar una imagen sobre esta memoria de imágenes. En un método para dibujar imágenes, de acuerdo con la presente invención, la etapa de suministrar datos de textura al elemento de imagen incluye la etapa de suministrar datos de textura de la resolución requeridos en el mapeo MIP en el proceso de dibujar imágenes, sensible a los datos pertinentes a este proceso de dibujo de imágenes. Con el dispositivo y método para dibujar imágenes, de acuerdo con la presente invención, el elemento que dibuja imágenes transmite los datos de textura requeridos para el mapeo de textura desde una memoria de textura, a un caché (memoria intermedia de alta velocidad) de textura, en una etapa de proceso previo, por el elemento de proceso previo. Este elemento de proceso previo y el elemento de dibujo de imágenes, son operados en una ejecución simultánea para habilitar el dibujo de imágenes sin detener el elemento de dibujo de imágenes. Con el dispositivo y método para dibujar imágenes, de acuerdo con la presente invención, los datos de la resolu-ción requeridos para que el elemento de dibujo de imágenes ejecute el mapeo MIR, se seleccionan de los datos de textura en la memoria de textura en la etapa de proceso previo por el elemento de proceso previo y se transmiten a la memoria caché de textura para reducir el número de veces de acceso y el tiempo de acceso para la memoria de textura para el aumento de la velocidad general de dibujar las imágenes. Breve Descripción de loa Dibujos La Figura 1 es un diagrama de cuadros o bloques, que muestran la estructura de una máquina de juegos de video, que incorpora la presente invención; la Figura 2 es un diagrama de bloques que muestra una estructura detallada de la GPU en la máquina de juegos de video; la Figura 3 es un diagrama de bloques que muestra la estructura básica de la GPU; la Figura 4 muestra un ejemplo de una estructura de datos en una memoria caché en la GPU; la Figura 5 es un diagrama de flujo que muestra el proceso de resolución de un primer polígono por un procesador previo en la GPU; la Figura 6 es un diagrama de bloques que muestra la estructura de un segundo conmutador de bus (colector) en la máquina de juegos de video;
la Figura 7 ilustra la estructura de un segundo conmutador de bus en la máquina de juegos de video; la Figura 8 ilustra un patrón de intercalado para el acceso, cuando se tiene acceso al interior de la configu-ración del primer polígono; la Figura 9 ilustra el enmascaramiento en el caso del acceso basado en la dirección, cuando se tiene acceso al interior de la configuración del primer polígono; la Figura 10 ilustra la dirección de acceso obteni-da por el enmascaramiento; la Figura 11 ilustra el acceso al interior de la configuración del segundo polígono dibujado en un banco de memoria del buffer (memoria intermedia) de marco con un patrón de intercalado de (4x4) ; la Figura 12 ilustra un patrón de intercalado en al cual se va a acceder, cuando se tiene acceso al interior de la configuración del segundo polígono dibujado en el banco de memoria del buffer de marco con un patrón de intercalado de (4x4); la Figura 13 ilustra el enmascaramiento en el caso del acceso basado en la dirección al interior de la configuración del segundo polígono con un patrón de intercalado de (4x4);
la Figura 14 ilustra el interior del segundo polígono con un patrón de intercalado de (8x2) ; la Figura 15 ilustra un patrón de intercalado al cual se va a acceder, cuando se tiene acceso al interior de la configuración del segundo polígono dibujado en un banco de memoria del buffer de marco con un patrón de intercalado de
(8x2); la Figura 16 ilustra el enmascaramiento en el caso del acceso, basado en la dirección, al interior de la confi-guración del segundo polígorto con un patrón de intercalado de (8x2); la Figura 17 ilustra el interior del segundo polígono con un patrón de intercalado de (16x1) ; la Figura 18 ilustra un patrón de intercalado al cual se va a acceder, cuando se tiene acceso al interior de la configuración del segundo polígono dibujado en un banco de memoria del buffer de marco con un patrón de intercalado de
(16x1) ; la Figura 19 ilustra el enmascaramiento en el caso del acceso, basado en la dirección, al interior de la configuración del segundo polígono con un patrón de intercalado de (16x1);
la Figura 20 ilustra el proceso de calcular la relación de aspecto de un polígono dibujado en un banco de memoria del buffer de marco; la Figura 21 es un diagrama de patrón que muestra las cinco clases de patrones de intercalado que tienen 16 direcciones; la Figura 22 es una vista de planta de un dispositivo de juegos de video, que incorpora la presente invención; la Figura 23 es una vista del lado posterior del dispositivo de juegos de video; la Figura 24 es una vista lateral del dispositivo de juegos de video; y la Figura 25 es una vista de planta de un CD-ROM en el dispositivo de juegos de video. El Mejor Modo de Llevar a cabo la Invención Haciendo referencia a los dibujos, se explicarán en detalle modalidades preferidas de la presente invención. El dispositivo de dibujo, de acuerdo con la presente invención, se aplica a un dispositivo de juegos de video, como se muestra en la Figura 1. El método de dibujo, de acuerdo con la presente invención, se lleva a cabo en este dispositivo de juegos de video. La máquina de juegos de video ejecuta un juego de acuerdo con las instrucciones por el usuario, leyendo y ejecutando un programa del juego almacenado en un dispositivo auxiliar de memoria, tal como un disco óptico, y tiene la configuración mostrada en la Figura 1. Específicamente, el presente dispositivo de juegos de video tiene dos clases de buses (colectores) es decir un bus principal 1 y un bus secundario 2. El us principal 1 y el bus secundario 2 se inter-conectan por medio de un controlador 16 de los mismos. Al bus principal 1 se conectan una unidad central de proceso (CPU) 11, compuesta de un microprocesador, una memoria principal 12, compuesta de una memoria de acceso aleatorio (RAM) , un controlador principal de acceso de la memoria dinámica o DMAC principal 13, un descodificador MPEG 14 y una unidad de proceso de imagen o unidad de proceso gráfico (GPU) 15. Al bus secundario 2 se conectan una unidad subsidiaria central de proceso o sub-CPU 21, compuesta de un microprocesador, una memoria subsidiaria, compuesta de una memoria de acceso aleatorio (RAM) , un controlador de acceso de una memoria dinámica subsidiaria o sub DMAC 23, una memoria solamente de lectura (ROM) 24, que tiene almacenada un programa, tal como un sistema de operación, una unidad de proceso de sonido (SPU) 25, un controlador de comunicación o modo de transmisión asincrono (ATM) 26, un dispositivo de almacenamiento auxiliar 27, un dispositivo de entrada 28 y una unidad 30 de CD-ROM. El controlador 16 de bus es un dispositivo en el bus principal 1 para la conmutación entre el bus principal 1 y el bus secundario 2 y se abre en un estado inicial. La CPU principal 11 es un dispositivo sobre el bus principal 1, que opera por un programa en la memoria principal 12. Puesto que el controlador 16 de bus se abre en el arranque, la CPU principal 11 lee en un programa inicial desde la ROM 24 en el bus secundario 2 para reproducir el programa de aplicación y los datos necesarios desde la ROM 24 en el bus secundario 1 para la carga en la memoria principal 12 o en dispositivos en el bus secundario 2. En la CPU principal 11 se carga la máquina de transferencia de geome-tría (GTE) 17 para realizar procesos, tal como la transformación de coordenadas. Esta GTE 17 tiene un mecanismo de computación paralelo para llevar a cabo múltiples operaciones de proceso de computación en paralelo y es sensible a una solicitud para computar procesos desde la CPU 11 con el fin de llevar a cabo operaciones de proceso rápidas, tal como la transformación de coordenadas, cálculos de fuentes de luz, y operaciones de matriz o vectores. Con base en los resultados de calcular las operaciones de proceso por la GTE 17, la CPU principal 11 define un modelo tridimensional como una combi-nación de figuras unitarias básicas, tal como triángulos o cuadrángulos, formula un comando de dibujo asociado con cada polígono para dibujar una imagen tridimensional y forma paquetes de comandos de dibujo con el fin de guiar el paquete de comando resultante a la GPU 15. El DMAC principal 13 es un dispositivo en el bus principal 1 para ejecutar el control, tal como la transferencia de DMA en los dispositivos sobre el bus principal 1. Si el controlador 16 de bus está abierto, el DMAC principal 13 también controla el dispositivo en el bus secundario 2. La CPU 15 es un dispositivo en el bus principal 1 que funciona como un procesador de ayuda. Esta GPU 15 interpreta el comando de dibujo enviado desde la CPU principal 11 o el DMAC principal 13 como el paquete de comandos y realiza el proceso auxiliar de datos de pixel de escritura en el buffer 18 de marco desde los valores Z que especifican la profundidad y datos de color de todos los pixeles que componen un polígono. El MDEC 14 es un dispositivo de conexión de Entrada/Salida, que se puede operar en paralelo con la CPU principal 11 y es un dispositivo que funciona como una máquina de expansión de imágenes. El MDEC 14 descodifica los datos de imagen comprimidos y codificados por la transforma-ción ortogonal, tal como la transformación discreta del coseno. En el bus secundario 2, la sub-CPU 21 es un dispositivo en el bus secundario 2 que opera de acuerdo con un programa en la sub-memoria 22. El sub-DMAC 23 es un dispositivo en el bus secundario 2 para realizar el control, tal como la transferencia del DMAC para dispositivos en el bus secundario 2. Este sub-DMAC 23 puede adquirir derechos de bus o colector solamente cuando se cierra el controlador 16 de bus. La SPU 25 es un dispositivo en el bus secundario 2, que funciona como un procesador de sonido. Esta SPU 25 es sensible a un comando de sonido enviado como un paquete de comandos desde la sub-CPU 21 o el sub-DMAC 23 como un paquete de comandos para leer los datos de la fuente de sonidos desde la memoria 29 de sonidos para producir los datos de extracción de informes. El ATM 26 es un dispositivo de comunicación en el bus secundario 2. El dispositivo de almacenamiento auxiliar 27 es un dispositivo de entrada/salida de datos en el bus secundario 2 y se compone de una memoria no volátil, tal como una memoria instantánea. Este dispositivo de almacenamiento auxiliar 27 mantiene temporalmente datos de memoria, tal como el progreso del juego o los marcadores. La unidad 30 de CD-ROM es un dispositivo de entrada de datos en el bus secundario 2 y reproduce un programa de aplicación y los datos necesarios de la CD-ROM. El dispositivo de entrada 28 es un dispositivo de entrada desde otros equipos, tal como un teclado de control en el bus secundario 2, la interfaz hombre-máquina, la entrada de imágenes o entrada de voz. Es decir, en la máquina de juegos de video, antes descrita, el sistema de proceso de geometría, que ejecuta este proceso de geometría, tal como la transformación de coordenadas, recorte o cálculos de fuente de luz, formular un comando de dibujo para definir un modelo tridimensional como combinación de figuras unitarias básicas (polígonos) , tal como triángulos o cuadrángulos, para dibujar una imagen tridimensional, y enviar el comando de dibujo asociado con cada polígono como un paquete de comandos al bus principal 1, se compone de la CPU principal 11 y la GTE 17 en el bus principal 1. Igualmente, en la máquina de juegos de video, el sistema de proceso auxiliar para formular datos de pixel de cada polígono basado en el comando de dibujo desde el sistema de proceso de geometría para escribir una figura en el buffer 18 del marco por medio del proceso auxiliar para dibujar una figura en el buffer 18 de marco, se constituye por la GPU 15. La GPU 15, antes mencionada, se explica en detalle. Haciendo referencia a la Figura 2, la GPU 15 incluye una máquina 31 de paquete conectada al bus principal
1, mostrado en la Figura 1 y realiza el proceso auxiliar de escribir datos de pixel de cada polígono en el buffer 18 de marco por el procesador previo 32 y la máquina de dibujo 33, de acuerdo con el comando de dibujo enviado como un paquete de comandos desde la CPU principal 11 o el DMAC principal mostrado en la Figura 1, sobre el bus principal 1 a la máquina 31 de paquetes, extraer informes de datos de pixel de la imagen dibujada en el buffer 18 de marco y proporcionar los datos de pixel extraídos por vía del controlador 34 de CRT como señales de video a un receptor de televisión o un receptor de monitor, no mostrado. La máquina 31 de paquete desarrolla el paquete de comandos enviados desde la CPU principal 11 o el DMAC principal 13, mostrado en la Figura 1 sobre el bus principal 1 en un registrador, no mostrado. El procesador previo 32 genera datos de polígono, de acuerdo con el comando de dibujo enviado a la máquina 31 de paquete, como el paquete de comando y realiza el preajuste del proceso previo, tal como una división de polígono, como se explica más adelante, en los datos de polígono, mientras genera varios datos, tal como la información de las coordenadas del punto de vértice para los polígonos respectivos requeridos por la máquina 33 de dibujo, la información de dirección, tal como la textura o la textura del mapa MIP, o la información de control, tal como el intercalado de pixel. La máquina 33 de dibujo incluye N motores de polígono 33A1, 33A2 ..., 33AN, conectados al procesador previo 32,1 N motores de textura 33B1, 33B2, ..., 33BN, conectados a las máquinas de polígono 33A1, 33A2, ..., 33AN, un primer conmutador 33C de bus, conectado a los motores de textura 33B1, 33B2, ..., 33BN, M motores de pixel 33D1, 33D2, ... , 33DM, conectados al primer conmutador 33C de bus 33C, un segundo conmutador 33E de bus, conectado a los motores de pixel, 33D1, 33D2, ..., 33DM, una memoria caché de textura 33F, conectada al segundo conmutador de bus 33E, y una memoria caché CLUT 33G, conectada a la memoria caché de textura 33F. En la máquina 33 de dibujo, los N motores de polígono 33A1, 33A2, ... 33AN, generan en secuencia polígonos de acuerdo con el comando de dibujo en la base de los datos de polígono procesador previamente por el procesador previo 32, para realizar el proceso de sombreado paralelo desde un polígono a otro.
Los N motores de textura 33B1, 33B2, ..., 33BN realizan el mapeo de textura o Mapeo MIP en paralelo, con base en los datos de textura suministrados de la memoria caché 33F de textura por vía de la memoria caché 33G de la tabla de consulta de color (CLUT) , en cada uno de los polígonos generados por las máquinas de polígono 33A1, 33A2, ..., 33AN. El procesador previo 32 suministra previamente la información de dirección, tal como la textura o textura de MAP MIP, fija a los polígonos procesados por las N máquinas de textura 33B1, 33B2, ..., 33BN, a la memoria caché 33F de textura. Con base en la información de dirección anterior, los datos de textura necesarios para el mapeo de textura se transfieren desde el área de textura en el buffer 18 de marco, mientras sólo se seleccionan los datos de resolución necesarios par el Mapeo MIP desde los datos de textura correspondientes, para así ser transferidos como datos de textura de MIP MAP. A la memoria caché 33G de la CLUT, los datos de la CLUT serán referidos durante el dibujo de textura y se transfieren desde el área de la CLUT en el buffer 18 del marco. Los datos del polígono, procesados con el mapeo de textura o Mapeo MIP, por los N motores de textura, 33B1, 33B2, ..., 33BN, se transfieren por vía del primer conmutador 33F de bus a M máquinas de pixel 33D1, 33D2, ..., 33DM. Las M máquinas de pixel 33D1, 33D2, , 33DM realizan varias operaciones de proceso de imágenes, tal como el Z-buffer que procesa o procesa contra leyendas secundarias, en paralelo, para generar M datos de pixel. Los M datos de pixel, generados por las M máquinas de pixel 33D1, 33D2, ..., 33DM, se escriben en el buffer 18 de marco por via del conmutador 33E del segundo bus. Este segundo conmutador 33F de bus, se alimenta con la información de control de intercalado de pixel, desde el procesador previo 32. Este segundo conmutador 33E de bus tiene la función de realizar el proceso de intercalado de pixel de seleccionar L datos de pixel desde los M datos de pixel generados por las M máquinas de pixel 33D1, 33D2, ..., 33DM, de acuerdo con la información de control anterior, para escribir M datos de pixel con M ubicaciones de almacenamiento, que se adaptan en configuración al polígono dibujado en el buffer 18 de marco, conforme se tiene acceso a la unidad. La máquina de dibujo 33 genera y escribe todos los datos de pixel de cada polígono en el buffer 18 de marco, con base en los datos del polígono procesador previamente por el procesador previo 32, para dibujar una imagen definida como la combinación de los polígonos por el comando de dibujo en el buffer 18 de marco. Así, los datos de pixel de la imagen dibujada en el buffer 18 de marco se extraen por el segundo conmutador de bus 33E, para así suministrarlos por vía del CRTC 34 como señales de video a un receptor de televisión o a un receptor de monitor, no mostrado. En la estructura antes descrita de la CLUT 15, el procesador previo 32 genera la información de dirección para leer previamente la textura fija al polígono procesado por las N máquinas de textura 33B1, 33B2, ..., 33BN, con base en las coordenadas del punto de vértice [(XO, YO), (XI, Yl) , (X2, Y2)] de los polígonos y las coordenadas de textura [(UO, VO) , (Ul, VI), (U2, V2)]. Además, la CLUT 15 reproduce la información de selección de mapeo MIP desde la inclinación de los lados de los polígonos [)X1-X0) /(Y1-Y0) , [ (X2-X0) / (Y2-YO), [(X1-X2)/)Y1-Y2)]. la inclinación de las direcciones de la textura [ (U1-U0) / (Y1-Y0) , [ (U2-U0) / (Y2-Y0) , [(U1-U2)/Y1-Y2), [(V1-V0)/(Y1-Y0) , [(V2-V0)/(Y2-Y0), [ (V1-V2) / (Y1-Y2) , ... , o las áreas de polígono, para suministrar la información a la memoria caché 33F de textura. La tabla CLUT 15 clasifica las coordenadas de las puntas d vértice del polígono [(XO, YO), (XI, Yl) , (X2, Y2) ] en la secuencia de los puntos de vértice de los bordes izquierdo (XO, YO) - (XI, Yl) - (X2, Y2) o en la secuencia de los puntos de vértice de los bordes derechos (X2, Y2) - (XI, Yl) - (XO, YO) o rastrea o explora ambos puntos de extremo o direcciones de textura. El procesador previo 32 almacena la información que corresponde a los datos del polígono procesado previamente en una memoria de trabajo, no mostrada. En una etapa en la cual la máquina 33 de dibujo puede procesar el siguiente polígono, la información capaz de procesar un polígono se transfiere de la memoria de trabajo a las N máquinas de polígono 33A1, 33A2, ..., 33AN. Esto causa que la máquina 33 de dibujo comience el proceso de dibujar un nuevo polígono. Es decir, con la GPU presente 15, el procesador previo 32 y la máquina 33 de dibujo, ejecutan el proceso del dibujo por el proceso simultáneo para dibujar una imagen, definida como la combinación de los polígonos bajo un comando de dibujo. El proceso de dibujo por este proceso simultáneo es de nuevo explicado. El procesador previo 32 ejecuta un proceso previo de preajuste en los datos de polígono, como se describió antes, y suministra varios datos, tal como la información de las coordenadas del punto de vértice, requerida por la máquina 33 de dibujo, la información de dirección para la textura o textura de mapeo MIP o la información de control, tal como el intercalado de pixel, a la máquina 33 de dibujo.
Esta máquina 33 de dibujo recibe datos desde el procesador previo 32 para extraer los datos de textura necesarios desde la memoria caché de textura 33D para generar datos con el fin de escribir los datos de pixel generados en el buffer 18 de marco. La memoria caché de textura 33D extrae datos de textura del área de textura que corresponde a las direcciones de textura necesarias, calculadas por el proceso previo en el procesador previo 32 desde el buffer 18 de marco. Los datos de textura son extraídos de modo que ellos sean complementados antes del inicio del dibujo de imagen que emplea los datos de textura. El número de veces del acceso al área de textura se puede disminuir por la lectura sólo de los datos de textura que corresponden a la resolución requerida para el mapeo MIP desde el área de textura. La estructura de datos en la memoria caché 33F de textura, mostrada como un ejemplo en la Figura 4, está comprendida de un área de etiqueta TAG, compuesta de direcciones de textura, un área de almacenamiento DATA que tiene almacenados los datos de textura necesarios y una bandera L que especifica que los datos de textura no se han usado aún. Empleando la entrada, que tiene la bandera L reajustada, la memoria caché de textura 33 lee en los datos de textura desde el área de textura del buffer 18 de marco para colocar su bandera L. La máquina 33 de dibujo extrae los datos de textura correspondientes desde la entrada, cuya bandera se ha colocado, con el fin de realizar el proceso de dibujo y reajustar la bandera 1 de la entrada en una etapa en la cual el dibujo se ha cerrado y así los datos de textura ya no se requieren más. En el dispositivo de dibujo, en el cual el proceso del mapeo de textura se ll^va a cabo, como se describió antes, el procesador previo 32 y la máquina 33 de dibujo se construyen en cascada, de modo que los datos de textura requeridos por la máquina 33 de dibujo sean enviados desde la memoria de textura, es decir el área de textura en el buffer 18 de marco, a la memoria caché 33F en la etapa previa precedente por el procesador previo 32, de modo que el proceso del dibujo puede ser llevado a cabo sin detener la máquina 33 de dibujo. Además, leyendo solamente los datos de textura asociados con la resolución requerida para el mapeo MIP desde el área de textura, el número de veces de acceso al área de textura se puede disminuir par elevar la velocidad de dibujar de todo el dispositivo. El proceso de división del polígono por el procesador previo 32 se lleva a cabo de acuerdo con un diagrama de flujo, mostrado en la Figura 5.
Específicamente, el proceso de división del polígono se comienza con la cuenta C del polígono que especifica el número de polígonos colocados en 1. En una primera etapa SI del proceso, se juzga si o no es necesario dividir un polígono. En el proceso de juzgar en la etapa de proceso SI, se considera si o no el polígono ahora procesado está comprendido dentro del intervalo de la memoria caché 33F de textura. Para este proceso de juzgar, es suficiente si los valores calculados de las coordenadas de textura [(UO, VO) , (Ul, VI), (U2, V2) ] de los puntos de vértice del polígono están dentro de una página de textura. Si el resultado del juicio en la etapa de proceso SI es NO, es decir, si el polígono necesita ser dividido, el proceso de transfiere a la etapa S2 para ejecutar la división del polígono por N. Tal división por N del polígono en este etapa de proceso S2 se lleva a cabo por dividir todos los lados del polígono en puntos neutrales, como se muestra abajo: X0' = (XO + XI) /2 YO' = (YO + Yl)/2 Z0' = (Z0 + Zl/2 XI1 = (XI + X2)/2 Yl1 = (Yl + Y2)/2 Zl' = (Zl + Z2)/2 X2» = (X2 + X0)/2 Y2» = (Y2 + Y0)/2 Z2« = (Z2 + Z0)/2 U0« = (UO + Ul)/2 V0« = (VO + VI) /2 Z0« = (Z0 + Zl)/2 Ul» = (Ul "U2)/2 VI' = (VI + V2/)2 Zl» = (Zl + Z2)/2 10 U2' = (U2 + U0)/2 V21 = (V2 + V0)/2 Z2« = (Z2 + Z0)/2 R0' = (RO + Rl)/2 CO= (GO + Gl)2 15 BO' = (BO + Bl/2 Rl' = (Rl + R2)/2 Gl" = (Gl + G2)/2 Bl = (Bl + B2)/2 R2" = (R2 + R0/2 20 G2 = (G2 + G0)/2 B2 = (B2 + B0)/2 Es decir, en la división por N del polígono en la de proceso S2 , todos los costados del polígono se dividen en sus puntos medios para dividir un polígono triangular, por ejemplo, en nuevos polígonos con N = 4. En la siguiente etapa de proceso S2, el número de polígonos es cambiado ajustando la cuenta C de polígonos en C = C+N-l. El proceso luego se invierte a la primera etapa de proceso SI con el fin de juzgar si o no los nuevos polígonos, así divididos deben ser sub-divididos ulteriormente. Estas etapas de proceso SI a S3 se llevan a cabo repetidamente hasta que los nuevos polígonos, así divididos, están cómprendidos dentro del intervalo de la memoria caché de textura. Si el resultado de la decisión en la primera etapa de proceso SI es SI, es decir si no es necesario dividir el polígono, el proceso se transfiere a la siguiente etapa S4. En esta etapa S4 del proceso, la información del proceso previo para un polígono se maneja a las máquinas del polígono 33A1, 33A2, ..., 33AN, para iniciar el proceso de cambio. Entonces, el proceso se transfiere a la siguiente etapa de proceso S5 sin esperar el final del proceso de cambio. En esta etapa de proceso S5, la cuenta C del polígono se decrementa. En la siguiente etapa S6 del proceso, se juzga si o no la cuenta C del polígono es igual a 'O1. Si el resultado del proceso de esta siguiente etapa S6 de proceso es NO, con C ? O, con un polígono para el proceso, este proceso se invierte a la primera etapa SI para entrar en el proceso del siguiente polígono. Si el resultado del proceso en esta siguiente etapa S6 es SI, es decir si todos los polígonos se han cambiado, de modo que no exista un polígono para la división, el proceso se cierra. Esto es, el procesador previo 32 juzga si o no el polígono procesado ahora en la máquina 33 de dibujo está comprendido dentro de la memoria caché 33F de textura (condición de juicio 1) . El procesador previo 32 ejecuta el proceso de división basado en los resultados del juicio para dividir el polígono que corresponde al comando de dibujo, de modo que los nuevos polígonos, asi divididos, estarán comprendidos dentro de la memoria caché 33F de textura. Esto habilita que el proceso de mapeo de textura sea realizado confiable y eficientemente, con base en los datos de textura extraídos en la máquina de dibujo 33 de la memoria caché 33f de textura por vía de la memoria caché 33G de la CLUT. En el proceso de división del polígono por el procesador previo 32, es posible comprobar en la primera etapa de proceso, antes mencionada, si o no el número de pixeles en el polígono es menor que un valor prescrito (condición de juicio 2) para comprobar si o no el polígono necesita ser dividido y para dividir el polígono que corres-ponde al comando de dibujo en múltiples polígonos en un espacio bidimensional en la etapa S2 del proceso, de modo que el número de pixeles en los nuevos polígonos así divididos no será mayor de un valor prescrito. De esta manera, el tamaño del polígono que se va a procesar por la máquina de dibujo puede ser igualado. El número de pixeles en el polígono puede también ser juzgado encontrando el área como un valor de producto externo de los puntos de vértice del polígono y comprobando si o no el valor es menor que un valor óptimo. En el proceso de división del polígono por el procesador previo 32, el polígono que corresponde al comando de dibujo puede ser dividido en múltiples polígonos en un espacio tridimensional en la etapa de proceso S2 antes mencionada. En este caso, es posible juzgar en la primera etapa
SI del proceso si o no la diferencia entre el valor mínimo y el valor máximo del valor Z del punto de vértice del polígono está comprendido dentro de un intervalo óptimo (condición de juicio 3), con el fin de comprobar si o no el polígono necesita ser dividido y para dividir el polígono que corresponde al comando de dibujo en la etapa S2 del proceso en múltiples polígonos en el espacio tridimensional, de modo que el número de pixeles en los nuevos polígonos, así divididos, estará comprendido dentro del intervalo prescrito, para limitar el tamaño del polígono par ejecutar el proceso de mapeo de textura en un estado con sólo poca distorsión de textura en la base de datos de textura extraídos de la memoria caché 33F de textura por vía de la memoria caché 33G de la CLUT. En este caso, es posible juzgar en la primera etapa SI del proceso, si o no la textura del mapa MIP, con respecto a los valores mínimo y máximo de Z, de los puntos de vértice del polígono que se cruzan (condición de juicio 4) y, con base en los resultados del juicio, dividir el polígono, que corresponde al comando de dibujo en la etapa S2 de proceso, en múltiples polígonos en un espacio tridimensional, para limitar el intervalo de referencia del mapeo MIP con respecto a un polígono, para el mapeo MIP eficiente con base en los datos de textura de mapa MIP extraídos de la memoria caché 33F de textura por vía de la memoria caché 33G de la CLUT. Es también posible juzgar si o no el polígono necesita ser dividido, dependiendo si o no el número de pixeles en un polígono no es mayor de un valor establecido previamente y dividir el polígono que corresponde al comando de dibujo cuando no es mayor del valor prescrito y dividir el polígono que corresponde al comando de dibujo en múltiples polígonos en la etapa S2 de proceso en el espacio tridimensional.
Es similarmente posible predecir el tiempo de proceso de dibujo para la máquina 33 de dibujo, con base en, por ejemplo, el número de pixeles en el polígono, juzgar si o no el polígono necesita ser dividido con base en si el tiempo de proceso previo por el procesador previo 32 esta equilibrado al tiempo de proceso del dibujo por la máquina 33 de dibujo, en la etapa de proceso SI (condición de juicio 5) y dividir el polígono que corresponde al comando de dibujo en la etapa S2 del proceso, con base en el resultado de juicio, de modo que el tiempo de proceso previo por el procesador previo 32 esté equilibrado al tiempo de proceso del dibujo por la máquina 33 de dibujo. Esto hace posible equilibrar el tiempo de proceso por el procesador previo 32 y por la máquina 33 de dibujo en relación mutua y construir el proce-sador previo 32 y la máquina 33 de dibujo en tipo cascada, para realizar eficientemente el dibujo de alta velocidad. También es posible juzgar en la etapa de proceso SI si o no la configuración del polígono procesado por la máquina de proceso 33 es adecuada para el intercalado de pixel (condición de juicio 6) en la etapa SI de proceso, antes mencionada, y para dividir el polígono que corresponde al comando de dibujo por la etapa de proceso S2 en múltiples nuevos polígonos que tienen la configuración adecuada para el intercalado de pixel. Esto hace posible el acceso al buffer 18 de marco eficientemente por la máquina 33 de dibujo, para efectuar el proceso de dibujo de alta velocidad. Es posible similarmente juzgar, en la etapa de proceso SI, si o no, con base en la combinación de las varias condiciones de juicio, antes mencionadas, el polígono necesita ser dividido y para dividir el polígono que corresponde al comando de dibujo, en la etapa S2 de proceso, en múltiples nuevos polígonos, de modo que los nuevos polígonos, así divididos, cumplan con las condiciones de juicio. Específicamente, es posible juzgar en la etapa de proceso SI si o no, con base en la combinación de las condiciones de juicio 1 y 2, el polígono necesita ser dividido, y dividir el polígono que corresponde al comando de dibujo por la etapa S2 de proceso en múltiples polígonos, de modo que los nuevos polígonos, así divididos, cumplan con las condiciones de juicio 1 y 2, con el fin de igualar el tamaño de los polígonos procesados por la máquina 33 de dibujo y con el fin de llevar a cabo el proceso de mapeo de textura confiable y eficientemente, con base en los estos de textura extraídos de la memoria caché 3F de textura por vía de la memoria caché 33G de la CLUT. También es posible juzgar en la etapa SI de proceso si o no, con base en la combinación de las condiciones de juicio 1 y 3, el polígono necesita ser dividido, y dividir el polígono que corresponde al comando de dibujo por la etapa S2 de proceso en múltiples nuevos polígonos, de modo que los nuevos polígonos, así divididos cumplan con las condiciones de juicio 1 y 3. Esto hace posible realizar el proceso de mapeo de textura confiable y eficientemente con poca distorsión de textura con base en los datos de textura extraídos de la memoria caché 33F de textura por medio de la memoria caché 33G de la CLUT. Igualmente, si la condición de juicio 2 se combina con la combinación anterior, el tamaño del polígono procesado por la máquina 33 de dibujo, es decir el número de pixeles, puede ser igualado con el fin de llevar a cabo el mapeo de textura. También es posible juzgar en la etapa de proceso SI si o no, con base en la combinación de las condiciones de juicio 1 y 4, el polígono necesita ser dividido y dividir el polígono que corresponde al comando de dibujo por la etapa S2 de proceso en múltiples nuevos polígonos, de modo que los nuevos polígonos, así divididos cumplan con las condiciones de juicio 1 y 4. Esto hace posible realizar el proceso de mapeo MIP confiable y eficientemente, con base en los datos de textura extraídos de la memoria caché 33F de textura por vía de la memoria caché 33G de la CLUT. Igualmente, si las condiciones de juicio 2 y 3 se combinan con la combinación anterior, llega a ser posible igualar el tamaño del polígono procesado por la máquina 33 de dibujo, es decir el número de pixeles, y disminuir la distorsión de la textura. También es posible juzgar en la etapa de proceso SI si o no, con base en la combinación de las condiciones de juicio 1 y 5, el polígono necesita ser dividido y dividir el polígono que corresponde al comando de dibujo por la etapa S2 de proceso en múltiples nuevos polígonos, de modo que los nuevos polígonos, así divididos, cumplan con las condiciones de juicio 1 y 5. Esto hace posible mantener el tiempo del proceso por el procesador previo 32 equilibrado con aquél por la máquina 33 de dibujo, para efectuar el mapeo eficiente de textura de alta velocidad en forma simultánea. Igualmente si las condiciones de juicio 2 y 3 se combinan con la combinación anterior, llega a ser posible igualar ei tamaño del polígono procesado por la máquina 33 de dibujo, es decir el número de pixeles, y disminuir la distorsión de la textura. La condición 4 del juicio puede también ser combinada con la combinación anterior para efectuar el mapeo MIP. También es posible juzgar en la etapa de proceso SI si o no, con base en la combinación de las condiciones de juicio 1 y 6, el polígono necesita ser dividido y dividir el polígono que corresponde al comando de dibujo por la etapa S2 de proceso en múltiples nuevos polígonos, de modo que los nuevos polígonos, así divididos cumplan con las condiciones de juicio 1 y 6. Esto hace posible realizar el mapeo de textura confiable y eficientemente, por la máquina 33 de dibujo y el acceso al buffer 18 de marco eficientemente, para realizar el dibujo de alta velocidad. Igualmente, si las condiciones de juicio 2 y 3 se combinan con la combinación anterior, llega a ser posible igualar el tamaño del polígono procesado por la máquina 33 de dibujo, es decir el número de pixeles, y disminuir la distorsión de la textura. La condición de juicio 4 puede ser igualmente combinada con la combinación anterior para efectuar el mapeo MIP o la condición de juicio 5 se puede combinar con la combinación anterior para efectuar el proceso de alta velocidad en forma simultánea. El intercalado de pixel por el segundo conmutador 33E de bus, antes mencionado, se lleva a cabo como se describe abajo. Haciendo referencia a la Figura 6, el segundo conmutador 33E de bus incluye un circuito 101 de control alimentado con una salida del procesador previo 32 mostrado en la Figura 2, un selector 102 alimentado con una salida del circuito de control 101 y plurales multiple-xor/desmultiplexores (MUX/DMUX) 103a, 103b, 103c, 103d, , cada uno alimentado con una salida del selector 102.
Los MUX/DMUX 103a, 103b, 103c, 103d, ..., se conectan al buffer 18 de marco y a la máquina 33 de dibujo mostrada en la Figura 2. El buffer 18 de marco se compone de múltiples bancos de memoria [1], [2], ..., [X], •••/ [L] , como se muestra en la Figura 2. Cada banco de memoria, [1] , [2 ] , ... ,
[X], ..., [L], se compone de un área rectangular representada por 16 direcciones (patrones de intercalado) , de modo que estas 16 direcciones puedan ser accedidas simultáneamente. Por lo tanto, el banco de memoria [X], por ejemplo, del buffer 18 de marco, tiene 16 puertas de entrada/salida P0 hasta P15, para el acceso a las direcciones A0 hasta A15. De los MUX/DMUX 103a, 103b, 103c, 103d, ... , los cuatro MUX/DMUX
103a, 103b, 103c, 103d son cada uno conectados a 16 puertas de entrada/salida P0 hasta P15. Igualmente, los cuatro MUX/DMUX 103a, 103b, 103c, 103d, se conectan en asociación con cuatro motores de pixel 33Dxl, 33Dx2, 33Dx3, y 33Dx4 de la máquina 33 de dibujo. Puesto que los bancos de memoria, además del banco de memoria [X] se configuran similarmente al banco de memoria [X] antes mencionado, su descripción detallada no necesita hacerse, por simplicidad. La operación de acceso realizada por el segundo conmutador 33E de bus en los otros bancos de memoria, es similar a aquélla realizada por el segundo conmutador 33E de bus en el banco de memoria [X] como se explica más adelante. Por consiguiente, en la descripción que sigue, sólo la operación de acceso realizada por el segundo conmutador 33E de bus en el banco de memoria [X] será expli-cada. Primero, una serie de operaciones por el segundo conmutador 33E de bus serán explicadas. Si, por ejemplo, la configuración de un polígono dibujado en el banco de memoria [X] es un triángulo T^QQ (Ia configuración del primer polígono) , como se muestra en la Figura 7, el circuito de control 101 se alimenta primero desde el procesador previo 32 con la información de control de intercalado de pixel. Con base en la información de control de intercalado de pixel desde el procesador previo 32, el circuito de control 101 cambia sobre un patrón de intercalado, usado para el acceso al interior del triángulo TABC a' Por ejemplo, un patrón de intercalado de (4x4) . El método par cambiar el patrón de intercalado en el circuito de control 101 será explicado después en detalle. De los múltiples patrones de intercalado formados en el banco de memoria [X] , tal patrón de intercalado será accedido, es decir tal patrón de intercalado como permite el interior del triángulo Tp^Q que se va a acceder en su totali-dad, se detecta por el circuito de control 101, con la ayuda del patrón de intercalado de (4x4) . Así, en el triángulo TAB , si cada patrón de intercalado en el banco de memoria [X] se indica por P (índice de patrón en la dirección x e índice de patrón en la dirección y) , una suma total de 20 patrones de intercalado, especificada por: P(x, Y) = P(3, 1), P(4, 1), P(l, 2), P(2, 2), P(3, 2), P(4, 2) P(l, 3), P(2, 3), P(3, 3) P(4, 3), P(5, 3), P(2, 4), P(3, 4), P(4, 4), P(5, 4), P(3, 5), P(4, 5), P(5, 5), P(4, 6), P(5, 6) se detectan, como se muestra en la Figura 8. El circuito de control 101 guía la información de patrón que especifica los 20 patrones de intercalado, detectados como se describió antes, al selector 102 en base al patrón de intercalado. Cuando se ejecuta el acceso de memoria en la base de dirección, el circuito de control 101 guía la información de la máscara, que corresponde a la configuración del triángulo ^BC al selector 102. Con base en la información de patrón suministrada desde el circuito de control 101 en base al patrón de inter-calado, el selector 102 designa la dirección que corresponde al patrón P de intercalado de (4x4) que se va a tener acceso por el MUX/DMUX 103a, 103b, 103c y 103d. Si se alimenta con la información de la máscara desde el circuito de control 101, el selector 102 designa para el MUX/DMUX 103a a 103d las direcciones de acceso obtenidas como resultado del enmascaramiento realizado en los patrones de intercalado P de (4x4), en la base de la información de enmascaramiento, como se muestra en la Figura 9. Así, de las direcciones AQ hasta A15 en el patrón de intercalado especificado por P(4,l), mostrado en la Figura 9, las direcciones que se van a acceder, obtenidas como resultado del enmascaramiento, son A4, A5 A6, A8, A9, A10, A13, A14 y A15, mostradas sombreadas en la Figura 10. Los MUX/DMUX 103a, 103b, 103c y 103d, acceden a las direcciones AQ hasta A15 en el banco de memoria [X] designado por el selector 102. Las máquinas de pixel 33Dx?, 33DX2 33DX3 y 33DX4, los datos del pixel de salida a los MUX/DMUX 103a, 103b, 103c y 103d, en forma respectiva, como se explicó previamente. Así, los MUX/DMUX 103a acceden a la dirección designada por el selector 102 para escribir datos de pixel de la máquina de pixel Xa, por medio de una de las puertas de entrada/salida P0 hasta 15, que corresponde a la dirección designada por el selector 102, en un área en el banco de memoria [X] designado por la dirección anterior. Los MUX/DMUX 103a tienen acceso a la dirección designada por el selector 102 para extraer los datos escritos en un área designada por la dirección en el banco de memoria [X] por vía de una de las puertas de entrada/salida PQ hasta P15, que corresponden a la dirección anterior. Los MUX/DMUX 103a realizan un proceso de preajuste en los datos extraídos del banco de memoria [X] . Puesto que la operación de los MUX/DMUX 103b a 103d es similar a la operación, antes descrita, del MUX/DMUX 103a, su descripción detallada se omite para claridad. El método de cambiar los patrones de intercalado en el circuito de control 101, antes descrito, es ahora expli-cado específicamente. Primero, el número de veces de acceso al interior de un triángulo T?? alargado transversalmente (configuración de un segundo polígono) como la configuración de un polígono dibujado en el banco de memoria [X] mostrado en la Figura 11 con un patrón de intercalado de (4x4) será explicado. En este caso, los patrones de intercalado que se van a acceder son: P(x, y) = P(l, 1), P(2, 1), P(3, 1), P(4, 1), P(5, 1), P(0, 2), P(l, 2), P(2, 2), P(3, 2), P(4, 2), P(5, 2), P(6, 2), P(7, 2), P(8, 2), P(7, 3), P(8, 3), P(9, 3), que totalizan 17, como se muestra en la Figura 12. Es decir, para el acceso al interior del triángulo T)EF con el patrón de intercalado de (4x4), el número de veces de acceso al interior del triángulo TDEF en su totalidad es de 17. En el caso del acceso sobre la base de dirección, sólo las direcciones de memoria requeridas pueden ser accedidas, llevando a cabo el enmascaramiento en el patrón de intercalado P de (4x4), como en el caso del acceso del triángulo TABC antes mencionado, como se muestra en la Figura 13. Entonces, si el interior del triángulo T^EF es accedido con un patrón de intercalado P de (8x2) , como se muestra en la Figura 14, los patrones de intercalado que serán accedidos son: P?(x, y) - Pi(l, 2), Pi(2, 2), Pi(0, 3), P!(l, 3), P?(2, 3), PÍ(0, 4), Pi(l, 4), P?(2, 4), Pl(3, 4), Pi(l, 5), P?(2, 5), P!(3, 5), P?(4, 5), Pi(3, 6), Pl(4, 6) que totaliza 15, como se muestra en la Figura 15. Es decir, si el interior del triángulo TDEF es accedido con el patrón de intercalado de (8x2) , el número de veces de acceso requerido para el acceso a todo el interior del triángulo TTJEF es de 15* En el caso de acceder en la base de dirección, el enmascaramiento se realiza dentro del patrón de intercalado P de (8x2) , como en el caso del acceso al triángulo T^B , como se describió antes, como se muestra en la Figura 16, para el acceso solamente a la dirección de memoria necesaria. Entonces, si el interior del triángulo JEF es accedido con un patrón de intercalado P2 de (16x1) , como se muestra en la Figura 17, los patrones de intercalado que se van a acceder son: P2(*/ Y) = P2(°- 5K P2(l/ 5), P2(0, 6), P2(l, 6), P2(0, 7), P2(l, 7), P2(°- 9>- 2(!. 9)> P2(0, 10), P2(l, 10), P2(2, 10), P2(l, 11), P2(2, 11), P2(l, 12), P2(2, 12), P2(2, 13), que totaliza 18, como se muestra en la Figura 18. Es decir, si el interior del triángulo TDEF es accedido con el patrón de intercalado de (16x1) , el número de veces de acceso requerido para acceder a todo el interior del triángulo TDEF es de 18. En el caso del acceso en la base de dirección, el enmascaramiento se realiza dentro del patrón P2 de intercalado de (8x2) como en el caso del acceso al triángulo T^BC como se describió antes, como se muestra en la Figura 19, para el acceso solamente a la dirección de memoria necesaria. Como se describió antes, el número de veces del acceso al interior del triángulo TGJEF con el patrón de intercalado P de (4x4) es de 17, mientras aquél del acceso al interior del triángulo T EF con el patrón de intercalado de (8x2) Pi es de 15 y aquél del acceso al interior del triángulo TDEF con e^ patrón de intercalado de (16x1) P es de 18. Así, el número de veces de acceso al interior del triángulo TDEF con e^ patrón de intercalado de (8x2) Plf representa el número mínimo de veces de acceso. Así, se ve que el patrón de intercalado apropiado para el triángulo TDEF s el patrón de intercalado de (8x2) , P^ .
Así, para la conmutación del patrón de intercalado usado para el acceso al banco de memoria [X] a un patrón de intercalado apropiado en conjunto con la configuración del polígono que se va a acceder, el circuito de control 101 ejecuta las siguientes operaciones del proceso. Si, por ejemplo, la configuración de un polígono dibujado en el banco de memoria [X] es un triángulo Tmj, como se muestra en la Figura 20, la información de control para el intercalado de pixel se suministra desde el procésador previo 32 al circuito de control 101, como se describió antes. Por ejemplo, la información de control para el intercalado de pixel en tal información, como coordenadas xy de H (Xh, Yh), I (Xi, Yi) o J (Xj, Yj) de tres puntos de vértice del triángulo Tmj. El circuito de control 101 luego encuentra, usando la información de control para el intercalado de pixel desde el procesador previo 32, la relación de aspecto R del triángulo TJJIJ, por los cálculos: R = dy/dx = (MAXy - MINy)/(MAXx - MINx) donde MAXx y MINx son los valores máximo y mínimo en la dirección X, respectivamente, y MAXy y MINy son los valores máximo y mínimo en la dirección Y, respectivamente, como se muestra en la Figura 29.
En el triángulo TJJJJ, MAXx = Xj MINx = Xi MAXy = Yh MINy = Yi Dependiendo de la relación de aspecto R, así encontrada, el circuito de control 101 selecciona uno de los cinco patrones de intercalado Pa a Pe de (1x16) , (2x8) , (4x4) , (8x2) y(16xl) , como se muestra en la Figura 21, y conmuta el patrón de intercalado usado en el acceso al interior del triángulo THJJ al patrón de intercalado seleccionado. El circuito de control 101 tiene una tabla para la relación de aspecto R y patrones de intercalado (Tabla 1) . En esta tabla, se preajustan los patrones de intercalado apropiados, asociados con los varios valores de la relación de aspecto R, es decir tal patrón de intercalado que reduzca al mínimo el número de veces del acceso. Así, el circuito de control 101 selecciona, usando la tabla anterior, un patrón de intercalado apropiado asociado con la relación de aspecto R encontrada como se describió anteriormente.
TABLA 1
En el segundo conmutador 33E de bus, se selecciona uno de los cinco patrones de intercalado apropiado Pa a Pe, mostrado en la Figura 21, sensible a la configuración del polígono que se va a dibujar en el banco de memoria [X] , que es luego accedido con el patrón de intercalado seleccionado, de modo que el polígono puede ser dibujado en el banco de memoria [X] con un número mínimo de operaciones de acceso. Así es posible para el segundo conmutador 33E de bus efectuar el acceso de memoria eficientemente. La GPU 15 accede al buffer 18 de marco por el segundo conmutador 33E de bus, ayudado en elevar el acceso de memoria eficientemente para realizar varias operaciones de proceso de datos, como se describió anteriormente, para realizar estas operaciones eficientemente.
Una máquina 201 de juegos de video, que incorpora la presente invención, se configura como se muestra, por ejemplo, en una vista de planta de la Figura 22, en una vista frontal de la Figura 23 y en una vista lateral de la Figura 24. Es decir, la presente máquina 201 de video se compone básicamente de un miembro 202 de cuerpo principal y un dispositivo de operación 217 conectado al miembro de cuerpo principal 202 por medio de un cable 227, como se muestra en la Figura 22. En la porción media en la superficie superior del miembro 202 del cuerpo principal se monta una unidad 203 de carga de disco dentro de la cual se carga un CD-ROM 251 mostrado en la Figura 25. En el lado izquierdo de la unidad 203 de carga de disco se monta un interruptor 205 de fuente de energía, operado conectando o desconectando el dispositivo y un interruptor 204 de reajuste, operado para reajustar transitoriamente el juego. En el lado derecho de la unidad 203 de carga de disco se monta un interruptor 206 de impulso de disco, operado para montar o desmontar el CD-ROM 251 con respecto a la unidad de carga 203 de disco. En el lado frontal del miembro de cuerpo principal 202 se montan porciones de conexión 207A, 207B, como se muestra en la Figura 23. Estas porciones de conexión 207A, 207B están provistas con una terminal 226 de conexión, provista en la parte más anterior del cable 227 derivada del dispositivo 217 de operación y una porción de inserción de la terminal de conexión 212 para conectar un dispositivo de registro 228, tal como una tarjeta de memoria, y una porción de grabado/inserción 208. Es decir, dos de cada dispositivo de operación 217 y dispositivos de grabado 228 se pueden conectar al miembro de cuerpo principal 202. La vista frontal de la Figura 23 muestra el estado en el cual la porción terminal 226 de conexión y el disposi-tivo de grabación 228 se cargan en la porción que conecta el lado derecho, 207B, con ninguna de la porción terminal 226 de conexión no el dispositivo de grabación 228 siendo cargado en la porción 207A de conexión del lado izquierdo. La porción de inserción de grabación 108 para cargar el dispositivo de grabación, está provisto con el obturador 209, como se muestra en la Figura 23. Cuando se carga el dispositivo de grabación 228 en el miembro del cuerpo principal 202, este obturador 209 es empujado por la parte más delantera del dispositivo de grabación 228 para efectuar la carga. La porción terminal 226 de conexión tiene una parte
231A moleteada de agarre, para el efecto anti-deslizante. Similarmente, el dispositivo de grabación 228 tiene una parte de agarre moleteada 242A para el efecto anti-deslizante. Haciendo referencia a una vista lateral de la Figura 24, la porción terminal 226 de conexión tiene una longitud L substancialmente igual a la longitud del dispositivo 228 de grabación. El dispositivo de operación 27 tiene los soportes 220, 221 que se pueden agarrar por las manos izquierda y derecha. Las partes más delanteras de los soportes 220, 221 están provistas con partes de operación 218, 219, respectivamente. Las partes de operación 22, 225 son operadas con los dedos índice de ambas manos, mientras las partes de operación 218, 219 son operadas con los pulgares de ambas manos. Entre las partes de operación 218 y 219 son provistos un interruptor de selección 222, que es accionado para la selección durante el juego, y un interruptor de arranque 223, operado para iniciar el juego. Con la presente máquina de juegos de video, 201, el
CD-ROM 251 cargado en la unidad 203 de carga del disco, se reproduce por la unidad de CD-ROM 30. El dispositivo de operación 217 es equivalente al dispositivo de entrada 28, antes mencionado, mientras el dispositivo de grabación 228 es equivalente al dispositivo auxiliar 27 de almacenamiento.
Claims (4)
- REIVINDICACIONES 1. Un aparato para dibujar imágenes, el cual comprende: un elemento de proceso previo, para generar los datos requeridos para procesos de dibujo, antes de estos procesos de dibujo en base de figuras unitarias, de acuerdo con un comando de dibujo, para dibujar un modelo de imagen definido por la combinación de las figuras unitarias; un elemento de dibujo de imágenes, para generar datos de pixel en la base de figuras unitarias, por el proceso de mapeo de textura sensible al comando de dibujo, para dibujar una imagen sobre una memoria de imágenes; un elemento de almacenamiento, para el almacenamiento transitorio de los datos de textura requeridos por el elemento de dibujo de imágenes, para el mapeo de textura; y un elemento de suministro, para proporcionar los datos de textura requeridos por el elemento de dibujo de imágenes para el mapeo de textura al elemento de almacenamiento, sensible a los datos producidos por el elemento de proceso previo.
- 2. El dispositivo para dibujar imágenes, según se reclama en la reivindicación 1, en que el elemento de dibujo de imágenes tiene la función de realizar el mapeo MIP, este elemento de dibujo de imágenes selecciona datos de textura que tienen la resolución deseada, sensible a los datos producidos por el elemento de proceso previo, para suministrar los datos de textura seleccionados al elemento de almacenamiento.
- 3. Un método para dibujar imágenes, el cual comprende las etapas de: generar datos pertinentes al proceso de dibujo de imágenes en base a figuras unitarias, de acuerdo con un comando de dibujo, para dibujar un modelo de imagen, definido por la combinación de figuras unitarias; suministrar datos de textura, necesarios para el mapeo de textura en el proceso de dibujo de imágenes al elemento de almacenamiento, basado en los datos; generar los datos de pixel de la figura unitaria por el proceso de textura, para dibujar sobre una memoria de imágenes y dibujar una imagen sobre esta memoria de imágenes.
- 4. El método para dibujar imágenes, según se reclama en la reivindicación 3, en que la etapa de suministrar los datos de textura al elemento de almacenamiento, incluye la etapa de suministrar datos de textura de resolución, requeridos en el mapeo de MIP en el proceso de dibujo de imágenes, sensible a los datos pertinentes al proceso de dibujo de imágenes.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPP8-020332 | 1996-02-06 | ||
JP8-020332 | 1996-02-06 | ||
JP02033296A JP3645024B2 (ja) | 1996-02-06 | 1996-02-06 | 描画装置及び描画方法 |
PCT/JP1997/000297 WO1997029457A1 (fr) | 1996-02-06 | 1997-02-06 | Procede et dispositif de dessin |
Publications (2)
Publication Number | Publication Date |
---|---|
MX9707540A MX9707540A (es) | 1997-11-29 |
MXPA97007540A true MXPA97007540A (es) | 1998-07-03 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2216915C (en) | Picture drawing apparatus and picture drawing method | |
CA2216442C (en) | Image generating apparatus with fifo memory and cache memory | |
US6246418B1 (en) | Data processing method and apparatus | |
CA2216698C (en) | Method and apparatus for simultaneous shape-dependent access to picture data stored at a plurality of addresses | |
EP1312047B1 (en) | Apparatus and method for rendering antialiased image | |
US6339430B1 (en) | Video game machine and method for changing texture of models | |
US6992673B2 (en) | Memory access device, semiconductor device, memory access method, computer program and recording medium | |
MXPA97007540A (es) | Aparato y metodo para dibujar imagenes | |
US6867766B1 (en) | Image generating apparatus, image generating method, entertainment system, and recording medium | |
JP3548648B2 (ja) | 描画装置及び描画方法 | |
EP1249791B1 (en) | 3-D game image processing method and device for drawing border lines | |
JP3971448B2 (ja) | 描画装置及び描画方法 | |
JP3468985B2 (ja) | グラフィック描画装置、グラフィック描画方法 | |
JP3934111B2 (ja) | 描画装置及び描画方法 | |
US20010015727A1 (en) | Image data display control method and an image display device thereof | |
US6489967B1 (en) | Image formation apparatus and image formation method | |
JP3481382B2 (ja) | 画像処理装置 | |
MXPA97007536A (es) | Aparato para general direcciones, aparato para exhibir imagenes, metodo para generar direcciones y metodo para exhibir imagenes | |
MXPA97007541A (es) | Aparato para generar imagenes |