-
Die
vorliegende Erfindung betrifft Bilderzeugungsvorrichtungen, die
auf Videospielmaschinen angewandt werden, die beispielsweise ein
Kassettenaufzeichnungsmedium oder dgl. verwenden, in welchem eine
optische Platte, eine magnetische Platte oder ein Halbleiterspeicher,
enthaltend Programmdaten, verwendet wird, und Bilderzeugungsverfahren
dafür und
Aufzeichnungsmedien, die Bildaufzeichnungsprogramme enthalten.
-
Viele
Spielsysteme wurden vorgeschlagen, wie beispielsweise ein System,
bestehend aus einer Spielkonsole für einen Heimgebrauch und einen Fernsehmonitor,
eine Spielmaschine zum kommerziellen Gebrauch, und ein System, bestehend
aus einem Personal Computer oder Arbeitsplatzcomputer bzw. einer
Work Station, einer Anzeige und einer Schall- bzw. Tonausgabevorrichtung.
-
Diese
Spielsysteme enthalten jeweils eine von einem Spieler betätigte Regel-
bzw. Steuereinrichtung bzw. einen Controller, ein Aufzeichnungsmedium,
das Spielprogrammdaten enthält,
eine zentrale Verarbeitungseinheit (CPU) zum Durchführen einer Regelung
bzw. Steuerung für
die Erzeugung von Schall bzw. Ton und Bildern basierend auf den
Spielprogrammdaten, einen Prozessor zum Erzeugen von Bildern, einen
Prozessor zum Erzeugen von Schall bzw. Ton, einen Monitor zum Anzeigen
von Bildern und einen Lautsprecher zum Ausgeben des erzeugten Tons.
In vielen Fällen
umfassen diese Typen von Aufzeichnungsmedium einen Compakt-Disk-Nur-Lese- Speicher (CD-ROM),
einen Halbleiterspeicher und eine Kassette, die einen eingebauten
Halbleiterspeicher aufweist.
-
In
diesen Spielsystemen bestehen im allgemeinen dreidimensionale Modelle
als Gegenstände bzw.
Objekte, die auf einem Schirm angezeigt sind bzw. werden, aus Polygonen,
wie einer Vielzahl von zweidimensionalen virtuellen, dreieckigen
oder quadratischen Figuren und die Polygone, auf welche Texturen,
wie beispielsweise zweidimensionale Bilddaten eingefügt bzw.
gepastet sind, sind bzw. werden am Monitor angezeigt. Normalerweise
werden die Texturen, die auf den Polygonen einzufügen sind,
gesondert festgelegt und im voraus in einem Speicher gespeichert.
-
In
dem Fall, wo die Spielsysteme einen zweidimensionalen Charakter
und Hintergrundmodelle hinter dem Charakter bzw. der Figur verwenden, macht
es ein Schattieren sehr schwierig zu bestimmen, ob der Charakter
an oder vor den Hintergrundmodellen ist.
-
Damit
der Charakter bzw. die Figur klar bzw. deutlich angezeigt werden
kann, um vor den Hintergrundmodellen angeordnet zu sein, wird verlangt, daß ein Schatten
des Charakters, der auf den Hintergrundmodellen ausgebildet ist,
angezeigt wird.
-
W.J.
Bouknight: "A Procedure
for Generation for Threedimensional Half-toned Computer Graphics Presentation", Mitteilungen des
ACM, September 1970, Band 13, Nr. 9, Seiten 527–536 offenbart einen Algorithmus
zum Erzeugen von computergenerierten halbgetönten Präsentationen bzw. Darstellungen
von dreidimensionalen polygonalen Oberflächenstrukturen.
-
P.
Atherton et al.: "Polygon
Shadow Generation",
Proceedings International Conference on Computer Graphics and Interactive
Techniques, August 1978, Band 12, Seiten 275–281 offenbart ein Verfahren
zum Erzeugen von Schatten unter Verwendung einer polygonalen Koordinatendatenbasis.
-
Es
ist das Ziel der Erfindung, eine Bilderzeugungsvorrichtung zum Anzeigen
bzw. Darstellen eines Charakter- bzw. Figurschattens ohne eine Betriebsbelastung
bzw. -last zu erhöhen,
ein Bilderzeugungsverfahren dafür,
und ein computerlesbares Aufzeichnungsmedium zur Verfügung zu
stellen, enthaltend ein Bilderzeugungsprogramm.
-
Dieses
Ziel wird durch eine Bilderzeugungsvorrichtung zum Anzeigen eines
Charakters bzw. einer Figur, die die in Anspruch 1 geoffenbarten
Merkmale aufweist, ein Bilderzeugungsverfahren, das die in Anspruch
4 geoffenbarten Merkmale aufweist, und ein computerlesbares Aufzeichnungsmedium
erfüllt, das
die in Anspruch 5 geoffenbarten Merkmale aufweist. Bevorzugte Ausführungsformen
sind in den abhängigen
Unteransprüchen
definiert.
-
Gemäß der vorliegenden
Erfindung wird eine Bilderzeugungsvorrichtung zum Anzeigen eines Schattens
eines zweidimensionalen Charakter- bzw. Figurbilds auf Hintergrundmodellen,
ein Bilderzeugungsverfahren dafür,
und ein computerlesbares Aufzeichnungsmedium bereitgestellt, enthaltend
ein Bilderzeugungsprogramm.
-
Gemäß der vorliegenden
Erfindung kann ein Schatten eines Spielcharakters bzw. einer Spielfigur an
Modellen angezeigt bzw. dargestellt werden, wodurch der Charakter
bzw. die Figur klar bzw. deutlich angezeigt werden kann, um vor
den Modellen zu sein.
-
Gemäß der vorliegenden
Erfindung kann ein Schatten eines Spielcharakters an dreidimensionalen
Modellen angezeigt werden, wodurch der Charakterschatten mit gesteigerter
Realität
bzw. Wirklichkeitstreue angezeigt werden kann.
-
Gemäß der vorliegenden
Erfindung kann ein Schatten eines Spielcharakters, der durch eine
virtuelle Lichtquelle verursacht ist, an einem Modellbereich angezeigt
werden, wodurch der Charakter- bzw. Figurschatten mit Realität bzw. Wirklichkeitstreue
angezeigt bzw. dargestellt werden kann, und die Koordinaten eines
gemeinsamen Polygons, wodurch der Charakterschatten mit Realität angezeigt werden
kann, und die Koordinaten eines gemeinsamen Polygons, welches durch
einen Bereich ausgebildet ist, in welchem ein projiziertes Polygon
einem Charakter- bzw. Figurpolygon überlagert ist bzw. wird, sind
bzw. werden zweidimensional gefunden, wodurch eine Zunahme in der
Betriebsbelastung verhindert werden kann.
-
1 ist
ein Blockdiagramm, das ein Spielsystem gemäß einer Ausführungsform
der vorliegenden Erfindung zeigt.
-
2 ist
eine Zeichnung, die einen Videospielschirm zeigt.
-
3 ist
eine Zeichnung, die einen Videospielschirm zeigt.
-
4 ist
ein Blockdiagramm, das die funktionellen Blöcke einer zentralen Be- bzw.
Verarbeitungsanlage und Teile des in 1 gezeigten
Spielsystems zeigt.
-
5 ist
eine Zeichnung, die eine Koordinatentransformation illustriert bzw.
veranschaulicht.
-
6 ist
eine Zeichnung, die eine Bestimmung einer Überlagerung von Polygonen illustriert.
-
7 ist
eine Zeichnung, die eine Überlagerung
eines Charakter- bzw. Figurpolygons und eines projizierten Polygons
illustriert.
-
8 ist
eine Zeichnung, die eine Überlagerung
eines Charakterpolygons und eines projizierten Polygons illustriert.
-
9 ist
ein Flußdiagramm,
das ein Beispiel eines Prozesses bzw. Verfahrens zum Anzeigen eines
Schattens zeigt.
-
10 ist
ein Flußdiagramm,
das ein Beispiel eines Prozesses zum Anzeigen bzw. Darstellen eines
Schattens zeigt.
-
11 ist
ein Flußdiagramm,
das ein Beispiel eines Prozesses zum Anzeigen eines Schattens zeigt.
-
1 zeigt
ein Spielsystem 1 gemäß einer Ausführungsform
der vorliegenden Erfindung.
-
Das
Spielsystem 1 beinhaltet eine Haupteinheit, einen Fernseh-(TV)-Monitor 2 zum
Ausgeben von Spielbildern, eine Verstärkungsschaltung 3 und einen
Lautsprecher 4 zum Ausgeben von Spielschall bzw. -ton und
ein Aufzeichnungsmedium 5, enthaltend Spieldaten, bestehend
aus Bild-, Schall-, Ton-, und Programmdaten. Das Aufzeichnungsmedium 5 ist
beispielsweise eine sogenannte "Nur-Lese-Speicher-(ROM)-Kassette", in welchem ein
ROM, enthaltend die Spieldaten und die Programmdaten eines Betriebssystem
in einem Kunststoffgehäuse
aufgenommen ist, eine optische Platte, oder eine flexible Magnetplatte
bzw. -diskette.
-
In
der Haupteinheit ist ein Bus bzw. eine Hauptleitung 7,
bestehend aus einem Adreßbus,
einem Datenbus und einem Regel- bzw. Steuerbus (nicht gezeigt) an
eine CPU 6 ange schlossen. Ein Direktzugriffs-Speicher (RAM) 8,
Interface (I/F) Schaltungen 9 und 10, ein Signalbe-
bzw. -verarbeitungsprozessor 11, ein Bildprozessor 12,
und I/F Schaltungen bzw. Schaltkreise 13 und 14 sind
an den Bus 7 angeschlossen. Eine Regel- bzw. Steuereinrichtung bzw.
ein Controller 16 ist mit der I/F Schaltung 10 über eine
Betätigungs-
bzw. Betriebsinformations-I/F-Schaltung 15 angeschlossen.
Ein Digital-zu-Analog-(D/A)-Wandler bzw. -Konverter 17 ist an
die I/F Schaltung 13 angeschlossen, und ein D/A-Wandler 18 ist
an die I/F Schaltung 14 angeschlossen.
-
Der
RAM 8, die I/F Schaltung 9 und das Aufzeichnungsmedium 5 bilden
eine Speichereinheit 19 aus. Die CPU 6, der Signalprozessor 11 und
der Bildprozessor 12 bilden eine Regel- bzw. Steuereinrichtung 20 zum
Regeln bzw. Steuern des Fortschritts bzw. Fortgangs des Spiels aus.
Die I/F Schaltung 10, die Betriebsinformations-I/F-Schaltung 15 und
die Regel- bzw. Steuereinrichtung 16 bilden eine Betriebseingabeeinheit 21 aus.
Der TV Monitor 2, die I/F Schaltung 13 und der
D/A-Wandler 17 bilden eine Bildanzeigeeinheit 22 aus.
Die Verstärkungsschaltung 3,
der Lautsprecher 4, die I/F Schaltung 14, und
der D/A-Wandler 18 bilden eine Schall- bzw. Tonausgabeeinheit 23 aus.
-
Der
Signalprozessor 11 führt
hauptsächlich eine
Berechnung in einem dreidimensionalen Raum, eine Berechnung für eine Transformation
von einer Position in einem dreidimensionalen Raum in eine Position
in einem pseudo-dreidimensionalen Raum, eine Beleuchtungsberechnung,
und die Generierung bzw. Erzeugung und ein Be- bzw. Verarbeiten
von Schall- bzw. Tondaten durch.
-
Der
Bildprozessor 12 führt
basierend auf einem Ergebnis einer Berechnung durch den Signalprozessor 11 das
Schreiben von Bilddaten durch, die im Anzeigebereich des RAM 8 zu
rendern bzw. wiederzugeben sind, beispielsweise das Schreiben von Texturdaten
auf einen Bereich des RAM 8, der durch Polygone spezifiziert
ist. Das Schreiben der Texturdaten wird unten beschrieben.
-
Die
Regel- bzw. Steuereinrichtung 16 weist einen Startknopf 16a,
einen A-Knopf 16b, einen B-Knopf 16c, eine Kreuztaste 16d,
einen Regel- bzw. Steuerschalthebel 16e, einen linken Trigger-
bzw. Auslöseknopf 16f,
einen rechten Auslöseknopf 16g, einen
C1-Knopf 16h, einen C2-Knopf 16i, einen C3-Knopf 16j,
einen C4-Knopf 16k, einen Verbinder 16m und einen
Tiefeauslöseknopf 16n auf.
-
Eine
Speicherkarte oder dgl. zum temporären bzw. vorübergehenden
Speichern des Fortgangs des Spiels kann in dem Verbinder 16m eingesetzt werden.
-
Die
Form des Spielsystems 1 unterscheidet sich abhängig von
seinem Zweck.
-
Mit
anderen Worten sind in dem Fall, wo das Spielsystem 1 für einen
Gebrauch zu Hause beabsichtigt ist, der TV Monitor 2, die
Verstärkungsschaltung 3 und
der Lautsprecher 4 gesondert von der Haupteinheit bereitgestellt.
In dem Fall, wo das Spielsystem 1 für einen kommerziellen Gebrauch
beabsichtigt ist, sind alle in 1 gezeigten
Komponenten in einem Gehäuse
integriert.
-
In
dem Fall, wo das Spielsystem 1 einen Personal Computer
oder eine Work Station als ihren Kern aufweist, entspricht der TV
Monitor 2 einer Anzeige für den Computer oder die Work
Station, entspricht der Bildprozessor 12 einem Teil der
Spielprogrammdaten, die auf dem Aufzeichnungsmedium 5 aufgezeichnet
sind, oder der Hardware einer Zusatzplatte, die in einen Erweiterungs-
bzw. Zusatzschlitz des Computers oder der Work Station eingesetzt
ist, und die I/F Schaltungen 9, 10, 13 und 14,
die D/A-Wandler 17 und 18 und die Betriebsinformations-I/F-Schaltung 15 entsprechen
der Hardware einer Zusatzplatte, die in einen Erweiterungsschlitz
des Computers oder der Work Station eingesetzt ist. Der RAM 8 entspricht
dem Hauptspeicher des Computers oder der Work Station, oder jedem
Bereich eines Erweiterungsspeichers.
-
In
der ersten Ausführungsform
wird der Fall, wo das Spielsystem 1 für einen Heimgebrauch beabsichtigt
ist, beschrieben.
-
Der
Betrieb des Spielsystems 1 wird kurz beschrieben.
-
Wenn
das Spielsystem 1 mit Energie bzw. Leistung versorgt ist
bzw. wird, indem ein Hauptleistungsschalter (nicht gezeigt) eingeschaltet
wird, liest die CPU 6, basierend auf einem Betriebssystem,
das auf dem Aufzeichnungsmedium 5 aufgezeichnet ist, Bild-,
Ton- und Spielprogrammdaten vom Aufzeichnungsmedium 5.
Ein Abschnitt oder die Gesamtheit der Bild-, Ton- und Spielprogrammdaten,
die durch die CPU 6 gelesen werden, ist bzw. wird im RAM 8 gespeichert.
-
Anschließend fährt die
CPU 6 mit dem Spiel fort, basierend auf den Spielprogrammdaten,
die im RAM 8 gespeichert sind, und auf Instruktionen bzw. Anweisungen,
die durch die Regel- bzw. Steuereinrichtung 16 durch einen
Spielteilnehmer eingegeben sind bzw. werden. Mit anderen Worten,
die CPU 6 generiert bzw. erzeugt basierend auf Instruktionen
von dem Spielteilnehmer über
die Regel- bzw. Steuereinrichtung 16 Befehle als Aufgaben
für ein
Rendern bzw. Wiedergeben und eine Tonausgabe.
-
Basierend
auf den erzeugten Befehlen führt der
Signalprozessor 11 eine Berechnung der Position eines Spielcharakters
bzw. einer Spielfigur in einem dreidimensionalen Raum (ähnlich in
einem zweidimensionalen Raum), eine Illuminations- bzw. Beleuchtungsberechnung,
und die Generierung bzw. Erzeugung und ein Be- bzw. Verarbeiten
von Schallbzw. Tondaten durch.
-
Als
nächstes
führt basierend
auf einem Ergebnis der Berechnung der Bildprozessor 12 das Schreiben
von Bilddaten durch, die im Anzeigebereich des RAM 8 zu
rendern sind. Die Bilddaten, die im RAM 8 geschrieben sind,
werden an den D/A-Wandler 17 über die I/F Schaltung 13 geliefert. Die
gelieferten Bilddaten werden in analoge Videosignale durch den D/A-Wandler 17 umgewandelt.
Die Videosignale werden an den TV Monitor 2 geliefert, und
werden als ein Bild auf dem Schirm des TV Monitors 2 angezeigt
bzw. dargestellt.
-
Die
Schall- bzw. Tondatenausgabe von dem Signalprozessor 11 wird
an den D/A-Wandler 18 über die
I/F Schaltung 14 geliefert. Die gelieferten Tondaten werden
in analoge Tonsignale umgewandelt, und werden als Ton von dem Lautsprecher 4 über die
Verstärkungsschaltung 3 ausgegeben.
-
Als
nächstes
wird das Schreiben von Texturdaten durch den Bildprozessor 12 unter
Bezugnahme auf 1 beschrieben.
-
Wie
oben beschrieben, führt
der Signalprozessor 11 eine Berechnung basierend auf Befehlen von
der CPU 6 durch, und der Bildprozessor 12 führt basierend
auf einem Ergebnis der Berechnung das Schreiben von Bilddaten durch,
die im Anzeigebereich des RAM 8 zu rendern sind.
-
Der
RAM 8 weist einen Nicht-Anzeigebereich und den Anzeigebereich
(Rahmenpuffer) auf. Im Nicht-Anzeigebereich wird Information, die
auf dem Aufzeichnungsmedium 5 aufgezeichnet ist, wie beispielsweise
Polygondaten, Texturauswahldaten, und Farbdaten (Texturdaten) gespeichert.
-
Die
Polygone sind zweidimensionale virtuelle polygonale Figuren, die
Gegenstände
bzw. Objekte ausbilden bzw. darstellen, die in dem Spielraum bereitgestellt
sind, d.h., Modelle und Spielcharaktere bzw. -figuren. In der ersten
Ausführungsform
werden Dreiecke und Vierecke als die Polygone verwendet. Die Texturen
sind zweidimensionale Bilder, die auf den Polygonen eingefügt bzw.
gepastet sind, so daß Bilder
ausgebildet werden. Die Farbdaten spezifizieren die Farben der Texturen.
-
Die
Polygondaten, welche Koordinatendaten an Scheiteln sind, die die
Polygone ausbilden, und die Texturauswahldaten, welche Texturen
entsprechend den Polygonen auswählen,
werden gespeichert, um integriert bzw. aufgenommen zu werden.
-
Befehle
zum Rendern bzw. Wiedergeben, die durch die CPU 6 generiert
bzw. erzeugt werden, enthalten Befehle, die Polygone verwenden,
um dreidimensionale Bilder zu rendern, und Befehle zum Rendern von
gewöhnlichen
zweidimensionalen Bildern.
-
Jeder
Befehl, der Polygone verwendet, um ein dreidimensionales Bild zu
rendern, besteht aus Polygon-Scheitel-Adreßdaten in dem Nicht-Anzeigebereich
des RAM 8; Texturadreßdaten,
die eine Position des RAM 8 repräsentieren bzw. darstellen,
bei welcher die Texturdaten, die auf einem Polygon einzufügen sind,
gespeichert sind; Farbadreßdaten,
die eine Position im Anzeigebereich des RAM 8 repräsentieren,
an welcher die Farbdaten, die die Farbe einer Textur repräsentieren,
gespeichert sind bzw. werden; und Glanz- bzw. Helligkeitsdaten,
die den Glanz bzw. die Helligkeit der Textur repräsentieren.
-
Unter
diesen Daten werden die Polygon-Scheitel-Adreßdaten in dem Nicht-Anzeigebereich
des RAM 8 durch zweidimensionale Polygon-Scheitel-Koordinatendaten
unter Verwendung des Signalprozessors 11 ersetzt, um basierend
auf Bewegungsmengen- bzw. -größendaten
und Rotationsmengen- bzw. -größendaten
an einem Schirm (Blick- bzw. Gesichtspunkt), Koordinatentransformation
und die Transformation einer perspektivischen Projektion von Polygon-Scheitel-Koordinatendaten
in einem dreidimensionalen Raum von der CPU 6 durchzuführen.
-
Die
zweidimensionalen Polygon-Scheitel-Adreßdaten repräsentieren eine Adresse in dem Anzeigebereich
des RAM 8. Der Bildprozessor 12 schreibt Texturdaten,
die durch zuvor zugewiesene Texturadreßdaten in einem Bereich des
Anzeigebereichs des RAM 8 repräsentiert sind, welche durch drei
oder vier Polygon-Scheitel-Adreßdaten
repräsentiert
sind. Dadurch werden Gegenstände,
die durch ein Einfügen
bzw. Pasten von Texturen an Polygonen ausgedrückt werden, am Schirm des TV
Monitors 2 angezeigt.
-
Das
Videospiel, das durch das Spielsystem 1 durchgeführt wird,
wird kurz unter Bezugnahme auf 2 und 3 beschrieben. 2 und 3 zeigen
Videospielschirme.
-
Im
Videospiel bewegt sich ein vorderer Charakter bzw. eine vordere 31 umher, wie dies in 2 gezeigt
ist. Der vordere Charakter 31 ist ein Graffito, das aus
dem Körper
bzw. einer Karosserie eines Busses 32 herauskommt, und
besteht zweidimensional aus einem Polygon.
-
Hintergrundmodelle,
die weiter bzw. entfernter als der vordere Charakter 31 von
einem Blick- bzw. Gesichtspunkt bereitgestellt sind, wie beispielsweise
der Bus 32 (gezeigt in 2), und
hölzerne Wände 33 und 34,
und ein Boden 35 (in 3 gezeigt),
bestehen dreidimensional aus einer Mehrzahl von Polygonen.
-
In 2 und 3 ist
ein Schatten 36 des vorderen Charakters 31, der
durch Licht von einer virtuellen Lichtquelle verursacht ist, angezeigt.
-
In 2 wird
der Schatten 36 der vorderen 31 angezeigt,
wobei sein Abschnitt bzw. Anteil entlang der Oberfläche des
Busses 32 verloren ist. In 3 sind ein
Schatten 36a an der Wand 33 als ein Hintergrund,
ein Schatten 36b an der Wand 34 senkrecht zu der
Wand 33, und ein Schatten 36c an einem Boden 35 als
Schatten 36 einer vorderen 31 angezeigt.
-
4 zeigt
ein funktionelles Blockdiagramm der CPU 6, und Abschnitte
des Spielsystems 1. In 4 sind Komponenten
zwischen dem Bus 7 und jedem Block nicht gezeigt.
-
In 4 enthält das Aufzeichnungsmedium 5 ein
Programm für
ein Spiel, das in einem Spielraum (virtuellen dreidimensionalen
Raum) durchgeführt wird.
Das Programm enthält
die Koordinaten eines Polygons, das zweidimensional die vordere
Figur (2) ausbildet, die Koordinaten von Poly- gonen, die
dreidimensional den Bus 32 (2) und die
Wände 33 und 34,
und den Boden 35 (3) ausbilden bzw.
aufbauen, und die Koordinaten einer virtuellen Lichtquelle.
-
Das
Programm beinhaltet Texturen, die verschiedene Lagen bzw. Stellungen
der vorderen 31, wie in 2 und 3 gezeigt,
angeben bzw. andeuten, und Texturen, die die jeweiligen Hintergrundmodelle
angeben.
-
Das
Programm enthält
Daten, die Schatten repräsentieren,
als Daten, die die Farben der Texturen spezifizieren.
-
Die
CPU 6 enthält
Projektionsmittel 61 und Farbdaten-Festlegungsmittel 62.
-
Die
Projektionsmittel 61 beinhalten Koordinatentransformationsmittel 71, Überlagerungs-Festlegungs-
bzw. -Bestimmungsmittel 72, Polygonbetätigungsmittel 73,
Texturbetätigungsmittel 74,
und Koordinaten-Umkehrtransformationsmittel 75, und führen ein
Be- bzw. Verarbeiten für
ein Anzeigen von Spielcharakter- bzw. -figurschatten durch.
-
Betreffend
ein Anzeigen von Spielcharakterschatten ist es erforderlich, daß der Schatten
eines Spielcharakters nur angezeigt wird, wo der Charakter bzw.
die Figur auf einem Hintergrundmodell überlagert wird, ohne angezeigt
zu werden, wo der Charakter überlagert
ist. Demgemäß werden
die Überlagerungsabschnitte
durch die Projektionsmittel 61 gefunden.
-
Die
Koordinatentransformationsmittel 71 projizieren jeden Scheitel
von Polygonen, die die Hintergrundmodelle (nachfolgend als "Modellpolygone" erwähnt) ausbilden,
auf eine Ebene, die Polygone (nachfolgend als "Charakter- bzw. Figurpolygone" erwähnt) enthalten,
die die vordere 31 ausbilden bzw.
darstellen.
-
Die
Projektion wird durchgeführt,
indem die Koordinaten von Punkten gefunden werden, an welchen gerade
Linien zwischen den Scheiteln eines Polygonmodells 41 und
einer virtuellen Quelle 42 eine Ebene 44 schneiden
bzw. kreuzen, die ein Charakter- bzw. Figurpolygon 43 enthält. Ein
Polygon 45, das aus den jeweiligen Punkten besteht, wird
nachfolgend als ein "projiziertes
Polygon" erwähnt bzw.
bezeichnet.
-
Die Überlagerungs-Bestimmungsmittel 72 (in 4 gezeigt)
bestimmen, ob das Projektionspolygon 45 (in 5 gezeigt)
auf das Charakterpolygon 43 (in 5 gezeigt) überlagert
ist.
-
Wenn
die Überlagerungs-Bestimmungsmittel 72 bestimmt
haben, daß das
projizierte Polygon 45 auf das Charakterpolygon 43 überlagert
ist bzw. wird, berechnen die Polygonbetätigungsmittel 73 eine
Scheitelliste eines gemeinsamen Polygons, das durch Überlagerung
des Charakterpolygons 43 und des projizierten Polygons 45 ausgebildet
ist.
-
Die
Scheitelliste weist Koordinatendaten an den Scheiteln des gemeinsamen
Polygons, und Daten über
die Scheitel auf. Zum Erzeugen des gemeinsamen Polygons ist es erforderlich, daß nicht
nur die Koordinatendaten an den Scheiteln, sondern auch die Ordnung
der Scheitel bekannt ist. Demgemäß wird das
gemeinsame Polygon durch ein Berechnen der Scheitelliste erzeugt.
In dieser Ausführungsform ist
bzw. wird die Ordnung des gemeinsamen Polygons eingestellt, um im
Uhrzeigersinn zu sein.
-
Die
Texturbetätigungsmittel 74 berechnen Unterschiede
zwischen den Scheiteln des gemeinsamen Polygons und den Scheiteln
des Charakterpolygons 43, und berechnen basierend auf den
Unterschieden die Texturkoordinaten des gemeinsamen Polygons.
-
Dieses
Be- bzw. Verarbeiten wird durchgeführt, damit in der Textur, die
den vorderen Charakter 31 angibt, nur ein Bereich, der
dem gemeinsamen Polygon entspricht, auf ein inverses bzw. umgekehrt projiziertes
Polygon gepastet werden kann (unten beschrieben). Dadurch kann der
Schatten 36, dessen Teil entlang der Form des Busses 32 verloren
ist bzw. wird, angezeigt werden, wie dies in 2 gezeigt
ist.
-
Die
Koordinaten-Umkehrtransformationsmittel 75 erhalten ein
umgekehrt projiziertes Polygon, indem das erhaltene Polygon auf
die Ebene des ursprünglichen
Polygons projiziert wird.
-
Diese
Projektion wird durchgeführt, ähnlich der
Projektion durch die Koordinaten-Transformationsmittel 71,
indem die Koordinaten von Punkten gefunden werden, an welchen Linien
zwischen den Scheiteln des gemeinsamen Polygons und der virtuellen
Lichtquelle 42 eine Ebene schneiden bzw. kreuzen, die das
Modellpolygon 41 enthält.
-
Die
Farbdaten-Festlegungsmittel 62 legen als Texturfarbdaten,
die auf das gemeinsame Polygon zu pasten sind, Farbdaten (die auf
dem Aufzeichnungsmedium 5 aufgezeichnet sind) fest, die
einen Schatten repräsentieren.
-
Der
Bildprozessor 12 fügt
eine Textur basierend auf festgelegten bzw. eingestellten Texturkoordinaten
auf ein umgekehrt projiziertes Polygon ein, das durch ein Projizieren
des gemeinsamen Polygons auf die Ebene des ursprünglichen Modellpolygons erhalten
wird. Gleichzeitig schreibt der Bildprozessor 12 Farbdaten,
die einen festgelegten Schatten repräsentieren, in den Anzeigebereich
des RAM 8.
-
Zum
Erhalten von Texturfarbdaten, durch ein Mischen der Farbdaten, die
einen festgelegten Schatten repräsentieren,
und Farbdaten auf dem Hintergrundmodell bei einem vorbestimmten
Verhältnis,
und Schreiben der erhaltenen Farbdaten in dem Anzeigebereich des
RAM 8 kann ein Schatten mit mehr virtueller Realität angezeigt
werden.
-
Unter
Bezugnahme auf 6 bis 8 wird ein
Prozeß für ein Anzeigen
eines Schattens basierend auf den in 9 bis 11 gezeigten
Flußdiagrammen
beschrieben.
-
6 zeigt
eine Polygonüberlagerungsbestimmung. 7 und 8 zeigen
eine Überlagerung
des Charakterpolygons 43 und des projizierten Polygons 45. 9 zeigt
einen Prozeß zum
Darstellen bzw. Anzeigen eines Schattens.
-
In 9 werden
in Schritt ST100 die Koordinaten eines Modellpolygons, die auf dem
Aufzeichnungsmedium 5 aufgezeichnet sind, gelesen und im RAM 8 gespeichert.
In Schritt ST110 bestimmt der Prozeß, ob das Modellpolygon im
Schirm des TV Monitors 2 angezeigt wird, wenn eine festgelegte
Position als ein Blick- bzw. Gesichtspunkt verwendet wird. Wenn
kein Modellpolygon in dem Schirm des Monitors 2 angezeigt
wird ("NEIN" in Schritt ST110),
kehrt der Prozeß zu
Schritt ST100 zurück,
und die Koordinaten eines Polygons, die das nächste Modell ausbilden, werden
gelesen.
-
Wenn
es die Koordinaten des gelesenen Polygons im Schirm des TV Monitors 2 gibt
("JA" in Schritt ST110),
werden die Scheitel des Polygons auf eine Ebene projiziert, die
ein Charakterpolygon enthält,
und die Koordinaten von Schnittpunkten werden berechnet (Schritt
ST120).
-
In
Schritt ST130 werden maximale und minimale x- und y-Koordinaten des projizierten
Polygons berechnet.
-
Beispielsweise
im Fall eines Polygons, bestehend aus Scheiteln A0, A1, A2 und A3,
wird
ein Maximum von x-Koordinaten repräsentiert durch xmax,
wird
ein Minimum von x-Koordinaten repräsentiert durch xmin,
wird
ein Maximum von y-Koordinaten repräsentiert durch ymax,
und
wird ein Minimum von y-Koordinaten repräsentiert durch ymin.
-
Zurück auf 9 verweisend,
bestimmt in Schritt ST140 der Prozeß bzw. das Verfahren, ob das projizierte
auf das Charakterpolygon überlagert
ist. Mit anderen Worten, durch ein Verwenden der maximalen und minimalen
x- und y-Koordinaten des projizierten Polygons und des Charakterpolygons
wird bestimmt, ob beide Polygone aufeinander überlagert sein bzw. werden
können.
-
Beispielsweise
bestimmt, wenn betreffend das projizierte Polygon,
ein Maximum
von x-Koordinaten repräsentiert
wird durch mxmax,
ein Minimum von x-Koordinaten
repräsentiert
wird durch mxmin,
ein Maximum von y-Koordinaten
repräsentiert
wird durch mymax, und
ein Minimum von
y-Koordinaten repräsentiert
wird durch mymin, und
betreffend das
Charakterpolygon,
ein Maximum von x-Koordinaten repräsentiert
wird durch cxmax,
ein Minimum von x-Koordinaten
repräsentiert
wird durch cxmin,
ein Maximum von y-Koordinaten
repräsentiert
wird durch cymax, und
ein Minimum von
y-Koordinaten repräsentiert
wird durch cymin,
unter den folgenden
Ungleichungen:
cxmax < mxmin;
cxmin > mxmax;
cymax < mymin;
und
cymin > mymax;
eine
Ungleichung erfüllt
wird, der Prozeß,
daß beide Polygone
nicht aufeinander überlagert
sein bzw. werden können.
-
Wenn
beide Polygone nicht überlagert
sein können
("NEIN" in Schritt ST140),
kehrt der Prozeß zu
Schritt ST100 zurück.
-
Wenn
beide Polygone überlagert
sein können
("JA" in Schritt ST140),
werden eine Scheitelliste an bzw. auf dem Charak terpolygon, und
eine Scheitelliste an bzw. auf dem projizierten Polygon in Schritt ST150
erzeugt.
-
Eine
Scheitelliste an dem Charakterpolygon 43, das in 7 gezeigt
ist, wird dargestellt durch
C0(Cvtx0) – C1(Cvtx1) – C2(Cvtx2) – C3(Cvtx3) – C0(Cvtx0) –.
-
Eine
Scheitelliste am Polygon 45, das in 7 gezeigt
ist, wird dargestellt durch
M0(Mvtx0) – M1(Mvtx1) – M2(Mvtx2) – M3(Mvtx3) – M0(Mvtx0) –.
-
In
diesen numerischen Ausdrücken
repräsentieren
Cvtx0, Cvtx1, Cvtx2 und Cvtx3 Koordinatendaten an Scheiteln C0,
C1, C2 bzw. C3, und repräsentieren
Mvtx0, Mvtx1, Mvtx2, und Mvtx3 Koordinatendaten an Scheiteln M0,
M1, M2 bzw. M3.
-
In
Schritt ST160 (in 9 gezeigt) wird ein Liniensegment
(nachfolgend als ein "Modelliniensegment" bezeichnet bzw.
erwähnt),
das eine Seite des projizierten Polygons 45 ausbildet,
herbeigeholt.
-
In
Schritt ST170 (in 10 gezeigt) wird beispielsweise
durch ein Verwenden einer bekannten Flag-Status-Bestimmungstechnik
bestimmt, ob das Modelliniensegment jedes Liniensegment (nachfolgend
als ein "Charakterliniensegment" erwähnt) schneidet
bzw. kreuzt, das das Charakterpolygon 43 ausbildet.
-
Wenn
beide Liniensegmente nicht schneiden bzw. kreuzen ("NEIN" in Schritt ST170),
schreitet der Prozeß zu
Schritt ST180 fort. Wenn beide Liniensegmente schneiden bzw. kreuzen
("JA" in Schritt ST170),
werden die Koordinatenpunkte, an welchen beide Liniensegmente schneiden
bzw. kreuzen, in Schritt ST190 berechnet.
-
In
Schritt ST200 bestimmt der Prozeß, ob der Anfangspunkt des
Modelliniensegments außerhalb des
Charakterpolygons 43 liegt. Wenn es nicht den Anfangspunkt
außerhalb
des Charakterpolygons 43 gibt ("NEIN" in
Schritt ST200), schreitet der Prozeß zu Schritt ST230 fort.
-
Wenn
in Schritt ST200 der Anfangspunkt des Modelliniensegments außerhalb
des Charakterpolygons 43 ist ("JA" in
Schritt ST200), werden in Schritt ST220 die Koordinatendaten (in
der Scheitelliste des projizierten Polygons) an dem Anfangspunkt
des Modellsegments, die geschnitten bzw. gekreuzt haben, durch Koordinatendaten
an Scheiteln eines Schnitts bzw. Schnittpunkts ersetzt, und die
ersetzten Koordinatendaten werden mit der Scheitelliste am Charakterpolygon 43 kombiniert.
Der Prozeß kehrt
zu Schritt ST170 zurück,
und er bestimmt, ob das Modelliniensegment mit einem anderen Charaktersegment schneidet
bzw. kreuzt.
-
In
Schritt ST230 werden die Koordinatendaten (in der Scheitelliste
des Charakterpolygons 43) am Anfangspunkt des Charakterliniensegments,
die geschnitten bzw. gekreuzt haben, durch Koordinatendaten an Scheiteln
eines Schnitts ersetzt, und die ersetzten Koordinatendaten werden
mit der Scheitelliste am projizierten Polygon kombiniert. Der Prozeß kehrt
zu Schritt ST170 zurück,
und er bestimmt, ob das Modelliniensegment mit einem anderen Charaktersegment
kreuzt bzw. schneidet.
-
In
Schritt ST180 bestimmt der Prozeß, ob kein Modelliniensegment,
das herbeizuholen ist, detektiert wird. Wenn ein Modelliniensegment
detektiert wird ("NEIN" in Schritt ST180),
wird das nächste
Modelliniensegment herbeigeholt (Schritt ST240), bevor der Prozeß zu Schritt
ST170 zurückkehrt.
Wenn kein Modelliniensegment detektiert wird ("JA" in
Schritt ST180), schreitet der Prozeß zu Schritt ST250 fort (in 11 gezeigt).
-
Unter
Bezugnahme auf 7 werden die Schritte ST160
bis ST240 beschrieben. In 7 werden
Koordinatendaten am Scheitel P0 eines Schnitts dargestellt bzw.
repräsentiert
durch Pvtx0, und Koordinatendaten am Scheitel P1 eines Schnitts
werden dargestellt durch Pvtx1.
-
Wenn
das Modelliniensegment M0M1 in Schritt ST160 herbeigeholt wird,
werden die Koordinatendaten Pvtx0 am Scheitel P0 eines Schnittpunkts
in Schritt ST190 berechnet, weil das Liniensegment ein Charakterliniensegment
C1C2 schneidet bzw. kreuzt. Da der Endpunkt M1 des Modelliniensegments
M0M1 außerhalb
ist, schreitet der Prozeß von
Schritt ST200 zu Schritt ST230 fort.
-
In
Schritt ST230 werden in der folgenden Scheitelliste am Charakterpolygon 43:
C0(Cvtx0) – C1(Cvtx1) – C2(Cvtx2) – C3(Cvtx3) – C0(Cvtx0) –.
-
Koordinatendaten
am Anfangspunkt C1 des Charakterliniensegments C1C2, die gekreuzt
bzw. geschnitten haben, durch Koordinatendaten am Scheitel P0 des
Schnittpunkts ersetzt. Dadurch wird die Scheitelliste am Charakterpolygon 43 wie
folgt ausgedrückt:
C0(Cvtx0) – C1(Pvtx0) – C2(Cvtx2) – C3(Cvtx3) – C0(Cvtx0) –.
-
Außerdem werden
in der folgenden Scheitelliste am projizierten Polygon 45:
M0(Mvtx0) – M1(Mvtx1) – M2(Mvtx2) – M3(Mvtx3) – M0(Mvtx0) –.
-
Listen
nach Koordinatendaten Pvtx0 (in der Scheitelliste am Charakterpolygon 43)
am Scheitel P0 des Schnittpunkts mit dem Anfangspunkt M0 des Modelliniensegments
M0M1 kombiniert, die gekreuzt bzw. geschnitten haben.
-
Dadurch
wird die gewünschte
Scheitelliste:
M0(Mvtx0) – C1(Pvtx0) – C2(Cvtx2) – C3(Cvtx3) – C0(Cvtx0) – C1(Pvtx0) –.
temporär bzw. zeitlich
vorübergehend
erhalten.
-
In
Schritt ST240 werden Modelliniensegmente M1M2 und M2M3 herbeigeholt.
Die gewünschte
Scheitelliste ändert
sich nicht, da beide Liniensegmente nicht das Charakterliniensegment schneiden
bzw. kreuzen ("NEIN" in Schritt ST170).
-
Wenn
ein Modelliniensegment M3M0 in Schritt ST240 herbeigeholt wird,
werden die Koordinatendaten Pvtx1 am Scheitel P1 des Schnittpunkts in
Schritt ST190 berechnet, weil das Liniensegment M3M0 das Charakterliniensegment
C2C3 schneidet bzw. kreuzt. Der Anfangspunkt M3 des Liniensegments
M3M0 ist außerhalb
des gemeinsamen Polygons. Demgemäß schreitet
der Prozeß von
Schritt ST200 zu Schritt ST220 fort.
-
In
Schritt ST220 werden in der Scheitelliste am projizierten Polygon 45 Koordinatendaten
am Anfangspunkt M3 des Liniensegments M3M0, die geschnitten bzw.
gekreuzt haben, durch Koordinatendaten am Scheitel P1 eines Schnittpunkts
ersetzt.
-
In
der temporär
bzw. vorübergehend
erhaltenen gewünschten
Scheitelliste wird ein Scheitel, der Koordinatendaten am Scheitel
P1 eines Schnittpunkts aufweist, d.h. Scheitel M3 mit dem Anfangspunkt
des Liniensegments C2C3 kombiniert.
-
Dadurch
wird schließlich
die gewünschte Scheitelliste:
M0(Mvtx0) – C1(Pvtx0) – C2(Cvtx2) – M3(Pvtx1) – M0(Mvtx0) – C1(Pvtx0) –.
erhalten.
-
Diese
Scheitelliste weist Koordinatendaten an den Scheiteln des gemeinsamen
Polygons auf (dem Schattierungsabschnitt, der in 7 gezeigt ist),
das durch einen Schnitt des Charakterpolygons 43 und des
projizierten Polygons 45 ausgebildet ist, und Daten über die
Ordnung bzw. Reihenfolge der Scheitel.
-
Die
Schritte ST160 bis ST240 für
eine andere Überlagerung
des Charakterpolygons 43 und des projizierten Polygons 45 sind
bzw. werden unter Bezugnahme auf 8 beschrieben.
In 8 werden Koordinatendaten am Scheitel Q0 eines
Schnitts durch Qvtx0 repräsentiert,
und Koordinaten am Scheitel Q1 eines Schnitts werden durch Qvtx1
repräsentiert.
-
Wenn
das Modelliniensegment M0M1 in Schritt ST160 herbeigeholt wird,
bestimmt der Prozeß negativ
("NEIN" in Schritt ST170),
da das Modelliniensegment M0M1 nicht das Charakterpolygon 43 kreuzt
bzw. schneidet, und das nächste
Modelliniensegment M1M2 wird herbeigeholt. Da das herbeigeholte
Liniensegment M1M2 das Charakterliniensegment C0C1 schneidet bzw.
kreuzt, werden in Schritt ST190 Koordinatendaten Qvtx0 am Scheitel
Q0 eines Schnittpunkts berechnet. Der Anfangspunkt M1 des Modelliniensegments
M1M2 ist außerhalb
des gemeinsamen Polygons. Demgemäß schreitet
der Prozeß von
Schritt ST200 zu Schritt ST220 fort.
-
Im
Schritt ST220 werden in der folgenden Scheitelliste an dem projizierten
Polygon 45:
M0(Mvtx0) – M1(Mvtx1) – M2(Mvtx2) – M3(Mvtx3) – M0(Mvtx0) –.
die
Koordinatendaten am Ausgangs- bzw. Anfangspunkt M1 des Modelliniensegments
M1M2, die gekreuzt bzw. geschnitten haben, durch die Koordinatendaten
am Scheitel Q1 des Schnitts ersetzt. Dadurch ist die Scheitelliste
an dem projizierten Polygon 45 wie folgt:
M0(Mvtx0) – M1(Qvtx0) – M2(Mvtx2) – M3(Mvtx3) – M0(Mvtx0) –.
-
In
der folgenden Scheitelliste am Charakterpolygon 43:
C0(Cvtx0) – C1(Cvtx1) – C2(Cvtx2) – C3(Cvtx3) – C0(Cvtx0) –.
wird
der Scheitel basierend auf den Koordinatendaten Qvtx von Scheitel
Q0 des Schnitts in der Scheitelliste an dem projizierten Polygon 45 mit
dem Anfangspunkt C0 des Charakter- bzw. Figurliniensegments C0C1
kombiniert, das geschnitten bzw. gekreuzt hat.
-
Dadurch
wird die temporäre
gewünschte Scheitelliste:
C0
(Cvtx0) – M1
(Qvtx0) – M2
(Mvtx2) – M3
(Mvtx3) – M0
(Mvtx0) – M1(Qvtx0) –.
erhalten.
-
Wenn
das Modelliniensegment M2M3 in Schritt ST240 herbeigeholt ist, werden
die Koordinatendaten Qvtx1 am Scheitel Q1 des Schnitts in Schritt ST190
berechnet, weil das herbeigeholte Liniensegment das Charakterliniensegment
C3C0 schneidet bzw. kreuzt. Der Endpunkt M3 des Modelliniensegments
M2M3 ist außerhalb
des gemeinsamen Polygons. Dem gemäß schreitet
der Prozeß von
Schritt ST210 zu Schritt ST230 fort.
-
In
Schritt ST230 sind bzw. werden in der Scheitelliste am Charakterpolygon 43 die
Koordinatendaten am Anfangspunkt C3, welcher außerhalb des Charakterliniensegments
C3C0 ist, durch die Koordinatendaten am Scheitel Q1 des Schnitts
ersetzt.
-
In
der temporären
gewünschten
Scheitelliste ist bzw. wird ein Scheitel, der die Koordinatendaten am
Charakterpolygonscheitel Q1 des Schnitts, d.h. Scheitel C3, aufweist,
mit dem Anfangspunkt M2 weiter innen als das Modelliniensegment
M2M3 kombiniert, das gekreuzt bzw. geschnitten hat.
-
Dadurch
wird die endgültige
gewünschte Scheitelliste:
C0(Cvtx0) – M1(Qvtx0) – M2(Mvtx2) – C3(Qvtx1) – C0(Cvtx0) – M1(Qvtx0) –.
erhalten.
-
Die
erhaltene gewünschte
Scheitelliste weist Koordinatendaten an bzw. über Scheiteln des gemeinsamen
Polygons (dem in 8 gezeigten Schattierungsteil),
das durch einen Schnitt des Charakterpolygons 43 und des
projizierten Polygons 45 ausgebildet ist, und Daten über die
Ordnung der Scheitel auf.
-
Zurück auf 11 verweisend,
werden der Schritt ST250 und die anschließenden Schritte beschrieben.
-
In
Schritt ST250 wird ein Scheitel (beispielsweise Scheitel M0 in 7)
aus der erhaltenen Scheitelliste herbeigeholt. In Schritt ST260
wird der Unterschied zwischen dem herbeigeholten Scheitel und einem
Referenz- bzw. Bezugsscheitel (beispielsweise Scheitel C0 in 7)
des Charakterpolygons 43 gefunden und die Texturkoordinaten
des herbeigeholten Scheitels werden basierend auf dem Unterschied
gefunden.
-
Der
Scheitel wird von einer im Charakterpolygon enthaltenen Ebene auf
die ursprüngliche
Polygonebene in Schritt ST120 projiziert, und die Koordinaten eines
Schnittpunkts werden in Schritt ST270 gefunden.
-
In
Schritt ST280 wird bestimmt, ob ein Scheitel, der herbeizuholen
ist, detektiert worden ist. Wenn ein Scheitel, der herbeizuholen
ist, detektiert wird ("NEIN" in Schritt ST280),
wird der nächste
Scheitel (beispielsweise Scheitel P0 in 7) in der
Scheitelliste in Schritt ST290 herbeigeholt, und der Prozeß kehrt
zu Schritt ST260 zurück.
-
Wenn
kein Scheitel, der herbeizuholen ist, detektiert wird ("JA" in Schritt ST280),
werden Daten auf der erhaltenen Scheitelliste und die Texturkoordinatendaten
von der CPU 6 an den Bildprozessor 12 in Schritt
ST300 gesandt.
-
Als
nächstes
wird in Schritt ST310 bestimmt, ob ein Polygonmodell detektiert
worden ist. Wenn ein Polygonmodell detektiert worden ist ("NEIN" in Schritt ST310),
kehrt der Prozeß zu
Schritt ST100 zurück
(in 9 gezeigt). Wenn kein Polygonmodell detektiert worden
ist ("JA" in Schritt ST310),
endet der Prozeß.
-
Für die Hintergrundmodelle,
wie beispielsweise den Bus 32 (in 2 gezeigt),
die hölzernen Wände 33 und 34,
und den Boden 35 (in 3 gezeigt),
wird der oben beschriebene Prozeß durchgeführt.
-
Wie
oben beschrieben, kann gemäß dieser Ausführungsform
durch ein Anzeigen des Schattens 36 des zweidimensionalen
vorderen Charakters 31 auf Hintergrundmodellen der vordere
Charakter 31 klar bzw. deutlich angezeigt werden, um näher zu einem
Blick- bzw. Gesichtspunkt zu sein als die Hintergrundmodelle, nämlich der
Bus 32 (in 2 gezeigt) und die hölzernen
Wände 33 und 34 (in 3 gezeigt).
-
Durch
ein Anzeigen des Schattens 36 auf dreidimensionale Hintergrundmodelle
kann die virtuelle Realität
des Schattens 36 gesteigert werden.
-
Durch
ein Projizieren eines Modellpolygons auf eine Ebene, die ein Charakterpolygon
enthält,
so daß ein
projiziertes Polygon berechnet wird, und ein Bestimmen in einem
zweidimensionalen System, ob das Charakterpolygon auf dem projizierten
Polygon überlagert
ist, kann ein gemeinsames Polygon leicht ohne eine Zunahme in einer
Berechnungsbelastung berechnet werden.
-
Die
vorliegende Erfindung ist nicht auf die oben beschriebene Ausführungsform
beschränkt.
Jedoch können
die folgenden Modifikationen (1) bis (3) der vorliegenden Erfindung
verwendet werden.
- (1) Nicht nur Koordinatendaten,
die tatsächlich zum
Rendern an einem Monitor verwendet werden, sondern auch vereinfachte
Koordinatendaten, die notwendigerweise Minimumformdaten enthalten,
können
als Koordinatendaten über
Polygone verwendet werden, die Hintergrundmodelle ausbilden.
- (2) Die Position einer virtuellen Lichtquelle kann festgelegt
sein, um weit bzw. entfernt von einem vorderen Charakter zu sein,
beispielsweise an einer ungefähr
unendlichen entfernten Position. In diesem Fall kann eine virtuelle
Wirkung, in welcher ein Schatten, der durch Sonnenlicht ausgebildet
ist, ausgedrückt
bzw. dargestellt wird, erhalten werden.
- (3) Die funktionellen Blöcke
der Projektionsmittel 61 können die folgenden Funktionen
aufweisen. Die Koordinatentransformationsmittel 71 finden die
Scheitel eines dreidimensional transformierten Polygons, das aus
Punkten besteht, an welchen gerade Linien zwischen den Scheiteln
eines Charakterpolygons und einer virtuellen Lichtquelle ein Modellpolygon
schneiden bzw. kreuzen. Die Überlagerungs-Bestimmungsmittel 72 bestimmen,
ob das dreidimensional transformierte Polygon auf das Modellpolygon überlagert
ist. Die Polygon-Betriebs- bzw. -Betätigungsmittel 73 berechnen
ein Überlagerungspolygon,
das aus einem Bereich besteht, an welchem das dreidimensional transformierte
Polygon auf das Modellpolygon überlagert
ist.
-
Die
Textur-Betätigungsmittel 74 projizieren das Überlagerungspolygon
auf eine Ebene, die das Charakterpolygon enthält, ähnlich einer Projektion durch
die Koordinatentransformationsmittel 71 in der oben beschriebenen
Ausführungsform.
Die Texturbetätigungsmittel 74 berechnen
Unterschiede zwischen den Koordinaten des projizierten Polygons
und den Koordinaten des Charakterpolygons, und berechnen basierend
auf dem Unterschied die Texturkoordinaten des Überlagerungspolygons.
-
Auch
kann in dieser Modifikation ein Schatten wie in der oben beschriebenen
Ausführungsform angezeigt
bzw. darge stellt werden. Diese Modifikation beseitigt die Notwendigkeit
für die
Koordinaten-Umkehrtransformationsmittel 75 als einen funktionellen
Block der Projektionsmittel 61.