DE60020234T2 - Verfahren und vorrichtung zur bildwiedergabe - Google Patents

Verfahren und vorrichtung zur bildwiedergabe Download PDF

Info

Publication number
DE60020234T2
DE60020234T2 DE60020234T DE60020234T DE60020234T2 DE 60020234 T2 DE60020234 T2 DE 60020234T2 DE 60020234 T DE60020234 T DE 60020234T DE 60020234 T DE60020234 T DE 60020234T DE 60020234 T2 DE60020234 T2 DE 60020234T2
Authority
DE
Germany
Prior art keywords
rendering process
texture
objects
rendering
coordinates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60020234T
Other languages
English (en)
Other versions
DE60020234D1 (de
Inventor
Sachiyo Minato-ku AOKI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of DE60020234D1 publication Critical patent/DE60020234D1/de
Application granted granted Critical
Publication of DE60020234T2 publication Critical patent/DE60020234T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation

Landscapes

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

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Rendern (Bildaufbereitung) eines Bildes einer Anzahl von Objekten mit gleicher Gestalt, z.B. eines Fischschwarms, ferner ein Aufzeichnungsmedium, das ein Programm zum Rendern eines solchen Bilds speichert, sowie ein Programm zum Rendern eines solchen Bildes.
  • In jüngerer Zeit haben sich verschiedene Verfahren für die Computergraphik-(CG)-Verarbeitung, einschließlich der Verarbeitung verborgener Linien, der Beseitigung verborgener Flächen, der glatten Schattierung, der Abbildung von Texturen usw., in Kombination mit dem schnellen Wachstum von Hardwaretechnologien rasch fortentwickelt.
  • Nach einem generellen CG-Verarbeitungsschema werden durch dreidimensionale CAD-Modellierung mehrere dreidimensionale Formen (Objekte) erzeugt, und es wird ein Rendering-Prozeß durchgeführt, bei dem Farben und Schatten an den Objekten appliziert werden, zu den Objekten optische Eigenschaften, einschließlich Spiegelreflektion, diffuser Reflektion, Brechung, Transparenz usw., hinzugefügt werden, ferner Oberflächenmuster zu den Objekten hinzugefügt werden und Bilder in Abhängigkeit von der Umgebung, wie Fenster und Szenenreflektionen und Umgebungslicht geplottet werden.
  • Wenn eine Anzahl von Objekten gleicher Form, wie ein Fischschwarm, geplottet wird, wird der erwähnte Rendering-Prozeß an den erzeugten Objekten durchgeführt. Da der Rendering-Prozeß jedoch an jedem kleinen Polygon durchgeführt wird, ist die Ausführung der Berechnungen und das Plotten der Objekte zeitraubend, was mit dem Nachteil verbunden ist, daß die Objekte auf einem Anzeigemonitor mit reduzierter Rate angezeigt werden.
  • Eine Lösung bestände darin, alle Objekt mit einfachen Sprites zu plotten. Die Verwendung von Sprites ist jedoch problematisch, da bezüglich der Darstellung einige Beschränkungen auftreten, z.B. Bewegungen, die nicht vorbereitet wurden, nicht geplottet werden können.
  • US 5 786 822 offenbart ein Verfahren und eine Vorrichtung zum Erzeugen einer Darstellung eines Objekts von mehreren unterschiedlichen Betrachtungspunkten. Für jede Blickrichtung sind andere Texturdaten vorgesehen, und wenn das Objekt angezeigt wird, werden die der Betrachtungsrichtung der Oberfläche des Objekts entsprechenden Texturdaten ausgewählt und auf die Darstellung des Objekts abgebildet.
  • Es ist deshalb ein Ziel der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum Rendern eines Bildes, ferner ein Aufzeichnungsmedium, das ein Programm zum Rendern eines solchen Bilds speichert, und ein Programm anzugeben, um ein solches Bild zu rendern, indem an bestimmten Exemplaren einer Anzahl von Objekten, z.B. an visuell attraktiven Objekten, bewegten Objekten, in der Nähe befindlichen Objekten usw., ein Rendering-Prozeß durchgeführt wird, während an anderen Objekten einfach eine Textur appliziert wird, so daß die Zeit zur Durchführung von Berechnungen und zum Plotten der Objekte erheblich verkürzt werden kann und die Objekte mit hoher Qualität geplottet werden können.
  • Im allgemeinen bewirkt ein Rendering-Prozeß die perzeptorische Transformation der Eckpunkte einer Anzahl von Polygonen, die ein Objekt bilden, wobei die resultierenden Polygone zusammen mit der Texturdarstellung und der Beseitigung verborgener Flächen geplottet werden.
  • Wenn N Objekte angezeigt werden sollen, die jeweils aus x Polygonen bestehen, müssen für die x Polygone N Rendering-Prozesse durchgeführt werden. Deshalb ist die gesamte Prozedur sehr zeitaufwendig.
  • Nun gibt es Fälle, in denen nicht alle Objekte die gleiche Bildqualität erfordern. Wenn z.B. eine große Anzahl von Fischen geplottet wird, werden Fische, die sich im Hintergrund der Szene befinden, visuell nicht klar wahrgenommen und sind visuell weniger attraktiv.
  • Wenn ein großer Fischschwarm geplottet wird, werden gemäß vorliegender Erfindung einige der Fische mit einem normalen Rendering-Prozeß geplottet, während andere mit einem einfacheren Prozeß geplottet werden.
  • Gemäß vorliegender Erfindung sind ein Verfahren und eine Vorrichtung gemäß Anspruch 1 und 5 vorgesehen.
  • Weitere Variationen sind in den Ansprüchen 2 bis 4 bzw. 6 bis 10 angegeben.
  • Die Ziele, Merkmale und Vorteile der Erfindung werden durch die folgende Beschreibung weiter verdeutlicht, die auf die anliegenden Zeichnungen Bezug nimmt, in denen bevorzugte Ausführungsbeispiele der Erfindung dargestellt sind.
  • 1 zeigt ein Blockdiagramm, aus dem die generelle Anordnung eines Unterhaltungsgeräts nach einem Ausführungsbeispiel der Erfindung hervorgeht,
  • 2 zeigt eine Ansicht eines Beispiels für ein Entscheidungskriterium zur Festlegung eines detaillierten Plotting-Prozesses und eines einfachen Plotting-Prozesses,
  • 3 zeigt eine Ansicht eines weiteren Beispiels für ein Entscheidungskriteriums zur Festlegung eines detaillierten Plotting-Prozesses und eines einfachen Plotting-Prozesses,
  • 4 zeigt eine Ansicht eines Objekts, wie es von einem beliebigen Betrachtungspunkt aus gesehen wird, wenn das Objekt umfassend gesehen wird,
  • 5 zeigt vorbereitete Texturen, die so geplottet sind, wie sie von beliebigen Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus gesehen werden, wenn das Objekt umfassend gesehen wird,
  • 6 zeigt eine Ansicht der Beziehung zwischen tatsächlichen Betrachtungspunkten und Ersatz-Betrachtungspunkten,
  • 7 zeigt ein Objekt, wie es von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus gesehen wird, die aus einer Vielzahl von in einem praktischen Plotting-Prozeß benutzten Betrachtungspunkten ausgewählt werden,
  • 8 zeigt eine Ansicht vorbereiteter Texturen, die so geplottet werden, wie sie von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten) aus gesehen wird, die aus einer Vielzahl von in einem praktischen Plotting-Prozeß benutzten Betrachtungspunkten ausgewählt werden,
  • 9 zeigt eine Ansicht, aus der die Beziehung zwischen tatsächlichen Betrachtungspunkten und Ersatz-Betrachtungspunkten hervorgeht,
  • 10 zeigt ein Beispiel eines provisorischen Objekts,
  • 11A zeigt ein Diagramm des Layouts eines provisorischen Objekts, mit einem tatsächlichen Betrachtungspunkt, der an einem Ersatz-Betrachtungspunkt a positioniert ist,
  • 11B zeigt ein Diagramm des Layouts von provisorischen Objekten relativ zu tatsächlichen Betrachtungspunkten M, N, O (wobei der Betrachtungspunkt N weggelassen ist),
  • 11C zeigt ein Diagramm der provisorischen Objekte von 11B, direkt von oben, d.h. in negativer Richtung der y-Achse, betrachtet,
  • 12 zeigt ein Blockdiagramm von Schritten eines Prozesses, der von einer Objektgruppen-Plottingeinrichtung nach einem ersten Ausführungsbeispiel der Erfindung durchgeführt wird,
  • 13 zeigt ein Diagramm, in dem Details einer Texturinformationstabelle dargestellt sind,
  • 14 zeigt ein Funktionsblockdiagramm einer Bild-Plotter-Einrichtung in der Objektgruppen-Plottereinrichtung nach dem ersten Ausführungsbeispiel der Erfindung,
  • 15 zeigt ein Funktionsblockdiagramm einer Einrichtung zum selektiven Plottern,
  • 16 zeigt ein Funktionsblockdiagramm einer Einrichtung zum detaillierten Rendern,
  • 17 zeigt ein Funktionsblockdiagramm einer Einrichtung zum einfachen Rendern,
  • 18 zeigt ein Diagramm mit Details einer Objektinformationstabelle,
  • 19 zeigt ein Diagramm mit Details einer detaillierten Objektdatei,
  • 20 zeigt ein Diagramm mit Details einer einfachen Objektdatei,
  • 21 zeigt ein Diagramm mit Details einer Bewegungsinformationstabelle,
  • 22 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Bild-Plotter-Einrichtung,
  • 23 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zum selektiven Plottern,
  • 24 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zum detaillierten Rendern,
  • 25 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zum einfachen Rendern,
  • 26 zeigt ein Funktionsblockdiagramm einer Einrichtung zum einfachen Rendern in einer Objektgruppen-Plottereinrichtung nach einem zweiten Ausführungsbeispiel der Erfindung,
  • 27 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zum einfachen Rendern,
  • 28 zeigt ein Funktionsblockdiagramm einer Textureinstelleinrichtung in einer Objektgruppen-Plottereinrichtung nach einem dritten Ausführungsbeispiel der Erfindung,
  • 29 zeigt ein Diagramm mit Details einer Tabelle mit Betrachtungspunktkoordinaten,
  • 30 und 31 zeigen ein Flußdiagramm einer Verarbeitungssequenz der Textureinstelleinrichtung,
  • 32 zeigt eine Ansicht der Art und Weise, in der Texturbilder erzeugt werden, wenn Objekte Hauptobjekte und Hilfsobjekte umfassen,
  • 33 zeigt ein Diagramm mit Details einer Objektinformationstabelle,
  • 34 zeigt ein Diagramm mit Details einer detaillierten Objektdatei,
  • 35 zeigt ein Diagramm mit Details einer einfachen Objektdatei,
  • 36 zeigt ein Blockdiagramm mit Schritten eines Prozesses, der von einer Objektgruppen-Plottereinrichtung nach einem vierten Ausführungsbeispiel der Erfindung ausgeführt wird,
  • 37 zeigt ein Diagramm mit Details einer Texturinformationstabelle,
  • 38 zeigt ein Funktionsblockdiagramm einer Textureinstelleinrichtung in einer Objektgruppen-Plottereinrichtung nach einem fünften Ausführungsbeispiel der Erfindung,
  • 39 zeigt ein Funktionsblockdiagramm einer Einrichtung zur Verarbeitung eines Hauptobjekts,
  • 40 zeigt ein Funktionsblockdiagramm einer Einrichtung zur Verarbeitung eines Hilfsobjekts,
  • 41 zeigt ein Diagramm mit Details einer Hilfsobjekt-Informationstabelle,
  • 42 und 43 zeigen ein Flußdiagramm einer Verarbeitungssequenz der Textureinstelleinrichtung,
  • 44 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zur Verarbeitung eines Hauptobjekts,
  • 45 zeigt ein Flußdiagramm einer Verarbeitungssequenz der Einrichtung zur Verarbeitung eines Hilfsobjekts.
  • Anhand von 1 bis 45 wird ein Ausführungsbeispiel mit einem Verfahren und einer Vorrichtung zum Rendern eines Bildes beschrieben, wie sie in einem Unterhaltungsgerät zur Durchführung einer dreidimensionalen CG-Verarbeitung angewendet werden.
  • Wie 1 zeigt, umfaßt ein Unterhaltungsgerät 10 eine Haupt-CPU 12 zur Steuerung des Unterhaltungsgeräts 10, einen Hauptspeicher 14 zum Speichern verschiedener auszuführender Programme und verschiedener Daten, einen Bildprozessor 18 zum Erzeugen von Bilddaten unter dem Steuereinfluß der Haupt-CPU 12 und zur Ausgabe der erzeugten Bilddaten an eine Anzeigeeinheit 16, z.B. an eine Kathodenstrahlröhre (CRT), sowie einen Eingangs-/Ausgangsport 20 zum Senden von Daten an und zum Empfangen von Daten aus externen Vorrichtungen.
  • Der Hauptspeicher 14, der Bildprozessor 18 und der Eingangs-/Ausgangsport 20 sind über einen Bus 22 mit der Haupt-CPU 12 verbunden. An den Eingangs-/Ausgangsport 20 sind angeschlossen: Eine Eingabe-/Ausgabevorrichtung 24 für die Eingabe von Daten (Tasteneingabedaten, Koordinatendaten, usw.) in das Unterhaltungsgerät 10 sowie ein optisches Plattenlaufwerk 26 zum Abspielen einer optischen Platte, z.B. einer CD-ROM oder dgl., auf der verschiedene Programme oder Daten (objektbezogene Daten, Texturdaten usw.) aufgezeichnet sind.
  • Der Bildprozessor 18 umfaßt eine Rendering-Maschine 30, ein Speicher-Interface 32, einen Bildspeicher 34 und eine Anzeigesteuerung 36, z.B. eine programmierbare CRT-Steuerung oder dgl..
  • Die Rendering-Maschine 30 dient zum Rendern von Bilddaten in dem Bildspeicher 34 über das Speicher-Interface 32 auf der Basis eines von der Haupt-CPU 12 gelieferten Rendering-Befehls.
  • Zwischen dem Speicher-Interface 32 und der Rendering-Maschine 30 ist ein erster Bus 38 angeordnet. Zwischen dem Speicher-Interface 32 und dem Bildspeicher 34 ist ein zweiter Bus 40 angeordnet. Der erste und der zweite Bus 38, 40 haben jeweils eine Breite von 128 Bit, um der Rendering-Maschine 30 das Rendern von Bildern in dem Bildspeicher 34 mit hoher Geschwindigkeit zu ermöglichen.
  • Die Rendering-Maschine 30 kann Bilddaten mit 320 × 240 Pixeln oder Bilddaten mit 640 × 480 Pixeln nach dem NTSC- oder PAL-System in Echtzeit, d.h. in 1/60 Sekunden und 1/30 Sekunden, mehr als zehnmal oder einige zehnmal rendern.
  • Der Bildspeicher 34 hat eine einheitliche Speicherstruktur, die es ermöglicht, einen Texturbereich 34a und einen Rendering-Bereich 34b als gleichen Bereich festzulegen.
  • Die Bildsteuerung 36 schreibt Bilddaten, die über das optische Plattenlaufwerk 26 ausgelesen werden, oder Bilddaten, die in dem Hauptspeicher 14 erzeugt werden, über das Speicher-Interface 32 in den Texturbereich 34a des Bildespeichers 34 ein und liest Bilddaten, die in dem Rendering-Bereich 34b des Bildespeichers 34 gerendert werden, über das Speicher-Interface 32 aus und liefert die ausgelesenen Bilddaten an die Anzeigeeinheit 16, um dort ein Bild anzuzeigen.
  • Im folgenden wird eine charakteristische Funktion des Unterhaltungsgeräts 10 beschrieben, d.h. eine Funktion, mit der eine Anzahl von Objekten mit identischer Gestalt sehr schnell geplottet werden.
  • Diese Funktion ist als Programm (Objektgruppen-Plottereinrichtung) auf einer optischen Platte aufgezeichnet. Die Funktion kann von der optischen Platte ausgelesen, über das optische Plattenlaufwerk 26 in dem Hauptspeicher 14 gespeichert und ausgeführt werden, indem man sie von einer bestimmten seiner Adressen aus ablaufen läßt.
  • Im folgenden werden einige Ausführungsbeispiele der Objektgruppen-Plottereinrichtung beschrieben.
  • Eine Objektgruppen-Plottereinrichtung 200A (siehe 12) nach einem ersten Ausführungsbeispiel der Erfindung erzeugt mehrere Texturbilder eines einzelnen Objekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird, führt beim Plotten mehrerer identischer Objekte an denjenigen Objekten, die einem vorgegebenen Entscheidungskriterium entsprechend detailliert geplottet werden sollen, einen normalen Rendering-Prozeß durch, wählt dann in Abhängigkeit von der zu plottenden Richtung ein Texturbild aus den erzeugten Texturbildern aus und benutzt das ausgewählte Texturbild für diejenigen Objekte, die einfach geplottet werden sollen.
  • Im folgenden wird die Verarbeitung von Objekten näher erläutert, die einfach geplottet werden sollen. Wie 1 und 3 zeigen, geht man von einer Szene aus, in der eine Anzahl von Automobilen auf einer Fahrspur 102 einer Schnellstraße 100 in einem Verkehrsstau stehen, während Automobile auf einer anderen Fahrspur 104 glatt fahren. Bevor wirkliche Objekte, d.h. Automobile, geplottet werden, werden im voraus Objekte, so wie sie von verschiedenen Betrachtungspunkten aus gesehen und in einer Textur ausgedrückt werden, vorbereitet. Im folgenden wird ein solcher Objektbearbeitungsprozeß (erster Prozeß) beschrieben.
    • (1) Wie in 4 dargestellt, werden z.B. Objekte OB geplottet, die ein als Automobil gestaltetes Objekt OB repräsentieren, wie es von beliebigen Betrachtungspunkten a bis h aus umfassend gesehen wird.
    • (2) Die geplotteten Bilder werden als Texturbilder gesichert. Wie 5 zeigt, werden die Texturbilder (TGa bis TGh), so wie sie von den erzeugten Betrachtungspunkten a bis h aus gesehen werden, in dem Texturbereich 34a gespeichert. Die Texturbilder TGe, TGf, TGg sind aus der Darstellung von 5 weggelassen.
  • Für das tatsächliche Plotten einer Anzahl von Objekten, werden, wie in 6 dargestellt, aus den beliebigen bei der Erzeugung der Texturbilder benutzten Betrachtungspunkten, (die als "Ersatz-Betrachtungspunkten a bis h" bezeichnet sind) solche Ersatz-Betrachtungspunkte ausgewählt, die in der Nähe der tatsächlichen Betrachtungspunkten A bis I liegen, von denen aus die Objekte tatsächlich geplottet werden sollen, wobei als Textur zum Plotten der Objekte Texturbilder benutzt werden, die den ausgewählten Betrachtungspunkten entsprechen.
  • In 6 wird der Ersatz-Betrachtungspunkt a ausgewählt, der den tatsächlichen Betrachtungspunkten C bis E entspricht, der Ersatz-Betrachtungspunkt b wird ausgewählt, der dem tatsächlichen Betrachtungspunkt F entspricht, der Ersatz-Betrachtungspunkt c wird ausgewählt, der den tatsächlichen Betrachtungspunkten G bis I entspricht, der Ersatz-Betrachtungspunkt h wird ausgewählt, der dem tatsächlichen Betrachtungspunkt B entspricht, und der Ersatz-Betrachtungspunkt g wird ausgewählt, der dem tatsächlichen Betrachtungspunkt A entspricht.
  • Im folgenden wird ein weiterer Objektverarbeitungsprozeß (zweiter Prozeß) beschrieben.
    • (1) Wie in 7 dargestellt, werden z.B. Objekte OB geplottet, die ein als Automobil gestaltetes Objekt OB repräsentieren, wie dieses von mehreren Betrachtungspunkten (Ersatz-Betrachtungspunkten i bis m) aus gesehen wird, die aus einer Mehrzahl von Betrachtungspunkten J bis S ausgewählt werden, die bei dem tatsächlichen Plotten der Objekte benutzt werden. Als Ersatz-Betrachtungspunkte i bis m können aus den bei dem tatsächlichen Plotten der Objekte benutzten Betrachtungspunkten J bis S neue typische Ersatz-Betrachtungspunkte generiert werden.
    • (2) Die geplotteten Bilder werden als Texturbilder gesichert. Wie 8 zeigt, werden die Texturbilder (TGi bis TGm), so wie sie von den erzeugten Betrachtungspunkten i bis m aus gesehen werden, in dem Texturbereich 34a gespeichert.
  • Für das tatsächliche Plotten einer Anzahl von Objekten werden, wie in 9 dargestellt, aus den bei der Erzeugung der Texturbilder benutzten Ersatz-Betrachtungspunkten i bis m solche Ersatz-Betrachtungspunkte ausgewählt, die in der Nähe der tatsächlichen Betrachtungspunkte J bis S liegen, von denen aus die Objekte tatsächlich geplottet werden sollen, wobei als Textur für das Plotten der Objekte Texturbilder benutzt werden, die den ausgewählten Betrachtungspunkten entsprechen.
  • In 9 wird der Ersatz-Betrachtungspunkt i ausgewählt, der den tatsächlichen Betrachtungspunkten J, K entspricht, der Ersatz-Betrachtungspunkt j wird ausgewählt, der dem tatsächlichen Betrachtungspunkt L entspricht, der Ersatz-Betrachtungspunkt k wird ausgewählt, der den tatsächlichen Betrachtungspunkten M bis O entspricht, der Betrachtungspunkt I wird ausgewählt, der dem tatsächlichen Betrachtungspunkt P entspricht, und der Ersatz-Betrachtungspunkt m wird ausgewählt, der den tatsächlichen Betrachtungspunkten Q bis S entspricht.
  • Falls ein Objekt als provisorisches Objekt definiert wird, bevor darauf eine Textur appliziert wird, wird ein Objekt als das provisorische Objekt benutzt, das zwei dreieckige Polygone P1, P2 umfaßt, wie dies in 10 dargestellt ist.
  • In 9 wird angenommen, daß für die tatsächlichen Betrachtungspunkte M, N, O der Ersatz-Betrachtungspunkt k ausgewählt ist. Falls, wie in 11A dargestellt, ein provisorisches Objekt OK, wie es von dem Ersatz-Betrachtungspunkt k aus gesehen wird, parallel zur xy-Ebene positioniert ist, wird ein provisorisches Objekt OM, das für das Plotten eines Objekts benutzt wird, wie es von dem tatsächlichen Betrachtungspunkt M aus gesehen wird, so angeordnet, daß der Abstand und/oder der Winkel zwischen dem tatsächlichen Betrachtungspunkt M und dem Ersatz-Betrachtungspunkt k eliminiert werden.
  • In ähnlicher Weise wird, wie in 11B und 11C dargestellt, ein provisorisches Objekt OO, das zum Plotten eines Objekts benutzt wird, wie es von dem tatsächlichen Betrachtungspunkt O aus gesehen wird, so angeordnet, daß der Abstand und/oder der Winkel zwischen dem tatsächlichen Betrachtungspunkt O und dem Ersatz-Betrachtungspunkt k eliminiert werden. Ein provisorisches Objekt ON, das zum Plotten eines Objekts benutzt wird, wie es von dem tatsächlichen Betrachtungspunkt N aus gesehen wird, wird, wie in 11C dargestellt, so angeordnet, daß der Abstand und/oder der Winkel zwischen dem tatsächlichen Betrachtungspunkt N und dem Ersatz-Betrachtungspunkt k eliminiert werden.
  • Auf die in dieser Weise angeordneten provisorischen Objekte OM, OO, ON wird das Texturbild in dem ausgewählten Ersatz-Betrachtungspunkt k abgebildet, und so werden diese Objekte geplottet. Auf diese Weise können die Objekte, so wie sie aus der Nähe der tatsächlichen Betrachtungspunkte gesehen werden, durch einfache Berechnungen geplottet werden.
  • Entscheidungskriterien darüber, ob ein Objekt detailliert oder einfach geplottet werden soll, können auf der Basis gewonnen werden, ob der Abstand von dem Betrachtungspunkt zu dem Objekt unter einem vorbestimmten Abstand liegt, ob die Größe des Objekts auf dem Anzeigebildschirm über einer vorbestimmten Größe liegt, ob die Bewegung des Objekts einen bestimmten Bereich überschreitet und ob das Objekt für visuelle Effekte wichtig ist.
  • Falls das Entscheidungskriterium darauf basiert, ob die Bewegung des Objekts einen bestimmten Bereich überschreitet, ist ein Automobil, das, wie in 2 dargestellt, auf der anderen Fahrbahn 104 fährt, ein Objekt, das detailliert geplottet werden sollte, während eine Anzahl von Automobilen, die sich auf der Fahrbahn 102 stauen, Objekte sind, die einfach geplottet werden sollten.
  • Falls das Entscheidungskriterium darauf basiert, ob der Abstand von dem Betrachtungspunkt zu dem Objekt unter einem vorbestimmten Abstand liegt, sind, wie in 3 dargestellt, Automobile, die auf dem Anzeigebildschirm näher an dem Betrachter dargestellt werden, d.h. Automobile im Bereich A, Objekte, die detailliert geplottet werden sollten, während Automobile, die auf dem Anzeigebildschirm von dem Betrachter weg angezeigt werden, d.h. Automobile in dem Bereich B, Objekte sind, die einfach geplottet werden sollten.
  • Im folgenden werden einige spezifische Mittel (Objektgruppen-Plottereinrichtung) zur Ausführung des oben erwähnten ersten und zweiten Prozesses beschrieben.
  • Die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel der Erfindung ermöglicht es dem Benutzer, manuell einzugreifen und Texturbilder mit Hilfe von CAD praktisch zu generieren, wobei die generierten Texturbilder auf einem Anzeigemonitor mit einer (weiter unten beschriebenen) Bild-Plottereinrichtung angezeigt werden.
  • In dem in 12 dargestellten Schritt S11 generiert die Objektgruppen-Plottereinrichtung 200A mittels CAD oder dgl. Bilder eines Objekts, wie sie von beliebigen Betrachtungspunkten aus gesehen werden, wenn das Objekt umfassend gesehen wird.
  • Alternativ generiert die Objektgruppen-Plottereinrichtung 200A in dem Schritt S12 mittels CAD oder dgl. Bilder eines Objekts, wie sie von mehreren Betrachtungspunkten aus gesehen werden, die aus tatsächlich benutzten Betrachtungspunkten ausgewählt sind.
  • In dem Schritt S2 schreibt die Objektgruppen-Plottereinrichtung 200A anschließend die generierten Bilder (Texturbilder) in den Texturbereich 34a des Bildespeichers 34 ein.
  • In dem Schritt S3 generiert die Objektgruppen-Plottereinrichtung 200A eine Tabelle, die die Verknüpfung zwischen Betrachtungspunkten und Koordinaten (Satzkoordinaten) repräsentiert, die in den Texturbereich 34a eingeschrieben werden, d.h. eine Texturinformationstabelle 202 (siehe 13).
  • Die Betrachtungspunkte werden als in Bewegungskoordinaten des Objekts umgewandelte Daten gespeichert. Das Objekt wird bewegt, während jeder der Betrachtungspunkte als eine Referenzposition fixiert wird, so daß das Objekt so wie von dem gegenwärtigen Betrachtungspunkt aus gesehen wird. Die Bewegungskoordinaten des Objekts in diesem Zeitpunkt, d.h. Objektkoordinaten, die sich bewegt haben, insbesondere Winkelverschiebungsdaten θx, θy, θz, werden bestimmt.
  • Wie 13 zeigt, speichert die Texturinformationstabelle 202 in dem Texturbereich 34a mehrere Datensätze 0, 1, 2, ..., die jeweils Satzkoordinaten umfassen, an denen ein Texturbild geplottet wird, sowie die Bewegungskoordinaten des Objekts, insbesondere die Winkelverschiebungsdaten θx, θy, θz.
  • Anhand von 14 bis 25 wird eine Bild-Plottereinrichtung 204 in der Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel beschrieben.
  • Wie 14 zeigt, umfaßt die Bild-Plottereinrichtung 204 eine Animations-Verarbeitungseinrichtung 208, die mit einer bestimmten Anwendungssoftware betreibbar ist, um in einer Bewegungsinformationstabelle 206 gespeicherte Daten sukzessiv zu aktualisieren und die Objekte entsprechend einer vorbestimmten Frequenz zu bewegen, ferner eine Koordinaten-Leseeinrichtung 210 zum sukzessiven Auslesen von Bewegungskoordinaten aus der Bewegungsinformationstabelle 206, eine Plotter-Auswahleinrichtung 212, die entscheidet, ob die einzelnen Objekte mit einem normalen detaillierten Rendering-Prozeß geplottet werden sollen oder mit einem einfacheren Textur-Applizierungsprozeß, die auf der Basis eines vorgegebenen Entscheidungskriteriums ausgewählt werden, und die die einzelnen Objekte entsprechend dem jeweils ausgewählten Prozeß plottet, ferner eine Verarbeitungsabschluß-Prüfeinrichtung 214, welche feststellt, ob der Prozeß für alle Objekte abgeschlossen wurde oder nicht, eine Bildanzeige-Verarbeitungseinrichtung 216 zum Anzeigen einer Gruppe von in dem Bildspeicher 34 gerenderten Objekten auf der Anzeigeeinheit 16 und eine Ende-Prüfeinrichtung 218, welche feststellt, ob eine Anforderung zur Beendigung des Vorgangs vorliegt oder nicht.
  • Wie 15 zeigt, besitzt die Plotter-Auswahleinrichtung 212 eine Tabellen-Leseeinrichtung 232 für das Auslesen der Information eines Objekts aus einer Objektinformationstabelle 230, eine Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses, die bestimmt, ob das Objekt dem normalen detaillierten Rendering-Prozeß oder dem einfacheren Textur-Applizierungsprozeß unterzogen werden soll, ferner eine detaillierte Rendering-Einrichtung 236 zum Plotten des Objekts entsprechend dem normalen detaillierten Rendering-Prozeß und eine einfache Rendering-Einrichtung 238 zum Plotten des Objekts nach dem einfacheren Textur-Applizierungsprozeß.
  • Wie 16 zeigt, umfaßt die detaillierte Rendering-Einrichtung 236 eine Datei-Leseeinrichtung 252 zum Auslesen einer detaillierten Objektdatei 250, eine Eckpunktkoordinaten-Berechnungseinrichtung 254 zum Berechnen der Eckpunktkoordinaten von Polygonen auf der Basis der laufenden Bewegungskoordinaten, eine Rendering-Einrichtung 256 zur Durchführung des normalen Rendering-Prozesses, einschließlich der Texturdarstellung und der Beseitigung von verborgenen Flächen an dem Polygon und eine Verarbeitungsabschluß-Prüfeinrichtung 258, welche feststellt, ob der Rendering-Prozeß für alle Polygone abgeschlossen wurde.
  • Wie 17 zeigt, besitzt die einfache Rendering-Einrichtung 238 eine Satzkoordinaten-Leseeinrichtung 270 zum Auswählen eines den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlichen Datensatzes aus den in der Texturinformationstabelle 202 registrierten Bewegungskoordinaten (Winkelverschiebungsdaten) und zum Auslesen der Satzkoordinaten aus dem ausgewählten Datensatz, ferner eine Datei-Leseeinrichtung 274 zum Auslesen einer einfachen Objektdatei 272, eine Eckpunktkoordinaten-Berechnungseinrichtung 276 zum Berechnen von Eckpunktkoordinaten von Polygonen auf der Basis der laufenden Bewegungskoordinaten, eine Textur-Applizierungseinrichtung zum Applizieren der in den Satzkoordinaten geplotteten Textur an den Polygonen in einem vergrößerten oder verkleinerten Maßstab in Abhängigkeit von den Anzeigebereichen der Polygone sowie eine Einrichtung 280 zum Beseitigen von verborgenen Flächen, die verborgene Flächen beseitigt.
  • Anhand von 18 bis 21 werden Einzelheiten der verschiedenen Tabellen und Dateien beschrieben.
  • Wie 18 zeigt, speichert die Objektinformationstabelle 230 die Informationen, die für jedes Objekt benötigt werden, d.h. die Zahl der Polygone und Referenzkoordinaten. Die Refe renzkoordinaten umfassen xyz-Koordinaten (x, y, z) im Zentrum (Schwerpunkt) des Objekts und Winkelverschiebungen (θx, θy, θz) um die betreffenden Achsen. Die Anfangswerte der Winkelverschiebungen (θx, θy, θz) sind (θx, θy, θz) = (0, 0, 0).
  • Wie 19 zeigt, speichert die detaillierte Objektdatei 250 die Eckpunktkoordinaten einer Anzahl von Polygonen, die ein normales Objekt bilden. Die Eckpunktkoordinaten basieren auf den Referenzkoordinaten des normalen Objekts.
  • Wie 20 zeigt, speichert die einfache Objektdatei 272 die Eckpunktkoordinaten mehrerer (1 bis 6) Polygone, die ein einfaches Objekt bilden. Die Eckpunktkoordinaten basieren auf den Referenzkoordinaten des einfachen Objekts. Ein Objekt, das aus mehreren in der einfachen Objektdatei 272 gespeicherten Polygonen besteht, kann als provisorisches Objekt definiert werden.
  • Wie 21 zeigt, speichert die Bewegungsinformationstabelle 206, die von der Animations-Verarbeitungseinrichtung 208 erzeugt wird, Bewegungskoordinaten der einzelnen Objekte. Die Bewegungskoordinaten sind dafür repräsentativ, um wieviel jedes Objekt gegenüber seinen Referenzkoordinaten verschoben und/oder gedreht werden soll. Es ist möglich, aus den Referenzkoordinaten und den Bewegungskoordinaten des Objekts und den Eckpunktkoordinaten des Polygons neue Eckpunktkoordinaten eines Polygons zu berechnen, nachdem dieses verschoben und/oder gedreht wurde.
  • Die Animations-Verarbeitungseinrichtung 208 in der Bild-Plottereinrichtung 204 aktualisiert in dem Schritt S101 von 22 sukzessiv die Daten der Bewegungsinformationstabelle 206 entsprechend einer vorbestimmten Sequenz, um ein Objekt zu bewegen.
  • In dem Schritt S102 speichert die Bild-Plottereinrichtung 204 dann einen Anfangswert "0" in einem Index-Register i zum Suchen eines Objekts und initialisiert so das Index-Register i.
  • In dem Schritt S103 liest die Koordinaten-Leseeinrichtung 210 die laufenden Bewegungskoordinaten eines i-ten Objekts aus der Bewegungsinformationstabelle 206 aus. Anschließend führt die Plotter-Auswahleinrichtung 212 in dem Schritt S104 deren Verarbeitung durch, d.h. sie entscheidet, ob die einzelnen Objekte dem normalen detaillierten Rendering-Prozeß oder dem einfacheren Textur-Applizierungsprozeß unterzogen werden sollen, und plottet dem jeweils ausgewählten Prozeß entsprechend einzelne Objekte. Der Prozeß der Plotter-Auswahleinrichtung 212 wird weiter unten beschrieben.
  • In dem Schritt S105 inkrementiert die Bild-Plottereinrichtung 204 das Index-Register i um +1. In dem Schritt S106 ermittelt die Verarbeitungsabschluß-Prüfeinrichtung 214 auf der Grundlage, ob der Wert des Index-Registers i gleich oder größer ist als die Zahl N der in der Objektinformationstabelle 230 registrierten Objekte, ob der Prozeß für alle Objekte abgeschlossen wurde oder nicht.
  • Falls der Prozeß noch nicht für alle Objekte abgeschlossen wurde, geht die Steuerung zurück zu dem Schritt S103, um zu entscheiden, ob ein nächstes Objekt nach dem normalen detaillierten Rendering-Prozeß oder dem einfacheren Textur-Applizierungsprozeß geplottet werden soll, und plottet jedes Objekt entsprechend dem ausgewählten Prozeß.
  • Falls der Prozeß für alle Objekte abgeschlossen wurde, geht die Steuerung weiter zu dem Schritt S107, in dem die Bildanzeige-Verarbeitungseinrichtung 216 eine Gruppe von in dem Rendering-Bereich 34b des Bildespeichers 34 gerenderten Objekten auf der Anzeigeeinheit 16 anzeigt.
  • In dem Schritt S108 prüft die Ende-Prüfeinrichtung 218, ob eine Ende-Anforderung zur Beendigung der Verarbeitung in der Bild-Plottereinrichtung 204 vorliegt oder nicht. Falls keine Ende-Anforderung vorliegt, kehrt die Steuerung zu dem Schritt S101 zurück, um ein Objekt auf der Basis der von der Animations-Verarbeitungseinrichtung 208 aktualisierten Bewegungskoordinaten selektiv zu plotten. Falls eine Ende-Anforderung vorliegt, wird die Verarbeitung in der Bild-Plottereinrichtung 204 beendet.
  • Anhand von 23 wird nun die Verarbeitungssequenz der Plotter-Auswahleinrichtung 212 beschrieben.
  • In dem Schritt S201 liest die Tabellen-Leseeinrichtung 232 die Information eines i-ten Objekts aus der Objektinformationstabelle 230 aus.
  • In dem Schritt S202 legt die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses auf der Basis der in der ausgelesenen Objektinformationstabelle 230 registrierten Information über das detaillierte Plotten fest, ob das Objekt dem normalen detaillierten Rendering-Prozeß oder der einfacheren Textur-Applizierungsprozeß unterzogen werden soll.
  • Falls für das Objekt aufgrund vonn visuellen Effekte oder dgl. detailliertes Plotten erforderlich ist, wird die Information über das erforderliche detaillierte Plotten in der Objektinformationstabelle 230 registriert.
  • Wenn die registrierte Information eine positive Angabe über detailliertes Plotten bezüglich des Objekts enthält, geht die Steuerung weiter zu dem Schritt S203, in dem die detaillierte Rendering-Einrichtung 236 einen detaillierten Rendering-Prozeß durchführt. Spezielle Einzelheiten des detaillierten Rendering-Prozesses werden weiter unten beschrieben.
  • Falls die registrierte Information keine positive Angabe über detailliertes Plotten bezüglich des Objekts enthält, geht die Steuerung weiter zu dem Schritt S204, in dem die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses eine Z-Koordinate der laufenden Bewegungskoordinaten ausliest. Die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses prüft dann in dem Schritt S205 auf der Grundlage, ob die Z-Koordinate kleiner ist als eine vorgegebene Koordinate oder nicht, ob das Objekt sich in geringem Abstand befindet oder nicht.
  • Falls sich das Objekt in geringem Abstand befindet, führt die detaillierte Rendering-Einrichtung 236 in dem Schritt S206 den detaillierten Rendering-Prozeß aus. Falls das Objekt sich in großem Abstand befindet, geht die Steuerung weiter zu dem Schritt S207.
  • In dem Schritt S207 liest die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses Koordinaten des i-ten Objekts aus. In dem Schritt S208 vergleicht die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses die früheren Bewegungskoordinaten mit den laufenden Bewegungskoordinaten. In dem Schritt S209 prüft die Einrichtung 234 zum Festlegen des detaillierten/einfachen Prozesses, ob die Größe der Bewegung des Objekts gleich oder größer ist als ein vorbestimmter Bereich oder nicht.
  • Falls die Größe der Bewegung des Objekts gleich oder größer ist als der vorbestimmte Bereich, d.h. wenn die Bewegung des Objekts groß ist, führt die detaillierte Rendering-Einrichtung 236 in dem Schritt S210 den detaillierten Rendering-Prozeß aus. Falls die Bewegung des Objekts kleiner ist oder das Objekt in Ruhe gehalten wird, führt die einfache Rendering-Einrichtung 238 in dem Schritt S211 den einfacheren Textur-Applizierungsprozeß aus.
  • Wenn der detaillierte Rendering-Prozeß in dem Schritt S203, dem Schritt S206 oder dem Schritt S210 beendet ist oder wenn in dem Schritt S211 der einfachere Textur-Applizierungsprozeß beendet ist, wird die Verarbeitungssequenz der Plotter-Auswahleinrichtung 212 beendet.
  • Anhand von 24 wird eine Verarbeitungssequenz der detaillierten Rendering-Einrichtung 236, d.h. der detaillierte Rendering-Prozeß, beschrieben.
  • In dem Schritt S301 liest die Datei-Leseeinrichtung 252 die detaillierte Objektdatei 250 aus. Anschließend speichert die detaillierte Rendering-Einrichtung 236 in dem Schritt S302 den Wert "0" in einem Index-Register j zum Suchen eines Polygons.
  • In dem Schritt S303 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 254 Eckpunktkoordinaten eines j-ten Polygons auf der Basis der laufenden Bewegungskoordinaten. Anschließend führt die Rendering-Einrichtung 256 an dem j-ten Polygon den normalen Rendering-Prozeß aus, einschließlich der Texturdarstellung und Beseitigung verborgener Flächen, und rendert in dem Schritt S304 das Polygon an einer vorbestimmten Stelle des Rendering-Bereichs 34b in dem Bildspeicher 34.
  • In dem Schritt S305 inkrementiert die detaillierte Rendering-Einrichtung 236 dann das Index-Register j um +1. In dem Schritt S306 prüft die Verarbeitungsabschluß-Prüfeinrichtung 258 auf der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist als die Zahl M der in dem Objekt enthaltenen Polygone, ob der Prozeß für alle Objekte abgeschlossen wurde oder nicht.
  • Falls der Prozeß noch nicht für alle Polygone abgeschlossen wurde, kehrt die Steuerung zu dem Schritt S303 zurück, um Eckpunktkoordinaten eines nächsten Polygons zu berechnen, und führt an dem nächsten Polygon den normalen Rendering-Prozeß aus. Falls der Prozeß für alle Polygone abgeschlossen wurde, wird die Verarbeitungssequenz der detaillierten Rendering-Einrichtung 236 beendet.
  • Anhand von 25 wird nun eine Verarbeitungssequenz der einfachen Rendering-Einrichtung 238, d.h. der einfache Rendering-Prozeß, beschrieben.
  • In dem Schritt S401 wählt die Satzkoordinaten-Leseeinrichtung 270 aus den in der Texturinformationstabelle 202 registrierten Bewegungskoordinaten (Winkelverschiebungsdaten) einen Datensatz aus, der den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlich ist, und liest die Satzkoordinaten aus dem ausgewählten Datensatz aus.
  • In dem Schritt S402 liest die Datei-Leseeinrichtung 274 die einfache Objektdatei 272 aus. Anschließend berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 276 auf der Basis der laufenden Bewegungskoordinaten Eckpunktdaten aller Polygone, die in der einfachen Objektdatei 272 registriert sind.
  • In dem Schritt S204 appliziert die Textur-Appliziereinrichtung 278 das Texturbild, das an den Satzkoordinaten in dem Texturbereich 34a des Bildespeichers 34 geplottet ist, an den Polygonen in einem von den Anzeigebereichen der Polygone abhängigen vergrößerten oder verkleinerten Maßstab (Rendering der Polygone in dem Rendering-Bereich 34b).
  • Anschließend entfernt die Einrichtung 280 zum Beseitigen von verborgenen Flächen in dem Schritt S405 verborgene Flächen. Die Verarbeitungssequenz der einfachen Rendering-Einrichtung 238 wird nun beendet.
  • Wie oben beschrieben wurde, gibt der Benutzer mit Hilfe der Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel mehrere Texturbilder eines Objekts manuell ein, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird.
  • Wenn die Bild-Plottereinrichtung 204 anschließend mehrere identische Objekte plotten soll, führt die detaillierte Rendering-Einrichtung 236 in der Plotter-Auswahleinrichtung 212 an denjenigen Objekten, die dem vorgebenenen Entscheidungskriterium entsprechend detailliert geplottet werden sollen, den normalen Rendering-Prozeß durch, und die einfache Rendering-Einrichtung 238 wählt aus den erzeugten Texturbildern ein von der zu plottenden Richtung abhängiges Texturbild aus und appliziert das Texturbild an denjenigen Objekten, die nach Maßgabe des vorgegebenen Entscheidungskriteriums in der Plotter-Auswahleinrichtung 212 einfach geplottet werden soll.
  • Infolgedessen führt die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel an bestimmten Exemplaren aus einer Anzahl von Objekten, d.h. an visuell attraktiven Objekten, bewegten Objekten, nahen Objekten usw. den detaillierten Rendering-Prozeß durch, während sie an anderen Objekten einfach eine Textur appliziert, so daß die für die Durchführung von Berechnungen und zum Plotten der Objekte erforderliche Zeit erheblich reduziert wird und die Objekte mit hoher Qualität geplottet werden können.
  • Der von der Plotter-Auswahleinrichtung 212 durchgeführte Entscheidungsprozeß kann folgendermaßen modifiziert werden:
    • (1) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten durchgeführt, für die eine positive Angabe über detailliertes Plotten in der Objektinformationstabelle 230 registriert ist.
    • (2) Der detaillierte Rendering-Prozeß wird an solchen Objekten durchgeführt, für die eine positive Angabe über detailliertes Plotten in der Objektinformationstabelle 230 registriert ist, oder an denjenigen Objekte, deren Bewegung groß ist.
    • (3) Der detaillierte Rendering-Prozeß wird an solchen Objekten durchgeführt, für die eine positive Angabe über detailliertes Plotten in der Objektinformationstabelle 230 registriert ist, oder an denjenigen Objekten, die sich in geringem Abstand befinden oder an denjenigen Objekten, deren Bewegung groß ist.
    • (4) Der detaillierte Rendering-Prozeß wird an solchen Objekten durchgeführt, für die eine positive Angabe über detailliertes Plotten in der Objektinformationstabelle 230 registriert ist, oder solchen Objekten, die sich in geringem Abstand befinden.
    • (5) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten durchgeführt, deren Bewegung groß ist.
    • (6) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten durchgeführt, die sich in geringem Abstand befinden oder solchen Objekten, deren Bewegung groß ist.
    • (7) Der detaillierte Rendering-Prozeß wird nur an solchen Objekten durchgeführt, die sich in geringem Abstand befinden.
  • Im folgenden wird anhand von 26 und 27 eine Objektgruppen-Plottereinrichtung 200B nach einem zweiten Ausführungsbeispiel der Erfindung beschrieben.
  • Die Objektgruppen-Plottereinrichtung 200B nach dem zweiten Ausführungsbeispiel hat im wesentlichen den gleichen Aufbau wie die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel, unterscheidet sich von diesem jedoch folgendermaßen in der Anordnung und der Verarbeitungssequenz der einfachen Rendering-Einrichtung 238.
  • Wie 26 zeigt, besitzt die einfache Rendering-Einrichtung 238 eine Satzkoordinaten-Leseeinrichtung 290 zum Auswählen von vorangehenden und zurückliegende Datensätzen aus den in der Texturinformationstabelle 202 registrierten Bewegungsdaten (Winkelverschiebungsdaten), die den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlich sind, und zum Auslesen zweier Satzkoordinaten aus dem ausgewählten Datensatz, ferner eine Korrektureinrichtung 292 zur Durchführung eines Interpolationsprozesses auf der Basis der laufenden Bewegungskoordinaten und zur Erzeugung einer korrigierten Textur, die an die laufenden Koordinaten angepaßt ist, ferner die Datei-Leseeinrichtung 274 zum Auslesen der einfachen Objektdatei 272, die Eckpunktkoordinaten-Berechnungseinrichtung 276 zum Berechnen der Eckpunktkoordinaten von Polygonen auf der Basis der laufenden Bewegungskoordinaten, die Textur-Appliziereinrichtung 278 zum Applizieren der korrigierten Textur an den Polygonen in einem von den Anzeigebereichen der Polygone abhängigen vergrößerten oder verkleinerten Maßstab sowie die Einrichtung 280 zum Beseitigen von verborgenen Flächen, die verborgene Flächen beseitigt.
  • Anhand von 27 wird eine Verarbeitungssequenz, d.h. der einfache Rendering-Prozeß, der in 26 dargestellten einfachen Rendering-Einrichtung 238, beschrieben.
  • In dem Schritt S501 wählt die Satzkoordinaten-Leseeinrichtung 290 vorangehende und zurückliegende Datensätze aus den in der Texturinformationstabelle 202 registrierten Bewegungskoordinaten (Winkelverschiebungsdaten) aus, die den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten) ähnlich sind, und liest die Satzkoordinaten aus dem ausgewählten Datensatz aus.
  • In dem Schritt S502 interpoliert die Korrektureinrichtung 292 die beiden an den Satzkoordinaten geplotteten Texturen auf der Basis der laufenden Bewegungskoordinaten und erzeugt korrigierte Texturen, die zu den laufenden Bewegungskoordinaten passen.
  • In dem Schritt S503 liest die Datei-Leseeinrichtung 274 die einfache Objektdatei 272 aus. Anschließend berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 276 in dem Schritt S504 auf der Basis der laufenden Bewegungskoordinaten Eckpunktkoordinaten von Polygonen.
  • In dem Schritt S505 appliziert die Textur-Appliziereinrichtung 278 die korrigierten Texturen an den Polygonen in einem von den Anzeigebereichen der Polygone abhängigen vergrößerten oder verkleinerten Maßstab (Rendern der Polygone in dem Rendering-Bereich 34b).
  • Anschließend führt die Einrichtung 280 zum Beseitigen von verborgenen Flächen in dem Schritt S506 die Beseitigung verborgener Flächen durch. Die Verarbeitungssequenz der einfachen Rendering-Einrichtung 238 wird nun beendet.
  • Wie oben beschrieben wurde, interpoliert die Korrektureinrichtung 292 in der Objektgruppen-Plottereinrichtung 200B nach dem zweiten Ausführungsbeispiel auf der Basis der laufenden Bewegungskoordinaten die zwei Texturen, die den laufenden Bewegungskoordinaten ähnlich sind, und erzeugt korrigierte Texturen, die an die laufenden Bewegungskoordinaten angepaßt sind. Deshalb kann die Objektgruppen-Plottereinrichtung 200B Objekte angemessen behandeln, die in verschiedenen Mustern dargestellt werden, und bei der Darstellung einer Anzahl von Objekten, wie einem Fischschwarm, natürliche Bewegungen darstellen.
  • Anhand von 28 bis 35 wird eine Objektgruppen-Plottereinrichtung 200C nach einem dritten Ausführungsbeispiel der Erfindung beschrieben.
  • Die Objektgruppen-Plottereinrichtung 200C nach dem dritten Ausführungsbeispiel hat im wesentlichen die gleiche Anordnung und führt im wesentlichen die gleiche Verarbeitungssequenz aus wie die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungs beispiel, unterscheidet sich von dieser jedoch darin, daß erste Texturbilder automatisch von einer Textureinstelleinrichtung 300 und nicht manuell von dem Benutzer erzeugt werden. Die übrigen Mittel der Objektgruppen-Plottereinrichtung 200C, d.h. die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212, die detaillierte Rendering-Einrichtung 236 und die einfache Rendering-Einrichtung 238 haben die gleiche Anordnung und die gleiche Verarbeitungssequenz wie die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel.
  • Anhand von 28 bis 35 werden die Anordnung und die Verarbeitungssequenz der Textureinstelleinrichtung 300 beschrieben.
  • Die Textureinstelleinrichtung 300 benutzt eine Betrachtungspunktkoordinatentabelle 302. Diese Betrachtungspunktkoordinatentabelle 302 ist, wie 29 zeigt, eine Tabelle zur Gewinnung von Bildern eines Objekts, wie es von einer Anzahl von Betrachtungspunkten aus gesehen wird, und speichert die Koordinaten mehrerer, als repräsentative Betrachtungspunkte ausgewählter Betrachtungspunkte (Ersatz-Betrachtungspunkte).
  • Wie 28 zeigt, umfaßt die Textureinstelleinrichtung 300 eine Initialisierungseinrichtung 310 zum Definieren der Anzahl der Betrachtungspunkte und der Referenz-Betrachtungspunktkoordinaten und zum Initialisieren von Satzkoordinaten, ferner eine Bereichs-Reservierungseinrichtung 312 zum Reservieren von zwei Bereichen, nämlich eines Bereichs Z1 zum Plazieren von Texturen in Abhängigkeit von mehreren Betrachtungspunkten und eines Bereich Z2 für die tatsächliche Texturabbildung in dem Texturbereich 34a des Bildespeichers 34, ferner eine Daten-Leseeinrichtung 314 zum Auslesen zumindest der Anzahl der Polygone und der Referenzkoordinaten aus der Objektinformationstabelle 230 und zum anschließenden Auslesen der Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 sowie eine Datei-Leseeinrichtung 316 zum Auslesen der detaillierten Objektdatei 250.
  • Die Textureinstelleinrichtung 300 besitzt ferner eine Bewegungskoordinaten-Berechnungseinrichtung 318 zum Bestimmen von Bewegungskoordinaten in Bezug auf die Referenzkoordinaten eines Objekts, wenn Betrachtungspunktkoordinaten als Referenz benutzt werden, ferner eine Eckpunktkoordinaten-Berechnungseinrichtung 320 zum Berechnen von Eckpunktkoordinaten von Polygonen, die ein Objekt bilden, auf der Basis der Bewegungskoordinaten, eine Rendering-Einrichtung 322 zur Durchführung eines Rendering-Prozesses, einschließlich der Texturdarstellung und der Beseitigung von verborgenen Flächen an Polygonen (Rendering in dem Rendering-Bereich 34b), eine Verarbeitungsabschluß-Prüfeinrichtung 324, welche feststellt, ob die Abarbeitung einer Schleife beendet ist oder nicht, eine Textur-Rendering-Einrichtung 326 zum erneuten Rendern der Texturen in dem Rendering-Bereich 34b an den Satzkoordinaten in dem Texturbereich Z1, eine Tabellenerzeugungseinrichtung 328 zum Speichern von Satzkoordinaten und Bewegungskoordinaten in dem entsprechenden Datensatz der Texturinformationstabelle 202 und eine Satzkoordinaten-Aktualisierungseinrichtung 330 zum Aktualisieren von Satzkoordinaten.
  • Anhand von 30 und 31 wird eine Verarbeitungssequenz der Textureinstelleinrichtung 300 beschrieben.
  • In dem Schritt S601 von 30 initialisiert die Initialisierungseinrichtung 310 verschiedene Parameter.
  • Dann reserviert die Bereichs-Reservierungseinrichtung 312 in dem Schritt S602 zwei Bereiche, nämlich einen Bereich Z1 zum Plazieren von Texturen in Abhängigkeit von mehreren Betrachtungspunkten und einen Bereich Z2 für die tatsächliche Texturabbildung, in dem Texturbereich 34a des Bildespeichers 34.
  • In dem Schritt S603 liest die Daten-Leseeinrichtung 314 zumindest die Zahl der Polygone und Referenzkoordinaten aus der Objektinformationstabelle 230 aus. In dem Schritt S604 liest die Daten-Leseeinrichtung 316 dann die detaillierte Objektdatei 250 aus.
  • In dem Schritt S605 speichert die Textureinstelleinrichtung 300 einen Anfangswert "0" in einem Index-Register i, das zum Suchen eines Betrachtungspunktes benutzt wird, und initialisiert dadurch das Index-Register i.
  • In dem Schritt S606 liest die Daten-Leseeinrichtung 314 die i-ten Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 aus. Die Betrachtungspunktkoordinatentabelle 302 speichert Betrachtungspunkte, einschließlich beliebiger Betrachtungspunkte (Ersatz-Betrachtungspunkte), von denen aus ein Objekt umfassend gesehen wird, und mehrere Betrachtungspunkte (Ersatz-Betrachtungspunkte), die aus tatsächlich benutzten Betrachtungspunkten ausgewählt sind.
  • In dem Schritt S607 bestimmt die Bewegungskoordinaten-Berechnungseinrichtung 318 Bewegungskoordinaten relativ zu den Referenzkoordinaten eines Objekts, wenn Betrachtungspunktkoordinaten als Referenz benutzt werden. Das Objekt bewegt sich, während die einzelnen Betrachtungspunkte in einer Referenzposition fixiert sind, so daß das Objekt so gesehen wird, wie von dem laufenden Betrachtungspunkt aus. In diesem Zeitpunkt werden die Bewegungskoordinaten des Objekts, d.h. die Objektkoordinaten, die sich bewegt haben, insbesondere die Winkelverschiebungsdaten θx, θy, θz, festgelegt. Die so festgelegten Be wegungskoordinaten werden als Bewegungskoordinaten an den i-ten Betrachtungspunktkoordinaten, d.h. als i-te Bewegungskoordinaten, definiert.
  • In dem Schritt S608 speichert die Textureinstelleinrichtung 300 den Wert "0" in einem Index-Register j zum Suchen eines Polygons und initialisiert so das Index-Register j.
  • In dem Schritt S609 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 320 auf der Basis der i-ten Bewegungskoordinaten die Eckpunktkoordinaten eines j-ten Polygons, das das Objekt bildet.
  • Anschließend führt die Rendering-Einrichtung 322 an dem j-ten Polygon den normalen Rendering-Prozeß aus, einschließlich der Texturdarstellung und der Beseitigung verborgener Flächen, und rendert in dem Schritt S610 das Polygon in dem Rendering-Bereich 34b des Bildespeichers 34.
  • In dem Schritt S611 inkrementiert die Textureinstelleinrichtung 300 dann das Index-Register j um +1. In dem Schritt S612 prüft die Verarbeitungsabschluß-Prüfeinrichtung 324 auf der Grundlage, ob der Wert des Index-Registers j gleich oder größer als die Zahl M der in dem Objekt enthaltenen Polygone, ob der Prozeß für alle Objekte beendet wurde oder nicht.
  • Falls der Prozeß noch nicht für alle Polygone beendet wurde, geht die Steuerung zurück zu dem Schritt S609, um den Rendering-Prozeß an einem nächsten Polygon auszuführen. Falls der Prozeß für alle Polygone abgeschlossen wurde, geht die Steuerung weiter zu dem in 31 dargestellten Schritt S613. In dem Schritt S613 rendert die Textur-Rendering-Einrichtung 326 erneut die in dem Rendering-Bereich 34b gerenderten Texturbilder an den Satzkoordinaten in dem Texturbereich Z1.
  • In dem Schritt S614 erzeugt die Tabellenerzeugungseinrichtung 328 die Texturinformationstabelle 202. Die Tabellenerzeugungseinrichtung 328 speichert Satzkoordinaten und Bewegungskoordinaten, an denen die Textur gerendert ist, in dem i-ten Datensatz in der Texturinformationstabelle 202.
  • In dem Schritt S615 aktualisiert die Koordinaten-Aktualisierungseinrichtung 330 die Satzkoordinaten. In dem Schritt S616 inkrementiert die Textureinstelleinrichtung 300 das Indexregister i um +1. In dem Schritt S617 prüft die Verarbeitungsabschluß-Prüfeinrichtung 324 auf der Grundlage, ob der Wert in dem Indexregister i gleich oder größer ist als die Zahl der in der Betrachtungspunktkoordinatentabelle 302 registrierten Betrachtungspunkte, ob der Textur-Rendering-Prozeß für alle in der Betrachtungspunktkoordinatentabelle 302 registrierten Betrachtungspunkte abgeschlossen wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Betrachtungspunkte abgeschlossen ist, geht die Steuerung zurück zu dem Schritt S606 von 30, um den Textur-Rendering-Prozeß an einem nächsten Betrachtungspunkt durchzuführen. Falls der Textur-Rendering-Prozeß hingegen für alle Betrachtungspunkte abgeschlossen wurde, wird die Verarbeitungssequenz der Textureinstelleinrichtung 300 beendet.
  • Da in der Objektgruppen-Plottereinrichtung 200C nach dem dritten Ausführungsbeispiel die Textureinstelleinrichtung 300 Texturbilder automatisch generieren kann, ist eine effiziente Erzeugung von Texturbildern möglich, so daß Objekte schnell korrigiert und hinzugefügt werden können.
  • Bei der Objektgruppen-Plottereinrichtung 200C nach dem dritten Ausführungsbeispiel kann, wie bei der Objektgruppen-Plottereinrichtung 200B nach dem zweiten Ausführungsbeispiel die Korrektureinrichtung 292 in der einfachen Rendering-Einrichtung 238 der Bild-Plottereinrichtung 204 enthalten sein.
  • Bei den obigen Ausführungsbeispielen wurde davon ausgegangen, daß ein Objekt aus einer einzigen Komponente besteht. Mehrere Plotter-Einheiten, aus denen ein Objekt besteht, ändern sich mit der Zeit jedoch zufällig oder simultan, so daß sich das Objekt selbst ändert.
  • Um eine solche Situation zu beherrschen, werden gemäß vorliegender Erfindung mehrere Texturbilder generiert, und zwar als Kombination aus denjenigen, die bei der Betrachtung des Objekts von verschiedenen Betrachtungspunkten aus erzeugt werden, und denjenigen, die dann erzeugt werden, wenn das Objekt verschiedene Änderungen erfährt. Zum Plotten mehrerer identischer Objekte wird der normale Rendering-Prozeß an solchen Objekten durchgeführt, die einem vorgegebenen Entscheidungskriterium entsprechend detailliert geplottet werden sollen, wobei aus den generierten Texturbildern in Abhängigkeit von der zu plottenden Richtung und Verformung ein Texturbild ausgewählt wird und das ausgewählte Texturbild als Textur für diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
  • Es wird davon ausgegangen, daß ein Objekt ein einziges Hauptobjekt und ein oder mehrere Hilfsobjekte aufweist, die an das Hauptobjekt, z.B. einen Fisch oder ein menschliches Wesen, angefügt sind. So hat z.B. ein Fisch einen Körper als Hauptobjekt und eine Schwanzflosse als Hilfsobjekt, und ein menschliches Wesen hat einen Torso als Hauptobjekt und einen Kopf und Beine und Arme als Hilfsobjekte.
  • Wenn ein Objekt ein einziges Hauptobjekt und ein oder mehrere an das Hauptobjekt angefügte Hilfsobjekte besitzt, müssen Texturbilder von verschiedenen Betrachtungspunkten aus gesehen werden und zusätzlich müssen Verformungen der Hilfsobjekte berücksichtigt werden.
  • Im Idealfall müssen Texturbilder vorbereitet werden, indem für einen Betrachtungspunkt verschiedene Verformungen eines Hilfsobjekts angenommen wird. Die Erfüllung einer solchen Forderung würde jedoch eine große Datenmenge involvieren. Deshalb werden für ein Hauptobjekt die Verarbeitungssequenzen der Objektgruppen-Plottereinrichtungen 200A bis 200C nach dem ersten bis dritten Ausführungsbeispiel ausgeführt, während für ein Hilfsobjekt ein repräsentatives Verformungsmuster, d.h. ein sehr häufig auftretendes Verformungsmuster oder ein visuell attraktives Verformungsmuster, gesucht und in ein Texturbild gespiegelt wird.
  • 32 zeigt ein Beispiel für repräsentative Texturbilder 402, die für das Plotten von Fischschwärmen 400 vorbereitet sind. Die Texturbilder 402 umfassen Texturen von Hauptobjekten (Körpern), wie sie von beliebigen Betrachtungspunkten aus gesehen werden, in Kombination mit verschiedenen Verformungsmustern von Hilfsobjekten (Schwanzflossen). Für das tatsächliche Plotten von Objekten wird der normale Rendering-Prozeß an solchen Objekten durchgeführt, die detailliert geplottet werden sollen, während Texturbilder in der Nähe der Orientierung der Hauptobjekte und der Verformung von Hilfsobjekten ausgewählt und an solche Objekte angefügt werden, die einfach geplottet werden sollen.
  • Im folgenden werden Ausführungsbeispiele beschrieben, bei denen ein Objekt aus einem Hauptobjekt und einem oder mehreren Hilfsobjekten besteht.
  • Wenn ein Objekt ein Hauptobjekt und ein oder mehrere an das Hauptobjekt angefügte Hilfsobjekte aufweist, erzeugt eine Objektgruppen-Plottereinrichtung 200D (36) nach einem vierten Ausführungsbeispiel der vorliegenden Erfindung mehrere Texturbilder, die eine Kombination aus Bildern des Hauptobjekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird, und von Bildern der Hilfsobjekte umfassen, so wie diese sich in verschiedene Richtungen bewegt haben, wobei zum Plotten mehrerer identischer Objekte ein normaler Rendering-Prozeß an denjenigen Objekten durchgeführt wird, die einem vorgegebenen Entscheidungskriterium entsprechend detailliert geplottet werden sollen, während in Abhängigkeit von der zu plottenden Richtung und Verformung ein Texturbild aus den generierten Texturbildern ausgewählt und das ausgewählte Texturbild als Textur für diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
  • Da ein Objekt ein Hauptobjekt und ein oder mehrere Hilfsobjekte umfaßt, speichert die Objektinformationstabelle 230 in der Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel, wie in 33 dargestellt, die für jedes Objekt benötigten Informationen, d.h. die Zahl von Polygonen und Referenzkoordinaten des Hauptobjekts, die Zahl C der Hilfsobjekte, die normalen Referenzkoordinaten jedes Hilfsobjekts und die Zahlen N1 bis Nn der Polygone der Hilfsobjekte.
  • Die normalen Referenzkoordinaten umfassen die xyz-Koordinaten (x, y, z) der Verbindungsstelle des Hilfsobjekts zu dem Hauptobjekt, die Winkelverschiebung θu der Verbindungsstelle um die Normale und die Winkelverschiebungen θv, θw um die beiden zur Normalen senkrechten Achsen. Die Anfangswerte der Winkelverschiebungen (θu, θv, θw) sind (θu, θv, θw) = (0, 0, 0).
  • Wie 34 zeigt, speichert die detaillierte Objektdatei 250 die Eckpunktkoordinaten einer Anzahl von Polygonen, die ein normales Hauptobjekt bilden, und die Eckpunktkoordinaten einer Anzahl von Polygonen, die ein normales Hilfsobjekt bilden. Die Eckpunktkoordinaten basieren auf den Referenzkoordinaten des Objekts.
  • Wie 35 zeigt, speichert die einfache Objekttabelle 272 die Eckpunktkoordinaten mehrerer (1 bis 6) Polygone, die ein einfaches Hauptobjekt bilden, und die Eckpunktkoordinaten mehrerer (1 bis 3) Polygone, die ein einfaches Hilfsobjekt bilden. Die Eckpunktkoordinaten basieren auf den Referenzkoordinaten des einfachen Objekts.
  • Die Betrachtungspunktkoordinatentabelle 302 enthält die in 29 dargestellten Details. Die Betrachtungspunktkoordinatentabelle 302 ist eine Tabelle zur Gewinnung von Bildern eines Objekts, wie dieses von einer Anzahl von Betrachtungspunkten aus gesehen wird, und speichert die Koordinaten mehrerer Betrachtungspunkte (Ersatz-Betrachtungspunkte), die als repräsentative Betrachtungspunkte ausgewählt werden.
  • Die Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel der Erfindung ermöglicht es dem Benutzer, manuell einzugreifen und mittels CAD Texturbilder praktisch zu generieren, und zeigt die generierten Texturbilder mit einer (weiter unten beschriebenen) Bild-Plottereinrichtung auf einem Anzeigemonitor an.
  • In dem Schritt S701 von 36 erzeugt die Objektgruppen-Plottereinrichtung 200D mittels CAD oder dgl. Bilder eines Objekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird. Dabei erzeugt die Objektgruppen-Plottereinrichtung 200D eine Kombination aus Bildern eines Hauptobjekts, wie es von beliebigen Betrachtungspunkten aus gese hen wird, und Bildern eines an das Hauptobjekt angefügten Hilfsobjekts, wenn das Hilfsobjekt sich in verschiedenen Richtungen bewegt.
  • Alternativ erzeugt die Objektgruppen-Plottereinrichtung 200D in dem Schritt S702 mittels CAD oder dgl. Bilder eines Objekts, wie dieses von mehreren Betrachtungspunkten aus gesehen wird, die aus den tatsächlich benutzten Betrachtungspunkten ausgewählt sind. Dabei erzeugt die Objektgruppen-Plottereinrichtung 200D eine Kombination aus Bildern eines Hauptobjekts, wie es von beliebigen Betrachtungspunkten aus gesehen wird, und Bildern eines an das Hauptobjekt angefügten Hilfsobjekts, wenn das Hilfsobjekt sich in verschiedenen Richtungen bewegt.
  • In dem Schritt S703 schreibt die Objektgruppen-Plottereinrichtung 200D die erzeugten Bilder (Texturbilder) sukzessiv in den Texturbereich 34a des Bildespeichers 34 ein.
  • In dem Schritt S704 generiert die Objektgruppen-Plottereinrichtung 200D eine Tabelle, die die Verknüpfung zwischen Betrachtungspunkten bezüglich des Hauptobjekts und der Richtung des Hilfsobjekts und Koordinaten (Satzkoordinaten) repräsentiert, die in den Texturbereich 34a eingeschrieben sind, d.h. eine Texturinformationstabelle 202.
  • Die Betrachtungspunkte bezüglich des Hauptobjekts werden als in Bewegungskoordinaten (Winkelverschiebungsdaten θx, θy, θz) des Hauptobjekts umgewandelte Daten gespeichert, und die Richtung des Hilfsobjekts wird als in Bewegungskoordinaten (Winkelverschiebungsdaten θu, θv, θw) des Hilfsobjekts umgewandelte Daten gespeichert.
  • Wie 37 zeigt, speichert die Texturinformationstabelle 202 mehrere Datensätze 0, 1, ..., Diese enthalten jeweils Satzkoordinaten, in denen ein Texturbild geplottet ist, die Bewegungskoordinaten des Hauptobjekts, insbesondere die Winkelverschiebungsdaten θx, θy, θz und die Bewegungskoordinaten des ersten bis n-ten Hilfsobjekts, insbesondere die Winkelverschiebungsdaten θu1, θv1, θw1), (θu2, θv2, θw2), ... (θun, θvn, θwn).
  • Die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212, die detaillierte Rendering-Einrichtung 236 und die einfache Rendering-Einrichtung 238 führen im wesentlichen die gleiche Verarbeitungssequenz aus wie die Komponenten der Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel mit dem Unterschied, daß auf der Basis einer Kombination aus den Bewegungskoordinaten des Hauptobjekts und den Bewegungskoordinaten der Hilfsobjekte nach Bewegungskoordinaten gesucht oder approximativ gesucht wird.
  • Die Bild-Plottereinrichtung 204 aktualisiert sukzessive die Daten in der Bewegungsinformationstabelle 206, um ein Objekt einer vorbestimmten Sequenz entsprechend zu bewegen, und prüft, ob die einzelnen Objekte nach dem normalen Rendering-Prozeß oder durch einfaches Applizieren von Texturen gerendert werden sollen, und rendert das Objekt.
  • Diejenigen Objekte, die detailliert geplottet werden sollen, werden in der detaillierten Rendering-Einrichtung 236 dem normalen Rendering-Prozeß unterzogen.
  • Diejenigen Objekte, die einfach geplottet werden sollen, werden von der einfachen Rendering-Einrichtung 238 folgendermaßen verarbeitet: Die einfache Rendering-Einrichtung 238 wählt aus den in der Texturinformationstabelle 202 gespeicherten Bewegungskoordinaten (Winkelverschiebungsdaten des Hauptobjekts und Winkelverschiebungsdaten des ersten bis n-ten Hilfsobjekts) einen Datensatz aus, der den laufenden Bewegungskoordinaten (Winkelverschiebungsdaten des Hauptobjekts und Winkelverschiebungsdaten des ersten bis n-ten Hilfsobjekts) ähnlich ist, und liest die Satzkoordinaten aus dem ausgewählten Datensatz aus.
  • Nach dem Auslesen der einfachen Objektdatei 272 berechnet die einfache Rendering-Einrichtung 238 auf der Basis der laufenden Bewegungskoordinaten die Eckpunktkoordinaten von Polygonen, die in der einfachen Objektdatei 272 registriert sind, und appliziert die Textur, die in den Satzkoordinaten in dem Texturbereich 34a des Bildespeichers 34 geplottet ist, in einem von den Anzeigebereichen der Polygone abhängigen vergrößerten oder verkleinerten Maßstab an den Polygonen (Rendern der Polygone in dem Rendering-Bereich 34b).
  • In der Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel kann, wie bei der Objektgruppen-Plottereinrichtung 200B nach dem zweiten Ausführungsbeispiel, die Korrektureinrichtung 292 in der einfachen Rendering-Einrichtung 238 der Bild-Plottereinrichtung 204 enthalten sein.
  • Somit führt die Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel, ebenso wie die Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel, den detaillierten Rendering-Prozeß an bestimmten Exemplaren einer Anzahl von Objekten, d.h. an visuell attraktiven Objekten, bewegten Objekten, an nahen Objekten usw., durch, während an anderen Objekten einfach eine Textur appliziert wird, so daß die für die Durchführung der Berechnungen und das Plotten der Objekte erforderliche Zeit erheblich reduziert werden kann und die Objekte mit hoher Qualität geplottet werden können.
  • Die Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel kann bei Objekten angewendet werden, die komplexe Formen haben und Komponenten aufweisen, die sich vielfältig ändern.
  • Das heißt, wenn ein Objekt ein Hauptobjekt und ein oder mehrere an das Hauptobjekt angefügte Hilfsobjekte umfaßt, erzeugt die Objektgruppen-Plottereinrichtung 200D des vierten Ausführungsbeispiels eine Vielzahl von Texturbildern, die eine Kombination aus Bildern des Hauptobjekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird, und Bildern der Hilfsobjekte, so wie diese sich in verschiedene Richtungen bewegt haben, umfassen, und führt zum Plotten einer Mehrzahl von identischen Objekten den normalen Rendering-Prozeß an denjenigen Objekten durch, die einem vorgegebenen Entscheidungskriterium entsprechend detailliert geplottet werden sollen, wobei aus den generierten Texturbildern in Abhängigkeit von der zu plottenden Richtung und Verformung ein Texturbild ausgewählt wird und das ausgewählte Texturbild als Textur für diejenigen Objekte benutzt wird, die einfach geplottet werden sollen.
  • Da eine Vielzahl von Texturbildern auf der Basis einer Kombination aus Bildern vorbereitet sind, die nicht nur die Richtung von Objekten, sondern auch die Verformungen von Hilfsobjekten repräsentieren, lassen sich die Prinzipien des vierten Ausführungsbeispiels auf eine Situation anwenden, in der zahlreiche Fische in unterschiedlichen Richtungen orientiert sind und Komponenten derselben, z.B. Schwanzflossen und Rückenflossen, sich in komplexer Weise ändern.
  • Anhand von 38 bis 45 wird eine Objektgruppen-Plottereinrichtung 200E nach einem fünften Ausführungsbeispiel der vorliegenden Erfindung beschrieben.
  • Die Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel hat im wesentlichen die gleiche Anordnung und führt im wesentlichen die gleiche Verarbeitungssequenz aus wie die Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel, unterscheidet sich von dieser jedoch darin, daß erste Texturbilder automatisch von einer Textureinstelleinrichtung 500 und nicht manuell von dem Benutzer erzeugt werden. Die anderen Mittel der Objektgruppen-Plottereinrichtung 200E, d.h. die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212, die detaillierte Rendering-Einrichtung 236 und die einfache Rendering-Einrichtung 238 haben die gleiche Anordnung und Verarbeitungssequenz wie die entsprechenden Komponenten der Objektgruppen-Plottereinrichtung 200D nach dem vierten Ausführungsbeispiel.
  • Anhand von 38 bis 45 werden die Anordnung und die Verarbeitungssequenz der Textureinstelleinrichtung 500 beschrieben.
  • Wie 38 zeigt, umfaßt die Textureinstelleinrichtung 500 eine Initialisierungseinrichtung 502 zum Definieren der Zahl von Betrachtungspunkten und Referenz-Betrachtungspunktkoordinaten und zum Initialisieren von Satzkoordinaten, ferner eine Bereichs-Reservierungseinrichtung 504 zum Reservieren zweier Bereiche, nämlich eines Bereichs Z1 zum Plazieren von Texturen in Abhängigkeit von mehreren Betrachtungspunkten und einen Bereich Z2 für die tatsächliche Texturabbildung in den Texturbereich 34a des Bildespeichers 34, eine Hauptobjekt-Verarbeitungseinrichtung 506 zum Erzeugen von Texturen für Hauptobjekte, eine Hilfsobjekt-Verarbeitungseinrichtung 508 zum Erzeugen von Texturen für Hilfsobjekte, eine Textur-Rendering-Einrichtung 510 zum erneuten Rendern der Texturen in dem Rendering-Bereich 34b an den Satzkoordinaten in dem Texturbereich Z1, eine Tabellenerzeugungseinrichtung 512 zum Speichern von Satzkoordinaten und Bewegungskoordinaten in dem entsprechenden Datensatz in der Texturinformationstabelle 202, eine Satzkoordinaten-Aktualisierungseinrichtung 514 zum Aktualisieren der Satzkoordinaten und eine Verarbeitungsabschluß-Prüfeinrichtung 516, die feststellt, ob die Abarbeitung einer Schleife abgeschlossen ist oder nicht.
  • Wie 39 zeigt, umfaßt die Hauptobjekt-Verarbeitungseinrichtung 506 eine Daten-Leseeinrichtung 520 zum Auslesen zumindest der Zahl der Polygone und der Referenzkoordinaten in dem Hauptobjekt aus der Objektinformationstabelle 230 und zum Auslesen von Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302, ferner eine Hauptobjekt-Leseeinrichtung 522 zum Auslesen von Daten des Hauptobjekts aus der detaillierten Objektdatei 250, eine Bewegungskoordinaten-Berechnungseinrichtung 524 zum Festlegen von Bewegungskoordinaten bezüglich der Referenzkoordinaten des Hauptobjekts, wenn Betrachtungspunktkoordinaten als Referenz benutzt werden, eine Eckpunktkoordinaten-Berechnungseinrichtung 526 zum Berechnen von Eckpunktkoordinaten von Polygonen, aus denen das Hauptobjekt aufgebaut ist, eine Rendering-Einrichtung 528 zur Durchführung eines Rendering-Prozesses, einschließlich der Texturdarstellung und der Beseitigung von verborgenen Flächen an Polygonen (Rendern in dem Rendering-Bereich 34b) sowie eine Verarbeitungsabschluß-Prüfeinrichtung 530, die feststellt, ob die Abarbeitung einer Schleife abgeschlossen ist oder nicht.
  • Wie 40 zeigt, umfaßt die Hilfsobjekt-Verarbeitungseinrichtung eine Daten-Leseeinrichtung 542 zum Auslesen zumindest der Zahl der Polygonen und der Referenzkoordinaten in dem Hauptobjekt aus der Objektinformationstabelle 230 und zum Auslesen von Bewegungskoordinaten für Hilfsobjekte aus einer Hilfsobjekt-Informationstabelle 540, eine Hilfsobjekt-Leseeinrichtung 544 zum Auslesen von Daten der Hilfsobjekte aus der detaillierten Objektdatei 250, eine Eckpunktkoordinaten-Berechnungseinrichtung 546 zum Berechnen von Eckpunktkoordinaten von Polygonen, aus denen die Hilfsobjekte bestehen, eine Rende ring-Einrichtung 548 zur Durchführung eines Rendering-Prozesses, einschließlich Texturdarstellung und Beseitigung von verborgenen Flächen an Polygonen (Rendern in dem Rendering-Bereich 34b) und eine Verarbeitungsabschluß-Prüfeinrichtung 550, die feststellt, ob die Abarbeitung einer Schleife abgeschlossen ist oder nicht.
  • Wie 41 zeigt, speichert die Hilfsobjekt-Informationstabelle 540 mehrere Datensätze 0, 1, ..., die jeweils Bewegungskoordinaten, insbesondere Winkelverschiebungsdaten θu, θv, θw enthalten, die sich auf ein typisches Verformungsmuster eines Hilfsobjekts beziehen.
  • Anhand von 42 und 43 wird eine Verarbeitungssequenz der Textureinstelleinrichtung 500 beschrieben.
  • In dem Schritt S801 von 42 initialisiert die Initialisierungseinrichtung 502 verschiedene Parameter.
  • In dem Schritt S802 reserviert die Bereichs-Reservierungseinrichtung 504 dann zwei Bereiche, nämlich einen Bereich Z1 zum Plazieren von Texturen in Abhängigkeit von mehreren Betrachtungspunkten und einen Bereich Z2 für die aktuelle Texturabbildung in dem Texturbereich 34a des Bildespeichers 34.
  • In dem Schritt S803 speichert die Textureinstelleinrichtung 500 einen Anfangswert "0" in einem Index-Register i, das zum Suchen eines Betrachtungspunkts benutzt wird, und initialisiert dadurch das Index-Register i. In dem Schritt S804 führt die Hauptobjekt-Verarbeitungseinrichtung 506 ihre Verarbeitungssequenz durch, um eine Textur für ein Hauptobjekt zu erzeugen, wie dies weiter unten beschrieben wird.
  • In dem Schritt S805 speichert die Textureinstelleinrichtung 500 einen Anfangswert "0" in einem Index-Register m, das zum Suchen nach Datensätzen in der Hilfsobjekt-Informationstabelle 540 benutzt wird, und initialisiert so das Index-Register m.
  • In dem Schritt S806 führt die Hilfsobjekt-Verarbeitungseinrichtung 508 ihre Verarbeitungssequenz durch, um Texturen für Hilfsobjekte zu erzeugen, wie dies weiter unten beschrieben wird.
  • In dem Schritt S807 rendert die Textur-Rendering-Einrichtung 510 erneut die Texturen in dem Rendering-Bereich 34b an den Satzkoordinaten in dem Texturbereich Z1.
  • In dem Schritt S808 erzeugt die Tabellenerzeugungseinrichtung 512 die Textur-Informationstabelle 202. Falls die Zahl der Verformungsmuster für Hilfsobjekte gleich B ist, speichert die Tabellenerzeugungseinrichtung 512 in dem (B × i + m)-ten Datensatz in der Textur-Informationstabelle 202 Satzkoordinaten, an denen ein Texturbild geplottet wird, die Bewegungskoordinaten des Hauptobjekts und die Bewegungskoordinaten des ersten bis n-ten Hilfsobjekts.
  • In dem Schritt S809 aktualisiert die Satzkoordinaten-Aktualisierungseinrichtung 514 die Satzkoordinaten. In dem Schritt S810 prüft die Verarbeitungsabschluß-Prüfeinrichtung 516 auf der Grundlage, ob der Wert des Index-Registers m gleich oder größer ist als die Maximalzahl B der Verformungsmuster, ob der Textur-Rendering-Prozeß für die Hilfsobjekte in Bezug auf alle Verformungsmuster beendet wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Verformungsmuster beendet wurde, geht die Steuerung zurück zu dem Schritt S806, um den Textur-Rendering-Prozeß für die Hilfsobjekte in Bezug auf ein nächstes Verformungsmuster durchzuführen. Falls der Textur-Rendering-Prozeß für alle Verformungsmuster abgeschlossen wurde, geht die Steuerung weiter zu dem in 43 dargestellten Schritt S812, um den Wert des Index-Registers i um +1 zu inkrementieren. Anschließend prüft die Verarbeitungsabschluß-Prüfeinrichtung 516 auf der Grundlage, ob der Wert in dem Index-Register i gleich oder größer ist als die Zahl A der in der Betrachtungspunktkoordinatentabelle 302 registrierten Betrachtungspunkte oder nicht, ob der Textur-Rendering-Prozeß für alle in der Betrachtungspunktkoordinatentabelle 302 registrierten Betrachtungspunkte abgeschlossen wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Betrachtungspunkte abgeschlossen ist, geht die Steuerung zurück zu dem Schritt S804 von 42, um den Textur-Rendering-Prozeß für einen nächsten Betrachtungspunkt durchzuführen. Falls der Textur-Rendering-Prozeß für alle Betrachtungspunkte abgeschlossen wurde, wird die Verarbeitungssequenz der Textureinstelleinrichtung 500 beendet.
  • Anhand von 44 wird eine Verarbeitungssequenz der Hauptobjekt-Verarbeitungseinrichtung 506 beschrieben.
  • In dem Schritt S901 liest die Daten-Leseeinrichtung 520 zumindest die Zahl der Polygone und die Referenzkoordinaten aus der Objektinformationstabelle 230 aus.
  • In dem Schritt S902 liest die Hauptobjekt-Leseeinrichtung 522 dann die Daten des Hauptobjekts aus der detaillierten Objektdatei 250 aus. In dem Schritt S903 liest die Daten-Leseeinrichtung 520 die i-ten Betrachtungspunktkoordinaten aus der Betrachtungspunktkoordinatentabelle 302 aus.
  • In dem Schritt S904 bestimmt die Bewegungskoordinaten-Berechnungseinrichtung 524 die Bewegungskoordinaten bezüglich der Referenzkoordinaten des Hauptobjekts, wenn Betrachtungspunktkoordinaten als Referenz benutzt werden. Im speziellen Fall bewegt sich das Hauptobjekt, während alle Betrachtungspunkte an einer Referenzposition fixiert sind, so daß das Hauptobjekt so gesehen wird, wie von dem laufenden Betrachtungspunkt aus. Die Bewegungskoordinaten des Hauptobjekts zu dieser Zeit, d.h. Objektkoordinaten, die bewegt wurden, werden festgelegt. Die so festgelegten Bewegungskoordinaten werden als Bewegungskoordinaten auf der Basis der i-ten Betrachtungspunktkoordinaten, d.h. als i-te Bewegungskoordinaten in dem Hauptobjekt, definiert.
  • In dem Schritt S905 speichert die Hauptobjekt-Verarbeitungseinrichtung 506 den Wert "0" in einem Index-Register j zum Suchen eines Polygons und initialisiert so das Index-Register j.
  • In dem Schritt S906 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 526 auf der Basis der i-ten Bewegungskoordinaten in dem Hauptobjekt die Eckpunktkoordinaten eines j-ten Polygons, das das Hauptobjekt bildet.
  • In dem Schritt S907 führt die Rendering-Einrichtung 528 den Rendering-Prozeß an dem j-ten Polygon durch, einschließlich der Texturabbildung und der Beseitigung verborgener Flächen, und rendert das Polygon in dem Rendering-Bereich 34b des Bildespeichers 34.
  • In dem Schritt S908 aktualisiert die Hauptobjekt-Verarbeitungseinrichtung 506 den Wert des Index-Registers j um +1. In dem Schritt S909 prüft die Verarbeitungsabschluß-Prüfeinrichtung 530 auf der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist als die Zahl M der Polygone des Hauptobjekts, ob der Textur-Rendering-Prozeß für alle Polygone abgeschlossen wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Polygone abgeschlossen wurde, geht die Steuerung zurück zu dem Schritt S906, um den Rendering-Prozeß an einem nächsten Polygon durchzuführen. Falls der Textur-Rendering-Prozeß für alle Polygone abgeschlossen wurde, wird die Verarbeitungssequenz der Hauptobjekt-Verarbeitungseinrichtung 506 beendet.
  • Anhand von 45 wird eine Verarbeitungssequenz der Hilfsobjekt-Verarbeitungseinrichtung 508 beschrieben.
  • In dem Schritt SA01 speichert die Hilfsobjekt-Verarbeitungseinrichtung 508 einen Anfangswert "0" in einem Index-Register n zum Suchen eines Hilfsobjekts und initialisiert so das Index-Register n.
  • In dem Schritt SA02 liest die Daten-Leseeinrichtung 542 zumindest die Zahl Nn der Polygone und der normalen Referenzkoordinaten eines n-ten Hilfsobjekts aus der Objektinformationstabelle 230 aus.
  • In dem Schritt SA03 liest die Hilfsobjekt-Leseeinrichtung 542 dann die Daten des n-ten Hilfsobjekts aus der detaillierten Objektdatei 250 aus. In dem Schritt SA04 liest die Daten-Leseeinrichtung 542 die Bewegungskoordinaten für das n-te Hilfsobjekt aus einem m-ten Datensatz in der Hilfsobjekt-Informationstabelle 540 aus.
  • In dem Schritt SA05 speichert die Hilfsobjekt-Verarbeitungseinrichtung 508 den Wert "0" in einem Index-Register j zum Suchen eines Polygons und initialisiert so das Index-Register j.
  • In dem Schritt SA06 berechnet die Eckpunktkoordinaten-Berechnungseinrichtung 546 Eckpunktkoordinaten eines j-ten Polygons, das das n-te Hilfsobjekt bildet, auf der Basis der laufenden Bewegungskoordinaten in dem n-ten Hilfsobjekt.
  • In dem Schritt SA07 führt die Rendering-Einrichtung 548 an dem j-ten Polygon den Rendering-Prozeß, einschließlich der Texturdarstellung und der Beseitigung verborgener Flächen, durch und rendert das Polygon in dem Rendering-Bereich 34b des Bildespeichers 34.
  • In dem Schritt SA08 aktualisiert die Hilfsobjekt-Verarbeitungseinrichtung 508 den Wert des Index-Registers j um +1. In dem Schritt SA09 prüft die Verarbeitungsabschluß-Prüfeinrichtung 550 auf der Grundlage, ob der Wert des Index-Registers j gleich oder größer ist als die Zahl Nn der Polygone des Hilfsobjekts und ob der Textur-Rendering-Prozeß für alle Polygone abgeschlossen wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Polygone abgeschlossen wurde, geht die Steuerung zurück zu dem Schritt SA06, um den Rendering-Prozeß an einem nächsten Polygon auszuführen. Falls der Textur-Rendering-Prozeß für alle Polygone abgeschlossen wurde, geht die Steuerung weiter zu dem Schritt SA10, in dem die Hilfsobjekt-Verarbeitungseinrichtung 508 den Wert des Index-Registers n um +1 inkrementiert.
  • In dem Schritt SA11 prüft die Verarbeitungsabschluß-Prüfeinrichtung 550 auf der Grundlage, ob der Wert des Index-Registers n gleich oder größer ist als die Zahl C der Hilfsobjekte, ob der Textur-Rendering-Prozeß für alle Hilfsobjekte abgeschlossen wurde oder nicht.
  • Falls der Textur-Rendering-Prozeß noch nicht für alle Hilfsobjekte abgeschlossen wurde, geht die Steuerung zurück zu dem Schritt SA02, um den Textur-Rendering-Prozeß an einem nächsten Hilfsobjekt durchzuführen. Falls der Textur-Rendering-Prozeß für alle Hilfsobjekte abgeschlossen wurde, wird die Verarbeitungssequenz der Hilfsobjekt-Verarbeitungseinrichtung 508 beendet.
  • Die Bild-Plottereinrichtung 204, die Plotter-Auswahleinrichtung 212, die detaillierte Rendering-Einrichtung 236 und die einfache Rendering-Einrichtung 238 führen im wesentlichen die gleiche Verarbeitungssequenz aus wie die entsprechenden Komponenten der Objektgruppen-Plottereinrichtung 200A nach dem ersten Ausführungsbeispiel, mit dem Unterschied, daß auf der Basis einer Kombination der Bewegungskoordinaten des Hauptobjekts und der Bewegungskoordinaten der Hilfsobjekte nach Bewegungskoordinaten gesucht wird oder approximativ gesucht wird.
  • Bei der Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel kann die Korrektureinrichtung 292, wie bei der Objektgruppen-Plottereinrichtung 200B nach dem zweiten Ausführungsbeispiel in der einfachen Rendering-Einrichtung 238 der Bild-Plottereinrichtung 204 enthalten sein.
  • Die Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel kann auf Objekte angewendet werden, die komplexe Formen haben und Komponenten enthalten, die sich vielfältig ändern.
  • Da auf der Basis einer Kombination aus Bildern eine Mehrzahl von Texturbildern vorbereitet ist, die nicht nur die Richtung von Objekten sondern auch die Verformungen von Hilfsobjekten repräsentieren, sind die Prinzipien des fünften Ausführungsbeispiels auf eine Situation anwendbar, in der eine Anzahl von Fischen in verschiedenen Richtungen orientiert sind und Komponenten derselben, z.B. Schwanzflossen und Rückenflossen, sich in komplexer Weise ändern.
  • In der Objektgruppen-Plottereinrichtung 200E nach dem fünften Ausführungsbeispiel kann die Textureinstelleinrichtung 500 automatisch eine Vielzahl von Texturbildern generieren als Kombination aus denjenigen, die erzeugt werden, wenn das Hauptobjekt von verschiedenen Betrachtungspunkten aus gesehen wird, und denjenigen, die erzeugt werden, wenn die Hilfsobjekte in verschiedenen Richtungen bewegt werden. Dadurch ist die Objektgruppen-Plottereinrichtung 200E in der Lage, Verformungsmuster für die Hilfsobjekte schnell zu korrigieren und hinzuzufügen, die Richtungen des Hauptobjekts zu korrigieren und die Objekte selbst zu korrigieren.
  • Obwohl vorangehend bestimmte bevorzugte Ausführungsbeispiele der vorliegenden Erfindung dargestellt und im Detail beschrieben wurden, können an diesen vielfältige Änderun gen und Modifizierungen vorgenommen werden, ohne daß dadurch der Rahmen der anliegenden Ansprüche verlassen wird.

Claims (10)

  1. Verfahren zum Rendern (Bildaufbereiten) eines Bildes mittels eines Computers mit den Verfahrensschritten: Erzeugen einer Mehrzahl von Texturbildern eines einzelnen Objekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird, Rendern einer Mehrzahl von mit dem einzelnen Objekt identischen Objekten durch Auswählen entweder eines normalen Rendering-Prozesses oder eines einfachen Rendering-Prozesses für das Rendern individueller Exemplare aus der Mehrzahl von Objekten nach einem vorbestimmten Auswahlkriterium, wobei der normale Rendering-Prozeß Objekte im Detail plottet, und der einfache Rendering-Prozeß Objekt einfach plottet, und falls der einfache Rendering-Prozeß für eines aus der Mehrzahl von Objekten ausgewählt wird, Auswählen eines Texturbilds aus der Mehrzahl von Texturbildern in Abhängigkeit von der darzustellenden Richtung und Benutzen des ausgewählten Texturbilds als Textur für das eine aus der Mehrzahl von Objekten, wobei das vorbestimmte Auswahlkriterium für die Auswahl entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses das Auswählen des normalen Rendering-Prozesses beinhaltet, wenn die Bewegung des Objekts relativ zu der darzustellenden Szene größer ist als ein vorbestimmter Bereich.
  2. Verfahren nach Anspruch 1, bei dem das Auswählen entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis der vorbestimmten Kriterien darüber, ob das Objekt wichtig ist, folgende Schritte umfaßt: das Bereitstellen einer Objektinformationstabelle zum Speichern einer für jedes Objekt benötigten Information, wobei diese Information eine Angabe enthält, daß das Objekt für visuelle Effekte wichtig ist, und das Auswählen entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis der gespeicherten Angabe.
  3. Verfahren nach Anspruch 1, bei dem das Auswählen entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis der vorbestimmten Kriterien darüber, ob die Bewegung des Objekts größer ist als ein vorbestimmter Bereich, folgende Schritte umfaßt: das Bereitstellen einer Bewegungsinformationstabelle zum Speichern einer Information, die für jedes Objekt benötigt wird, wobei diese Information die laufenden und die vorhergehenden x-, y-, z-Bewegungskoordinaten enthält, und das Auslesen des Werts der laufenden und der vorhergehenden Bewegungskoordinaten des Objekts, das Vergleichen des Werts der vorhergehenden Bewegungskoordinaten des Objekts mit den laufenden Bewegungskoordinaten des Objekts und das Auswählen des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis, ob die Größe der Bewegung des Objekts gleich oder größer ist als eine vorbestimmte Größe oder nicht.
  4. Verfahren nach Anspruch 3, bei dem der normale Rendering-Prozeß ausgewählt wird, wenn die Größe der Bewegung des Objekts gleich oder größer ist als eine vorbestimmte Größe, und andernfalls der einfache Rendering-Prozeß ausgewählt wird.
  5. Gerät zum Rendern (Bildaufbereiten) eines Bildes mittels eines Computers, wobei das Gerät aufweist: eine Textur-Festlegungseinrichtung (300) zum Erzeugen einer Mehrzahl von Texturbildern eines einzelnen Objekts, so wie dieses von verschiedenen Betrachtungspunkten aus gesehen wird, eine selektive Plottereinrichtung (212) zum Rendern einer Mehrzahl von mit dem einzelnen Objekt identischen Objekten durch Auswählen entweder eines normalen Rendering-Prozesses oder eines einfachen Rendering-Prozesses für das Rendern individueller Exemplare aus der Mehrzahl von Objekten nach einem vorbestimmten Auswahlkriterium, wobei der normale Rendering-Prozeß Objekte im Detail plottet, und der einfache Rendering-Prozeß Objekt einfach plottet, und falls der einfache Rendering-Prozeß für eines aus der Mehrzahl von Objekten ausgewählt wird, Auswählen eines Texturbilds aus der Mehrzahl von Texturbildern in Abhängigkeit von der darzustellenden Richtung und Benutzen des ausgewählten Texturbilds als Textur für das eine aus der Mehrzahl von Objekten, wobei das vorbestimmte Auswahlkriterium für die Auswahl entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses das Auswählen des normalen Rendering-Prozesses beinhaltet, wenn die Bewegung des Objekts relativ zu der darzustellenden Szene größer ist als ein vorbestimmter Bereich.
  6. Gerät nach Anspruch 5, das aufweist: eine Objektinformationstabelle (230) zum Speichern einer für jedes Objekt benötigten Information, wobei diese Information eine Angabe enthält, daß das Objekt für visuelle Effekte wichtig ist, und eine Einrichtung (234) zum Festlegen eines detaillierten/einfachen Prozesses zum Auswählen entweder eines normalen Rendering-Prozesses oder eines einfachen Rendering-Prozesses, wobei das Auswählen des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf vorbestimmten Kriterien darüber basiert, ob das Objekt wichtig ist, Auswählen entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis der in der Objektinformationstabelle gespeicherten Angabe.
  7. Gerät nach Anspruch 5, das aufweist: eine Bewegungsinformationstabelle zum Speichern einer Information, die für jedes Objekt benötigt wird, wobei diese Information die laufenden und die vorhergehenden x-, y-, z-Bewegungskoordinaten enthält, und eine Einrichtung (234) zum Festlegen eines detaillierten/einfachen Prozesses zum Auswählen entweder eines normalen Rendering-Prozesses oder eines einfachen Rendering-Prozesses, wobei das Auswählen entweder des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis von vorbestimmten Kriterien darüber, ob die Bewegung des Objekts größer ist als ein vorbestimmter Bereich umfaßt: das Auslesen des Werts der laufenden und der vorhergehenden Bewegungskoordinaten des Objekts, das Vergleichen des Werts der vorhergehenden Bewegungskoordinaten des Objekts mit den laufenden Bewegungskoordinaten des Objekts und das Auswählen des normalen Rendering-Prozesses oder des einfachen Rendering-Prozesses auf der Basis, ob die Größe der Bewegung des Objekts gleich oder größer ist als eine vorbestimmte Größe oder nicht.
  8. Gerät nach Anspruch 7, bei dem der normale Rendering-Prozeß ausgewählt wird, wenn die Größe der Bewegung des Objekts gleich oder größer ist als eine vorbestimmte Größe, und andernfalls der einfache Rendering-Prozeß ausgewählt wird.
  9. Computersoftware mit einem Programmcode zur Lieferung an einen Computer für die Ausführung aller Schritte des Verfahrens nach einem der Ansprüche 1 bis 4.
  10. Aufzeichnungsmedium, in dem die Computersoftware nach Anspruch 9 gespeichert ist.
DE60020234T 1999-06-07 2000-06-02 Verfahren und vorrichtung zur bildwiedergabe Expired - Lifetime DE60020234T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP16017799 1999-06-07
JP16017799A JP3605317B2 (ja) 1999-06-07 1999-06-07 画像描画方法、画像描画装置及び記録媒体
PCT/JP2000/003616 WO2000075873A1 (en) 1999-06-07 2000-06-02 Method and apparatus for rendering images

Publications (2)

Publication Number Publication Date
DE60020234D1 DE60020234D1 (de) 2005-06-23
DE60020234T2 true DE60020234T2 (de) 2006-01-26

Family

ID=15709517

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60020234T Expired - Lifetime DE60020234T2 (de) 1999-06-07 2000-06-02 Verfahren und vorrichtung zur bildwiedergabe

Country Status (10)

Country Link
EP (1) EP1190393B1 (de)
JP (1) JP3605317B2 (de)
KR (1) KR20020012598A (de)
CN (1) CN1354866A (de)
AU (1) AU4953800A (de)
BR (1) BR0011381A (de)
CA (1) CA2374980A1 (de)
DE (1) DE60020234T2 (de)
TW (1) TW464833B (de)
WO (1) WO2000075873A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228725A (ja) * 2002-02-04 2003-08-15 Japan Science & Technology Corp 3次元画像処理システム
JP4706965B2 (ja) * 2005-08-31 2011-06-22 株式会社セガ 画像生成プログラム、画像生成装置
KR100738095B1 (ko) * 2005-09-23 2007-07-12 삼성전자주식회사 3차원 객체의 효율적 렌더링 방법 및 장치
JP5552808B2 (ja) * 2009-12-25 2014-07-16 株式会社三洋物産 遊技機
JP5076132B1 (ja) 2011-05-25 2012-11-21 株式会社スクウェア・エニックス・ホールディングス 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム
JP6823946B2 (ja) * 2016-06-13 2021-02-03 三菱プレシジョン株式会社 図形を描画する方法、描画装置及びシミュレータ
JP2016198575A (ja) * 2016-08-04 2016-12-01 株式会社三洋物産 遊技機
JP6965439B2 (ja) * 2018-04-04 2021-11-10 株式会社ソニー・インタラクティブエンタテインメント 基準画像生成装置、表示画像生成装置、基準画像生成方法、および表示画像生成方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667835B2 (ja) * 1987-10-09 1997-10-27 株式会社日立製作所 コンピユータグラフイツクス表示装置
WO1994029813A1 (fr) * 1993-06-10 1994-12-22 Namco Ltd. Synthetiseur d'image et appareil de jeu pourvu d'un tel synthetiseur
TW284870B (de) * 1994-01-26 1996-09-01 Hitachi Ltd
JP2677233B2 (ja) * 1995-03-17 1997-11-17 株式会社日立製作所 コンピュータグラフィックス表示方法
JP3193263B2 (ja) * 1995-06-05 2001-07-30 日本電信電話株式会社 3次元映像表示システム
JP3461980B2 (ja) * 1995-08-25 2003-10-27 株式会社東芝 高速描画方法および装置
KR100261076B1 (ko) * 1995-11-09 2000-07-01 윤종용 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
JP3420870B2 (ja) * 1995-12-18 2003-06-30 株式会社ナムコ 画像合成方法、画像合成装置及びゲーム装置

Also Published As

Publication number Publication date
TW464833B (en) 2001-11-21
JP2000348207A (ja) 2000-12-15
CN1354866A (zh) 2002-06-19
CA2374980A1 (en) 2000-12-14
BR0011381A (pt) 2002-03-05
EP1190393A1 (de) 2002-03-27
DE60020234D1 (de) 2005-06-23
AU4953800A (en) 2000-12-28
EP1190393B1 (de) 2005-05-18
WO2000075873A1 (en) 2000-12-14
JP3605317B2 (ja) 2004-12-22
KR20020012598A (ko) 2002-02-16

Similar Documents

Publication Publication Date Title
DE69924700T2 (de) Verfahren zur Darstellung von durch Oberflächenelemente repräsentierten grafischen Objekten
DE69830767T2 (de) Verfahren und Vorrichtung zum Zusammensetzen geschichteter synthetischer graphischer Filter
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE69122557T2 (de) Bilderzeugung
DE3619420C2 (de)
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE3854543T2 (de) Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung.
DE69534331T2 (de) Verfahren und Vorrichtung zur Hervorhebung der Einzelheit einer Baumstruktur
DE69303468T2 (de) Speicherbasierte verfahren und geraet fuer rechnergraphik
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE69027402T2 (de) Verfahren und Vorrichtung zur Steuerung von Robotern und ähnlichem zum Gebrauch hierarchisch organisierter "Bubble-Daten", die entlang einer Mittelachse angeordnet sind
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE602004011749T2 (de) Umschlagsdeformation mittels unterteilten Oberflächen
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE69735181T2 (de) Verfahren und Vorrichtung für virtuelle Architektur
DE102005050846A1 (de) Perspektiveneditierwerkzeuge für 2-D Bilder
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE602004003111T2 (de) Tiefen-basiertes Antialiasing
DE112012005770T5 (de) Zeichnungsdaten-Erzeugungsvorrichtung und Bildzeichnungsvorrichtung
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers
DE102006023633A1 (de) Gleichzeitige Projektion von mehrfach verzweigten Gefäßen und ihrer Umgebung auf einem einzigen Bild
DE602004012341T2 (de) Verfahren und System zur Bereitstellung einer Volumendarstellung eines dreidimensionalen Objektes
EP2528042A1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE60024514T2 (de) Aufzeichnungsmedium, Verfahren und Einrichtung zur Bildverarbeitung mit integrierten Daten zur Formmodellierung
DE60020234T2 (de) Verfahren und vorrichtung zur bildwiedergabe

Legal Events

Date Code Title Description
8364 No opposition during term of opposition