JP3638637B2 - ポリゴンデータ変換装置及び3次元シミュレータ装置 - Google Patents
ポリゴンデータ変換装置及び3次元シミュレータ装置 Download PDFInfo
- Publication number
- JP3638637B2 JP3638637B2 JP15927194A JP15927194A JP3638637B2 JP 3638637 B2 JP3638637 B2 JP 3638637B2 JP 15927194 A JP15927194 A JP 15927194A JP 15927194 A JP15927194 A JP 15927194A JP 3638637 B2 JP3638637 B2 JP 3638637B2
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- vertex
- flag
- allocation order
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- A63F13/10—
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
- G09B9/02—Simulators for teaching or training purposes for teaching control of vehicles or other craft
- G09B9/04—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles
- G09B9/05—Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of land vehicles the view from a vehicle being simulated
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Description
【産業上の利用分野】
本発明は、入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置及び該ポリゴンデータ変換装置が用いられる3次元シミュレータ装置に関する。
【0002】
【従来の技術】
従来、例えば3次元ゲームあるいは飛行機及び各種乗物の操縦シュミレ―タ等に使用される3次元シミュレータ装置として種々のものが知られている。このような3次元シミュレータ装置では、図23(A)に示す3次元物体300に関する画像情報が、あらかじめ装置に記憶されている。ここで、この3次元物体300は、プレーヤ302がスクリーン306を介して見ることができる風景等を表すものである。そして、この風景等を表す3次元物体300の画像情報をスクリーン306上に透視投影変換することにより疑似3次元画像308をスクリーン306上に画像表示している。この装置では、プレーヤ302が、操作パネル304により回転、並進等の操作を行うと、この操作信号に基づいて所定の3次元演算処理が行われる。具体的には、まず、操作信号によりプレーヤ302の視点位置、視線方向あるいはプレーヤ302の搭乗する移動体の位置、方向等がどのように変化するかを求める演算処理が行われる。次に、この視点位置、視線方向等の変化に伴い、3次元物体300の画像がスクリーン306上でどのように見えるかを求める演算処理が行われる。そして、以上の演算処理はプレーヤ302の操作に追従してリアルタイムで行われる。これによりプレーヤ302は、自身の視点位置、視線方向の変化あるいは自身の搭乗する移動体の位置、方向の変化に伴う風景等の変化を疑似3次画像としてリアルタイムに見ることが可能となり、仮想的な3次元空間を疑似体験できることとなる。
【0003】
図23(B)には、以上のような3次元シミュレータ装置により形成される表示画面の一例が示される。
【0004】
【発明が解決しようとする課題】
さて、ドライビングゲーム、ドライビングシミュレータ等において、図23(B)に示す表示画面(メイン画面)上にバックミラー、サイドミラー等のサブ画面を形成できれば、ゲームあるいはシミュレーションのリアル性を高めることができる。
【0005】
この場合、ゲーム等のリアル性をより高めるためには、バックミラー等にも、メイン画面と同様にリアルな疑似3次元画像を表示することが望ましい。そのためには、まずプレーヤの視点位置から後ろ向き方向の視界画像を求める必要がある。そして、この後ろ向き方向の視界画像を鏡に映した画像、即ち、この視界画像に対して左右反転処理を行った画像を求め、この画像をバックミラーの画像としてメイン画面上に映し出す必要がある。
【0006】
さて、図23(A)で説明した3次元シミュレータ装置では、3次元物体をポリゴン(1) 〜(6) ((4) 〜(6) は図示せず)に分割して視界画像の合成を行っている。そして、このような3次元シミュレータ装置には、1フレーム内、例えば1/60秒内に画像合成のための演算処理を完了しなければならないという制約がある。このため、画像合成に必要な演算処理量を軽減すべく、表ポリゴンのみを描画し裏ポリゴンについては描画しないハードウェアとするのが一般的である。ここで、表ポリゴンとは、視点から見て表向きのポリゴンをいい、裏ポリゴンとは、視点から見て裏向きのポリゴンをいう。表ポリゴンか裏ポリゴンか否かは、ポリゴンの頂点に与えられる頂点番号の割り振り順序により判断される。例えば、頂点番号の割り振り順序が反時計周りの場合は表ポリゴンと判断され、時計回りの場合は裏ポリゴンと判断される(この逆でもかまわない)。
【0007】
ところが、ポリゴンの表ポリゴンのみを描画するハードウェアにおいては、バックミラーをメイン画面上に形成すべく上記のように視界画像の左右反転処理を行うと、表ポリゴンが裏ポリゴンになってしまい当該ポリゴンが描画されなくなるという問題が生じた。演算処理の負担を軽減し、装置の低コスト化を図るためには、表ポリゴンのみを描画し裏ポリゴンは描画しないようなハードウェア構成とする必要がある。従って、このような低コスト化可能のハードウェア構成において、如何にしてメイン画面上に正常なバックミラー画像を形成するかが大きな技術的課題となる。
【0008】
また、ゲームによっては、裏ポリゴンについても表示できることが望ましいケースも考えられる。例えば、風船玉のような閉じた空間にプレーヤの操作する移動体が突入するようなケースを考える。このような場合、表ポリゴンしか描画しないハードウェアにおいては、風船玉の内部については描画されないことになるため、移動体が風船玉等の閉じた空間に突入した瞬間にプレーヤの周りには何も表示されないという事態が生じてしまう。このような事態を回避するためには、例えば風船玉の内部にも風船の内部を全て覆うように別のポリゴンを配置しておく構成とする必要がある。しかし、このような構成とすると必要とされるポリゴンの数が2倍となってしまい、画像処理の高速化、装置の小規模化、低コスト化の妨げとなる。
【0009】
更に、図23(A)に示すような3次元シミュレーション装置では、透視投影変換を行う前にクリッピングと呼ばれる処理が行われる。そして、このクリッピング処理が行われると、クリッピング面の境界にあるポリゴンが四角形以外の多角形に変形してしまい、この変形したポリゴンを例えば四角形のポリゴンに変換してやる必要がある。そして、このような変換を行う際に、元のポリゴンが持っていた裏表情報をどのように変換後のポリゴンに伝えるかが大きな技術的課題となる。
【0010】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、裏ポリゴンを描画しないようなハードウェア等を有効利用できるポリゴンデータ変換装置及び該ポリゴンデータ変換装置を含む3次元シミュレータ装置を提供するところにある。
【0011】
【課題を解決するための手段及び作用】
上記課題を解決するために請求項1の発明は、入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、ポリゴンに対して左右反転処理を行うか否かを設定する情報である左右反転フラグに基づいて入力ポリゴンの頂点座標の左右反転処理を行う座標反転手段と、前記左右反転フラグに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記左右反転フラグによりポリゴンの左右反転処理を行うように設定された場合に、前記座標反転手段が入力ポリゴンの頂点座標を左右反転するとともに、前記割り振り順序入れ替え手段が頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とする。
【0012】
請求項1の発明によれば、座標反転手段が、左右反転フラグに基づいて入力ポリゴンの頂点座標の反転処理を行う。また、割り振り順序入れ替え手段が、左右反転フラグに基づいて頂点番号の割り振り順序の入れ替え処理を行う。そして、入れ替えられた割り振り順序にしたがって座標反転手段から頂点座標が出力される。即ち、左右反転フラグが立つと、座標反転手段により入力ポリゴンの頂点座標が左右反転されるとともに、頂点番号の割り振り順序がポリゴンの裏表が反転するように入れ替えられる。これにより、左右反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。
【0013】
また、請求項2の発明は、入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンに対して上下反転処理を行うか否かを設定する情報である上下反転フラグに基づいて入力ポリゴンの頂点座標の上下反転処理を行う座標反転手段と、前記上下反転フラグに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記上下反転フラグによりポリゴンの上下反転処理を行うように設定された場合に、前記座標反転手段が入力ポリゴンの頂点座標を上下反転するとともに、前記割り振り順序入れ替え手段が頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とする。
【0014】
請求項2の発明によれば、上下反転フラグが立つと、座標反転手段により入力ポリゴンの頂点座標が上下反転され、頂点番号の割り振り順序がポリゴンの裏表が反転するように入れ替えられる。これにより、上下反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。
【0015】
また、請求項3の発明は、入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する手段と、
前記裏表判定手段における判定結果と、裏のポリゴンを出力するか否かを設定する情報である裏ポリゴン出力フラグとに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって入力ポリゴンの頂点座標を出力する手段とを含み、
前記割り振り順序入れ替え手段が、前記裏表判定手段により入力ポリゴンが裏のポリゴンであると判定され前記裏ポリゴン出力フラグにより裏のポリゴンを出力するように設定された場合に、頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とする。
【0016】
請求項3の発明によれば、裏表判定手段が、頂点番号の割り振り順序を調べることで入力ポリゴンの裏表の判定を行う。また、割り振り順序入れ替え手段が、この判定結果と裏ポリゴン出力フラグとに基づいて頂点番号の入れ替えを行う。そして、入れ替えられた割り振り順序にしたがって入力ポリゴンの頂点座標が出力される。即ち、裏ポリゴン出力フラグが立っていると、裏表判定手段により入力ポリゴンが裏ポリゴンと判定されても、頂点番号の割り振り順序がポリゴンの裏表が反転するように入れ替えられる。これにより、裏ポリゴンであても、裏ポリゴン出力フラグが立っている限り、表ポリゴンとして出力することが可能となる。
【0017】
また、請求項4の発明は、請求項3において、前記裏ポリゴン出力フラグが処理の対象となるポリゴン毎に設定されることを特徴とする。
【0018】
請求項4の発明によれば、ポリゴン毎に裏ポリゴン出力フラグが設定される。即ち、ポリゴン毎に、該ポリゴンが裏であっても出力するという設定を行うことが可能となる。
【0019】
また、請求項5の発明は、入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する手段と、
ポリゴンに対して左右反転処理を行うか否かを設定する情報である左右反転フラグと、ポリゴンに対して上下反転処理を行うか否かを設定する情報である上下反転フラグとに基づいて入力ポリゴンの頂点座標の左右反転処理、上下反転処理を行う座標反転手段と、
前記裏表判定手段における判定結果と前記左右反転フラグと前記上下反転フラグとに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記座標反転手段が、前記左右反転フラグによりポリゴンの左右反転処理を行うように設定された場合には入力ポリゴンの頂点座標を左右反転するとともに、前記上下反転フラグによりポリゴンの上下反転処理を行うように設定された場合には入力ポリゴンの頂点座標を上下反転し、
前記割り振り順序入れ替え手段が、前記裏表判定手段における判定結果と前記左右反転フラグと前記上下反転フラグとの排他的論理和に基づいて頂点番号の割り振り順序を入れ替えると判断した場合には、該割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とする。
【0020】
請求項5の発明によれば、裏表判定手段が、頂点番号の割り振り順序を調べることで入力ポリゴンの裏表の判定を行う。また、座標反転手段が、左右反転フラグ、上下反転フラグに基づいて入力ポリゴンの頂点座標の反転処理を行う。また、割り振り順序入れ替え手段が、上記判定結果と左右反転フラグと上下反転フラグとに基づいて頂点番号の入れ替えを行う。そして、入れ替えられた割り振り順序にしたがって入力ポリゴンの頂点座標が出力される。即ち、左右反転フラグ、上下判定フラグが立つと、座標反転手段により入力ポリゴンの頂点座標が左右反転上下反転される。また、裏表判定手段からの判定結果である裏判定フラグと左右反転フラグと上下反転フラグとの排他的論理和がとられ、フラグの立つ個数が奇数の場合には、頂点番号の割り振り順序がポリゴンの裏表が反転するように入れ替えられる。これにより、左右反転、上下反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。
【0021】
また、請求項6の発明は、請求項1乃至5のいずれかにおいて、頂点の数が任意である入力ポリゴンを頂点の数が所定数である1又は複数のポリゴンに分割するとともに、前記割り振り順序入れ替え手段により入れ替えられた割り振り順序にしたがって前記1又は複数のポリゴンの頂点に対して前記入力ポリゴンの頂点番号を割り当てる手段を含み、
前記出力手段が、前記頂点番号割り当て手段により割り当てられた前記頂点番号に基づいて前記入力ポリゴンの頂点座標あるいは座標反転された頂点座標を出力することを特徴とする。
【0022】
請求項6の発明によれば、任意の頂点数を持つ入力ポリゴンが、頂点の数が所定数のポリゴン、例えば四角形のポリゴンに分割される。そして、入れ替えられた割り振り順序にしたがって分割ポリゴンの頂点に対して入力ポリゴンの頂点番号が割り当てられる。そして、この割り当てられた頂点番号に基づいて入力ポリゴンの頂点座標、座標反転された頂点座標が出力される。これにより、クリッピング処理等により例えば四角形以外の多角形に変形されたポリゴンを、例えば四角形のポリゴンに分割することが可能となる。そして、この分割されたポリゴンに対して、一度に頂点番号の入れ替え処理を行うことが可能となる。
【0023】
また、請求項7の発明は、請求項6において、前記頂点番号割り当て手段が、前記入力ポリゴンの頂点の数が奇数である場合には、頂点数が前記所定数に満たないポリゴンの頂点の中で頂点数が所定数に満たないため頂点番号を割り当てられない頂点に対して、入力ポリゴンの第1番目の頂点番号を割り当てることを特徴とする。
【0024】
請求項7の発明によれば、入力ポリゴンを例えば四角形に分割していった場合において、入力ポリゴンの頂点数が奇数であるため四角形に分割できず、最後のポリゴンが三角形となってしまった場合には、頂点番号を割り当てられない最後の頂点に対して頂点番号1が設定される。これにより、実際には例えば三角形であるポリゴンを四角形のポリゴンとして後段のハードウェアに対して出力することが可能となる。
【0025】
また、請求項8の発明は、請求項1乃至7のいずれかのポリゴンデータ変換装置を含む3次元シミュレータ装置であって、
前記ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像を形成する画像形成手段を含み、
前記画像形成手段が、頂点に対する頂点番号の割り振り順序が所定の順序であるポリゴンについては前記視界画像を形成するための画像形成処理を省略することを特徴とする。
【0026】
請求項8の発明によれば、ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像が形成される。そして、頂点番号の割り振り順序が所定の順序であるポリゴン、例えば裏ポリゴンについては画像形成処理が省略される。従って、例えば左右反転処理等されて裏ポリゴンとなった場合には、通常は裏ポリゴンの描画処理が省略されることになる。しかし、ポリゴンデータ変換装置により頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることができるため、裏ポリゴンであっても表ポリゴンとして出力することが可能となる。
【0027】
また、請求項9の発明は、請求項6又は7のいずれかのポリゴンデータ変換装置を含む3次元シミュレータ装置であって、
前記ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像を形成する画像形成手段を含み、
前記画像形成手段が、頂点の数が前記所定数であるポリゴン以外のポリゴンについては前記視界画像を形成するための画像形成処理を省略することを特徴とする。
【0028】
請求項9の発明によれば、ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像が形成される。そして、頂点数が所定数であるポリゴン、例えば四角形のポリゴン以外のポリゴンについては描画処理が省略される。従って、例えばクリッピング処理等により四角形以外の多角形に変形したポリゴンが画像形成手段に入力されると画像形成処理が省略されることになる。しかし、ポリゴンデータ変換装置により、この多角形に変形されたポリゴンを例えば四角形のポリゴンに分割することができるため、このように変形されたポリゴンについても描画処理を行えることになる。
【0029】
【実施例】
A.第1の実施例
図1には、本発明の第1の実施例に係るポリゴンデータ変換装置のブロック図の一例が示される。
【0030】
図1に示すように、このポリゴンデータ変換装置は、全体コントロール部400、入力コントロール部402、出力コントロール部404、設定メモリ406、裏表判定部408、座標反転部410、データメモリ412、排他的論理和部414、割り振り順序入れ替え部420、頂点番号割り当て部422、実アドレス生成部426を含む。このポリゴンデータ変換装置は、設定メモリ406等に設定された情報に基づいて、入力されたポリゴンデータに対して座標反転処理、頂点番号の割り振り順序入れ替え処理を施し、出力ポリゴンデータとして出力するものである。
【0031】
ここで、全体コントロール部400は装置全体を制御する機能を有するものであり、全体設定信号等が入力され、CNT(コントロール)信号等で入力コントロール部402、出力コントロール部404、設定メモリ406等の制御を行う。
【0032】
また、入力コントロール部402は、ポリゴンデータの入力をコントロールする機能を有するものであり、装置の外部から入力イネーブルが入力され、裏表判定部駆動信号、メモリ書込アドレス等により裏表判定部408、データメモリ412等の制御を行う。更に、入力コントロール部402は、入力ポリゴンデータから得られる入力ポリゴン頂点数を出力コントロール部404、頂点番号割り当て部422に出力している。
【0033】
出力コントロール部404は、ポリゴンデータの出力を制御する機能を有するものであり、裏判定フラグがアサートされた時(アクティブの時)、裏ポリゴン出力フラグの設定によってポリゴンデータを出力しない、あるいは裏ポリゴンを表にして出力する等の制御を行っている。そして、この制御を行うために、出力コントロール部404には裏判定フラグ(裏表判定部408の出力)、裏ポリゴン出力フラグ(入力ポリゴンデータのヘッダ情報に含まれる)が入力されるとともに、割り振り順序入れ替え部420に割り振り順序を、頂点番号割り当て部422に分割ポリゴンナンバーを、実アドレス生成部426に実アドレスを生成するための情報を出力している。また、装置の外部に対して出力イネーブルを出力している。
【0034】
設定メモリ406には、左右反転フラグ、上下反転フラグが記憶されており、この左右反転フラグ、上下反転フラグは、座標反転部410、排他的論理和部414に出力される。
【0035】
裏表判定部408は、入力されたポリゴンが裏か表かを判定して、判定結果を裏判定フラグとして出力する(裏判定フラグは、入力ポリゴンが裏の時に”1”となる)。このポリゴンの裏表判定は、ポリゴンの頂点座標(X、Y)の外積を計算し、この外積のZ座標成分の正負を求めることで行っている。具体的には、本装置には透視投影変換処理を施した後の2次元のポリゴンが入力されており、ポリゴンの頂点座標(X、Y)は、図2(A)に示すようなスクリーン座標系上の座標となっている。そして、このスクリーン座標系から奥へ向かう方向がZ座標となっているため、頂点座標の外積を求め、この外積のZ座標成分の正負を求めることでポリゴンの裏表を判定することができる。これはポリゴン面の法線ベクトルの向きを求めることに相当する。
【0036】
座標反転部410は、設定メモリ406に設定された左右反転フラグ、上下反転のフラグに従い、入力ポリゴンデータの頂点座標を反転する機能を有する。具体的には、これらのフラグが”0”か”1”かで(フラグは全て正論理)、図2(B)に示すようにして頂点座標(X、Y)の反転を行う。例えば、左右反転フラグが”1”となると頂点座標Xの正負が反転し、上下反転フラグが”1”となると頂点座標Yがの正負が反転する。
【0037】
データメモリ412には、入力コントロール部402からのメモリ書き込みアドレスにしたがって、座標反転部410を介して入力ポリゴンデータが格納され、一時的に蓄えられる。この場合、データメモリ412には、座標反転部410により座標反転が行われると反転された頂点座標が格納され、座標反転が行われないと反転されない頂点座標が格納される。また、ポリゴンの各頂点に頂点輝度情報、頂点テクスチャ座標が与えられている場合には、これらの頂点輝度情報、頂点テクスチャ座標も格納される。
【0038】
排他的論理和部414は、裏表判定フラグ、左右反転フラグ、上下反転フラグの排他的論理和をとり、これを(割り振り順序)入れ替えフラグとして出力するものであり、2入力のEXOR回路416、418を含む。図3(A)には、この3入力の排他的論理和の真理値表が示される。例えば、ポリゴンが表と判定され、かつ左右反転処理、上下反転処理をともに行わない場合は(裏判定フラグ=0、左右反転フラグ=0、上下反転フラグ=0)、ポリゴンの頂点への頂点番号の割り振り順序を入れ替える必要がないため、入れ替えフラグ=0となる。一方、ポリゴンが裏と判定され、かつ左右反転処理、上下反転処理をともに行なわない場合は(裏判定フラグ=1、左右反転フラグ=0、上下反転フラグ=0)、裏ポリゴン出力フラグの設定によっては割り振り順序を入れ替える必要性が生じるので、入れ替えフラグ=1となる。更に、ポリゴンが裏と判定され、かつ左右反転処理を行い、上下反転処理を行なわない場合は(裏判定フラグ=1、左右反転フラグ=1、上下反転フラグ=0)、頂点番号の割り振り順序は結局もとに戻ることになるため、入れ替えフラグ=0となる。他の場合も図3(A)に示すように同様となり、フラグの立つ個数が偶数の場合は入れ替えフラグ=0となり、奇数の場合は入れ替えフラグ=1となる。
【0039】
割り振り順序入れ替え部420は、排他的論理和部414からの入れ替えフラグにしたがって、出力コントロール部404から入力される割り振り順序(例えば1、2、3、4)を入れ替える機能を有する。即ち、図3(B)に示すように、入れ替えフラグ=0の場合には、出力コントロール部404から入力される割り振り順序は(1、2、3、4)のまま変化せずに頂点番号割り当て部422に出力される。これに対して、入れ替えフラグ=1の場合には、割り振り順序は(1、2、3、4)から(1、4、3、2)に入れ替えられて頂点番号割り当て部422に出力される。
【0040】
なお、本実施例においては、ポリゴンデータ変換装置がクリッピング処理により変形されたN角形(Nは3以上の整数)の入力ポリゴンを、四角形のポリゴンに変換して出力する場合について説明している。これに対して、N角形のポリゴンを例えば三角形のポリゴンに変換して出力する場合には、出力コントロール部404からは割り振り順序(1、2、3)が入力され、割り振り順序入れ替え部420は、これを(1、2、3)のまま頂点番号割り当て部422に出力する、あるいは、(1、3、2)に入れ替えて頂点番号割り当て部422に出力することになる。
【0041】
頂点番号割り当て部422は、ポリゴン分割部424を含んでいる。そして、N角形の入力ポリゴンを、頂点数が所定数の1又は複数のポリゴン、即ち1又は複数の四角形のポリゴンに分割するとともに、割り振り順序入れ替え部420から入力される入れ替え済み割り振り順序にしたがって、分割された四角形のポリゴンの頂点に対して入力ポリゴンの頂点番号を割り当てる機能を有する。
【0042】
次に、図4(A)、(B)、図5(A)、(B)を用いて、頂点番号割り当て部422において行われる処理について説明する。頂点番号割り当て部422には、入れ替え済み割り当て順序、分割ポリゴンナンバ、入力ポリゴンの頂点数が入力され、割り当て頂点番号が出力される。ここで、分割ポリゴンナンバは、図4(A)、(B)に示されるように、現在処理を行っているポリゴンが何枚目の分割ポリゴンであるかを示すものである。また、割り当て頂点番号は、分割されたポリゴンに対して入力ポリゴンのどの頂点番号を割り当てるかを示すものである。
【0043】
今、nは自然数でかつ2以上とする。また、入れ替え済み割り振り順序をASEQ(1〜4)とし、分割ポリゴンナンバをDPN(1〜)とし、入力ポリゴン頂点数をNUMV(3以上の自然数)とし、求める割り当て頂点番号をVNとする。
【0044】
まず、NUMV=2nの場合(4,6,8,10・・・角形の時)を考える。この場合には、DPNは1から(NUMV−2)/2へと1つずつ順次変化することになる。即ち、この場合、出力されるポリゴンは((NUMV−2)/2)枚となり、例えば図4(A)、(B)に示す六角形の場合は2枚となる。このDPNは、出力コントロール部404で計算される。
【0045】
さて、NUMV=2nの時、即ち入力ポリゴンの頂点数が偶数の場合、割り当て頂点番号VNは頂点番号割り当て部422により以下の演算式にしたがって演算される。
【0046】
VN = 1 (ASEQ = 1の時)
VN = DPN×2 (ASEQ = 2の時)
VN = DPN×2 +1 (ASEQ = 3の時)
VN = DPN×2 +2 (ASEQ = 4の時)
図4(A)には、割り振り順序ASEQが入れ替わっていない場合の上記の演算式にしたがった演算結果が示される。即ち、図4(A)において、まず、DPN=1となり、分割ポリゴンAのVNが演算される。この場合には、VNは上式にしたがって、(1、2、3、4)となる。つまり、分割ポリゴンAの頂点に対しては、元の入力ポリゴンの頂点番号(1、2、3、4)が割り当てられることになる。次に、DPN=2となり、分割ポリゴンBのVNが演算される。この場合には、VNは上式にしたがって、(1、4、5、6)となる。つまり、分割ポリゴンBの頂点に対しては、元の入力ポリゴンの頂点番号(1、4、5、6)が割り当てられることになる。
【0047】
図4(B)には、割り振り順序ASEQが入れ替わった場合の演算結果が示される。この場合、図4(A)と異なり割り振り順序ASEQが(1、2、3、4)から(1、4、3、2)に入れ替わっている。即ち、割り振り順序がポリゴンの裏表を反転するように入れ替わっている。そして、まず、DPN=1としてVNが演算され、分割ポリゴンAの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、4、3、2)とされる。次に、DPN=2としてVNが演算され、分割ポリゴンBの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、6、5、4)とされる。以上より、図4(B)に示すように、裏向きとなったポリゴンを構成する全ての分割ポリゴンA、Bについて、頂点番号の割り振り順序を反時計回りにすることが可能となり、表ポリゴンとして出力することが可能となる。
【0048】
次に、NUMV=2n−1の場合(3,5,7,9・・・角形の時)を考える。この場合には、DPNは1から(NUMV−1)/2へと1つずつ順次変化することになる。即ち、この場合、出力されるポリゴンは((NUMV−1)/2)枚となり、例えば図5(A)、(B)に示す7角形の場合は3枚となる。
【0049】
さて、NUMV=2n−1の時、即ち入力ポリゴンの頂点数が奇数の場合、割り当て頂点番号VNは頂点番号割り当て部422により以下の演算式にしたがって演算される。
【0050】
図5(A)には、割り振り順序ASEQが入れ替わっていない場合の演算結果が示される。まず、DPN=1としてVNが演算され、分割ポリゴンAの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、2、3、4)とされる。次に、DPN=2としてVNが演算され、分割ポリゴンBの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、4、5、6)とされる。
【0051】
最後に、DPN=3としてVNが演算される。この場合、DPN=(NUMV−1)/2=3であるため、上式より、分割ポリゴンCの4頂点目の頂点番号はVN=1となる。即ち、この場合には、分割ポリゴンCの頂点数は所定数である4に満たなく、分割ポリゴンCは三角形となる。従って、このままでは分割ポリゴンの頂点に対して頂点番号を割り当てられなくなるため、分割ポリゴンの4頂点目の頂点に対して入力ポリゴンの第1番目の頂点番号である1を割り当てる。これにより、分割ポリゴンCの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、6、7、1)とされる。本ポリゴンデータ変換装置では、このように実際には三角形であるポリゴンを、四角形のポリゴンとして後段の画像形成部に出力している。本実施例においては、後段にある画像形成部を四角形のポリゴンのみを描画できるハードウェア構成として描画処理の単純化を図っている。従って、このようなハードウェア構成の画像形成部であっても、本ポリゴンデータ変換装置によれば、三角形のポリゴンを四角形のポリゴンに見せかけることで、正常な動作を保証できることになる。
【0052】
図5(B)には、割り振り順序ASEQが入れ替わった場合の演算結果が示される。まず、DPN=1としてVNが演算され、分割ポリゴンAの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、4、3、2)とされる。次に、DPN=2としてVNが演算され、分割ポリゴンBの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、6、5、4)とされる。最後に、DPN=3としてVNが演算され、分割ポリゴンCの頂点に対して割り当てる元の入力ポリゴンの頂点番号が(1、7、6、1)とされる。以上より、図5(B)に示すように、裏向きとなったポリゴンを構成する全ての分割ポリゴンA、B、Cについて、頂点番号の割り振り順序を反時計回りにすることが可能となり、表ポリゴンとして出力することが可能となる。
【0053】
以上のようにして、頂点番号割り当て部422では、クリッピング処理等で頂点数が変化した入力ポリゴンを、頂点数が所定数のポリゴン、即ちに四角形のポリゴンに分割するのと同時に、入れ替え済みの割り振り順序にしたがって元の入力ポリゴンの頂点番号を分割ポリゴンの頂点に割り当てることが可能となる。
【0054】
実アドレス生成部426では、頂点番号割り当て部424からの割り当て頂点番号に基づいて、メモリ上の実アドレスが生成される。この場合、出力コントロール部404からは、実アドレス生成に必要な情報が入力されることになる。実アドレス生成部426から出力されたメモリ読み出しアドレスは、データメモリ412に入力され、このメモリ読み出しアドレスによって該当する(割り当て頂点番号により指定される)入力ポリゴンの頂点座標が読み出される。この場合、例えば座標反転部410により左右反転、上下反転処理が行われている場合には、左右反転、上下反転された頂点座標が読み出されることになる。また、入力ポリゴンデータに頂点輝度情報、頂点テクスチャ座標が含まれている場合には、これらの情報も読み出され、出力ポリゴンデータとして出力されることになる。
【0055】
なお、図6には、本ポリゴンデータ変換装置に入力されるポリゴンデータの基本的フォーマットが示される。同図に示すように、このポリゴンデータは、ヘッダ情報と、頂点輝度情報と、頂点テクスチャ座標と、頂点座標とを含む。但し、頂点輝度情報、頂点テクスチャ座標を含ませるか否かは任意である。また、ヘッダ情報には、裏のポリゴンを出力するか否かを設定する情報である裏ポリゴン出力フラグと、頂点輝度情報の有無、頂点テクスチャ座標の有無を指定する情報と、入力ポリゴンの頂点数情報等が含まれる。このように、本実施例によれば、裏ポリゴン出力フラグがポリゴンデータに含まれるため、ポリゴン毎に裏ポリゴン出力フラグを設定できることになる。即ち、ポリゴン毎に、該ポリゴンが裏であっても出力するという設定を行うことができる。全てのポリゴンについて裏ポリゴンを描画するようにすると、演算処理の負担が余りに大きくなる。従って、このような場合に、裏ポリゴン出力フラグにより必要なポリゴンのみ裏を表示し、他のポリゴンは裏を表示しないようにすれば、特殊の映像効果を出しながらも演算処理の負担を軽減できることになる。但し、この裏ポリゴン出力フラグをポリゴン毎にではなく、画面に表示する全てのポリゴンに対して設定することも可能である。
【0056】
次に、本実施例の動作について図7(A)、(B)を用いて簡単に説明する。
【0057】
まず、イニシャライズにより、装置全体の初期設定が行われる。この際に、設定メモリ406等に必要な情報が書き込まれる。
【0058】
次に、ポリゴンデータの入力が開始される。すると、図7(A)に示すように、入力コントロール部402が生成する書き込みアドレスにしたがい、入力イネーブルのタイミングで入力ポリゴンデータがデータメモリ412に書き込まれる。この時、同時に裏表判定部408に入力ポリゴンデータが入力され、裏表の判定が行われる。また、入力ポリゴンデータは、入力コントロール部402にも入力され、これにより入力ポリゴン頂点数、裏ポリゴン出力フラグ等の情報が読み込まれる。この入力ポリゴン頂点数は、出力コントロール部404、頂点番号割り当て部422に出力され、裏ポリゴン出力フラグは、出力コントロール部404に出力される。このようにして全ての入力が完了すると、入力コントロール部402は、入力完了フラグを全体コントロール部400に出力する。そして、全体コントロール部400は、この入力完了フラグを受け取ると、今度は、出力コントロール部404を動作させる。
【0059】
出力コントロール部404は、出力が必要な場合は、入力ポリゴンの頂点数にしたがい割り振り順序を1、2、3、4と変化させながら、分割ポリゴンナンバを1ずつ変化させる。この分割ポリゴンナンバは1からポリゴンの分割数まで1づつ変化することになる。この様子が図7(B)に示される。一方、出力が必要でない場合は、出力コントロール部404は出力完了フラグを全体コントロール部400に出力し、これにより動作を終了する。このような場合としては、例えば裏ポリゴン出力フラグにより裏ポリゴンは出力しないと判断された場合が考えられる。
【0060】
裏判定フラグ、左右反転フラグ、上下反転フラグは、3入力の排他的論理和部414に入力され、図3(A)の真理値表にしたがった入れ替えフラグが形成される。これにより、ポリゴンが裏で、かつ左右反転、上下反転ともに行なわれない場合は、割り振り順序の入れ替えを行なう。また、ポリゴンが表で、左右反転を行い、上下反転を行なわない場合も、割り振り順序の入れ替えを行なう。また他の場合においても、図3(A)、(B)の真理値表に従って、割り振り順序の入れ替えが行なわれる。
【0061】
これにより得られた入れ替え済み割り振り順序は、頂点番号割り当て部422、実アドレス生成部426を介して、メモリの読み出しアドレスとなる。これによりポリゴンは分割され、裏表も正しく出力されることになる。この時、実アドレス生成部426に必要な情報を送ることにより、頂点輝度情報や、頂点テクスチャ座標等についても、正しく出力することが可能となる。
【0062】
図8(A)、(B)には、本実施例のポリゴンデータ変換装置を用いて「旗」についての画像合成を行った場合の表示画面の一例が示される。図8(A)は、「旗」の表側を見た場合の表示画面であり、図8(B)は、旗の裏側を見た場合の表示画面である。このように、本実施例によれば、図8(A)で「POLYGON」と描かれた文字を、図8(B)に示すようにポリゴンの裏側にも表示できる。従来のハードウェアでは、このような表示を行うためには、2枚のポリゴンを張り合わせておく必要があった。これに対して、本実施例は、1枚のポリゴンで、このように表裏に模様が施された「旗」が風でなびくというような映像効果を得ることができる。
【0063】
図9(A)、(B)には、図9(C)に示すような立体迷路を用いたゲーム装置に本実施例を適用した場合の表示画面の一例が示される。図9(A)は、図9(C)のA点において見える表示画面であり、図9(B)は、図9(C)のB点において見える表示画面である。この場合、例えば壁95を表すポリゴンは、表のみならず裏も表示されるように裏ポリゴン出力フラッグにより設定されている。これにより、図9(A)において壁95の表側96に施された模様を、図9(B)における裏側97にも同様に表示できることになる。そして、このような表示を行うにあたって、本実施例では壁95を1枚のポリゴンで表せるため、立体迷路を表現するのに必要なポリゴンの枚数を半分に減らすことが可能となる。
B.第2の実施例
第2の実施例は、本発明のポリゴンデータ変換装置を含む3次元シミュレータ装置に関する実施例である。
【0064】
1.ゲームの概要
まず、本実施例に係る3次元シミュレータ装置で実現される3次元ゲームの一例について簡単に説明する。
【0065】
本3次元シミュレータ装置により実現される3次元ゲームは、移動体、例えばプレーヤレーシングカーにてマップ上に形成されたコース上を走行し、他のプレーヤが操作する相手レーシングカー、コンピュータが操作するコンピュータカーと順位を競い合うレーシングカーゲームである。図10には、本3次元シミュレータ装置の外観図の一例が示される。同図に示すようにこの3次元シミュレータ装置は、実際のレーシングカーの運転席と同様に形成されている。そして、プレーヤは、シート18に着座し、CRT(ディスプレイ)10に映し出されたゲーム画面(レーシングカーの運転席から見える風景の疑似3次元画像)を見ながら、操作部12に設けられたハンドル14、アクセル15、シフトレバー16等を操作して架空のレーシングカーを運転してゲームを行う。
【0066】
図11には、本3次元ゲームにおける仮想3次元空間の一例が示される。このように、本3次元ゲームにおける仮想3次元空間には、3次元的に形成されたコース20が配置されている。そして、コース20の周辺には、ビル60、トンネル62、山64、崖66、壁68等の3次元オブジェクトが配置されている。プレーヤはこれらのコース等が映し出されたCRT10を見ながらレーシングカーを操作する。そして、スタートポイント70からスタートして、コース20を周回し、所定回数コースを周回するとゴールとなり、プレーヤの順位が決定される。
【0067】
図12には、本3次元ゲームにおいてCRT10上に映し出されるゲーム画面の一例が示される。図12に示すようにメイン画面1には例えば相手レーシングカー52が映し出されており、プレーヤはメイン画面1を見ながら、この相手レーシングカー52と競争を行うことになる。図12に示すように、メイン画面1には、相手レーシングカー52の他に、路面21、トンネルの壁22等が映し出されている。そして、メイン画面1上には、更にバックミラー(サブ画面)2が表示されており、このバックミラー2を見ることによりプレーヤは、コンピュータ−カー54が後ろから追いかけてくるということを認識できる。これにより、ゲームの臨場感、面白味を非常に高めることができる。更に、バックミラー2には、メイン画面と同様に路面23、壁24が映し出されている。そして、バックミラー2に映る路面23には、メイン画面1の路面21と同様に、アスファルト状の模様が施されており、また、センターライン26等も描かれている。即ち、メイン画面と同様にテクスチャマッピングが行われている。
【0068】
このように、本実施例によれば、バックミラー2に映る画像もメイン画面1と同様にリアリティに溢れるものとすることができる。これは、バックミラー2に映る画像も、メイン画面とほとんど同様の処理で仮想3次元空間上における視界画像を求めることで形成しているからである。更に、メイン画面と同様の処理でテクスチャマッピングを行っているからである。
【0069】
さて、このようなリアル感ある画像を映し出すためには、まずプレーヤの視点位置から前向きの視線方向の視界画像を求め、これをメイン画面1に表示する。そして、次に、プレーヤの視点位置から後ろ向き視線方向の視界画像を求め、この視界画像に左右反転処理を施し、求められた画像をバックミラー2に表示する。この場合の、左右反転処理は、設定メモリ406の左右反転フラグを”1”に設定することにより行う。更に具体的には、メイン画面1を構成するポリゴンに対して演算処理を行う際には左右反転フラグを”0”に設定し、バックミラー2を構成するポリゴンに対して演算処理を行う際には左右反転フラグを”1”に設定する。そして、左右反転フラグ=1となると、座標反転部410により、ポリゴンの頂点座標が左右反転される。このように左右反転処理を行うとポリゴンが裏向きになってしまい、裏ポリゴンを描画できないようなハードウェアを用いた場合では、ポリゴンの描画ができなくなるという事態が生じる。これに対して、本実施例では、このような場合には入れ替えフラグ=1となり、割り振り順序入れ替え部420により頂点番号の割り振り順序の入れ替え処理が行われるため、正常にポリゴンを描画できることになる。このように、本実施例によれば、裏ポリゴンを描画できないようなハードウェアを用いながらも、バックミラー2に、リアル感溢れる画像を表示できることになる。
【0070】
2.装置の構成の説明
次に、本実施例に係る3次元シミュレータ装置の構成について説明する。本3次元シミュレータ装置は、図5に示すように、操作部10、仮想3次元空間演算部100、画像合成部200、CRT10を含むが、まず仮想3次元空間演算部100について説明する。
【0071】
(1)仮想3次元空間演算部
図13に示すように、仮想3次元空間演算部100は、処理部102、仮想3次元空間設定部104、移動情報演算部106、オブジェクト情報記憶部108を含んで構成される。
【0072】
ここで、処理部102では、3次元シミュレータ装置全体の制御が行われる。また、処理部102内に設けられた記憶部には、所定のゲームプログラムが記憶されている。仮想3次元空間演算部100は、このゲームプログラム及び操作部12からの操作信号にしたがって仮想3次元空間設定の演算を行うことになる。
【0073】
移動情報演算部106では、操作部12からの操作信号及び処理部102からの指示等にしたがって、レーシングカーの移動情報が演算される。
【0074】
オブジェクト情報記憶部108には、仮想3次元空間を構成するオブジェクトの位置情報・方向情報及びこの位置に表示すべきオブジェクトのオブジェクトナンバーが記憶されている(以下、この記憶された位置情報・方向情報及びオブジェクトナンバーをオブジェクト情報と呼ぶ)。図14には、オブジェクト情報記憶部108に記憶されるオブジェクト情報の一例が示される。また、図15には、これらのオブジェクト情報に含まれる位置情報、方向情報(Xm、Ym、Zm、θm、φm、ρm)と絶対座標系(Xw、Yw、Zw)の関係が示される。
【0075】
ここで、オブジェクトにはレーシングカー等を表現する移動体オブジェクト、及び、コース等を表現するマップオブジェクトがあり、これらのオブジェクトは図15に示すように四角形のポリゴンの集合で表現されている。
【0076】
オブジェクト情報記憶部108に記憶されているオブジェクト情報は、仮想3次元空間設定部104により読み出される。この場合、オブジェクト情報記憶部108には、当該フレームの1つ前のフレームにおけるオブジェクト情報が記憶されている。そして、仮想3次元空間設定部104では、読み出されたオブジェクト情報と、移動情報演算部106で演算された移動情報とに基づいて、当該フレームにおけるオブジェクト情報(位置情報、方向情報)が求められる。
【0077】
このようにして、仮想3次元空間設定部104では、当該フレームにおける仮想3次元空間を構成する全てのオブジェクトのオブジェクト情報が設定されることになる。
【0078】
なお、マップ設定部100は、仮想3次元空間上に分割されたマップを表示する場合のマップ設定を行うものである。また、本実施例でメイン画面上にサブ画面(バックミラー)を形成するためには、例えば図16(A)、(B)に示すように、メイン画面用のオブジェクト情報(図16(A)のオブジェクト情報)、サブ画面用のオブジェクト情報(図16(B)のオブジェクト情報)というように、複数のオブジェクト情報を形成している。具体的には、仮想3次元空間設定部104がオブジェクト情報記憶部108に記憶された図14に示すオブジェクト情報を読み出し、オブジェクトナンバーのみを変更することで複数のオブジェクト情報を形成している。そして、この形成された複数のオブジェクト情報を、画像合成部200に出力している。例えば、図16(A)のOB0 と図16(B)のOBi+1 とでは、位置情報、方向情報(X0 、Y0 、Z0 、θ0 、φ0 、ρ0 )が同一となっているが、オブジェクトナンバーが異なっている。そして、この異なるオブジェクト情報により、ポリゴン数の異なるオブジェクト指定でき、ポリゴン数の多いオブジェクトをメイン画面に、ポリゴン数の少ないオブジェクトをサブ画面に表示する。これにより、サブ画面を形成するのに必要とされるポリゴン数を減らすことができ、装置のリアルタイム性を維持することが可能となる。
【0079】
(2)画像供給部
画像供給部210は、図17に示すように、オブジェクト画像情報記憶部212、処理部215、座標変換部218、クリッピング処理部220、ポリゴンデータ変換装置224、ソーティング処理部226を含んでいる。また、クリッピング処理部220は、透視投影変換部222を含んでいる。
【0080】
画像供給部210では、仮想3次元空間演算部100により設定された仮想3次元空間の設定情報にしたがって、各種の座標変換処理、3次元演算処理が行われる。
【0081】
即ち、まず、図18に示すように、レーシングカー、コース等を表すオブジェクト300、333、334について、それを構成するポリゴンを、絶対座標(ワールド座標)系(XW 、YW 、ZW )で表現される仮想3次元空間上に配置するための演算処理が行われる。次に、これらの各オブジェクトについて、それを構成するポリゴンをプレーヤ302の視点を基準とした視点座標系(Xv、Yv、Zv)へ座標変換する処理が行われる。その後、いわゆるクリッピング処理が行われ、次に、スクリーン座標系(XS 、YS )への透視投影変換処理が行われる。次に、ポリゴンデータが本発明のポリゴンデータ変換装置により所定形式に変換され、最後に、Z方向についてのソーティング処理が行われる。
【0082】
次に、画像供給部210の動作の詳細について説明する。
【0083】
(a)初期設定
まず、初期設定時に、レーシングカー、コース等を表すオブジェクトの画像情報が、オブジェクト画像情報記憶部212に書き込まれる。但し、オブジェクト画像情報記憶部212がROMである場合は、この書き込みは必要とされない。
【0084】
(b)フレームデータの転送
全てのオブジェクトに共通する視点情報、即ちプレーヤの視点位置・角度・視野角の情報、モニタの情報等は、1フィールド毎、例えば(1/60)秒毎に更新され、仮想3次元空間演算部100から処理部215を介して座標変換部218に転送される。座標変換部218では、このデータを基に各種の座標変換が行われる。また、モニタの角度・大きさ等の情報もクリッピング処理用のデータとしてクリッピング処理部220に転送される。これらの転送されるデータはフレームデータと呼ばれる。
【0085】
(c)オブジェクトデータ及びポリゴンデータの形成
オブジェクトの位置情報、方向情報、オブジェクトナンバーを含むオブジェクト情報が、仮想3次元空間演算部100から処理部215へと転送される。
【0086】
次に、前記のオブジェクトナンバーをアドレスとして、オブジェクト画像情報記憶部212から対応するオブジェクトの画像情報が読み出される。即ち、例えばオブジェクトナンバーがレーシングカーを指定するものである場合は、このレーシングカーの画像情報がオブジェクト画像情報記憶部212から読み出される。オブジェクト画像情報記憶部212には、レーシングカー等の画像情報が複数枚のポリゴンの集合(多面体)として表現され格納されている。処理部215は、データフォーマット形成部217により、この読み出されたデータからオブジェクトデータ及びポリゴンデータを組にしたデータを形成して、座標変換部218以下へと順次転送する。
【0087】
ここで、オブジェクトデータとは、オブジェクトの位置情報、回転情報、その他の付属データ等で構成されるデータをいう。また、ポリゴンデータとは、オブジェクトを構成するポリゴンについての画像情報であり、ポリゴンの頂点座標、頂点テクスチャ座標、頂点輝度情報、その他の付属データで構成されるデータをいう。
【0088】
なお、ここでいうポリゴンデータは、前述の図6に説明したポリゴンデータと異なり、透視投影変換処理等が施されていない3次元ポリゴンについてのポリゴンデータである。
【0089】
これらのデータは、データフォーマット形成部217により図19(A)、(B)に示すようなデータフォーマットに変換される。
【0090】
(d)座標変換部等での動作
座標変換部218では、処理部215から転送されたプレーヤの視点情報と、処理部215から転送されたレーシングカ−位置情報、回転情報からなるオブジェクトデータをもとに、ポリゴンデータに対して各種の座標変換が行われる。即ち、ポリゴンデータに対するローカル座標系での回転、ワールド座標系への平行移動、視点座標系への回転等が行われる。
【0091】
クリッピング処理部220では、これらの座標変換が終了したポリゴンデータに対してクリッピング処理が行われる。次に、クリッピング処理部220内の透視投影変換部222において、スクリーン座標系への透視投影変換が行われる。なお、本実施例では、このクリッピング処理と透視投影変換処理とを同一のハードウェアを用いて行っている。
【0092】
ポリゴンデータ変換装置224には、クリッピング処理により四角形以外の多角形に変形してしまったポリゴンデータ(2次元ポリゴンデータ)が入力される。そして、必要に応じて左右反転処理、上下反転処理、裏ポリゴン表示のための処理が行われ、これと同時に、この変形したポリゴンを四角形のポリゴンに変換する処理が行われる。そして、フォーマット変換されたポリゴンデータは、次段のソーティング処理部226、画像形成部228に出力される。
【0093】
さて、本実施例では、図19(A)に示すように、データフォーマット形成部217により、メイン画面用データと、サブ画面用データとが形成され、これらのデータが1フレーム内に処理すべきデータとして、座標変換部218等に転送される。ここで、メイン画面用データでは、フレームデータを先頭に、オブジェクト1A、2A、3A等のデータが連なっている。即ち、当該フレームにおいてメイン画面に表示すべき全てのオブジェクトに関するデータが連なっている。そして、例えばオブジェクト1Aのオブジェクトデータの後ろには当該オブジェクトを構成する全ての3次元ポリゴンのポリゴンデータが連なっている。これらのポリゴンデータは、例えば図19(B)に示すようなフォーマットとなっておりポリゴンの頂点座標情報等を含んでいる。同様に、オブジェクト2Aのオブジェクトデータの後ろにも当該オブジェクトを構成する全ての3次元ポリゴンのポリゴンデータが連なっている。
【0094】
サブ画面用データについても、メイン画面用データと全く同様のデータフォーマット形式となっている。但し、オブジェクト1Aとオブジェクト1Bとでは、オブジェクトの配置位置、方向は同一であるが、オブジェクトデータに連なるポリゴンデータの数が異なっている。オブジェクト2Aとオブジェクト2Bとの相違も同様である。本実施例では、データフォーマット形成部217により、このようなフォーマットのデータを形成することで、メイン画面とサブ画面とで表示されるオブジェクトのポリゴン数を異ならせることが可能となっている。更に、メイン画面用データ、サブ画面用データの先頭に置かれるフレームデータの内容を異ならせることで、メイン画面用データとサブ画面用データとで視点位置、視点方向等を異ならせている。即ち、メイン画面用データのフレームデータでは、視線方向が正面向きであるように設定し、サブ画面用データのフレームデータでは、視線方向が後向きであるように設定し、これによりメイン画面上にバックミラーを形成している。
【0095】
(3)画像形成部についての説明
画像形成部228は、このポリゴンの各頂点ごとに与えられた頂点画像情報に基づいてポリゴン内部の画像情報を演算して、これをCRT10に出力するものであり、図20に示すように、プロセッサ部(テクスチャ演算手段)230、テクスチャ情報記憶部242、パレット&ミキサ回路244とを含む。
【0096】
さて、本実施例では、より高品質の画像をより効率よく画像合成すべく、テクスチャマッピングと呼ぶ手法により画像合成を行っている。即ち、図21に示すように、本実施例では、オブジェクト332の回転、並進、透視投影変換等の座標変換及びクリッピング等の処理を、各面を構成するポリゴンA、B、Cごとに行い(具体的には各ポリゴンの頂点ごと)、格子状、縞状の模様については、テクスチャとして取り扱い、ポリゴンの処理と分割して処理を行っている。つまり、図20に示すように画像形成部228内にはテクスチャ情報記憶部242が設けられ、この中には各3次元ポリゴンにはり付けるべきテクスチャ情報、つまり格子状、縞状の模様等の画像情報が記憶されている。
【0097】
そして、このテクスチャ情報を指定するテクスチャ情報記憶部242のアドレスを、各3次元ポリゴンの頂点テクスチャ座標VTX 、VTY として与えておく(以下、頂点を表す場合に”V”のサフィックスをつける)。具体的には、図21に示すように、ポリゴンAの各頂点に対しては、(VTX0、VTY0)、(VTX1、VTY1)、(VTX2、VTY2)、(VTX3、VTY3)の頂点テクスチャ座標が設定される。画像形成部228内のプロセッサ部230では、この頂点テクスチャ座標VTX 、VTY から、ポリゴン内の全てのドットについてのテクスチャ座標TX 、TY が求められる。そして、求められたテクスチャ座標TX 、TY により、テクスチャ情報記憶部242から対応するテクスチャ情報が読み出され、パレット&ミキサ回路244に出力される。これにより、図21に示すような、格子状、縞状等のテクスチャが施された3次元オブジェクトを画像合成することが可能となる。
【0098】
更に、本実施例では、各ポリゴンの境界に「丸み」を出すために、グーローシェーディングと呼ばれる手法を用いている。この手法では、前記したテクスチャマッピング手法と同様に、3次元ポリゴンの各頂点に図21に示すように頂点輝度情報VBRI0 〜VBRI3 を与えておき、画像形成部228で最終的に画像表示する際に、この頂点輝度情報VBRI0 〜VBRI3 より3次元ポリゴン内の全てのドットについての輝度情報を補間処理して求めている。
【0099】
さて、図22(A)〜(K)には、テクスチャマッピングについての演算処理の流れが視覚的に示されている。既に述べたように、画像形成部228では、ポリゴンの頂点画像情報に基づいて、ポリゴン内の全ての画像情報を形成する演算処理が行われる。この場合、ポリゴンにはり付けるべきテクスチャ情報は、テクスチャ情報記憶部342に記憶されており、このテクスチャ情報を読み出すために、テクスチャ座標TX 、TY が必要となる。そして、図22(F)、(G)、(H)、(I)には、ポリゴン内の全ての透視変換テクスチャ座標TX * 、T Y* を求める演算処理の様子が視覚的に示されている。また、図22(B)、(C)、(D)、(E)には、テクスチャ情報を表示すべき座標である透視変換表示座標X* 、Y* を求める演算処理の様子が視覚的に示されている。以上の演算はプロセッサ部230により行われる。そして、図22(J)に示すように、演算された透視変換テクスチャ座標TX * 、TY * はテクスチャ座標TX 、TY に逆透視投影変換され、この逆透視投影変換されたテクスチャ座標TX 、TY により、テクスチャ情報記憶部242からテクスチャ情報が読み出される。最後に、図22(K)に示すように、演算されたX* 、Y* の座標位置に、読み出されたテクスチャ情報を対応づけることで、画像合成が行われることになる。
【0100】
以上のように画像形成部228では、まずポリゴンの左右輪郭線上の左右輪郭点を求め、次に、この左右輪郭点に囲まれる直線上のドット(ピクセル)の補間処理を行うことで、ポリゴン内部の全てのドットにおける画像情報を求めている。この場合、左輪郭線か右輪郭線であるかの判断は頂点座標に基づいて求められる。従って、仮に、裏向きのポリゴンがプロセッサ部230に入力された場合、即ち図22の(B)において、A* 、D* 、C* 、B* の順番で頂点座標が入力された場合には、左輪郭線を右輪郭線と判断し、右輪郭線を左輪郭線と判断してしまう。これにより、左輪郭点と右輪郭点を逆に判断してしまうことになる。そして、この画像形成部228では更に、左右輪郭点に囲まれた直線上のドットの画像情報を求める際に、左輪郭点よりも左側にあるドット、あるいは右輪郭点よりも右にあるドットについては、そこにはデータが無いものとして取り扱っている。即ち、このような取り扱いをすることで、演算処理を簡単化するとともに演算処理にかかる負荷を軽減している。ところが、このようなハードウェア構成では、上記のように裏ポリゴンが入力されると、左輪郭点と右輪郭点とを逆に判断してしまうことになり、従って、左輪郭点と右輪郭点に囲まれた直線上にはデータが無いものと判断されることになる。これにより、裏ポリゴンについては描画されないということになる。
【0101】
本実施例では、以上のような事態を防止すべく、ポリゴンデータ変換装置224により、頂点番号の割り振り順序を入れ替えて、裏ポリゴンでも表示できるようにしている。また、これにより、バックミラーを形成する際の左右反転処理により裏ポリゴンとなったポリゴン等についても表示することが可能となる。
【0102】
なお、本発明は上記実施例に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。
【0103】
例えば、上記実施例では、左右・上下反転に伴い裏となったポリゴンを表ポリゴンに変換する処理、裏ポリゴンを裏ポリゴン出力フラグに基づいて表ポリゴンに変換する処理、四角形以外の多角形に変形したポリゴンを四角形に分割する処理等、全ての処理が同時に可能なハードウェアについて説明したが本発明はこれに限られるものではない。例えば、左右反転(あるいは上下反転)に伴い裏となったポリゴンを表ポリゴンに変換する処理のみが可能なハードウェア構成でもかまわない。この場合は、例えば排他的論理和部等を省略することができる。また、裏ポリゴンを裏ポリゴン出力フラグに基づいて表ポリゴンに変換する処理のみが可能なハードウェア構成でもかまわない。この場合は、左右反転フラグ、上下反転フラグが必要なくなり、座標反転部等も必要なくなる。また、四角形以外のポリゴンを四角形のポリゴンに変形する機能が必要ない場合には、頂点番号割り当て部においてポリゴンを分割して頂点番号を割り振る必要もなくなる。但し、本実施例で説明したポリゴンデータ変換装置は、排他的論理和部414を設けたり、頂点番号割り当て部422を設けたりすることにより、これらの処理を全て同一のハードウェア構成で可能とした点については、大きな優位点をもっている。
【0104】
また、本発明に係るポリゴンデータ変換装置が適用されるものとしては、上記第2の実施例で説明した3次元シミュレータ装置に限定されず、あらゆる構成の3次元シミュレータ装置、画像合成装置等に対して適用できる。
【0105】
また、仮想3次元空間演算部、画像供給部等における演算処理は、専用の画像処理用デバイスにより処理することもできるし、マイクロコンピュータ等を利用して処理することも可能である。
【0106】
また、画像合成部等で行われる演算処理も本実施例で説明したものに限定されるものではなく、例えばテクスチャマッピングの手法も上記に説明したものに限られない。
【0107】
また、本実施例では、3次元シミュレータ装置が適用されるものとしてレーシングカーゲームを例にとり説明したが、本発明はこれに限らず、あらゆる種類の3次元ゲームに適用でき、例えば3次元的にマップが形成された宇宙船ゲーム等にも適用できる。また、本発明は、業務用の3次元ゲームのみならず、例えば、家庭用のゲーム装置、フライトシミュレータ、教習所等で使用されるドライビングシミュレータ等にも適用することができる。
【0108】
また、本発明により得ることができるサブ画面は、本実施例で説明したバックミラーに限らず種々のものに適用できる。例えば、サイドミラー、上から見た画面等に適用することも可能である。
【0109】
また、本発明により画像合成される疑似3次元画像は、CRT10のようなディスプレイのみならずヘッドマウントディスプレイ(HMD)と呼ばれるディスプレイにも当然に表示できる。
【0110】
【発明の効果】
以上説明したように、請求項1の発明によれば、左右反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。これにより、例えば本発明を3次元シミュレータ装置等に適用した場合に、メイン画面上にサイドミラー(左右反転画像)等を映し出すことが可能となる。即ち、仮想3次元空間で所定の視点からの視界画像を求める。そして、この視界画像を、本発明により左右反転処理するともに、左右反転により裏ポリゴンになったポリゴンを表ポリゴンに戻す。これにより、メイン画面上に、メイン画面と同様にリアル感溢れるサイドミラー等を映し出すことが可能となる。
【0111】
また、請求項2の発明によれば、上下反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。
【0112】
また、請求項3の発明によれば、裏ポリゴンであても、裏ポリゴン出力フラグが立っている限り、表ポリゴンとして出力することが可能となる。これにより、例えば旗、壁、板等の裏表を一枚のポリゴンにより表すことができ、少ないポリゴン数で高い映像効果を得ることができる。
【0113】
また、請求項4の発明によれば、ポリゴン毎に、該ポリゴンが裏であっても出力するという設定を行うことが可能となる。即ち、全てのポリゴンについて裏ポリゴンを描画するようにすると、演算処理の負担が余りに大きくなる。従って、このような場合に、裏ポリゴン出力フラグにより必要なポリゴンのみ裏を表示し、他のポリゴンは裏を表示しないようにすれば、特殊の映像効果を出しながらも演算処理の負担を軽減できることになる。
【0114】
また、請求項5の発明によれば、左右反転、上下反転されて裏ポリゴンとなってしまったポリゴンについても、表ポリゴンとして出力することが可能となる。これにより、例えば左右反転されて更に上下反転された場合等でも、正常に表ポリゴンを出力できることになる。
【0115】
また、請求項6の発明によれば、クリッピング処理等により例えば四角形以外の多角形に変形されたポリゴンを、例えば四角形のポリゴンに分割することが可能となる。そして、この分割されたポリゴンに対して、一度に頂点番号の入れ替え処理を行うことが可能となる。これにより、ポリゴンの分割処理と、左右反転、上下反転により裏となったポリゴンを表に戻す等の処理とを同時に行うことができ、処理の高速化、ハードウェアの負担の軽減等を図ることができる。
【0116】
また、請求項7の発明によれば、実際には例えば三角形であるポリゴンを四角形のポリゴンとして後段のハードウェアに対して出力することが可能となる。これにより、後段にある画像形成部等のハードウェアが、処理の高速化等を図るため四角形のポリゴンのみを描画できるハードウェアであった場合でも、本発明によれば、三角形のポリゴンを四角形のポリゴンに見せかけることで、正常な動作を保証できることになる。
【0117】
請求項8の発明によれば、画像形成部が裏ポリゴンの描画処理を省略できるハードウェア構成となるため、ポリゴンの描画処理を簡単化でき、画像形成部の処理の高速化、装置の小規模化を図れる。しかも、ポリゴンデータ変換装置により頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることができるため、左右反転により裏ポリゴンとなってしまった場合等でも、裏ポリゴンを表ポリゴンとして出力することが可能となる。
【0118】
請求項9の発明によれば、画像形成部が四角形のポリゴン以外のポリゴンについては描画処理を省略できるハードウェア構成となるため、ポリゴンの描画処理を簡単化でき、画像形成部の処理の高速化、装置の小規模化を図れる。しかも、例えばクリッピング処理等により例えば四角形以外の多角形に変形されたポリゴンについても、ポリゴンデータ変換装置により四角形のポリゴンに分割することができ、このように変形されたポリゴンについても正常に描画処理を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明に係る第1の実施例を示すブロック図である。
【図2】図2(A)は、本実施例におけるスクリーン座標系の例を示す図であり、図2(B)は、左右反転処理、上下反転処理について説明するための図である。
【図3】図3(A)は、排他的論理和部の真理値表であり、図3(B)は、入れ替えフラグによる割り振り順序の入れ替えを説明するための図である。
【図4】図4(A)、(B)は、六角形のポリゴンを分割する場合のDPN、ASEQ、VNの関係を示す図である。
【図5】図5(A)、(B)は、七角形のポリゴンを分割する場合のDPN、ASEQ、VNの関係を示す図である。
【図6】図6は、入力ポリゴンデータのデータフォーマットを示す図である。
【図7】図7(A)、(B)は、本実施例の動作を示すタイミング図である。
【図8】図8(A)、(B)は、本実施例により旗の画像を形成した場合の表示画面の一例である。
【図9】図9(A)、(B)、(C)は、本実施例を立体迷路のゲーム装置に適用した場合の表示画面及び立体迷路の平面図を示す図である。
【図10】本第2の実施例に係る3次元シミュレータ装置の外観の一例を示す概略図である。
【図11】本3次元ゲームにおける仮想3次元空間の一例を示す概略図である。
【図12】本3次元シミュレータ装置により画像合成されたゲーム画面(疑似3次元画像)を示す概略図である。
【図13】本第2の実施例に係る3次元シミュレータ装置、特に仮想3次元空間演算部の詳細な一例を示すブロック図である。
【図14】オブジェクト情報記憶部に記憶されるオブジェクト情報について説明するための概略説明図である。
【図15】オブジェクトに設定されるオブジェクト情報について説明するための概略説明図である。
【図16】図16(A)、(B)は、位置情報及び方向情報が同一であり、オブジェクトナンバーが異なる複数のオブジェクト情報を説明するための概略説明図である。
【図17】画像供給部の一例を示すブロック図である。
【図18】本実施例における3次元演算処理について説明するための概略説明図である。
【図19】図19(A)、(B)は、データフォーマット形成部で形成されるデータフォーマットの一例を示す図である。
【図20】画像合成部の一例を示すブロック図である。
【図21】テクスチャマッピング手法を説明するための概略説明図である。
【図22】図22(A)〜(K)は、本実施例におけるテクスチャマッピング手法を視覚的に表した図である。
【図23】図23(A)は、3次元シミュレータ装置の概念を説明するための概略説明図であり、図23(B)は、この3次元シミュレータ装置により形成される画面の一例を示す図である。
【符号の説明】
1 メイン画面
2 バックミラー(サブ画面)
10 CRT
12 操作部
20 コース
100 仮想3次元空間演算部
102 処理部
104 仮想3次元空間設定部
106 移動情報演算部
108 オブジェクト情報記憶部
110 マップ設定部
200 画像合成部
210 画像供給部
212 オブジェクト画像情報記憶部
215 処理部
217 データフォーマット形成部
218 座標変換部
220 クリッピング処理部
222 透視投影変換部
224 ポリゴンデータ変換装置
228 画像形成部
226 ソーティング処理部
230 プロセッサ部
232 テクスチャ情報記憶部
244 パレット&ミキサ回路
400 全体コントロール部
402 入力コントロール部
404 出力コントロール部
406 設定メモリ
408 裏表判定部
410 座標反転部
412 データメモリ
414 排他的論理和部
416、418 EXOR回路
420 割り振り順序入れ替え部
422 頂点番号割り当て部
424 ポリゴン分割部
426 実アドレス生成部
Claims (8)
- 入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する裏表判定手段と、
ポリゴンに対して左右反転処理を行うか否かを設定する情報である左右反転フラグに基づいて入力ポリゴンの頂点座標を左右反転する座標反転手段と、
前記裏表判定手段における判定結果と前記左右反転フラグに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える割り振り順序入れ替え手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記左右反転フラグによりポリゴンの左右反転処理を行うように設定された場合に、前記座標反転手段が入力ポリゴンの頂点座標を左右反転するとともに、
前記割り振り順序入れ替え手段が、前記判定結果と前記左右反転フラグとの排他的論理和に基づいて頂点番号の割り振り順序を入れ替えると判断した場合には、該割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とするポリゴンデータ変換装置。 - 入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する裏表判定手段と、
ポリゴンに対して上下反転処理を行うか否かを設定する情報である上下反転フラグに基づいて入力ポリゴンの頂点座標を上下反転処理する座標反転手段と、
前記裏表判定手段における判定結果と前記上下反転フラグに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える割り振り順序入れ替え手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記上下反転フラグによりポリゴンの上下反転処理を行うように設定された場合に、前記座標反転手段が入力ポリゴンの頂点座標を上下反転するとともに、
前記割り振り順序入れ替え手段が、前記判定結果と前記上下反転フラグとの排他的論理和に基づいて頂点番号の割り振り順序を入れ替えると判断した場合には、該割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とするポリゴンデータ変換装置。 - 入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する裏表判定手段と、
前記裏表判定手段における判定結果と、裏のポリゴンを出力するか否かを設定する情報である裏ポリゴン出力フラグとに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える割り振り順序入れ替え手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって入力ポリゴンの頂点座標を出力する手段とを含み、
前記割り振り順序入れ替え手段が、前記裏表判定手段により入力ポリゴンが裏のポリゴンであると判定され前記裏ポリゴン出力フラグにより裏のポリゴンを出力するように設定された場合に、頂点番号の割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とするポリゴンデータ変換装置。 - 請求項3において、
前記裏ポリゴン出力フラグが処理の対象となるポリゴン毎に設定されることを特徴とするポリゴンデータ変換装置。 - 入力されたポリゴンデータを所定形式のポリゴンデータに変換して出力するポリゴンデータ変換装置であって、
ポリゴンの頂点に与えられる頂点番号の割り振り順序を調べることで入力ポリゴンの裏表を判定する裏表判定手段と、
ポリゴンに対して左右反転処理を行うか否かを設定する情報である左右反転フラグと、ポリゴンに対して上下反転処理を行うか否かを設定する情報である上下反転フラグとに基づいて入力ポリゴンの頂点座標の左右反転処理、上下反転処理を行う座標反転手段と、
前記裏表判定手段における判定結果と前記左右反転フラグと前記上下反転フラグとに基づいてポリゴンの頂点に対する頂点番号の割り振り順序を入れ替える割り振り順序入れ替え手段と、
前記割り振り順序入れ替え手段により入れ替えられた頂点番号の割り振り順序にしたがって前記座標反転手段からの頂点座標を出力する手段とを含み、
前記座標反転手段が、前記左右反転フラグによりポリゴンの左右反転処理を行うように設定された場合には入力ポリゴンの頂点座標を左右反転するとともに、前記上下反転フラグによりポリゴンの上下反転処理を行うように設定された場合には入力ポリゴンの頂点座標を上下反転し、
前記割り振り順序入れ替え手段が、前記裏表判定手段における判定結果と前記左右反転フラグと前記上下反転フラグとの排他的論理和に基づいて頂点番号の割り振り順序を入れ替えると判断した場合には、該割り振り順序をポリゴンの裏表が反転するように入れ替えることを特徴とするポリゴンデータ変換装置。 - 請求項1乃至5のいずれかにおいて、
頂点の数が任意の数値である入力ポリゴンを頂点の数が前記任意の数値以下の所定数である複数のポリゴンに分割するとともに、前記割り振り順序入れ替え手段により入れ替えられた割り振り順序にしたがって前記複数のポリゴンの頂点に対して前記入力ポリゴンの頂点番号を割り当てる手段を含み、
前記出力手段が、前記頂点番号割り当て手段により割り当てられた前記頂点番号に基づいて前記入力ポリゴンの頂点座標あるいは座標反転された頂点座標を出力することを特徴とするポリゴンデータ変換装置。 - 請求項1乃至6のいずれかのポリゴンデータ変換装置を含む3次元シミュレータ装置であって、
前記ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像を形成する画像形成手段を含み、
前記画像形成手段が、頂点に対する頂点番号の割り振り順序が所定の順序であるポリゴンについては前記視界画像を形成するための画像形成処理を省略することを特徴とする3次元シミュレータ装置。 - 請求項6のポリゴンデータ変換装置を含む3次元シミュレータ装置であって、
前記ポリゴンデータ変換装置により変換されたポリゴンデータに基づいて仮想3次元空間の任意の位置における視界画像を形成する画像形成手段を含み、
前記画像形成手段が、頂点の数が前記所定数であるポリゴン以外のポリゴンについては前記視界画像を形成するための画像形成処理を省略することを特徴とする3次元シミュレータ装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15927194A JP3638637B2 (ja) | 1994-06-17 | 1994-06-17 | ポリゴンデータ変換装置及び3次元シミュレータ装置 |
PCT/JP1995/001204 WO1995035554A1 (fr) | 1994-06-17 | 1995-06-16 | Convertisseur de donnees polygonales, simulateur 3d et procede de conversion de donnees polygonales |
US08/596,349 US5748198A (en) | 1994-06-17 | 1995-06-16 | Polygon data conversion device, three-dimensional simulator apparatus, and polygon data conversion method |
GB9603473A GB2295949B (en) | 1994-06-17 | 1995-06-16 | Polygon data converter, three-dimensional simulator and polygon data conversion method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15927194A JP3638637B2 (ja) | 1994-06-17 | 1994-06-17 | ポリゴンデータ変換装置及び3次元シミュレータ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH086485A JPH086485A (ja) | 1996-01-12 |
JP3638637B2 true JP3638637B2 (ja) | 2005-04-13 |
Family
ID=15690135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15927194A Expired - Fee Related JP3638637B2 (ja) | 1994-06-17 | 1994-06-17 | ポリゴンデータ変換装置及び3次元シミュレータ装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5748198A (ja) |
JP (1) | JP3638637B2 (ja) |
GB (1) | GB2295949B (ja) |
WO (1) | WO1995035554A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6030289A (en) * | 1996-06-27 | 2000-02-29 | Konami Co., Ltd. | Video game apparatus, method of displaying models in video game apparatus, and computer-readable recording medium for use with video game apparatus |
GB9719694D0 (en) * | 1997-09-16 | 1997-11-19 | Canon Kk | Image processing apparatus |
EP0930585B1 (en) | 1998-01-14 | 2004-03-31 | Canon Kabushiki Kaisha | Image processing apparatus |
US6500008B1 (en) * | 1999-03-15 | 2002-12-31 | Information Decision Technologies, Llc | Augmented reality-based firefighter training system and method |
JP3502024B2 (ja) | 1999-09-10 | 2004-03-02 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置、記録媒体および画像処理方法 |
JP3647691B2 (ja) | 1999-09-30 | 2005-05-18 | コナミ株式会社 | ポリゴン画像表示方法、ポリゴン画像作成装置及び記録媒体 |
JP4541533B2 (ja) * | 2000-11-24 | 2010-09-08 | パナソニック株式会社 | 描画装置 |
JP3363137B2 (ja) * | 2000-11-29 | 2003-01-08 | コナミ株式会社 | 当たり判定方法、その装置、当たり判定処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置 |
US7619624B2 (en) * | 2001-06-25 | 2009-11-17 | Micron Technology, Inc. | Methods and apparatus for rendering or preparing digital objects or portions thereof for subsequent processing |
US6937236B2 (en) * | 2001-06-25 | 2005-08-30 | Micron Technology, Inc. | Methods and apparatus for culling sorted, back facing graphics data |
US7391418B2 (en) * | 2002-10-15 | 2008-06-24 | Nokia Corporation | Three dimensional image processing |
US20070048690A1 (en) * | 2005-08-26 | 2007-03-01 | Doron Precision Systems, Inc. | Simulated convex mirrors for driving simulators |
JP4492567B2 (ja) | 2006-03-17 | 2010-06-30 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
EP2051208A3 (en) * | 2007-10-17 | 2017-05-24 | Sony Interactive Entertainment Inc. | Generating an asset for interactive entertainment using digital image capture |
US8253778B2 (en) * | 2008-03-21 | 2012-08-28 | Takahashi Atsushi | Three-dimensional digital magnifier operation supporting system |
JP2010033297A (ja) * | 2008-07-28 | 2010-02-12 | Namco Bandai Games Inc | プログラム、情報記憶媒体、及び画像生成システム |
JP6143469B2 (ja) * | 2013-01-17 | 2017-06-07 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US10022619B2 (en) * | 2014-04-18 | 2018-07-17 | Sony Interactive Entertainment, LLC | System and method for multi-player video gaming |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS604646A (ja) * | 1983-06-20 | 1985-01-11 | Ricoh Co Ltd | ギヤ連結装置 |
US5341467A (en) * | 1991-12-30 | 1994-08-23 | Xerox Corporation | Method and apparatus for generating and displaying freeform strokes of varying or constant width using adaptive forward differencing |
JP3222206B2 (ja) * | 1992-06-18 | 2001-10-22 | 株式会社リコー | ポリゴンデータ処理装置 |
-
1994
- 1994-06-17 JP JP15927194A patent/JP3638637B2/ja not_active Expired - Fee Related
-
1995
- 1995-06-16 US US08/596,349 patent/US5748198A/en not_active Expired - Lifetime
- 1995-06-16 WO PCT/JP1995/001204 patent/WO1995035554A1/ja active Application Filing
- 1995-06-16 GB GB9603473A patent/GB2295949B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO1995035554A1 (fr) | 1995-12-28 |
GB2295949B (en) | 1998-12-09 |
US5748198A (en) | 1998-05-05 |
GB2295949A (en) | 1996-06-12 |
GB9603473D0 (en) | 1996-04-17 |
JPH086485A (ja) | 1996-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3056256B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
JP3638637B2 (ja) | ポリゴンデータ変換装置及び3次元シミュレータ装置 | |
WO1994004989A1 (en) | Image synthesizer | |
JP3200163B2 (ja) | 3次元シミュレーション画像形成システム | |
JPH09319891A (ja) | 画像処理装置及びその処理方法 | |
JP2883514B2 (ja) | 画像合成装置およびこれを用いたゲーム装置 | |
JP3442736B2 (ja) | 画像処理装置、画像処理方法及び情報記憶媒体 | |
WO1995009405A1 (fr) | Processeur de detourage, simulateur tridimensionnel et procede de traitement de detourage | |
JP3420870B2 (ja) | 画像合成方法、画像合成装置及びゲーム装置 | |
JP3748451B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4610748B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP3760341B2 (ja) | プログラム、記録媒体、画像生成装置及び画像生成方法 | |
JP4806578B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP3364456B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
JP4743770B2 (ja) | 画像生成システム、プログラム、及び情報記憶媒体 | |
JP2010165100A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4577968B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP3501479B2 (ja) | 画像処理装置 | |
JP2990190B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
JP4592087B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3254091B2 (ja) | 3次元シミュレータ装置及び画像合成方法 | |
JP2002329213A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3538248B2 (ja) | 画像合成装置及び画像合成方法 | |
JP2007272389A (ja) | プログラム、情報記録媒体および画像生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050112 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080121 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080121 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090121 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100121 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110121 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130121 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |