JP3889392B2 - 画像描画装置及び方法、プログラム並びに記録媒体 - Google Patents

画像描画装置及び方法、プログラム並びに記録媒体 Download PDF

Info

Publication number
JP3889392B2
JP3889392B2 JP2003388375A JP2003388375A JP3889392B2 JP 3889392 B2 JP3889392 B2 JP 3889392B2 JP 2003388375 A JP2003388375 A JP 2003388375A JP 2003388375 A JP2003388375 A JP 2003388375A JP 3889392 B2 JP3889392 B2 JP 3889392B2
Authority
JP
Japan
Prior art keywords
transparency
value
change rate
buffer
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003388375A
Other languages
English (en)
Other versions
JP2005149315A (ja
Inventor
太司 勝山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2003388375A priority Critical patent/JP3889392B2/ja
Priority to US10/989,281 priority patent/US7362327B2/en
Priority to EP04027287.4A priority patent/EP1533753B1/en
Publication of JP2005149315A publication Critical patent/JP2005149315A/ja
Application granted granted Critical
Publication of JP3889392B2 publication Critical patent/JP3889392B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/62Semi-transparency

Landscapes

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

Description

本発明は、画像描画装置及び方法等に関し、特にZバッファ法を用いて、透明度が変化するオブジェクトを描画するための画像処理に関するものである。
従来のビデオゲームにおいては、ゲームの進行に合わせて複数のポリゴンから構成されるオブジェクトをフェードイン/フェードアウトさせることにより、その透明度を変化させることが行われていた。ここで、複数のポリゴンにおいて透明度が同時に変化することがあった(例えば、特許文献1参照)。
複数のポリゴンから構成されるオブジェクトを描画する場合、視点に近い側のポリゴンを画像として表示するための隠面消去の処理にZバッファ法が広く用いられている。ポリゴンには透明度を表すα値(本明細書においては、小さいほど透明度が高いものとする)が設定されているが、前面側のポリゴンに隠された後面側のポリゴンが表示されないようにするため、従来のZバッファ法においては、予め設定した書込閾値に従って、ポリゴンのZ値をZバッファへ書き込むかどうかを決めるものとしていた。
図1は、従来のZバッファ法の処理の例を説明する図である。ここで、図1(a)及び(b)に示すように、α値を70としたポリゴン群701が視点の位置に近い前面側にあり、α値を80としたポリゴン群702が視点の位置から遠い後面側にあるものとする。ポリゴン群701、702を含むオブジェクトは、全体として透明度を変化させることが可能であるが、その透明度の変化がないときには透明度の変化率が100%と、完全に透明になってしまうと透明度の変化率が0%と設定される。ポリゴン群701、702を含むオブジェクトの透明度が変化していない場合、すなわち透明度の変化率を100%とした場合には、ポリゴン群701の現α値は、それぞれ70×100/100=70、ポリゴン群702の現α値は、80×100/100=80となる。
ここで、前面側のポリゴン群701が先に処理対象とされると、ポリゴン群701のα値が書込閾値よりも高くなっているので、ポリゴン群701のZ値がZバッファに書き込まれるとともに、ポリゴン群701がフレームバッファに描画される。こととなる。次に後面側のポリゴン群702が処理対象とされると、より小さなZ値が既にZバッファに書き込まれているため、ポリゴン群702がフレームバッファに描画されない。この場合には、図1(c)に示すように、後面側のポリゴン群702を表示することなく、前面側のポリゴン群701を表示画面上に表示させることができる。
特開2001−224846号公報
しかしながら、透明度が変化するオブジェクトの画像を生成する場合、次のような問題が生じることになっていた。図1(a)、(b)に示したような2つのポリゴン群701、702の画像を描画する場合、図1(d)に示すように、透明度の変化率を80%としたときには、当該時点において前面側のポリゴン群701のα値は56で閾値の60よりも低く、後面側のポリゴン群702のα値は64で閾値の60よりも高く設定されることとなる。
ここで、前面側のポリゴン群701が後面側のポリゴン群702よりも先に処理される場合には、α値が閾値よりも低いポリゴン群701のZ値がZバッファに書き込まれなくなるので、α値が閾値よりも高い後面側のポリゴン群702がフレームバッファに描画されることとなる。この場合には、図1(d)に示すように、後面側に存在するはずのポリゴン群702がポリゴン群701の前面側に表示されてしまうという問題が生じてしまっていた。
この問題を解消するためには、描画対象となる全てのポリゴンを視点の位置から遠い順にソートしておき、ソートした順番にフレームバッファへの描画を行うことが考えられる。しかしながら、ソートの処理は、少なくともポリゴン数の2乗のオーダーで計算量が増加するため、これを行うと多くのポリゴンを処理することができない。これに対してポリゴン数を少なくすると、表示される画像が角張ったものとなってしまい、リアルさが失われてしまうという問題があった。
また、後面側に隠されるポリゴンが表示されないようにするために、仮想スクリーンに投影されるのがポリゴンの表面側であるか裏面側であるかを判定し、表面側と判定されたポリゴンについてのみフレームバッファに書き込むようにするものもあった。しかしながら、ここでも、全てのポリゴンについて表面側であるか裏面側であるかを判定するのには、非常に大きな処理量を要するという問題があった。
本発明は、透明度の変化するオブジェクトを描画する場合において、ポリゴンの描画順序によらずに少ない処理量で適切な画像を描画することができる画像描画装置及び方法等を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点にかかる画像描画装置は、複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するための画像描画装置であって、前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素について視点座標系のZ値をそれぞれ算出するZ値算出手段と、前記オブジェクトの透明度の変化率を設定する変化率設定手段と、前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段と、前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段と、前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段とを備えることを特徴とする。
上記画像描画装置では、各ポリゴンの各画素のZ値をZバッファに書き込むか否かを判断するための閾値は、オブジェクトの透明度の変化率によって設定される。このため、オブジェクトの透明度の変化率がいずれに設定されても、当該変化率における各ポリゴンの各画素の透明度と閾値との大小関係を一定のものにすることができる。このため、透視変換によりスクリーン上に同一の画素として投影される2つのポリゴンのうち前面側(視点に近い側)のポリゴンが先に、後面側(視点に遠い側)のポリゴンが後に処理されるときであっても、後面側のポリゴンを処理するときに前面側のポリゴンの画素についてのZ値がZバッファに既に書き込まれているかどうかは、透明度の変化率の設定に関わらず、常に同じになる。
また、透明度の変化率の設定に関わらずに前面側のポリゴンの各画素のZ値をZバッファに書き込むかどうかが決まるため、後面側のポリゴンの画素の画像(前面側のポリゴンと同一部分の画像)をフレームバッファに描画するかどうかということも常に同じになる。つまり、後面側のポリゴンから先に処理をする必要がないので、Z値に応じてポリゴンをソートする必要はない。従って、上記画像描画装置では、透明度の変化するオブジェクトを描画する場合において、ポリゴンの描画順序によらずに少ない処理量で適切な画像を描画することができるようになる。
なお、上記画像描画装置におけるオブジェクトとは、透明度の変化率がその時々で一律に定められる複数のポリゴンの集まりのことをいう。例えば、ビデオゲームのキャラクタのように一体として形態が定められるものであっても、透明度の変化率が異なるように定められる部分があるときには、透明度の変化率が同じに定められる各部分が、ここで言うオブジェクトとして適用される。
上記画像描画装置において、前記変化率設定手段は、前記オブジェクトの透明度の変化率を、時間の経過に応じて順次変化させて設定し、前記閾値設定手段は、前記透明度の変化率が変化させられる度に、前記閾値を設定するものとすることができる。
この場合には、透明度の変化率が時間の経過に応じて変化すれば、それに応じて閾値も変化することとなる。このため、透明度の変化率が順次変化させられた一連の画像のいずれにおいても、後面側のポリゴンが表示されているかどうかが一律に決まるので、時間の経過に応じて少しずつ状態が変化する画像を順次表示するような動画像も、違和感なく表示させることができるようになる。
上記画像描画装置は、前記オブジェクトがフェードインまたはフェードアウトされるオブジェクトであるか否かを検出するフェードイン/アウト検出手段をさらに備えるものとすることができる。この場合において、前記変化率設定手段は、前記フェードイン/アウト検出手段によりフェードインまたはフェードアウトされるオブジェクトである旨が検出されたときに、当該オブジェクトの透明度の変化率を設定するものとすることができる。
オブジェクトをフェードインまたはフェードアウトさせるときには、これによって透明度の変化率を変化させなければならない。フェードインまたはフェードアウトされるオブジェクトを検出して、その検出結果により透明度の変化率を設定していくことにより、オブジェクトのフェードインまたはフェードアウトをスムースに行うことができるようになる。
上記画像描画装置において、描画対象となるオブジェクトは、複数あってもよい。この場合において、前記変化率設定手段は、前記複数のオブジェクトを順次処理対象オブジェクトとして、それぞれ透明度の変化率を設定し、前記閾値設定手段は、前記複数のオブジェクトにそれぞれ設定された透明度の変化率に応じて、オブジェクト毎に前記閾値を設定することができる。
この場合には、透明度の変化率が異なるように設定される複数のオブジェクトが存在していても、それぞれの透明度の変化率に応じてオブジェクト毎に透明度の変化率が設定されるので、各オブジェクトについて適切な画像を描画できるようになる。なお、透明度比較手段、Zバッファ書き込み手段、及び画像描画手段による処理も、それぞれのオブジェクトについて順次行っていくものとすることができる。
ここで、前記変化率設定手段は、透明度の変化率が同時に変化させられる複数のオブジェクトをまとめて処理対象とし、処理対象とした単位毎に透明度の変化率を設定し、前記閾値設定手段は、前記処理対象とした単位毎に前記閾値を設定することもできる。
この場合には、透明度の変化率の設定及び閾値の設定を、複数のオブジェクトでまとめて行うことができるようになるので、その分の処理量を小さくすることができる。なお、透明度比較手段、Zバッファ書き込み手段、及び画像描画手段による処理も、処理対象とした単位毎に順次行っていくものとすることができる。
上記画像描画装置において、描画対象となるオブジェクトは、複数あってもよい。この場合において、上記画像描画装置は、前記複数のオブジェクトを、それぞれに設定された中心点の視点座標系のZ値に基づいて、前記視点位置からの距離が遠い順にソートするオブジェクトソート手段と、前記オブジェクトソート手段によりソートされた順番に、各オブジェクトを処理対象として、前記Z値算出手段、前記変化率設定手段、前記閾値設定手段、前記透明度比較手段、前記Zバッファ書き込み手段、及び前記画像描画手段による処理を行わせる処理制御手段とをさらに備えるものとすることができる。
複数のオブジェクトの位置が重なり合っているときには、前面側にあるオブジェクトのポリゴンの方が後面側にあるオブジェクトのポリゴンよりも前面側にあることの方が多い。このように各オブジェクトに設定された中心点により視点位置からの距離が遠い順にソートしておくことで、異なるオブジェクトのポリゴンによる影響を最小限に抑えることができる。また、ポリゴン単位のソートではなく、オブジェクト単位のソートであれば、ソートされる対象の数も限られるので、それほど処理量を大きくすることもない。
上記画像描画装置において、前記オブジェクトは、例えば、ビデオゲームにおいて所定の条件が成立することで登場及び退場するキャラクタとすることができる。
このようにゲームのキャラクタを描画対象のオブジェクトとして適用することで、透明度を変化させながら登場及び退場させることができ、その透明度が変化している間のキャラクタの画像も適切に表示されるので、ゲームの臨場感を増すことができる。
上記画像描画装置において、前記フレームバッファは、それぞれ前記画像描画手段による描画単位に応じて2つだけ用意され、前記Zバッファは、各描画単位に共通で1つだけ用意されたものであってもよい。
ここでは、透明度に応じて複数のZバッファを用意する必要はない。画像描画手段により画像の描画を行うフレームバッファと、表示制御手段により描画した画像を読み出すフレームバッファとが用意されていればよく、交互に用いることによって2つだけフレームバッファを用意しておけばよいことになる。Zバッファは、画像の描画を行う際にのみ用いられるので、1つだけ用意されていればよいことになる。このようにZバッファ及びフレームバッファは、最低限の数だけ用意しておけばよいので、これらに必要な記憶容量を小さくすることができる。
上記目的を達成するため、本発明の第2の観点にかかる画像描画方法は、コンピュータ装置の記憶装置に設けられるZバッファ及びフレームバッファを用いて、複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するための方法であって、前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素について視点座標系のZ値をそれぞれ算出し、前記オブジェクトの透明度の変化率を設定し、前記設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定し、前記設定された変化率において各ポリゴンを透視変換した各画素の透明度を、各ポリゴンの透明度と、前記設定された閾値と比較し、比較の結果により前記閾値よりも透明度が低い判定されたポリゴンの画素について、前記算出されたZ値をZバッファに書き込むZバッファ書き込み、前記Zバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像を前記フレームバッファに描画し、前記フレームバッファに書き込まれた画像を表示手段に表示することを特徴とする。
上記目的を達成するため、本発明の第3の観点にかかるプログラムは、複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するためのプログラムであって、前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素についてZ値をそれぞれ算出するZ値算出手段、前記オブジェクトの透明度の変化率を設定する変化率設定手段、前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段、前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段、及び、前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段としてコンピュータ装置を機能させることを特徴とする。
上記目的を達成するため、本発明の第4の観点にかかるコンピュータ読み取り可能な記録媒体は、複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するためのプログラムを記録し、前記プログラムは、前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素についてZ値をそれぞれ算出するZ値算出手段、前記オブジェクトの透明度の変化率を設定する変化率設定手段、前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段、前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段、及び、前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段としてコンピュータ装置を機能させることを特徴とする。
本発明によれば、透明度の変化するオブジェクトを描画する場合において、ポリゴンの描画順序によらずに少ない処理量で適切な画像を描画することができるようになる。
以下、添付図面を参照して、本発明の実施の形態について説明する。ここでは、ビデオゲームにおいて仮想三次元空間に存在して透明度が変化するオブジェクトを描画する場合に、本発明を適用した場合を例として説明する。
図2は、この実施の形態にかかるビデオゲームを実行するためのビデオゲーム装置100の構成を示すブロック図である。図示するように、ビデオゲーム装置100は、ビデオゲーム本体101を中心として構築される。このビデオゲーム本体101は、その内部バス119に接続された制御部103、RAM(Random Access Memory)105、ハードディスク・ドライブ(HDD)107、サウンド処理部109、グラフィック処理部111、DVD/CD−ROMドライブ113、通信インターフェイス115、及びインターフェイス部117を含む。
このビデオゲーム本体101のサウンド処理部109は、スピーカーであるサウンド出力装置125に、グラフィック処理部111は、表示画面122を有する表示装置121に接続されている。DVD/CD−ROMドライブ113には、記録媒体(DVD−ROMまたはCD−ROM)131を装着し得る。通信インターフェイス115は、ネットワーク151に接続される。インターフェイス部117には、入力部(コントローラ)161とメモリカード162とが接続されている。
制御部103は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD107や記録媒体131上に格納されたプログラムを実行し、ビデオゲーム装置100の制御を行う。制御部103は、内部タイマを備えている。RAM105は、制御部103のワークエリアである。HDD107は、プログラムやデータを保存するための記憶領域である。サウンド処理部109は、制御部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置125にサウンド信号を出力する。
グラフィック処理部111は、制御部103から出力される描画命令に従って、フレームメモリ(フレームバッファ)112(図では、グラフィック処理部111の外側に描かれているが、グラフィック処理部111を構成するチップに含まれるRAM内に設けられる)に画像を展開し、表示装置121の表示画面122上に画像を表示するビデオ信号を出力する。グラフィック処理部111は、画像を描画するためのZバッファをRAM内に設けている。
グラフィック処理部111から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば30分の1秒であり、グラフィック処理部111は、ここでは、フレーム単位(すなわち、30分の1秒単位)で1枚の画像を描画する。フレームメモリ112は、フレーム毎にそれぞれ1つだけ、2フレーム分設けられており、一方に展開された画像データを出力しているときに、他方に画像が展開される。Zバッファは、各フレーム共通で1つだけ設けられている。グラフィック処理部111には、半透明のポリゴンのZ値をZバッファに書き込むかどうかを判断するための透明度の閾値がセットされる。
DVD/CD−ROMドライブ113は、記録媒体131に対しプログラム及びデータの読み書きを行う。通信インターフェイス115は、ネットワーク151に接続され、他のコンピュータとの通信を行う。入力部161は、方向キー及び複数の操作ボタンを備え、方向キーの操作により後述するプレイヤキャラクタを移動させ、操作ボタンの操作により所定の処理を行わせるものである。方向キーは、カーソルの移動やメッセージなどのためにも用いられ、操作ボタンは、所定の指示を入力するために用いられる。
インターフェイス部117は、入力部161からの入力データをRAM105に出力し、制御部103がそれを解釈して演算処理を実施する。インターフェイス部117は、また、制御部103からの指示に基づいて、RAM105に記憶されているゲームの進行状況を示すデータをメモリーカード162に保存させ、メモリーカード162に保存されている中断時のゲームのデータを読み出して、RAM105に転送する。
ビデオゲーム装置100でゲームを行うためのプログラム及びデータは、最初例えば記録媒体131に記憶されている。このプログラム及びデータは、実行時にDVD/CD−ROMドライブ113により読み出されて、RAM105にロードされる。制御部103は、RAM105にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部111に出力し、サウンド出力の指示をサウンド処理部109に出力する。制御部103が処理を行っている間の中間的なデータは、RAM105に記憶される。
この実施の形態にかかるビデオゲームは、プレイヤキャラクタを含む複数のキャラクタが仮想三次元空間に設けられたフィールド上で動作しながらゲームが進行していく。これらのキャラクタは、その全てが常にフィールド上に存在するのではなく、所定の場面においてフィールド上に登場したり、フィールドから退場するキャラクタもある。フェードインして登場したり、フェードアウトして退場するキャラクタもある。フェードインして登場するキャラクタとしては、例えばプレイヤキャラクタとのバトルを開始するときに登場する敵キャラクタがある。フェードアウトして退場するキャラクタとしては、例えばバトルにおいてHP(残りダメージ値)が0になって行動不能となったキャラクタがある。
このフィールドが形成された仮想三次元空間に存在するオブジェクト(キャラクタを含む)の位置は、ワールド座標系の座標によって示される。各オブジェクトは、複数のポリゴンによって構成され、各ポリゴンの位置は、オブジェクト毎に定められたローカル座標系の座標によって示される。各ポリゴンには、透明度を表すα値(透明度が高いほど値が低い)が設定されているが、オブジェクトがフェードイン/フェードアウトする際に、この透明度が変化する。
この透明度が同時に変化する単位が、この実施の形態におけるオブジェクトの処理単位である。例えば、キャラクタなどは、胴体、頭、手、足などのパーツを一体として動作形態が変化するものであるが、フェードイン/フェードアウトする際における透明度の変化がパーツ毎に定まる場合には、各パーツがオブジェクトとして適用されるものとなる。以下、この実施の形態にかかるビデオゲームに適用されるオブジェクトを、全ての部位を一体として透明度が変化するキャラクタを例として説明する。
図3は、この実施の形態にかかるビデオゲームで適用されるキャラクタの例を示す図である。このキャラクタ200が存在することとなる仮想三次元空間は、ワールド座標系(X,Y,Z)によって示される。この実施の形態にかかるビデオゲームでは、図3に示すのと同様の構成を有する複数のキャラクタが、イベントの発生など所定の条件の成立によって、ゲームの場面に登場し(仮想三次元空間に出現し)、ゲームの場面から退場する(仮想三次元空間から消失する)ものとなっている。これらの場合において、フェードイン/フェードアウトの処理が行われる場合もある。
図3に示すように、キャラクタ200は、ポリゴン202a、202bを含む複数のポリゴンによって構成されており、各ポリゴンの頂点位置は、ローカル座標系(x,y,z)によって示される。後述するように、キャラクタ200などのオブジェクト毎にそのモデルデータが用意されるものとなる。キャラクタ200のほぼ中心位置には、中心点201が設けられており、キャラクタ200位置は、中心点201のワールド座標系における座標で示される。キャラクタ200の方向は、ローカル座標系の各座標軸がワールド座標系の各座標軸に対してなす角で表される。
次に説明する透視変換の処理を行う際には、まず、キャラクタ200の各ポリゴンの頂点位置の座標が、ローカル座標系の座標からワールド座標系の座標に変換される。なお、ポリゴン202a、202bは、中心点201を挟んで対向する位置にある。次に説明する仮想カメラの視点の位置によっては、その一方によって他方の少なくとも一部が隠される場合がある。
図3に示すキャラクタ200などの各キャラクタが、ゲームの場面に登場し、ゲームの場面から退場する様子などのゲームの進行状況は、仮想カメラにより仮想三次元空間を透視変換することで表示画面122上に映し出され、プレイヤに認識されるものとなる。図4は、この透視変換の様子を模式的に示す。仮想三次元空間内に仮想カメラ301が置かれ、仮想スクリーン302上に投影された画像が表示画面に表示される画像となる。この仮想カメラ301の位置が視点303、仮想カメラ301の向きが視軸304、視点303と仮想スクリーン302の四隅を結んだ4本の直線が作る領域が視界305となる。
このように仮想スクリーン302上に画像を投影するために用いられる座標系が視点座標系(X’,Y’,Z’)であり、視軸304の方向が視点座標系のZ’軸となる。Z’座標の値は、視点303から遠くに行くに従って大きくなる。仮想スクリーン302上における座標系がスクリーン座標系であるが、そのx’軸及びy’軸の方向は、視点座標系のX’軸、Y’軸の方向と同じである。ワールド座標系の座標(ローカル座標系の座標から変換された座標を含む)は、透視変換の処理により、視点座標系の座標に変換され、さらにスクリーン座標系の座標に変換される。
透視変換を行ってフレームメモリ112に画像を描画する際に、隠面消去の処理及びテクスチャマッピングの処理が行われる。隠面消去の処理としては、Zバッファ法が適用されている。図では、仮想三次元空間に透明度の変化がないキャラクタ200Aと、フェードインまたはフェードアウトにより透明度が変化しているキャラクタ200Bとが存在しているが、キャラクタ200Aと200Bとに対してZバッファ法、テクスチャマッピングの処理を行う際に、異なる処理が適用される。その詳細については後述する。
次に、この実施の形態にかかるビデオゲームにおいて適用されている各種のデータについて説明する。ここでは、キャラクタ200などのオブジェクトをゲームの場面に登場/退場させ、その様子を透視変換して表示画面122上に表示させるために必要なデータについて説明する。このようなデータとしては、オブジェクトのモデルデータを登録したモデルデータテーブル、マッピングされるテクスチャのデータを登録したテクスチャテーブル、及び現時点で仮想三次元空間内に存在し、表示対象となるオブジェクトを登録する表示オブジェクトテーブルがある。
図5は、モデルデータテーブルの例を示す図である。このモデルデータテーブル400は、オブジェクト毎のモデルデータを登録したテーブルであり、記録媒体131に予め記録されているが、HDD107に転送して用いるものとしてもよい。図示するように、モデルデータテーブル400は、当該オブジェクトを一意に認識するためのオブジェクトID401を含んでいる。
オブジェクトデータテーブル400は、また、当該オブジェクトを構成するポリゴンに関するデータとして、ポリゴン識別番号411a、421a、…及び頂点座標411b、421b、…を含むポリゴンデータ411、421、…と、テクスチャNo.412a、422a、…及びUV座標412b、422b、…(頂点座標411b、421b、…に対応)を含むテクスチャデータ412、422、…とを、ポリゴン毎に対応付けて登録している。
ポリゴン識別番号411a、421a、…及びテクスチャNo.412a、422a、…は、それぞれポリゴン及び対応するテクスチャを一意に識別するためのものである。頂点座標411b、421b、…及びUV座標412b、422b、…は、ポリゴンの頂点位置を当該オブジェクトのローカル座標系の座標で示す。ゲームの進行に伴って位置及び形態が変化しないオブジェクトであれば、頂点座標411b、421b、…及びUV座標412b、422b、…をワールド座標系の座標で示してもよいが、その旨もオブジェクトデータテーブル400に登録しておく必要がある。
図6は、テクスチャテーブルの例を示す図である。このテクスチャテーブル500は、モデルデータテーブル400に登録されたテクスチャ毎に用意されており、記録媒体131に予め記録されているが、HDD107に転送して用いるものとしてよい。図示するように、テクスチャテーブル500は、テクスチャNo.501と、UV座標511、521、…、RGBデータ512、522、…、α値513、523、…を含むUV座標データ510、520、…を含んでいる。
テクスチャNo.501は、オブジェクトテーブル400に登録されたテクスチャNo.と対応している。UV座標511、521、…は、当該テクスチャNo.に対応付けてオブジェクトテーブル400に登録されたUV座標を含んでいる。RGBデータ512、522、…は、当該座標における色彩をRGBのデータで表したものであり、これに従ってポリゴン内の色彩が連続的に変化する。α値513、523、…は、当該座標における透明度を示すものであり、値が高いほど透明度が低く、これに従ってポリゴン内の透明度が連続的に変化する。
図7は、表示オブジェクトテーブルの例を示す図である。この表示オブジェクトテーブル600は、ゲームの進行度合いに伴って、現時点で仮想三次元空間に存在し、表示画面122上への表示対象となるオブジェクトを登録するものである。表示オブジェクトテーブル600は、各フレームにおいて表示対象となるオブジェクト毎に生成され、RAM105に記憶される。位置、形態及び透明度が変化しないオブジェクトについては、予め表示オブジェクトテーブル600を用意して記録媒体131に記録しておき、RAM105に転送して用いるものとしてもよい。もっとも、表示オブジェクトテーブル600に登録されているオブジェクトであっても、視界305の範囲内に存在しなければ、表示画面122上に表示されることはない。
図示するように、表示オブジェクトテーブル600は、オブジェクトID601と、変化種類602と、α値変化率603と、表示位置604とを含んでいる。オブジェクトID601は、表示対象となるオブジェクトのIDであり、モデルデータテーブル400のオブジェクトID401のうちのいずれかが登録される。変化種類602は、当該オブジェクトがフェードインまたはフェードアウトしている状態にあるかどうかを示す。フェードイン及びフェードアウトしてないで通常の状態で表示される場合には、変化種類602として何の情報も登録されない。
α値変化率603は、当該オブジェクト全体のα値の変化率を示す。当該オブジェクト全体としてのα値が変化していないときにα値変化率603が100%なり、完全に透明になるとα値変化率が0%となる。α値変化率603は、フェードインしているときには0%から100%までフレーム毎に順次増加し、フェードアウトしているときには100%から0%まで順次減少する。変化種類602に何も登録されてなく、通常の状態で表示される場合のα値変化率603は、100%となる。表示処理を行う際の各ポリゴンのα値は、テクスチャテーブル500に登録されたα値513、523、…に従って定められるα値にα値変化率603を乗算した値となる。表示位置604は、当該オブジェクトの中心点のワールド座標系における座標を示す。
表示オブジェクトテーブル600に登録されているオブジェクトが、キャラクタ200のように、その方向や形態がゲームの進行度合いに伴って変化するオブジェクトである場合には、その方向や形態に関するデータも登録されることとなる。オブジェクト毎にフェードイン/アウトの速度を異ならせる場合には、その速度に関するデータも登録されることとなる。もっとも、オブジェクトの方向や形態の変化については、本発明とは直接的な関係がないため、詳細な説明を省略する。
新たなオブジェクトがゲームの場面に登場するときには、当該オブジェクトについて表示オブジェクトテーブル600が生成されるが、それがフェードインして登場するオブジェクトであると、変化種類602にフェードインと設定される。フェードイン設定で登録されたオブジェクトのα値変化率603は、フレーム毎に0%から順次増加させられ、100%となるとフェードイン設定が削除される。
フェードアウトしてゲームの場面から退場するオブジェクトがあると、当該オブジェクトの表示オブジェクトテーブル600の変化種類602にフェードアウトと設定される。フェードアウト設定で登録されたオブジェクトのα値変化率603は、フレーム毎に100%から順次減少させられる。α値変化率603が0%まで減少させられると当該オブジェクトがゲームの場面から完全に退場することとなり、表示オブジェクトテーブル600が削除される。
次に、この実施の形態にかかるビデオゲームにおける隠面消去の処理として適用されるZバッファ法について詳しく説明する。各フレームにおいて表示オブジェクトテーブル600に登録されているオブジェクトについて、透視変換により視点座標系に変換した表示位置604のZ’座標が大きいもの、すなわち視点303の位置から遠いオブジェクトから順番にソートし、ソートした順番に処理対象としていく。まず、処理対象としたオブジェクトについて表示オブジェクトテーブル600に登録されているα値変化率603に基準閾値(例えば、60)を乗算し、これを100で除算した値を書込閾値として設定する。
次に、処理対象となったオブジェクトでは、モデルデータテーブル400に登録されているポリゴンを順番に処理対象としていく。まず、処理対象としたポリゴンの頂点の座標を透視変換によりスクリーン座標系の座標にまで変換する。そして、当該ポリゴンをスクリーン座標系に透視変換して仮想スクリーン302上に投影される各画素についてのZ’値を算出する。また、当該ポリゴンについてテクスチャテーブル500に登録されているα値513、523に表示オブジェクトテーブルに登録されているα値変化率603を乗算し、これを100で除算した値を現α値として算出する。現α値は、当該ポリゴンをスクリーン座標系に透視変換して仮想スクリーン302上に投影される各画素について算出される。
ここで、当該ポリゴンの各画素について、そのZ’値よりも大きなZ’値がZバッファに登録されてなく、現α値が書込閾値よりも大きい(すなわち、その画素の透明度が書込閾値よりも低い)場合には、その画素のZ’値をZバッファに書き込む。これとともに、その画素をフレームバッファ(フレームメモリ112)に描画する。当該ポリゴンの各画素について、そのZ’値よりも大きなZ’値が既にZバッファに登録されている(すなわち、当該ポリゴンの画素よりも前面側に書込閾値よりも現α値の大きな他のポリゴンの画素がある)場合には、その画素のZ’値のZバッファへの書き込みも、フレームバッファへの画像の描画も行わない。当該ポリゴンの各画素について、そのZ’値よりも大きなZ’値がZバッファに登録されていないが、現α値が書込閾値以下(すなわち、その画素の透明度が書込閾値以上)ある場合には、その画素のZ’値をZバッファに書き込まないで、フレームバッファへの画像の描画のみを行う。
以下、この実施の形態にかかるビデオゲームにおける処理について説明する。ここでは説明を簡単にするため、本発明に特に関わる処理以外は、説明を省略している場合があるものとする。また、以下の説明において制御部103の処理として記載しているもののうちには、実際には制御部103からの指示に基づいてグラフィック処理部111が行っている処理が含まれている。
図8は、このビデオゲームにおいて、各フレームで実行されるオブジェクト表示処理を示すフローチャートである。このオブジェクト表示処理は、各フレームにおいて行われるものである。オブジェクト表示処理においては、まず、現時点のゲームの進行状況に応じて表示対象となるオブジェクトを決定するための表示オブジェクト決定処理を行う(ステップS101)。
図9は、ステップS101の表示オブジェクト決定処理を詳細に示すフローチャートである。表示オブジェクト決定処理では、制御部103は、ゲームの進行状況に応じて今回のフレームで新たに表示対象となり、表示オブジェクトテーブル600が新たに追加されるオブジェクトがあるかどうかを判定する(ステップS201)。表示オブジェクトテーブル600が新たに追加されるオブジェクトがなければ、そのままステップS205の処理に進む。
表示オブジェクトテーブル600が新たに追加されるオブジェクトがあれば、制御部103は、当該オブジェクトがフェードインして仮想三次元空間に登場するオブジェクトであるかどうかを判定する(ステップS202)。フェードインして登場するオブジェクトであれば、制御部103は、変化種類602にフェードインと登録した表示オブジェクトテーブル600を追加して、RAM105に記憶させる(ステップS203)。フェードインして登場するオブジェクトでなければ、制御部103は、変化種類602に何も登録していない表示オブジェクトテーブル600を追加して、RAM105に記憶させる(ステップS204)。ステップS203、S204の処理の後、ステップS205の処理に進む。
ステップS205では、制御部103は、ゲームの進行状況に応じて今回のフレームで新たにフェードアウトを開始するオブジェクトがあるかどうかを判定する。新たにフェードアウトを開始するオブジェクトがなければ、そのままステップS207の処理に進む。新たにフェードアウトを開始するオブジェクトがあれば、制御部103は、当該オブジェクトの表示オブジェクトテーブル600の変化種類602にフェードアウトと登録して(ステップS206)、ステップS207の処理に進む。
ステップS207からは、制御部103は、RAM105に記憶されている表示オブジェクトテーブル600を順次処理対象としていくが、ここで、全ての表示オブジェクトテーブル600を処理対象として、処理が終了したかどうかを判定する(ステップS207)。
未だ処理対象としていない表示オブジェクトテーブル600があれば、制御部103は、処理対象の表示オブジェクト600を次のもの(最初にこの処理が行われるときは、最初のもの)にして、新たな処理対象に対応するオブジェクトの表示位置を決定し、表示位置604として表示オブジェクトテーブル600に登録する(ステップS208)。ここで、キャラクタ200のように方向や形態が変化するオブジェクトであれば、その方向や形態も決定する。表示位置、方向、形態ともに変化しない固定されているオブジェクトであれば、特にここで処理を行う必要はない。
次に、制御部103は、処理対象となっている表示オブジェクトテーブル600の変化種類602にフェードインと登録されているかどうかを判定する(ステップS209)。フェードインと登録されていなければ、そのままステップS213の処理に進む。フェードインと登録されていれば、制御部103は、当該表示オブジェクトテーブル600に登録されているα値変化率603を所定量だけ増加させる(ステップS210)。
制御部103は、α値変化率603を増加させた結果として、α値変化率603が100%となり、当該オブジェクトのフェードインを終了したことになったかどうかを判定する(ステップS211)。当該オブジェクトのフェードインを終了していなければ、そのままステップS213の処理に進む。当該オブジェクトのフェードインを終了した場合には、制御部103は、処理対象となっている表示オブジェクトテーブル600の変化種類602に登録されているフェードインを削除する(ステップS212)。そして、ステップS207の処理に戻る。
ステップS213では、制御部103は、処理対象となっている表示オブジェクトテーブル600の変化種類602にフェードアウトと登録されているかどうかを判定する。フェードアウトと登録されていなければ、そのままステップS207の処理に戻る。フェードアウトと登録されていれば、制御部103は、当該表示オブジェクトテーブル600に登録されているα値変化率603を所定量だけ減少させる(ステップS214)。
制御部103は、α値変化率603を増加させた結果として、α値変化率603が0%となり、当該オブジェクトのフェードアウトを終了したことになったかどうかを判定する(ステップS215)。当該オブジェクトのフェードアウトを終了していなければ、そのままステップS207の処理に戻る。当該オブジェクトのフェードアウトを終了した場合には、制御部103は、処理対象となっている表示オブジェクトテーブル600そのものをRAM105から消去する(ステップS216)。そして、ステップS207の処理に戻る。
ステップS207において、未だ処理対象としていない表示オブジェクトテーブル600がないと判定した場合には、これで表示オブジェクト決定処理を終了し、図8のオブジェクト表示処理に復帰する。
図8のオブジェクト表示処理に戻って説明を続けると、制御部103は、ゲームの進行状況(例えば、表示対象となるオブジェクトの位置)に従って、仮想カメラ301の視点303の位置、視軸304の方向、仮想スクリーン302の位置などを決定する(ステップS102)。もっとも、仮想カメラ301が固定されている場合には、このステップの処理は行わなくてもよい。
次に、制御部103は、全ての表示オブジェクトテーブル600にワールド座標系で登録されているオブジェクトの表示位置604を、ステップS102で決定した(或いは、固定されている)視点303の位置及び視軸304の方向に応じた視点座標系の座標位置に変換する。そして、制御部103は、Z’座標が大きいものから順番に、すなわち視点303の位置から遠いものから順番に、全ての表示オブジェクトテーブル600に登録されているオブジェクトをソートする(ステップS103)。
ステップS104からは、制御部103は、ステップS103でソートされた順番に各オブジェクトを順次処理対象としていく。もっとも、オブジェクトの表示位置604に応じた視点座標系の座標で視界305の範囲、或いは視界305よりも若干広く定められた所定の範囲に含まれなくなるオブジェクトは、処理対象から除いてもよい。ここで、制御部103は、全てのオブジェクトを処理対象として、処理が終了したかどうかを判定する(ステップS104)。
未だ処理対象としていないオブジェクトがあれば、制御部103は、予め定められた基準閾値に当該オブジェクトの表示オブジェクトテーブル600に登録されているα値変化率603を乗算し、これを100で除算した値を、Zバッファへの書込閾値として設定する(ステップS105)。
ステップS106からは、制御部103は、処理対象のオブジェクトについてモデルデータテーブル400に登録されている各ポリゴンを順次処理対象としていくが、ここで、当該オブジェクトの全てのポリゴンについて処理が終了したかどうかを判定する(ステップS106)。
未だ処理対象としていないポリゴンがあれば、制御部103は、当該ポリゴンのローカル座標系の座標をワールド座標系の座標に変換し、さらに視点座標系の座標に変換し、さらにスクリーン座標系の座標に変換する透視変換の処理を行う。ここで、処理対象のポリゴンをスクリーン座標系に透視変換して仮想スクリーン302上に投影される各画素についてのZ’値を算出する(ステップS107)。制御部103は、この透視変換の結果により当該ポリゴンの少なくとも一部が視界305の範囲内に含まれるかどうか、すなわち仮想スクリーン302に投影されるかどうかを判定する(ステップS108)。当該ポリゴンの全てが視界305の範囲に含まれなければ、ステップS106の処理に戻り、制御部103は、全てのポリゴンを処理対象としたかどうかを再び判定するものとなる。
当該ポリゴンの少なくとも一部が視界の範囲に含まれていれば、制御部103は、当該ポリゴンについてテクスチャテーブル500に登録されたα値513、523に対応するオブジェクトのα値変化率603を乗算し、これを100で除算して現α値を算出する。この現α値の算出は、当該ポリゴンに含まれるスクリーン座標系の全ての点について行うものとする(ステップS109)。
制御部103は、次に、処理対象となっているポリゴンに含まれる点のZ’値が、スクリーン座標系において対応する座標位置でZバッファに書き込まれているZ’値よりも小さいかどうかを判定する(ステップS110)。処理対象となっているポリゴンを仮想スクリーン302上に投影したときの全て画素のZ’値がZバッファに書き込まれているZ’値以上となっていれば、ステップS106の処理に戻る。
処理対象となっているポリゴンの少なくとも一部の画素のZ’値がZバッファに書き込まれているZ’値よりも小さければ、制御部103は、ステップS109で算出した現α値の全てがステップS105で算出した書込閾値以下であるかどうかを判定する(ステップS111)。現α値の全てが書込閾値以下である場合には、そのままステップS113の処理に進む。
現α値の一部でも書込閾値よりも大きいものがあれば、制御部103は、当該ポリゴンのスクリーン座標系の座標位置においてZ’値がZバッファのZ’値よりも小さくなる画素について、その画素のZ’値をZバッファに新たに書き込む(ステップS112)。そして、ステップS113の処理に進む。ステップS113では、制御部103は、当該ポリゴンを透視変換して仮想スクリーン302上に投影される各画素の画像をフレームメモリ112に書き込む。そして、ステップS106の処理に戻る。
ステップS106において、全てのポリゴンを処理対象として処理が終了したと判定すると、ステップS104の処理に戻る。ステップS104において、全てのオブジェクトを処理対象として処理が終了したと判定すると、制御部103は、フレームメモリ112に描画された画像に基づいてビデオ信号を生成し、表示装置121の表示画面122として表示させる(ステップS114)。そして、当該フレームにおけるオブジェクト表示処理が終了する。
以下、この実施の形態にかかるビデオゲームにおいて、透明度が変化するオブジェクトを描画する際のZバッファ法の処理について具体的に説明する。図1は、この実施の形態におけるZバッファ法の処理を具体的に説明する図である。ここでは、ここで描画対象となるポリゴンは、図1(a)及び(b)に示したものと同一であり、基準閾値は60であるものとする。
図1(a)に示すように、ポリゴン群701、702を含むオブジェクトの透明度が変化していない場合、すなわちα値変化率が100%である場合には、ポリゴン群701の現α値は、それぞれ70×100/100=70、ポリゴン群702の現α値は、80×100/100=80となる。このとき、Zバッファへの書込閾値は、60×100/100=60と設定される。
ここで、前面側にあるポリゴン群701が先に処理対象とされた場合、ポリゴン群701の現α値が書込閾値よりも大きいため、ポリゴン群701のZ’値がZバッファに書き込まれる。次に、後面側にあるポリゴン群702が処理対象とされた場合には、より小さなZ’値が既にZバッファに書き込まれているため、ポリゴン群702の画像はフレームバッファに書き込まれない。この場合には、図10(a)に示すように、後面側のポリゴン群702を表示することなく、前面側のポリゴン群701を表示画面上に表示させることができる。
一方、図10(b)に示すように、ポリゴン群701、702を含むオブジェクトの透明度が変化してα値変化率が80%に設定された場合には、ポリゴン群701の現α値は、それぞれ70×80/100=56、ポリゴン群702の現α値は、80×80/100=64となる。このとき、Zバッファへの書込閾値は、60×60/100=48と設定される。
ここでも、前面側にあるポリゴン群701が先に処理対象とされた場合、ポリゴン群701の現α値が書込閾値よりも大きいため、ポリゴン群701のZ’値がZバッファに書き込まれる。次に、後面側にあるポリゴン群702が処理対象とされた場合にも、より小さなZ’値が既にZバッファに書き込まれているため、ポリゴン群702のの画像はフレームバッファに書き込まれない。この場合にも、図10(b)に示すように、後面側のポリゴン群702を表示することなく、前面側のポリゴン群701を表示画面上に表示させることができるようになる。
以上説明したように、この実施の形態にかかるビデオゲームでは、処理対象のオブジェクトの各ポリゴンのZ’値をZバッファに書き込むかどうかを決めるための書込閾値は、当該オブジェクトのα値変化率603に応じて設定される。各ポリゴンの現α値も、α値変化率603に応じて算出される。このため、オブジェクトのα値変化率603がどのように設定されても、書込閾値と各ポリゴンの現α値との大小関係を一定のものとすることができる。
このため、前面側のポリゴンが後面側のポリゴンよりも先に処理対象となってしまう場合であっても、前面側のポリゴンのZ’値がZバッファに書き込まれているかどうかは、オブジェクトα値変化率603の設定に関わらずに定まるものとなる。従って、後から後面側のポリゴンの画像をフレームバッファに描画するかどうかを一律に定めることができる。これによって、ポリゴンの処理順序によらずに同じ結果を得て、オブジェクトの向きが変化したりしても適切な画像を得ることができる。
また、ポリゴンの処理順序によらずに同じ結果を得ることができるので、オブジェクトを構成する各ポリゴンを予めソートしておく必要がない。ソートの処理の計算量は、ポリゴンの数に応じて少なくとも2乗のオーダーで増加するが、各ポリゴンのZ’値をZバッファに書き込むための処理は、ポリゴンの数に応じて1乗のオーダーで増加するだけである。従って、オブジェクトを構成するポリゴンの数が多くなっても、あまり計算量を増加させることがなく、少ない計算量で画像を描画できるようになる。
もっとも、仮想三次元空間内に表示オブジェクトとして複数のオブジェクトが存在する場合には、その表示位置604を透視変換した視点座標系のZ’値に基づいて、オブジェクト単位でのソートを行っている。ただ、ポリゴンの数とは異なり、オブジェクトの数は通常一定数に限られるため、ソートの処理によってもそれほど多くの計算量の増加を招かない。
また、オブジェクト同士が重なり合う場合においては、前面側にあるオブジェクトのポリゴンの方が後面側にあるオブジェクトのポリゴンよりも前面側にあることが多い。ここではオブジェクト単位のソートを行うことで、異なるオブジェクトのポリゴンについて、後面側にあるものを前面側にあるものよりも先に処理することが多くなるので、異なるオブジェクトのポリゴンによる影響を最小限に抑えることができる。
また、複数のオブジェクトを順次処理していく際において、各ポリゴンのZ’値をZバッファに書き込むかどうかを決めるための書込閾値は、オブジェクト毎に設定されるものとなっている。このため、フェードイン/フェードアウトするオブジェクトが混在して、オブジェクト毎にα値変化率603が異なるように設定される場合であっても、各オブジェクトについて適切な画像を描画することができるようになる。
また、表示オブジェクトテーブル600にオブジェクトの変化種類602としてフェードインまたはフェードアウトを設定するものとなっており、このような場合には、フレーム毎にα値変化率603を所定量ずつ変化させいくことができる。そして、フレーム毎にα値変化率603が変化すると、これに応じて書込閾値も変化させられていくものとなる。これにより、変化の過程におけるいずれのフレームでも後面側のポリゴンを表示させるかどうかを一律に定めて、適切な画像を描画することができるようになっている。こうして時間の経過に応じてオブジェクトの透明度を連続的に変化していく動画像を違和感なく生成することができ、オブジェクトのフェードインまたはフェードアウトをスムースに行うことができる。
ところで、α値変化率603の変化に応じて書込閾値を変化させる対象となるオブジェクトには、ビデオゲームにおけるキャラクタも含まれている。このキャラクタの登場または退場を適切な画像でフェードインまたはフェードアウト表示させることができるようになるので、ゲームの臨場感を高くすることができるようになる。
なお、この実施の形態にかかるビデオゲーム装置100において用意されているフレームバッファの数は、1フレームの画像当たりで1つだけで、画像データの読み出しと画像の展開とを交互に行うために全体としても必要な数は2つだけである。Zバッファの数は、全体として1つだけである。α値が互いに異なるポリゴンのZ’値を別々のZバッファに書き込む必要は全くないからであり、この1つだけのZバッファの内容に基づいてフレームバッファに画像を描画できるからである。このため、Zバッファ及びフレームバッファの数は最低限だけ用意すればよいので、そのために必要となる記憶容量を、小さくすることができる。
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
上記の実施の形態では、1フレーム毎にオブジェクト表示処理を行って、フレームメモリ112に画像を描画するものとしていた。これに対して、インターレース走査により1フレームが2フィールドで構成される場合には、1フィールド毎にオブジェクト表示処理を行って、フレームメモリ112に画像を描画するものとしてもよい。或いは、処理対象となるポリゴン数が多い場合などには、2フレーム毎にオブジェクト表示処理を行って、フレームメモリ112に画像を描画するものとすることもできる。この場合は、連続する2つのフレームで同じ画像が表示画面122として表示される。
上記の実施の形態では、図8のオブジェクト表示処理において、1つ1つのオブジェクトを処理単位として、視点303の位置から遠い順に処理対象としていた。これに対して、同時にフェードイン/フェードアウトし、同一のフレームにおけるα値変化率603の設定が同一となる複数のオブジェクトがある場合には、それら複数のオブジェクトをまとめて処理対象とするものとしてもよい。表示オブジェクト決定処理においてα値変化率603を増加または減少させる処理も、まとめて行うことができる。
この場合には、1つ1つのオブジェクトに対して書込閾値を求めるのではなく、まとめて処理単位となっている複数のオブジェクトのα値変化率に基準閾値を乗算し、これを100で除算した値を書込閾値として設定することができる。このようにα値変化率603の設定および/または書込閾値の設定をまとめて行うものとすることにより、さらに処理量を削減することができるようになる。
上記の実施の形態では、オブジェクトの透明度が変化する原因として、フェードインとフェードアウトを例として挙げていたが、これ以外の原因により透明度が変化するオブジェクト、例えば透明度が高くなったり低くなったりを連続して繰り返すオブジェクトについても、本発明における処理対象とすることができる。この場合、表示オブジェクトテーブル600の変化種類602に変化の態様を登録しておき、それに従ってα値変化率603を算出するものとすればよい。
上記の実施の形態では、ビデオゲームを実行するためのプラットフォームとして専用機であるビデオゲーム装置100を適用していた。これに対して、ビデオゲーム本体101と同様の構成要素を備え、画像を描画する機能を有するものであれば、汎用のパーソナルコンピュータなどを適用してもよい。表示装置121及びサウンド出力装置125をビデオゲーム本体101と同一の筐体内に納めた構成を有する携帯ゲーム機を適用するものとしてもよい。
携帯ゲーム機の場合は、記録媒体131として、DVD−ROMやCD−ROMの代わりに半導体メモリカードを適用することができる。携帯ゲーム機には、このメモリカードを挿入するためのカードスロットをDVD/CD−ROMドライブ113の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体131に格納して提供するのではなく、HDD107に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
上記の実施の形態では、ビデオゲーム装置100のプログラム及びデータは、記録媒体131に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク151上に存在するサーバ装置が有する固定ディスク装置に格納しておき、ビデオゲーム本体101にネットワーク151を介して配信するものとしてもよい。ビデオゲーム装置100において、通信インターフェイス115がサーバ装置から受信したプログラム及びデータは、HDD107に保存し、実行時にRAM105にロードすることができる。ビデオゲームのプログラムの一部として適用されるものだけでなく、上記したように画像を描画する機能を含むプログラム全般を、同様の方法により配布するものとすることができる。
本発明は、ビデオゲームを初めとして、画像を描画するためのコンピュータグラフィックス処理の分野において利用することができる。
従来例において、透明度が変化するオブジェクトを描画する際のZバッファ法の処理を具体的に説明する図である。 本発明の実施の形態に適用されるビデオゲーム装置の構成を示すブロック図である。 本発明の実施の形態のビデオゲームで描画されるオブジェクト(キャラクタ)の構成例を示す図である。 図3のオブジェクト(キャラクタ)を含む仮想三次元空間を透視変換するための処理を模式的に示す図である。 表示対象となるオブジェクト毎に記憶されたモデルデータテーブルの例を示す図である。 図5のテクスチャ毎に記憶されたテクスチャテーブルの例を示す図である。 各フレームにおいて表示対象となるオブジェクトを登録するための表示オブジェクトテーブルの例を示す図である。 本発明の実施の形態のビデオゲームで実行されるオブジェクト表示処理を示すフローチャートである。 図8の表示オブジェクト決定処理を詳細に示すフローチャートである。 本発明の実施の形態において、透明度が変化するオブジェクトを描画する際のZバッファ法の処理を具体的に説明する図である。
符号の説明
100 ビデオゲーム装置
101 ビデオゲーム本体
103 制御部
105 RAM
107 HDD
109 サウンド処理部
111 グラフィック処理部
113 DVD/CD−ROMドライブ
115 通信インターフェイス
117 インターフェイス部
119 内部バス
121 表示装置
122 表示画面
125 サウンド出力装置
131 記録媒体
151 ネットワーク
161 入力部
162 メモリーカード
200 キャラクタ
202a、202b ポリゴン
400 モデルデータテーブル
500 テクスチャテーブル
600 表示オブジェクトテーブル

Claims (11)

  1. 複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するための画像描画装置であって、
    前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素について視点座標系のZ値をそれぞれ算出するZ値算出手段と、
    前記オブジェクトの透明度の変化率を設定する変化率設定手段と、
    前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段と、
    前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、
    前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、
    前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段と、
    前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段と
    を備えることを特徴とする画像描画装置。
  2. 前記変化率設定手段は、前記オブジェクトの透明度の変化率を、時間の経過に応じて順次変化させて設定し、
    前記閾値設定手段は、前記透明度の変化率が変化させられる度に、前記閾値を設定する
    ことを特徴とする請求項1に記載の画像描画装置。
  3. 前記オブジェクトがフェードインまたはフェードアウトされるオブジェクトであるか否かを検出するフェードイン/アウト検出手段をさらに備え、
    前記変化率設定手段は、前記フェードイン/アウト検出手段によりフェードインまたはフェードアウトされるオブジェクトである旨が検出されたときに、当該オブジェクトの透明度の変化率を設定する
    ことを特徴とする請求項1または2に記載の画像描画装置。
  4. 描画対象となるオブジェクトは、複数あり、
    前記変化率設定手段は、前記複数のオブジェクトを順次処理対象オブジェクトとして、それぞれ透明度の変化率を設定し、
    前記閾値設定手段は、前記複数のオブジェクトにそれぞれ設定された透明度の変化率に応じて、オブジェクト毎に前記閾値を設定する
    ことを特徴とする請求項1乃至3のいずれか1項に記載の画像描画装置。
  5. 前記変化率設定手段は、透明度の変化率が同時に変化させられる複数のオブジェクトをまとめて処理対象とし、処理対象とした単位毎に透明度の変化率を設定し、
    前記閾値設定手段は、前記処理対象とした単位毎に前記閾値を設定する
    ことを特徴とする請求項4に記載の画像描画装置。
  6. 描画対象となるオブジェクトは、複数あり、
    前記複数のオブジェクトを、それぞれに設定された中心点の視点座標系のZ値に基づいて、前記視点位置からの距離が遠い順にソートするオブジェクトソート手段と、
    前記オブジェクトソート手段によりソートされた順番に、各オブジェクトを処理対象として、前記Z値算出手段、前記変化率設定手段、前記閾値設定手段、前記透明度比較手段、前記Zバッファ書き込み手段、及び前記画像描画手段による処理を行わせる処理制御手段とをさらに備える
    ことを特徴とする請求項1乃至5のいずれか1項に記載の画像描画装置。
  7. 前記オブジェクトは、ビデオゲームにおいて所定の条件が成立することで登場及び退場するキャラクタである
    ことを特徴とする請求項1乃至6のいずれか1項に記載の画像描画装置。
  8. 前記フレームバッファは、それぞれ前記画像描画手段による描画単位に応じて2つだけ用意され、
    前記Zバッファは、各描画単位に共通で1つだけ用意されている
    ことを特徴とする請求項1乃至7のいずれか1項に記載の画像描画装置。
  9. コンピュータ装置の記憶装置に設けられるZバッファ及びフレームバッファを用いて、複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するための方法であって、
    前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素について視点座標系のZ値をそれぞれ算出し、
    前記オブジェクトの透明度の変化率を設定し、
    前記設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定し、
    前記設定された変化率において各ポリゴンを透視変換した各画素の透明度を、各ポリゴンの透明度と、前記設定された閾値と比較し、
    比較の結果により前記閾値よりも透明度が低い判定されたポリゴンの画素について、前記算出されたZ値をZバッファに書き込むZバッファ書き込み、
    前記Zバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像を前記フレームバッファに描画し、
    前記フレームバッファに書き込まれた画像を表示手段に表示する
    ことを特徴とする画像描画方法。
  10. 複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するためのプログラムであって、
    前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素についてZ値をそれぞれ算出するZ値算出手段、
    前記オブジェクトの透明度の変化率を設定する変化率設定手段、
    前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段、
    前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、
    前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、
    前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段、及び、
    前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段
    としてコンピュータ装置を機能させるためのプログラム。
  11. 複数のポリゴンから構成され、透明度の変化するオブジェクトを描画するためのプログラムを記録した記録媒体であって、
    前記プログラムは、
    前記複数のポリゴンを視点位置から透視変換したスクリーン上の各画素について視点座標系のZ値をそれぞれ算出するZ値算出手段、
    前記オブジェクトの透明度の変化率を設定する変化率設定手段、
    前記変化率設定手段に設定された変化率に応じて、前記オブジェクトを構成する各ポリゴンを透視変換した各画素のZ値をZバッファに書き込むか否かの透明度についての閾値を設定する閾値設定手段、
    前記変化率設定手段に設定された変化率において各ポリゴンを透視変換した各画素の透明度を、前記閾値設定手段により設定された閾値と比較する透明度比較手段と、
    前記透明度比較手段によって前記閾値よりも透明度が低いと判定されたポリゴンの画素について、前記Z値算出手段により算出されたZ値をZバッファに書き込むZバッファ書き込み手段と、
    前記Zバッファ書き込み手段によってZバッファに書き込まれたZ値に基づいて、各ポリゴンを透視変換した各画素の画像をフレームバッファに描画する画像描画手段、及び、
    前記画像描画手段によりフレームバッファに書き込まれた画像を表示手段に表示させる表示制御手段
    としてコンピュータ装置を機能させることを特徴とするコンピュータ読み取り可能な記録媒体。
JP2003388375A 2003-11-18 2003-11-18 画像描画装置及び方法、プログラム並びに記録媒体 Expired - Lifetime JP3889392B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003388375A JP3889392B2 (ja) 2003-11-18 2003-11-18 画像描画装置及び方法、プログラム並びに記録媒体
US10/989,281 US7362327B2 (en) 2003-11-18 2004-11-17 Method for drawing object that changes transparency
EP04027287.4A EP1533753B1 (en) 2003-11-18 2004-11-17 Method for drawing an object that changes transparency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003388375A JP3889392B2 (ja) 2003-11-18 2003-11-18 画像描画装置及び方法、プログラム並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2005149315A JP2005149315A (ja) 2005-06-09
JP3889392B2 true JP3889392B2 (ja) 2007-03-07

Family

ID=34431554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003388375A Expired - Lifetime JP3889392B2 (ja) 2003-11-18 2003-11-18 画像描画装置及び方法、プログラム並びに記録媒体

Country Status (3)

Country Link
US (1) US7362327B2 (ja)
EP (1) EP1533753B1 (ja)
JP (1) JP3889392B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7719483B2 (en) 2005-10-13 2010-05-18 Honeywell International Inc. Synthetic vision final approach terrain fading
US7688319B2 (en) * 2005-11-09 2010-03-30 Adobe Systems, Incorporated Method and apparatus for rendering semi-transparent surfaces
JP4627726B2 (ja) * 2005-12-28 2011-02-09 株式会社三共 遊技機
JP4931240B2 (ja) * 2007-09-13 2012-05-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 画像の認識を支援するシステム
US20090091564A1 (en) * 2007-10-03 2009-04-09 Raju Thevan System and method for rendering electronic documents having overlapping primitives
JP4733757B2 (ja) * 2009-06-05 2011-07-27 株式会社スクウェア・エニックス ポリゴン処理装置,プログラム及び情報記録媒体
US10074182B2 (en) * 2013-11-14 2018-09-11 Microsoft Technology Licensing, Llc Presenting markup in a scene using depth fading
US9779541B2 (en) * 2015-05-22 2017-10-03 Disney Enterprises, Inc. Virtual object discrimination for fast global illumination rendering
KR102442625B1 (ko) 2017-07-05 2022-09-13 삼성전자주식회사 영상 처리 장치 및 상기 영상 처리 장치의 제어 방법
JP7263576B1 (ja) 2022-01-31 2023-04-24 株式会社コロプラ プログラム、方法及び情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3420987B2 (ja) 2000-02-17 2003-06-30 株式会社ナムコ ゲームシステム及び情報記憶媒体
JP3569661B2 (ja) * 2000-06-05 2004-09-22 株式会社スクウェア・エニックス ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体、ゲーム処理方法およびゲーム処理装置
US7030887B2 (en) * 2003-09-12 2006-04-18 Microsoft Corporation Methods and systems for transparent depth sorting

Also Published As

Publication number Publication date
EP1533753B1 (en) 2019-01-02
EP1533753A3 (en) 2006-03-22
JP2005149315A (ja) 2005-06-09
EP1533753A2 (en) 2005-05-25
US7362327B2 (en) 2008-04-22
US20050140671A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
JP4180065B2 (ja) 画像生成方法、画像生成装置、および画像生成プログラム
US8602888B2 (en) Video game device and image processing program
US6413163B1 (en) Video game machine, method for switching viewpoint on game screen of video game, and computer-readable recording medium containing game-screen-viewpoint switching program
KR20060135947A (ko) 표시장치, 표시방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
US20180296917A1 (en) Method and system for renewing screen
JP2008250813A (ja) 画像生成装置、画像処理方法、および、プログラム
US7348978B2 (en) Image processing
JP3889392B2 (ja) 画像描画装置及び方法、プログラム並びに記録媒体
KR100898671B1 (ko) 화상처리장치, 화상처리방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체
JP2002099927A (ja) 3次元画像処理方法、装置、3次元画像処理プログラムを記録した可読記録媒体及びビデオゲーム装置
JP3889394B2 (ja) 画像描画装置及び方法、プログラム並びに記録媒体
US6326967B1 (en) Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program
US6390918B1 (en) Video game apparatus, model display method for video games, and readable recording medium for storing model display program for video games
US7522166B2 (en) Video game processing method, video game processing apparatus and computer readable recording medium storing video game program
US6924823B2 (en) Recording medium, program, image processing method, and image processing device
JP2000268193A (ja) 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置
JP2004073241A (ja) ゲームシステム、プログラム及び情報記憶媒体
US6831639B2 (en) Computer readable storage medium storing 3-D game image processing program, 3-D game image processing method, video game machine, and 3-D game image processing program
JPH1069367A (ja) 疑似3次元表示されたフィールド内におけるカーソルの表示方法、ゲームシステム及び記録媒体
JP4815410B2 (ja) 表示装置、表示方法、ならびに、プログラム
JP4352056B2 (ja) ビデオゲーム処理方法及びビデオゲーム処理装置及びビデオゲームのプログラム及びビデオゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2007075640A (ja) 画像表示制御方法及び、これを適用するゲーム装置
JP2005216235A (ja) プログラム、情報記憶媒体及び遮蔽判定処理装置
KR20060000732A (ko) 화면 갱신 방법 및 그 시스템
JPH10188032A (ja) 表示方法及び記録媒体

Legal Events

Date Code Title Description
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: 20061114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3889392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

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: 20091208

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: 20101208

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131208

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131208

Year of fee payment: 7

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: 20131208

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term