-
Die
vorliegende Erfindung bezieht sich auf eine dreidimensionale (3D)
Bildverarbeitungstechnik eines Anwendens einer spezifischen Bildverarbeitungsverarbeitung,
um ein Modell, das in einem simulierten dreidimensionalen (3D) Raum
angeordnet ist, auf einem Monitor anzuzeigen, nachdem es gerendert
ist, wobei die Technik beispielsweise an Videospielsystemen angewandt
ist bzw. wird.
-
HINTERGRUND DER ERFINDUNG
UND BEKANNTER STAND DER TECHNIK
-
In
den letzten Jahren haben sich verschiedene Spielsysteme, in welchen
Charaktere bzw. Figuren in einem simulierten 3D-Raum gezeigt sind, der auf einem Monitorschirm
generiert bzw. erzeugt wird, verbreitet. Einige dieser Spielsysteme
sind bekannt, daß sie
Schifahren, Surfen, Motorbootfahren, Snowboarding, Skateboarding
usw. simulieren.
-
Weiterhin
wurde, um die Spiele interessanter verglichen mit jenen zu machen,
die in Spielsystemen gespielt werden, welche ein Laufen, Gleiten
oder eine ähnliche
Tätigkeit
auf Oberflächen,
wie der Bodenoberfläche
und Meeresoberfläche
simulieren, für
derartige simulierte Spielsysteme berücksichtigt bzw. betrachtet, daß ein Charakter
veranlaßt
wird, von der Bodenoberfläche,
Meeresoberfläche
oder einer anderen Oberfläche in
einem simulierten 3D-Raum auf einer Monitoroberfläche basierend
auf einer Wellung der Bodenoberfläche, Meeresoberfläche oder
anderen Oberfläche
und der Lauf- (oder Gleit-) -Geschwindigkeit des Charakters zu schwimmen
bzw. abzuheben. Typische Spiele, die in derartigen Spielsystemen
gespielt sind, sind Snowboardspiele und Halfpipespiele, in welchen
Sprünge
wesentliche Elemente sind.
-
Wenn
ein Schatten des Charakters bzw. der Figur auf die Bodenoberfläche, Meeresoberfläche oder andere
Oberfläche
in derartigen Spielsystemen geworfen wird, in welchen der Charakter
veranlaßt
wird, in dem simulierten 3D-Raum zu schwimmen oder zu springen,
kann eine bessere Präsenz
gegeben werden, wodurch Spielsysteme realisiert werden können, welche
Spiele anbieten können,
die eine Vielzahl von interessanten und sinnvollen bzw. klugen Aspekten
aufweisen.
-
Bergeron "A General Version
of Crow's Shadow
Volumes", IEEE Computer
Graphics and applications, Vol. 6, Nr. 9 (1. September 1986), Seiten
17–28
zeigt ein Schattenmodell, welches ursprünglich durch Frank Crow 1977
eingeführt
wurde, und auch einige Jahre später
in "Computer Graphics" (23. Oktober 1990),
Addison-Wesley, von Foley und Van Dam präsentiert wurde. Dieses Modell
beschreibt, wie Schatten generiert werden können, indem für jedes
Objekt ein Schattenvolumen erzeugt wird, welches das Objekt bzw.
den Gegenstand von der Lichtquelle blockiert. Dieses Schattenvolumen
ist durch einen Satz von unsichtbaren Schattenpolygonen gebunden
bzw. begrenzt, wobei drei Seiten eines Schattenpolygons durch eine
Silhouettenkante des Gegenstands und den zwei Linien definiert sind,
die von der Lichtquelle ausgehen und durch den Kantenendpunkt durchtreten.
-
EP 1 170 700 A offenbart
ein Verfahren eines Generierens bzw. Erzeugens eines Schattenraums
eines Ausbildens eines festen Körpers
als ein Schatten in einer 3D-Computergraphik, indem ein fester Körper als
ein Schattenraum eines Polygons gebildet wird, indem Kopien der
entsprechenden Scheitel des Polygons veranlaßt werden, daß sie in
der Vektorrichtung der Lichtstrahlen zu der Grenze des Zeichnungsraums
verschoben werden.
-
ZUSAMMENFASSUNG DER FINDUNG
-
In
Hinblick auf die obige Situation ist ein Ziel bzw. Gegenstand der
vorliegenden Erfindung, ein Bildverarbeitungsverfahren und eine
Vorrichtung zum realistischen und einfachen Ausbilden von Schatten
von Charakteren bzw. Figuren, ein lesbares Speichermedium, das ein
3D-Bildverarbeitungsprogramm speichert, und ein Videospielsystem
zur Verfügung
zu stellen.
-
Um
das obige Ziel zu erreichen, bezieht sich die vorliegende Erfindung
auf eine dreidimensionale Bildverarbeitungsvorrichtung zum Ausbilden
bzw. Erzeugen eines Schattenmodells eines festen Modells, das durch
Polygone gebildet ist, die jeweils Scheitelnormalvektoren aufweisen.
Diese dreidimensionale Bildverarbeitungsvorrichtung umfaßt eine
Scheitelsortiereinheit, um die entsprechenden Scheitel der Polygone,
die das feste Modell ausbilden, in sichtbare Oberflächenscheitel
bzw. Scheitel einer sichtbaren Oberfläche, die in einer Richtung
zu einer Lichtquelle schauen, und versteckte Oberflächenscheitel
bzw. Scheitel einer versteckten Oberfläche zu sortieren, die in einer
Richtung entgegengesetzt zur Lichtquelle schauen bzw. gerichtet
sind, Schattenmodell-Bildungseinheit zum Deformieren des festen
Modells durch ein Bewegen der Scheitel der versteckten Oberfläche in einer
Fortbewegungsrichtung von Strahlen von der Lichtquelle, und einen
Schattenmodellgenerierungs-Datenabschnitt, beinhaltend einen Schattenmodell-Generierungsabschnitt,
der einen Vergrößerungsdatenab schnitt
der versteckten Oberfläche
aufweist, welcher Vergrößerungsraten
(Bx', By', Bz') für die Scheitel
der versteckten Oberfläche
speichert, welche darstellen bzw. repräsentieren, wie viele Scheitel
der versteckten Oberfläche
in dem 3D-Raum vergrößert sind,
dadurch gekennzeichnet, daß die
Schattenmodell-Generierungsmittel das feste bzw. durchgehende Modell
durch ein Vergrößern der
Scheitel der versteckten Oberfläche
von dem Zentrum des festen Modells entsprechend der Vergrößerungsraten
deformieren, die in dem Vergrößerungsdatenabschnitt
gespeichert sind.
-
Gemäß dieser
Konstruktion kann das Schattenmodell leicht unter Verwendung der
Modelldaten des Polygonmodells generiert bzw. erzeugt werden, für welches
ein Schatten auszubilden bzw. zu erzeugen ist.
-
Diese
und andere Gegenstände,
Merkmale und Vorteile der vorliegenden Erfindung werden beim Lesen
der folgenden detaillierten Beschreibung und aus den beiliegenden
Zeichnungen noch ersichtlicher werden.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
1 ist
Blockdiagramm, das eine Ausbildung eines Videospielsystems gemäß der vorliegenden
Erfindung zeigt,
-
2 ist
ein Blockdiagramm, das einen wesentlichen Abschnitt einer 3D-Bildverarbeitungsvorrichtung zeigt,
-
3 ist
ein Flußdiagramm,
das eine Zusammenfassung einer 3D-Bildverarbeitung zeigt, die zum
Anzeigen bzw. Darstellen eines Schattens eines spezifischen Polygonsmodells
auf einem Monitor angewandt ist,
-
4 ist
ein Flußdiagram,
das ein Schattenmodell-Generierungs- bzw. -Bildungsverfahren zeigt,
-
5A bis 5D sind
Diagramme, die Schattenmodelle eines sphärischen bzw. kugelförmigen Modells
als Beispiele zeigen, wobei 5A das
sphärische
Modell zeigt, für
welches Schattenmodelle zu generieren sind, 5B ein
Schattenmodell in dem Fall zeigt, daß die Scheitel der versteckten
Oberfläche
nicht bewegt sind bzw. werden, um sich zu erstrecken oder ihre Abstände von
einem Zentrum des sphärischen
Modells verkürzen, 5C ein
beispielhaftes Schattenmodell in dem Fall zeigt, daß die Scheitel
der versteckten Oberfläche
bewegt werden, um ihre Abstände
von dem Zentrum des sphärischen
Modells zu reduzieren, und 5D ein
exemplarisches bzw. beispielhaftes Schattenmodell. in dem Fall zeigt,
daß die
Scheitel der versteckten Oberfläche
bewegt werden, um ihre Abstände
von dem Zentrum des sphärischen
Modells zu erstrecken,
-
6 ist
ein Flußdiagramm,
das ein Verfahren eines Generierens eines Schattenbilds unter Verwendung
eines Schattenmodells zeigt, und
-
7 und 8 sind
Diagramme, die ein Schattenbild eines Snowboards zeigen, das auf
die Oberfläche
einer Neigung bzw. eines Hangs geworfen ist, wobei das Bild durch
Anwenden eines Schablonenmalens an dem Schattenmodell generiert
ist, wobei 7 das Schattenmodell des Snowboards
zeigt und 8 einen Schatten des Snowboards,
der auf die Oberfläche
der Neigung geworfen ist, und das Schattenmodell zeigt, das durch
die Oberfläche
der Neigung abgetrennt bzw. beschnitten ist.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSBIDLUNGEN DER VORLIEGENDEN ERFINDUNG
-
1 ist
ein Blockdiagramm, das eine Ausbildung eines Videospielsystems gemäß der vorliegenden Erfindung
zeigt. Dieses Spielsystem 1 ist mit einer Hauptspieleinheit,
einem Fernsehmonitor (TV) 2 zum Anzeigen von Bildern eines
Spiels, einer Verstärkungsschaltung 3 und
einem Lautsprecher 4 zum Ausgeben von Toneffekten und dgl.
während
eines Spiels, und einem Speichermedium 5 versehen, das
Spieldaten, umfassend bzw. beinhaltend Spieldaten, Tondaten und
Programmdaten speichert. Das Speichermedium 5 kann eine ROM-Kassette,
in welcher ein ROM, das die Spieldaten und Programmdaten eines Betriebssystems
speichert, in einem Kunststoffgehäuse ist, eine optische Diskette,
eine flexible Diskette usw. sein. In Abhängigkeit von der Art des Spielsystems 1 kann
ein eingebautes ROM oder dgl. verwendet werden.
-
Die
Hauptspieleinheit ist derart konstruiert, daß Busse 7, enthaltend
Adreßbusse,
Datenbusse und Steuer- bzw. Regelbusse mit einer CPU 6 verbunden
sind; ein RAM 8, Interfaceschaltungen 9, 10,
ein Signalprozessor 11, ein Bildprozessor 12 und
Interfaceschaltungen 13, 14 sind mit den Bussen 7 verbunden;
eine Steuer- bzw. Regeleinheit bzw. ein Controller 16 ist
mit der Interfaceschaltung 10 über eine Betriebsinformations-Interfaceschaltung 15 verbunden;
ein Digital-zu-Analog-(D/A)-Wandler 17 ist mit der Interfaceschaltung 13 verbunden;
und ein D/A-Wandler 18 ist mit der Interfaceschaltung 14 verbunden.
-
Eine
Speichereinheit 19 ist durch das RAM 8 die Interfaceschaltung 9 und
das Speichermedium 5 konstruiert; eine Steuer- bzw. Regeleinheit 20 zum
Steuern bzw. Regeln des Fortschritts des Spiels ist durch die CPU 6,
den Signalprozessor 11 und den Bildprozessor 12 konstruiert;
eine Betätigungs-
bzw. Betriebseingabeeinheit 21 ist durch die Interfaceschaltung 10,
die Betriebsinformations-Interfaceschaltung 15 und die
Steuer- bzw. Regeleinheit 16 kon struiert; eine Bildanzeigeeinheit 22 ist
durch den TV-Monitor 2,
die Interfaceschaltung 13 und den D/A-Wandler 17 konstruiert;
und eine Tonausgabeeinheit 23 ist durch die Verstärkungsschaltung 3,
den Lautsprecher 4, die Interfaceschaltung 14 und
den D/A-Wandler 18 konstruiert.
-
Der
Signalprozessor 11 führt
hauptsächlich
eine Berechnung von Positionen von Charakteren bzw. Figuren in einem
simulierten 3D-Raum, eine Berechnung zum Transformieren einer Position
in dem simulierten 3D-Raum zu der einen in einem zweidimensionalen
(2D) Raum, eine Lichtquellenberechnung und ein Lesen und eine Kombination
von verschiedenen Tondaten durch.
-
Der
Bildprozessor 12 positioniert Polygone, die ein Bild ausbilden,
das in einem Anzeigebereich des RAM 8 auszubilden sind,
und führt
ein Rendern bzw. Wiedergeben, wie ein Texturkartenzeichnen bzw.
-abbilden an diesen Polygonen basierend auf dem Berechnungsergebnis
des Signalprozessors 11 aus.
-
Die
Steuer- bzw. Regelschaltung 16 ist mit verschiedenen Knöpfen zum
Wählen
von Spielinhalten, Instruieren des Starts des Spiels und Instruieren
von Tätigkeiten,
Richtung usw. zu einem Hauptcharakter verbunden.
-
Die
Art des Spielsystems 1 differiert in Abhängigkeit
von seiner Anwendung. Spezifisch sind der TV-Monitor 2,
die Verstärkungsschaltung 3 und
der Lautsprecher 4 gesondert von der Hauptspieleinheit
in dem Fall, daß das
Spielsystem 1 für
eine Heimverwendung konstruiert ist, während alle Elemente, die in 1 gezeigt
sind, als eine Einheit in einem Gehäuse in dem Fall enthalten sind,
daß das
Spielsystem 1 zur Geschäftsverwendung
konstruiert ist.
-
In
dem Fall, daß das
Spielsystem 1 mit einem Personal Computer oder einer Arbeitsstation
als einem Kern konstruiert ist, entspricht der TV-Monitor 2 einer
Computeranzeige, der Bildprozessor 12 entspricht Teilen der
Spielprogrammdaten, die in dem Speichermedium 5 oder einer
Hardware auf einer Zusatzkarte gespeichert sind, die an einem Zusatzschlitz
des Computers montiert bzw. befestigt ist, und die Interfaceschaltungen 9, 10, 13, 14,
die D/A-Wandler 17, 18 und die Betriebsinformations-Interfaceschaltung 15 entsprechen
Hardware auf der Zusatzkarte, die an dem Erweiterungs- bzw. Zusatzschlitz
des Computers befestigt ist. Weiterhin entspricht das RAM 8 einem
Hauptspeicher des Computers oder den entsprechenden Bereichen eines
Zusatzspeichers.
-
Ein
Fall, wo das Spielsystem 1 zur Heimverwendung konstruiert
ist, ist unten beschrieben. Zuerst wird die Betätigung des Spielsystems 1 kurz
beschrieben. Wenn ein Leistungsschalter (nicht gezeigt) eingeschaltet wird,
um das Videospielsystem 1 zu aktivieren, liest die CPU 6 Bilddaten,
Tondaten und Spielprogrammdaten von dem Speichermedium 5 in Übereinstimmung
mit dem Betriebssystem, das in dem Speichermedium 5 gespeichert
ist. Alle oder ein Teil der gelesenen Bilddaten, Tondaten und Spielprogrammdaten
sind in dem RAM 8 gespeichert.
-
Danach
wird das Spiel durch die CPU 6 in Übereinstimmung mit den Spielprogrammdaten,
die in dem RAM 8 gespeichert sind, und den Inhalten von
Instruktionen bzw. Anweisungen fortgeführt, die durch einen Spielteilnehmer über die
Steuer- bzw. Regeleinheit 16 gegeben sind. Mit anderen
Wor ten werden Befehle als Aufgaben zum Ausbilden von Bildern und
Ausgeben von Tönen
geeignet in Übereinstimmung
mit Inhalten von Instruktionen generiert bzw. erzeugt, die durch
den Spielteilnehmer über
die Steuer- bzw. Regeleinheit 16 gegeben sind.
-
Der
Signalprozessor 11 führt
eine Berechnung von Positionen von Charakteren bzw. Figuren in dem 3D-Raum
(selbstverständlich
gilt dasselbe für
den 2D-Raum), eine Lichtquellenberechnung, ein Lesen und eine Kombination
von verschiedenen Tondaten in Übereinstimmung
mit diesen Befehlen aus.
-
Nachfolgend
schreibt der Bildprozessor 12 die Bilddaten, die in dem
Anzeige- bzw. Displaybereich des RAM 8 auszubilden sind,
basierend auf dem Berechnungsergebnis des Signalprozessors 11.
Die Bilddaten, die in dem RAM 8 geschrieben sind, werden über die
Interfaceschaltung 13 dem D/A-Wandler 17 zugeführt, welcher
dann die Bilddaten zu dem TV-Monitor 2 zuführt, um
sie als ein Bild auf dem Schirm des TV-Monitors 2 anzuzeigen,
nachdem sie in ein analoges Videosignal umgewandelt sind.
-
Andererseits
werden die Tondaten, die vom Signalprozessor 11 ausgegeben
werden, über
die Interfaceschaltung 14 dem D/A-Wandler 18 zugeführt, welcher
sie wiederum in ein analoges Tonsignal (über ein Filter oder dgl.) umwandelt.
Das konvertierte bzw. umgewandelte Signal wird als ein Spielton
von dem Lautsprecher 4 als ein Ton bzw. Sound generierendes
Mittel über
die Verstärkungsschaltung 3 ausgegeben.
Die Spieltöne
beziehen sich auf BGMs, verschiedene Toneffekte, Präsentationstöne, Stimmen
usw.
-
2 ist
ein Blockdiagramm, das einen wesentlichen Abschnitt einer 3D-Bildverarbeitungsvorrichtung zeigt.
Das RAM 8 ist mit einem Polygondatenabschnitt 80 zum
Speichern von Koordinaten von Scheiteln der entsprechenden Polygone,
Normalen bzw. Normalvektoren der entsprechenden Scheitel, Normalvektoren
von Oberflächen
der Polygone und ähnlichen
Daten, einem Lichtquellenvektordatenabschnitt 81 zum Speichern von
Daten auf einem Vektor, der eine Fortbewegungs- bzw. Ausbreitungsrichtung von Strahlen
von einer Lichtquelle darstellt bzw. repräsentiert, einem Kamerasichtvektordatenabschnitt 82 zum
Speichern von Daten auf einem Vektor, der eine Betrachtungs- bzw.
Sichtrichtung einer virtuellen Kamera darstellt, einen Schattenmodellgenerierungs-Datenabschnitt 83 zum
Speichern von Daten, die verwendet werden, um Schattenmodelle (Schattenvolumina)
zu generieren bzw. zu erzeugen, einem Rahmenpuffer 8a zum
Speichern eines Bilds, das durch Anwenden eines Renders an einem
Polygonmodell erhalten wird, das in dem simulierten 3D-Raum angeordnet
ist, einem Schablonenpuffer 8b zum Speichern eines Schattenbilds,
das durch ein Anwenden eines Schablonenbildens an einem Schattenmodell
erhalten ist, und einem Z-Wert-Datenabschnitt 8c zum
Speichern von Abständen
Z zwischen dem Betrachtungs- bzw. Gesichtspunkt der virtuellen Kamera
und den Polygonen entsprechend den entsprechenden Bildpunkten bzw.
Pixeln in dem simulierten 3D-Raum versehen. Hier wird angenommen,
daß die
Normalvektoren der entsprechenden Scheitel und Oberflächen der
Polygone, der Lichtquellenvektor und der Sichtvektor der Kamera
alle normalisiert sind.
-
Der
Polygondatenabschnitt 80 umfaßt bzw. enthält einen
Modelldatenabschnitt 801 zum Speichern von Daten von Modellen,
für welche
Schattenmodelle zu generieren sind. Der Schattenmodellgenerierungs-Datenabschnitt 83 enthält einen
Parallelbewegungsgrößen-Datenabschnitt 831,
der eine Größe bzw. ein
Ausmaß darstellt,
um welche(s) das Modell, für
welches ein Schattenmodell zu generieren ist, parallel zu einer
Anzeigeposition bewegt ist bzw, wird, um dieses Modell in dem simulierten
3D-Raum anzuordnen, einen Rotationsgrößendatenabschnitt 832,
der eine Größe einer
Rotation des Modells darstellt, einen Vergrößerungsdatenabschnitt 833,
der eine Vergrößerung (Vergrößerung/Reduktion)
des Modells darstellt, einen Parallelbewegungs-Datenabschnitt 834 der
versteckten Oberfläche,
der darstellt, um wieviel ein Satz von Scheiteln der entsprechenden
Polygone (hier als "Scheitel
der versteckten Oberfläche" bezeichnet. Im Gegensatz dazu
wird ein Satz von Scheiteln der Polygone, auf welche Strahlen von
der Lichtquelle projiziert werden, als "Scheitel einer sichtbaren Oberfläche" bezeichnet), auf
welche Strahlen von der Lichtquelle nicht projiziert werden, parallel
in einer Richtung des Lichtquellenvektors bewegt werden sollten,
und einen Vergrößerungsdatenabschnitt 835 der
versteckten Oberfläche,
der darstellt, wie stark Scheitel der versteckten Oberflächen basierend
auf dem Zentrum des Modells vergrößert werden.
-
Der
Signalprozessor 11 enthält
eine ein Schattenmodell generierende Vorrichtung 111 zum
Generieren von Schattenmodellen in einem Verfahren, das später zu beschreiben
ist. Der Bildprozessor 12 enthält eine Schablonen bildende
Vorrichtung 121 zum Generieren eines Schattenbilds aus
bzw. von dem Schattenmodell in einem Verfahren, das Schablonenbilden
genannt wird, eine Abbildungsvorrichtung 122 zum Schreiben
eines Bilds, das durch ein Anwenden eines Renderns an einem Polygonmodell,
das in dem simulierten 3D-Raum angeordnet
ist, in dem Rahmenpuffer 8a erhalten ist, und Schreiben
eines Schattenbilds in dem Schablonenpuffer 8b, und eine
kombinierende Vorrichtung 123 zum Lesen und Kombinieren
des Bilds, das in den Rahmenpuffer 8a geschrieben ist,
und desjenigen, das in den Schablonenpuffer 8b geschrieben
ist, und Schreiben eines kombinierten Bilds in den Rahmenpuffer 8a.
-
3 ist
ein Flußdiagramm,
das eine Zusammenfassung einer 3D-Bild-Verarbeitung zeigt, die angewandt
wird, um ein Polygonmodell, das in dem simulierten 3D-Raum angeordnet
ist, auf dem Monitor 2 anzuzeigen, nachdem ein Rendern
daran angewandt wurde, und um einen Schatten eines spezifischen
Polygonmodells auf dem Monitor anzuzeigen.
-
Zuerst
wird ein Schattenmodell eines Polygonmodells, von welchem gewünscht ist,
daß es
mit einem Schatten angezeigt wird, durch die Schattenmodell-Generierungsvorrichtung 111 generiert
bzw. erzeugt (Schritt ST1). Dann wird ein Schablonenbilden an dem
Schattenmodell durch die schablonenbildende Vorrichtung 121 angewandt,
um ein Schattenbild zu generieren (Schritt ST3). Das generierte
Schattenbild wird in den Schablonenpuffer 8b durch die
Abbildungsvorrichtung 122 geschrieben (Schritt ST5). Nachfolgend
wird ein Rendern an allen Polygonmodellen mit Ausnahme des Schattenmodells
angewandt, das in dem simulierten 3D-Raum liegt bzw. angeordnet
ist, um ein Bild des gesamten Modells mit der Ausnahme des Schattenmodells zu
erhalten (Schritt ST7). Dieses Bild des gesamten Modells mit der
Ausnahme des Schattenmodells wird in den Rahmenpuffer 8a durch
die Abbildungsvorrichtung 122 geschrieben (Schritt ST9).
Das in den Rahmenpuffer 8a geschriebene Bild und das eine,
das in den Schablonenpuffer 8b geschrieben ist, werden
gelesen und durch die Kombiniervorrichtung 123 kombiniert
und das kom binierte Bild wird in den Rahmenpuffer 8a geschrieben
(Schritt ST11).
-
Ein
Polygonmodell, das in der folgenden Beschreibung verwendet ist bzw.
wird, hat Scheitelnormalvektordaten entsprechend den jeweiligen
Scheiteln der Polygone, die das Modell ausbilden, und Oberflächennormalvektordaten,
die den jeweiligen Oberflächen
der Polygone entsprechen, die das Modell ausbilden.
-
Hier
wird ein Verfahren zum Transformieren von Koordinaten der Scheitel
des Modells, wobei das Verfahren verwendet wird, um das Polygonmodell
in dem simulierten 3D-Raum anzuordnen und um das Schattenmodell
zu generieren, beschrieben. Eine Koordinatentransformation der entsprechenden
Scheitel des Polygons wird durch eine Vergrößerung, eine Rotationsgröße und eine
Parallelbewegungsgröße des Modells spezifiziert.
Mit anderen Worten wird eine Tätigkeit,
die in Gleichung (1) gezeigt ist, ausgeführt, um anfängliche bzw. ursprüngliche
Koordinaten eines spezifischen Scheitels von (x,y,z) in (x',y',z') zu transformieren.
-
-
Hier
ist Mat eine 4 × 4
Matrix. In dem Fall, daß das
Modell um Bx in einer X-Achsenrichtung, By in einer Y-Achsenrichtung
vergrößert wird
und Bz in einer Z-Achsenrichtung vergrößert wird, kann Smat (Vergrößerungsmatrix),
die in Gleichung (2) gezeigt ist, als Mat von Gleichung (1) verwendet
werden.
-
-
Weiterhin
kann in dem Fall, daß das
Modell um Rx (Radian) in einer X-Achsrichtung, Ry (Radian) in einer
Y-Achsrichtung und Rz (Radian) in einer Z-Achsrichtung gedreht wird,
RMat (Rotationsmatrix), die in Gleichung (3) gezeigt ist, als Mat
von Gleichung (1) verwendet werden.
-
-
Hier,
Sr
= sin(Rx), Cr = cos(Rx),
Sp = sin(Ry), Cp = cos(Ry),
Sh
= sin(Rz), Ch = cos(Rz).
-
Es
ist notwendig, gleichzeitig die Normalvektoren der Scheitel (oder
Oberflächen)
der Polygone in dem Fall eines Rotierens der Modells zu rotieren
bzw. zu drehen. Weiterhin kann in dem Fall, daß das Modell parallel um Tx
in einer X-Achsrichtung,
Ty in einer Y-Achsrichtung und Tz (Radian) in einer Z-Achsrichtung
bewegt wird, TMat (Parallelbewegungsmatrix), die in Gleichung (4)
gezeigt ist, als Mat von Gleichung (1) verwendet werden.
-
-
In
dem Fall, daß die
obigen drei Arten von Transformationen gleichzeitig ausgeführt wird,
kann TRSMat, die in Gleichung (5) gezeigt ist, welche ein Produkt
von TMat, RMat und SMat ist, als Mat von Gleichung (1) verwendet
werden.
-
-
4 ist
ein Flußdiagramm,
das ein Verfahren eines Generierens des Schattenmodells zeigt. Hier wird
ein Fall, wo die Scheitel der versteckten Oberfläche des Schattenmodells nicht
bewegt werden, um Flächen
bzw. Bereiche der versteckten Oberflächen zu vergrößern oder
zu verringern, beschrieben. Zuerst sind bzw. werden die Scheitelnormalvektoren,
wenn das Polygon, für
welches der Schatten zu erzeugen ist, in dem simulierten 3D-Raum
angeordnet ist, durch Multiplizieren der Scheitelnormalvektoren
dieses Polygons mit der Rotationsmatrix erhalten (Schritt ST13).
-
Nachfolgend
wird ein inneres Produkt des Scheitelnormalvektors, der in Schritt
ST13 erhalten ist, und des Lichtquellenvektors für jeden Scheitel des Polygonmodells
berechnet, für
welches der Schatten zu generieren ist (Schritt ST15), und es wird
unterschieden, ob das erhaltene Innenprodukt größer als "0" ist
(Schritt ST17).
-
Wenn
das innere Produkt kleiner als "0" ist, ist dieser
Scheitel ein Scheitel, auf welchen Strahlen von der Lichtquelle
projiziert werden, und der Scheitel kann in dem simulierten 3D-Raum
angeordnet werden durch ein Multipli zieren des Scheitelnormalvektors
mit der Matrix TRSMat (die als lokale Matrix der sichtbaren Oberfläche bezeichnet
ist), die in Gleichung (5) gezeigt ist (Schritt ST19). Mit anderen
Worten sind die Scheitel der sichtbaren Oberfläche in denselben Positionen
angeordnet, wenn das Polygon, für
welches ein Scheitel zu erzeugen ist, in dem simulierten 3D-Raum
angeordnet ist.
-
Wenn
das innere Produkt größer als "0" ist, ist dieser Scheitel andererseits
ein Scheitel, auf welchen kein Strahl von der Lichtquelle projiziert
ist bzw. wird, und der Scheitel kann in dem simulierten 3D-Raum
durch ein Multiplizieren des Scheitelnormalvektors mit der Matrix
TRSMat' angeordnet
werden (die als lokale Matrix der versteckten Oberfläche bezeichnet
ist), die in Gleichung (6) gezeigt ist (Schritt ST21).
-
-
Hier,
Tx' = Tx + k × Lx
Ty' = Ty + k × Ly
Tz' = Tz + k × Lz.
wo
(Lx, Ly, Lz) ein Lichtquellenvektor ist und k eine Konstante ist,
die einen Abstand des Scheitels der versteckten Oberfläche entlang
der Fortbewegungs- bzw. Ausbreitungsrichtung der Strahlen von der
Lichtquelle darstellt, wobei der Abstand in dem Parallelbewegungs-Datenabschnitt 834 der
versteckten Oberfläche
gespeichert ist. Mit anderen Worten sind die Scheitel der versteckten
Oberfläche
an Positionen angeordnet, welche erreicht werden, indem sie parallel
um den Abstand k entlang der Ausbreitungsrichtung der Strahlen von der
Lichtquelle von ihren Positionen bewegt werden, wenn das Polygon,
für welches
ein Schatten zu erzeugen ist, in dem simulierten 3D-Raum angeordnet
ist.
-
Das
Schattenmodell enthält
sichtbare Oberflächenscheitel
bzw. Scheitel der sichtbaren Oberfläche, die in dem simulierten
3D-Raum in Schritt ST20 angeordnet sind, und Scheitel der versteckten
Oberfläche,
die darin in Schritt ST21 angeordnet sind.
-
Andererseits
kann eine Matrix TRSMat'', die in Gleichung
(7) gezeigt ist, statt der Matrix TRSMat', die in Schritt ST21 verwendet ist,
in dem Fall verwendet werden, daß die Scheitel der versteckten
Oberfläche
bewegt werden, um die Flächen
der versteckten Oberflächen
zu reduzieren oder zu vergrößern.
-
-
Hier,
Bx' = Bx × BBx
By' = By × BBy
Bz' = Bz × BBz
wo
BBx, BBy, BBz in dem Vergrößerungs-Datenabschnitt 835 der
versteckten Oberfläche
gespeichert sind und Vergrößerungen
darstellen, bei welchen die versteckte Ober fläche in X-Achsen-, Y-Achsen-
bzw. Z-Achsenrichtung vergrößert wird.
-
5A bis 5D sind
Diagramme, die Schattenmodelle eines sphärischen bzw. kugelförmigen Polygons
M0 als Beispiele zeigen. In 5A bis 5D sind
Scheitel, die in schwachpunktierten Polygonen inkludiert bzw. enthalten
sind, Scheitel (M01, M11, M21, M31) einer sichtbaren Oberfläche und
verbleibende Scheitel sind Scheitel (M02, M12, M22, M32) einer versteckten
Oberfläche.
Koordinatenachsen sind nahe zu 5D gezeigt.
-
5A zeigt
das sphärische
Polygonmodell M0, für
welches ein Schattenmodell zu generieren ist. Parallele Strahlen
fallen auf das Polygon M0 in einer Richtung eines gezeigten Lichtquellenvektors
V1 ein, d.h. von rechts nach links (negative Richtung entlang der
X-Achse). Normalvektoren V2 an den entsprechenden Scheiteln sind
radial nach außen
von dem Zentrum des sphärischen
Polygons M0 schauend bzw. gerichtet. Es kann gesehen werden, daß, wenn
ein inneres Produkt des Normalvektors V2 an dem Scheitel und des Lichtquellenvektors
V1 positiv ist, d.h. eine X-Komponente des Normalvektors V2 an dem
Scheitel in derselben Richtung wie der Lichtquellenvektor V1 schaut,
dieser Scheitel ein Scheitel M02 einer versteckten Oberfläche ist.
-
5B zeigt
ein Schattenmodell M1 in dem Fall, daß die Scheitel M02 der versteckten
Oberfläche nicht
bewegt werden, um die Flächen
der versteckten Oberflächen
zu vergrößern oder
zu reduzieren. Das Schattenmodell M1 wird generiert, indem die Scheitel
M02 der versteckten Oberfläche
parallel zu der Richtung des Lichtquellenvektors V1 bewegt werden,
d.h. in der negativen Richtung der X-Achse. Wenn ein derartiges Schattenmodell
M1 verwendet wird, wird ein Schatten einer bestimmten Größe unabhängig von
einem Abstand zwischen einer Projektionsoberfläche des Schattens und dem Modell
M0 in dem simulierten 3D-Raum erzeugt, wenn dieser Abstand gleich
oder kleiner als ein spezifizierter Wert ist. Somit ist das Schattenmodell M1,
das nur durch ein paralleles Bewegen der Scheitel der versteckten
Oberfläche
generiert ist, zum Darstellen eines Schattens geeignet, der erzeugt
wird, wenn Strahlen von den Lichtquellen parallele Strahlen wie
in diesem Beispiel sind.
-
5C zeigt
ein Beispiel eines Schattenmodells M2 in dem Fall, daß die Scheitel
M02 der versteckten Oberfläche
bewegt werden, um die Flächen
der versteckten Oberflächen
zu reduzieren. Das Schattenmodell M2 wird durch ein Bewegen der
Scheitel M02 der versteckten Oberfläche von 5A parallel
zu der Richtung des Lichtquellenvektors V1 generiert, d.h. in der
negativen Richtung der X-Achse, während die Flächen der versteckten
Oberflächen
entlang der Y-Achse und Z-Achse in bezug auf ein Zentrum 0 des Polygons
M0 reduziert werden. Wenn ein derartiges Schattenmodell M2 verwendet
wird, wird die Größe des Schattens,
der zu erzeugen ist, kleiner, wenn bzw. da ein Abstand zwischen
einer Projektionsoberfläche
des Schattens und dem Modell M0 in dem simulierten 3D-Raum größer wird,
wenn dieser Abstand gleich oder kleiner als ein bestimmter Wert
ist. Somit ist das Schattenmodell M2, das durch eine Abstandsreduktion
und Parallelbewegungen der Scheitel der versteckten Oberfläche generiert
ist, geeignet, um einen Schatten darzustellen, der erzeugt wird, wenn
die Lichtquelle eine Oberflächenlichtquelle
oder eine Linienlichtquelle ist.
-
5D zeigt
ein Beispiel eines Schattenmodells M3 in dem Fall, daß die Scheitel
M02 der versteckten Oberfläche
bewegt werden, um die Flächen
der versteckten Oberflächen
zu vergrößern. Das
Schattenmodell M3 wird generiert, indem die Scheitel M02 der versteckten
Oberfläche
von 5A parallel zu der Richtung des Lichtquellenvektors
V1 bewegt werden, d.h. in der negativen Richtung der X-Achse, während die
Flächen
der versteckten Oberflächen
entlang der Y-Achse und der Z-Achse in bezug auf das Zentrum O des
Polygons M0 vergrößert werden.
Wenn ein derartiges Schattenmodell M3 verwendet wird, wird die Größe eines
Schattens, der zu erzeugen ist, größer, da bzw. wenn ein Abstand
zwischen einer Projektionsoberfläche
des Schattens und dem Modell M0 in dem simulierten 3D-Raum größer wird,
wenn der Abstand gleich oder kleiner als ein spezifizierter Wert
ist. Somit ist das Schattenmodell M3, das durch eine Abstanderstreckung
und Parallelbewegungen der Scheitel der versteckten Oberfläche generiert
ist, geeignet, um einen Schatten darzustellen, der erzeugt wird,
wenn die Lichtquelle eine Punktlichtquelle ist.
-
6 ist
ein Flußdiagramm,
das einen Vorgang einer Verarbeitung zeigt, das Schablonenbilden
genannt ist, um ein Schattenbild unter Verwendung eines Schattenmodells
zu erzeugen. Zuerst wird ein Rendern angewandt, indem alle Polygonmodelle,
enthaltend das Schattenmodell in dem simulierten 3D-Raum angeordnet
werden (Schritt ST25). Durch diese Verarbeitung werden RGB-Werte
der Modelle, die Bildpunkt für
Bildpunkt bzw. pixelweise auf dem Schirm angezeigt sind, beispielsweise
in 8 Bits (0 bis 255) in dem Schablonenpuffer 8b geschrieben.
Weiterhin sind die Abstände
Z von dem Betrachtungs- bzw. Gesichtspunkt der virtuellen Kamera
zu dem Modell, das in den entsprechenden Bildpunkten angezeigt bzw.
dargestellt ist, in dem Z-Wert-Datenabschnitt 8c eingeschrieben.
-
Nachfolgend
werden alle RGB-Werte in einem Speicher des Schablonenpuffers 8b auf 128 initialisiert (welches
weiße
Farbe darstellt) (Schritt ST27). Dann wird ein inneres Produkt des
Normalvektors von jeder Oberfläche
des Schattenmodells und des Sichtvektors der Kamera berechnet (Schritt
ST29) und es wird entschieden bzw. unterschieden, ob das berechnete
innere Produkt größer als "0" ist (Schritt ST31).
-
Die
Oberfläche
eines inneren Produkts größer als "0" ist eine Oberfläche (nach vorne schauendes
Polygon), deren Normalvektor in einer Richtung entgegengesetzt von
dem Betrachtungs- bzw. Sichtpunkt der Kamera schaut bzw. gerichtet
ist, und beispielsweise "1" von den RGB-Werten
der Bildpunkte in dem Speicher des Schablonenpuffers 8b abgezogen,
der dieser Oberfläche
entspricht (Schritt ST33). Die Oberfläche, die ein inneres Produkt
gleich oder kleiner als "0" aufweist, ist eine
Oberfläche
(nach rückwärts schauendes
bzw. gerichtetes Polygon), deren Normalvektor in einer Richtung
zu dem Gesichtspunkt der Kamera schaut, und "1" wird
zu den RGB-Werten der Bildpunkte in dem Speicher des Schablonenpuffers 8b entsprechend
dieser Oberfläche
hinzugezählt
bzw. addiert (Schritt ST35).
-
Nachfolgend
wird 128 von allen RGB-Werten in dem Speicher des Schablonenpuffers 8b subtrahiert (Schritt
ST37). Zu diesem Zeitpunkt wird, wenn das Ergebnis der Subtraktion
ein negativer Wert ist, dieser negative Wert durch "0" ersetzt. Dann wird ein Schatten in
den Bildpunkten erzeugt, deren RGB-Werte in dem Speicher des Schablonenpuffers 8b "1" oder größer ist (Schritt ST39).
-
Ein
Schattenbild wird von dem Schattenmodell durch das obige Verarbeiten
ausgebildet. Obwohl "1" in der obigen Berechnung
hinzugezählt
oder subtrahiert wird, kann jede ganze Zahl zwischen 1 und 127 verwendet
werden.
-
Wie
oben beschrieben, sind die Bildpunkte, in welchen ein Schatten erzeugt
wird, jene, die das nach vorne schauende Polygon aufweisen, und
kein rückwärts schauendes
Polygon in denselben Bildpunktpositionen aufweisen. Da das Schattenmodell
ein Polygonmodell zum Abschneiden eines geschlossenen Raums ist, wird
hier kein Schatten ausgebildet, wenn es keine Projektionsoberfläche des
Schattens gibt. Der Schatten wird auch nicht in dem Fall erzeugt,
daß die
Projektionsoberfläche
des Schattens in einer Richtung entgegengesetzt von dem Gesichtspunkt
der Kamera schaut.
-
7 und 8 sind
Diagramme, die ein Schattenbild eines Snowboards zeigen, das auf
die Oberfläche
einer Neigung bzw. eines Hangs geworfen wird, wobei das Bild durch
ein Anwenden eines Schablonenbildens auf einem Schattenmodell erhalten
ist. 7 zeigt ein Schattenmodell M40 eines Snowboards
M4 in dem Fall des Bewegens der Scheitel der versteckten Oberfläche, um
Flächen
von versteckten Oberflächen
zu reduzieren.
-
8 ist
ein Diagramm, das einen Schatten M5 eines Snowboards M4, der auf
eine Oberfläche
M6 einer Neigung geworfen wird, und ein Schattenmodell M41 zeigt,
das durch die Neigungsoberfläche
M6 weggeschnitten ist. Es kann gesehen werden, daß das Schattenmodell
M41, das durch die Neigungsoberfläche M6 weggeschnitten ist,
(a) eine Mehrzahl von nach vorne schauenden Polygonen M411, M413,
und (b) eine Mehrzahl von rückwärts schauenden
Polygonen M412 aufweist. Die Mehrzahl von nach vorne schauenden Polygonen
enthält
jene Polygone, die einen Abschnitt einer Seitenoberfläche, welche
von dem Gesichtspunkt der Kamera gesehen werden, und eine obere
Oberfläche
des Schattenmodells M41 ausbilden, die auch von dem Gesichtspunkt
der Kamera gesehen werden kann. Spezifischer enthält die Mehrzahl
von nach vorne schauenden Polygonen jene Polygone, M411a, M411b,
M411c, M411d, M411e, M411f, M411g und M411h, und jene Polygone,
die die obere Oberfläche
ausbilden, M413a, M413b, M413c, M413d, M413e, M413f, M413g, M413h,
M413i und M413j. Der Schatten M5 wird durch Bildpunkte entsprechend
jenen Bildpunkten, die nach vorne schauende Polygone ausbilden (M411a
+ M411b + M411c + M411d + M411e + M411f + M411g + M411h + M413a
+ M413b + M413c + M413d + M413e + M413f + M413g + M413h + M413i
+ M413j) minus jener Bildpunkte erzeugt, die nach rückwärts schauende
Polygone ausbilden (M412a + M412b + M412c + M412d + M412e + M412f
+ M412g + M412h + M412i + M412j + M412k + M412l). Mit anderen Worten
ist der Schatten M5 = Summierung von Bildpunkte entsprechend Polygonen ΣM411 und ΣM413 – Summierung
der Bildpunkte entsprechend Polygonen ΣM412. Wo ΣM411 bedeutet M411a + M411b
+ M411c + M411d + M411e + M411f + M411g + M411h. Wo ΣM412 bedeutet
M412a + M412b + M412c + M412d + M412e + M412f + M412g + M412h +
M412i + M12j + M412k + M412l. Wo ΣM413
bedeutet M413a, + M413b + M413c + M413d + M413e + M413f + M413g
+ M413h + M413i + M413j.
-
Die
vorliegende Erfindung kann wie folgt ausgebildet bzw. verkörpert sein.
- (A) Obwohl es nur ein Polygonmodell gibt, für welches
ein Schatten in der vorhergehenden Ausbildung zu erzeugen ist, können Schattenbilder
in demselben Verfahren bzw. Vorgang auch in dem Fall ausgebildet werden,
wo zwei oder mehr Polygonmodelle vorliegen, für welche Schatten auszubilden
sind. Es ist jedoch notwendig, eine Fläche bzw. einen Bereich des
Schablonenpuffers 8b für
die Anzahl der Polygone zu sichern, für welche die Schatten zu erzeugen
sind. Je mehr Polygonmodelle, für
welche Schatten zu erzeugen sind, desto realistischere Bilder können hergestellt
bzw. gemacht werden.
- (B) Obwohl das Polygon, für
welches ein Schatten zu erzeugen ist, einen Oberflächenormalvektor
und Scheitelnormalvektoren in der vorhergehenden Ausbildung aufweist,
kann es nur einen von diesen aufweisen. Eine Kapazität des Modelldatenabschnitts 801 kann
reduziert werden, indem wenigstens einer dieser Vektoren angenommen
bzw. angewandt wird. Vektoren (Oberflächennormalvektoren oder Scheitelnormalvektoren),
die nicht durch das Polygonmodell besessen sind, für welches
ein Schatten zu erzeugen ist, können
durch das folgende Verfahren berechnet werden.
Der Scheitelnormalvektor
des Polygons kann durch Addieren und Mitteln der Normalvektoren
der Oberflächen
des Polygonmodells berechnet werden, das diesem Scheitel benachbart
ist. Der Oberflächennormalvektor
des Polygons kann durch ein Addieren und Mitteln der Normalvektoren
der entsprechenden Scheitel des Polygons berechnet werden.
- (C) Obwohl für
den Scheitel, von welchem ein inneres Produkt des Normalvektors
und des Lichtquellenvektors "0" ist, beurteilt wird,
daß er
ein Scheitel der sichtbaren Ober fläche in der vorhergehenden Ausbildung, kann
abgeschätzt
bzw. beurteilt werden, daß er
ein Scheitel einer versteckten Oberfläche ist. In dieser Ausbildung
wird die Anzahl von Scheiteln erhöht werden, die als Scheitel
der versteckten Oberfläche
beurteilt werden, mit dem Ergebnis, daß ein Schattenmodell generiert
wird, das eine unterschiedliche Form bzw. Gestalt aufweist. Weiterhin
können
Schattenmodelle verschiedener Formen generiert werden, indem die
Richtungen der Scheitelnormalvektoren des Polygonmodells verändert werden,
für welches
ein Schatten anzuzeigen ist.
- (D) Obwohl die Scheitel der versteckten Oberfläche bewegt
werden, um die Flächen
bzw. Bereiche der versteckten Oberflächen in bezug auf das Zentrum
des Modells in dem Fall eines Generierens bzw. Erzeugens des Schattenmodells
in der vorhergehenden Ausbildung zu vergrößern oder zu reduzieren, können sie
so in bezug auf einen beliebigen Punkt, wie beispielsweise einen
Punkt bewegt werden, der entfernt von dem Zentrum des Modells um
einem bestimmten Abstand zu der Lichtquelle angeordnet ist. Weiterhin
kann, obwohl die Vergrößerung der
versteckten Oberflächen
auf einen gemeinsamen Wert für
alle Scheitel der versteckten Oberfläche in der vorhergehenden Ausbildung
festgelegt ist, eine Vergrößerung so
festgelegt werden, um einige versteckte Oberflächen zu vergrößern, während die
anderen verkleinert werden. Weiterhin kann, obwohl die Scheitel
der versteckten Oberfläche
durch eine Vergrößerung und
Parallelbewegungen beim Erzeugen des Schattenmodells in der vorhergehenden
Ausbildung bewegt wurden, ein Verfahren angewandt werden, gemäß welchem
Koordinaten für
jeden Scheitel der versteckten Oberfläche in dem simulierten 3D-Raum
festgelegt bzw. eingestellt werden. In diesen Ausbildungen kann
ein gewünschtes
Schattenbild erhalten werden, wenn Vergrößerungsbedin gungen, wie der
Referenz- bzw. Bezugspunkt, die Vergrößerung und die Koordinaten
der Scheitel entsprechend einem Zustand einer Oberfläche bestimmt
werden, auf welche ein Schatten zu werfen ist.
- (E) Obwohl die Modelldaten und andere Daten in dem RAM 8 in
der vorhergehenden Ausbildung gespeichert sind, können sie
von dem Speichermedium 5 zu dem RAM 8 entsprechend
dem Fortschritt des Spiels transferiert werden. Diese Ausbildung
hat den Vorteil, daß eine
notwendige Kapazität
des RAM 8 reduziert werden kann.
- (F) Obwohl die RGB-Werte in 8 Bits in der vorhergehenden Ausbildung
ausgedrückt
sind, können
sie in einer gewünschten
Anzahl von Bits ausgedrückt
werden. Je mehr Bits, desto feinere Farbtöne können ausgedrückt werden.
-
In
Summe bzw. zusammenfassend bezieht sich die vorliegende Erfindung
auf eine dreidimensionale Bildverarbeitungsvorrichtung zum Generieren
bzw. Erzeugen eines Schattenmodells eines festen Modells, das durch
Polygone ausgebildet ist, die jeweils Scheitelnormalvektoren aufweisen.
Die 3D Bildverarbeitungsvorrichtung umfaßt Scheitelsortiermittel zum
Sortieren der entsprechenden Scheitel der Polygone, die das feste Modell
ausbilden, in sichtbare Oberflächenscheitel
bzw. Scheitel einer sichtbaren Oberfläche, die in einer Richtung
zu einer Lichtquelle schauen bzw. gerichtet sind, und versteckte
Oberflächenscheitel
bzw. Scheitel einer versteckten Oberfläche, die in einer Richtung
entgegengesetzt von der Lichtquelle schauen, und Schattenmodell-Generierungsmittel
zum Deformieren bzw. Verformen des festen bzw. durchgehenden Modells
durch ein Bewegen der Scheitel der versteckten Oberfläche in einer
Ausbreitungsrichtung von Strahlen von der Lichtquelle. Gemäß dieser
Konstruktion kann das Schattenmodell leicht unter Verwendung der
Modelldaten des Polygonmodells generiert werden, für welches
ein Schatten auszubilden bzw. zu erzeugen ist.
-
Die
Scheitelsortiermittel können
konfiguriert sein, um die Scheitel in Scheitel einer sichtbaren
Oberfläche
und Scheitel einer versteckten Oberfläche basierend darauf zu sortieren,
ob ein inneres Produkt eines Normalvektors von jedem Scheitel von
jedem Polygon und eines Lichtquellenvektors, der die Ausbreitungsrichtung
der Strahlen von der Lichtquelle darstellt, ein positiver oder negativer
Wert ist. Gemäß dieser
Konstruktion können
die Scheitel der sichtbaren Oberfläche und die Scheitel der versteckten
Oberfläche
leicht aussortiert werden, indem die inneren Produkte der Vektoren
berechnet werden.
-
Die
Schattenmodell-Generierungsmittel können konfiguriert werden, um
spezifizierte bzw. bestimmte Scheitel parallel zu der Ausbreitungsrichtung
der Strahlen von der Lichtquelle zu bewegen. Gemäß dieser Konstruktion werden
Schatten einer spezifischen Größe unabhängig von
einer Änderung
in dem Abstand erzeugt, um welchen die Charaktere bzw. Figuren der
Modelle, für
welche die Schatten erzeugt werden, von der Bodenoberfläche, Meeresoberfläche oder
anderen Oberfläche
schwimmen bzw. abheben. Da sich derartige Schatten in einer Weise ähnlich zu
jenen verhalten, die tatsächlich
ausgebildet werden, wenn die Lichtquelle eine Lichtquelle zum Emittieren
von parallelen Strahlen, wie Sonnenstrahlen, ist, können realistische
und leistungsfähige
Bilder ausgebildet werden.
-
Die
Schattenmodell-Generierungsmittel können konfiguriert sein bzw.
werden, um Abstände
zwischen den bestimmten Scheiteln derart zu verschmälern, daß die Scheitel
der versteckten Oberfläche
des Schattenmodells, das die Scheitel der sichtbaren Oberfläche aufweist,
eine Form bzw. Gestalt definieren, die in einer Bewegungsrichtung
geneigt bzw. verjüngt
ist. Entsprechend dieser Konstruktion werden Schatten, die auf die Bodenoberfläche, Meeresoberfläche oder
eine andere Oberfläche
geworfen werden, kleiner, wenn die Abstände, um welche die Charaktere
der Modelle, für
welche die Schatten erzeugt werden, von der Bodenoberfläche, Meeresoberfläche oder
anderen Oberfläche
schwimmen bzw. abheben, ansteigen. Da sich derartige Schatten in
einer Weise ähnlich
zu jenen verhalten, die tatsächlich
erzeugt werden, wenn die Lichtquelle eine stabförmige Lichtquelle oder eine
Oberflächenlichtquelle
ist, können
realistische und leistungsfähige
Bilder ausgebildet werden.
-
Die
Schattenmodell-Generierungsmittel können konfiguriert sein, um
Abstände
zwischen den spezifizierten Scheiteln derart aufzuweiten, daß die Scheitel
der versteckten Oberfläche
des Schattenmodells, das die Scheitel der sichtbaren Oberfläche aufweist,
eine Form definieren, die in einer Bewegungsrichtung geschwollen
bzw. vergrößert ist.
Gemäß dieser
Konstruktion werden Schatten, die auf die Bodenoberfläche, Meeresoberfläche und
eine andere Oberfläche
geworfen werden, größer, wenn
die Abstände,
um welche die Charaktere der Modelle, für welche die Schatten ausgebildet
sind bzw. werden, von der Bodenoberfläche, Meeresoberfläche oder
anderen Oberfläche
schwimmen bzw. abheben, ansteigen. Da sich derartige Schatten in
einer Weise ähnlich
zu jenen verhalten, die tatsächlich
erzeugt werden, wenn die Licht quelle eine Punktlichtquelle ist,
können
realistische und leistungsfähige
Bilder ausgebildet werden.
-
Die
oben erwähnte
3D Bildverarbeitungsvorrichtung kann weiterhin ein Schattenerzeugungsmittel zum
Sortieren der Polygone, die das Schattenmodell ausbildet, in nach
vorne schauende bzw. gerichtete Polygone, die in einer Richtung
zu einem Betrachtungs- bzw. Gesichtspunkt einer virtuellen Kamera
schauen bzw. gerichtet sind, und nach rückwärts schauende Polygone, die
in einer Richtung entgegengesetzt von dem Blickpunkt der virtuellen
Kamera schauen, und Ausbilden eines Schattenbilds in Bildpunkte
bzw. Pixel umfassen, welche Bildpunkte entsprechend den nach vorne
schauenden Polygonen minus Bildpunkten entsprechend den nach rückwärts schauenden
Polygonen sind. Gemäß dieser
Konstruktion kann ein Schatten leicht durch ein Anwenden einer Technik,
die ein Schablonenbilden genannt wird, an dem Schattenmodell ausgebildet
werden.
-
Die
oben erwähnte
3D Bildverarbeitungsvorrichtung kann weiterhin Schattenausbildungsmittel
zum Ausbilden bzw. Erzeugen eines Schattenbilds des festen Modells
unter Verwendung des Schattenmodells, erste Speichermittel zum Speichern
des erzeugten Schattenbilds des festen Modells, zweite Speichermittel
zum Anwenden eines Renderns an dem Polygonmodell mit Ausnahme des
Schattenmodells und Speichern des so erzeugten Bilds, und Kombinationsmittel
zum Lesen und Kombinieren des Bilds, das in den ersten Speichermitteln
gespeichert ist, und des einen, das in den zweiten Speichermitteln
ist, umfassen. Gemäß dieser
Konstruktion kann das Schattenmodell leicht unter Verwendung der
Modelldaten des Polygonmodells generiert werden, für welche
ein Schatten auszubilden ist, und dieser Schatten kann realistisch
und leicht ausgebildet bzw. erzeugt werden. Weiterhin kann ein Gesamtbild,
welches den Schatten des festen Modells enthält, erhalten werden, indem
das Schattenbild des festen Modells, das in den ersten Speichermitteln
gespeichert ist, und das Bild verschieden von dem Schattenmodell
kombiniert werden, das in dem zweiten Speicher gespeichert ist.
-
Das
feste Modell kann ein Charakter bzw. eine Figur sein, der bzw. die
in Höhenrichtung
in einem simulierten 3D-Raum bewegbar ist. Gemäß dieser Konstruktion kann,
da ein Schatten erzeugt wird, um einer Bewegung des Charakters entlang
einer Höhenrichtung
zu folgen, die Bewegung des Charakters in den realistischen und
leistungsfähigen
Bildern ausgedrückt
werden.
-
Eine
weitere Form der folgenden Ausbildung bezieht sich auf ein lesbares
Speichermedium, das ein 3D Bildverarbeitungsprogramm zum Generieren
eines Schattenmodells eines festen Modells speichert, das durch
Polygone ausgebildet ist, die jeweils Normalvektoren aufweisen,
wobei das Programm die Schritte umfaßt: ein Scheitelsortierverarbeiten
zum Sortieren der entsprechenden Scheitel der Polygone, die das
feste Modell ausbilden, in Scheitel einer sichtbaren Oberfläche, die
in einer Richtung zu einer Lichtquelle gerichtet sind, und Scheitel
einer versteckten Oberfläche,
die in einer Richtung entgegengesetzt von der Lichtquelle schauen,
und ein Schattenmodell-Generierungsverarbeiten zum Deformieren des
festen Modells durch ein Bewegen der Scheitel der versteckten Oberfläche in einer
Ausbreitungsrichtung von Strahlen von der Lichtquelle. Gemäß diesem
Programm kann das Schattenmodell leicht generiert werden, in dem
die Modelldaten des Polygonmodells verwendet werden, für welches
ein Schatten zu erzeugen ist.
-
Das
Scheitelsortierverarbeiten kann ausgeführt werden, um die Scheitel
in die Scheitel der sichtbaren Oberfläche und die Scheitel der versteckten
Oberfläche
basierend darauf zu sortieren, ob ein inneres Produkt eines Normalvektors
von jedem Scheitel von jedem Polygon und eines Lichtquellenvektors,
der die Ausbreitungsrichtung der Strahlen von der Lichtquelle darstellt
bzw. repräsentiert,
ein positiver oder negativer Wert ist. Gemäß diesem Programm können die
Scheitel der sichtbaren Oberfläche
und die Scheitel der versteckten Oberfläche leicht durch ein Berechnen
der inneren Produkte der Vektoren aussortiert werden.
-
Das
Schattenmodell-Generierungsverarbeiten kann ausgeführt werden,
um spezifizierte Scheitel parallel zu der Ausbreitungsrichtung der
Strahlen von der Lichtquelle zu bewegen. Gemäß diesem Programm werden Schatten
einer spezifizierten Größe unabhängig von
einer Änderung
in dem Abstand ausgebildet bzw. erzeugt, um welchen die Charaktere
bzw. Figuren der Modelle, für
welche die Schatten erzeugt werden, von der Bodenoberfläche, Seeoberfläche oder
einer anderen Oberfläche
schwimmen bzw. abheben. Da sich derartige Schatten in einer Weise ähnlich zu
jenen verhalten, die tatsächlich
erzeugt werden, wenn die Lichtquelle eine Lichtquelle zum Emittieren
von parallelen Strahlen, wie Sonnenstrahlen, ist, können realistische
und leistungsfähige
Bilder ausgebildet werden.
-
Das
Schattenmodell-Generierungsverarbeiten kann ausgeführt werden,
um Abstände
zwischen den spezifizierten Scheiteln derart zu verschmälern, daß die Scheitel
der versteckten Oberfläche
des Schattenmodells, das die Scheitel der sichtbaren Oberfläche aufweist,
eine Form definieren, die in einer Bewegungsrichtung geneigt bzw.
verjüngt
ist. Entsprechend diesem Programm werden Schatten, die auf die Bodenoberfläche, Meeresoberfläche oder
andere Oberfläche
geworfen werden, kleiner, wenn die Abstände, um welche die Charaktere
der Modelle, für
welche die Schatten erzeugt sind bzw. werden, von der Bodenoberfläche, Meeresoberfläche oder
anderen Oberfläche
schwimmen, ansteigen. Da sich derartige Schatten in einer Weise ähnlich zu
jenen verhalten, die tatsächlich
erzeugt werden, wenn die Lichtquelle eine stabförmige Lichtquelle oder eine
Oberflächenlichtquelle
ist, können
realistische und leistungsfähige
Bilder ausgebildet werden.
-
Das
Schattenmodell-Generierungsverarbeiten kann durchgeführt werden,
um Abstände
zwischen den spezifizierten Scheitel derart aufzuweiten bzw. zu
vergrößern, daß die Scheitel
der versteckten Oberfläche
des Schattenmodells, das die Scheitel der sichtbaren Oberfläche aufweist,
eine Form definieren, die in einer Bewegungsrichtung vergrößert ist.
Gemäß diesem
Programm werden Schatten, die auf die Bodenoberfläche, Meeresoberfläche oder
andere Oberfläche
geworfen werden größer, wenn
bzw. da die Abstände,
um welche die Charaktere der Modelle, für welche die Schatten erzeugt
werden, von der Bodenoberfläche,
Meeresoberfläche
oder anderen Oberfläche
schwimmen, ansteigen. Da sich derartige Schatten in einer Weise ähnlich zu jenen
verhalten, die tatsächlich
erzeugt werden, wenn die Lichtquelle eine punktförmige Lichtquelle ist, können realistische
und leistungsfähige
Bilder ausgebildet werden.
-
Das
Programm kann weiterhin einen Schritt eines Schattenerzeugungsbearbeitens
umfassen, um die Polygone, die das Schattenmodell ausbilden, in
nach vorne schauende Polygone, die in einer Richtung zu einem Betrachtungs-
bzw. Gesichtspunkt der Kamera schauen bzw. gerichtet sind, und nach
rückwärts schauende
Polygone zu sortieren, die in einer Richtung entgegengesetzt von
dem Gesichtspunkt der virtuellen Kamera schauen, und um ein Schattenbild
in Bildpunkten auszubilden, welche Bildpunkte, die den nach vorne schauenden
Polygonen entsprechen, minus Bildpunkten sind, die den nach rückwärts schauenden
bzw. gerichteten Polygonen entsprechen. Mit diesem lesbaren Speichermedium
kann ein Schatten leicht erzeugt werden, indem eine Technik, die
Schablonenbilden genannt wird, auf das Schattenmodell angewandt
wird.
-
Das
Programm kann weiterhin die Schritte eines Schattenerzeugungsverarbeitens
zum Erzeugen eines Schattenbilds des festen Modells unter Verwendung
des Schattenmodells, und eines Kombinierverarbeitens zum Speichern
des erzeugten Schattenbilds des festen Modells und eines Bilds,
das durch ein Anwenden eines Renderns an den Polygonmodellen mit
Ausnahme des Schattenmodells angewandt bzw. erzeugt wird, und zum
Lesen und Kombinieren der zwei gespeicherten Bilder umfassen. Mit
diesem lesbaren Speicher kann das Schattenmodell leicht unter Verwendung
der Modelldaten des Polygonmodells generiert werden, für welches
ein Schatten zu erzeugen ist, und dieser Schatten kann realistisch
und leicht ausgebildet bzw. erzeugt werden. Weiterhin kann ein Gesamtbild,
das den Schatten des festen Modells beschreibt, durch ein Kombinieren
des Schattenbilds des festen Modells, das in den ersten Speichermitteln
gespeichert ist, und des Bilds verschieden von dem Schattenbild
erhalten werden, das in den zweiten Speichermitteln gespeichert
ist.
-
In
dem oben erwähnten
lesbaren Programm kann das feste Modell ein Charakter bzw. eine
Figur sein, der bzw. die in Höhenrichtung
in dem simulierten 3D-Raum bewegbar ist. Mit diesem lesbaren Speichermedium
kann, da ein Schatten ausgebildet bzw. erzeugt wird, der einer Bewegung
des Charakters entlang einer Höhenrichtung
folgt, die Bewegung des Charakters in den realistischen und leistungsfähigen Bildern
ausgedrückt
werden.
-
Weiterhin
bezieht sich eine weitere Form der vorliegenden Erfindung auf ein
3D Bildverarbeitungsverfahren zum Generieren bzw. Erzeugen eines
Schattenmodells eines festen Modells, das durch Polygone ausgebildet
wird, die jeweils Scheitelnormalvektoren aufweisen. Das Verfahren
umfaßt
die Schritte: Sortieren der entsprechenden Scheitel der Polygone,
die das feste Modell ausbilden, in Scheitel einer sichtbaren Oberfläche, die
in einer Richtung zu einer Lichtquelle schauen, und Scheitel einer
versteckten Oberfläche,
die in einer Richtung entgegengesetzt von der Lichtquelle schauen,
und Deformieren bzw. Verformen des festen Modells durch ein Bewegen
der Scheitel der versteckten Oberfläche in einer Ausbreitungsrichtung
von Strahlen von der Lichtquelle.
-
Gemäß diesem
Verfahren kann das Schattenmodell leicht unter Verwendung von Modelldaten
des Polygonmodells generiert werden, für welches ein Schatten zu erzeugen
ist.
-
Darüber hinaus
bezieht sich eine weitere Form der vorliegenden Erfindung auf ein
Videospielsystem, welches irgend eines der zuvor erwähnten 3D
Bildverarbeitungsvorrichtung, Bildanzeigemittel zum Anzeigen von
Bildern, Programmspeichermittel, welche Spielprogrammdaten speichern,
und extern betätigbare
Betriebsmittel umfaßt,
wobei die 3D Bildverarbeitungsvorrichtung Bilder auf den Bildanzeigemitteln
in Übereinstimmung
mit den Spielprogrammdaten anzeigt bzw. darstellt. Das Videospielsystem,
das eine derartige Konstruktion aufweist, kann realistisch und einfach
Schattenbilder erzeugen.
-
Da
die Erfindung in mehreren Formen ausgeführt bzw. verkörpert werden
kann, ist die vorliegende Ausbildung illustrativ und nicht einschränkend, da
der Rahmen der Erfindung durch die beiliegenden Ansprüche eher
als durch die diesen vorhergehende Beschreibung definiert ist.