JP3604312B2 - ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置 - Google Patents

ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置 Download PDF

Info

Publication number
JP3604312B2
JP3604312B2 JP37487599A JP37487599A JP3604312B2 JP 3604312 B2 JP3604312 B2 JP 3604312B2 JP 37487599 A JP37487599 A JP 37487599A JP 37487599 A JP37487599 A JP 37487599A JP 3604312 B2 JP3604312 B2 JP 3604312B2
Authority
JP
Japan
Prior art keywords
contour
dimensional object
polygon
viewpoint
contour drawing
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
JP37487599A
Other languages
English (en)
Other versions
JP2001188920A (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 JP37487599A priority Critical patent/JP3604312B2/ja
Priority to US09/751,350 priority patent/US20010017629A1/en
Publication of JP2001188920A publication Critical patent/JP2001188920A/ja
Application granted granted Critical
Publication of JP3604312B2 publication Critical patent/JP3604312B2/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
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

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

【0001】
【発明が属する技術分野】
本発明は、ビデオゲームに関し、より詳しくは、仮想空間におけるオブジェクトの輪郭を描画する技術に関する。
【0002】
【従来の技術】
近年、ビデオゲームの分野で非写実的レンダリング(non−photorealistic rendering)の技術が研究されている。非写実的レンダリング技術は、例えばカートゥーン(Cartoon)と呼ばれるアニメーション画像をCG(Computer Graphics)で表現しようとするものである。非写実的レンダリング技術の中のひとつの技術として、3次元物体を2次元画像として描画する際に、3次元物体の輪郭を描画する技術がある。
【0003】
例えば、特開平7−85310号公報には、以下に示す技術が示されている。すなわち、多面体近似で与えられる3次元物体を2次元画像として表示する際に、多面体の各面を構成する辺を単位として、辺毎に輪郭として表示すべき辺であるか否かを所定のアルゴリズムに基づいて判断する。そして判断結果に基づいて輪郭として表示する辺を検出し、検出した辺の線種や、線幅、又は線色を変えて表示することにより多面体の輪郭を表示する。
【0004】
また、特開平7−160905号公報には、以下に示す技術が示されている。すなわち、多面体近似で与えられる3次元物体を2次元画像として表示する際に、表示された多面体を構成する多角形の辺を表示画面の画素単位で追跡する。辺毎に輪郭として表示すべき辺であるか否かを所定のアルゴリズムに基づいて判断する。そして判断結果に基づいて輪郭として表示する辺を検出し、検出した辺の線色を変えて表示することにより物体の輪郭を表示する。
【0005】
【発明が解決しようとする課題】
従来技術によれば、輪郭を表示するためには、表示対象となる多角形や3次元物体(オブジェクト)を面や多角形の辺単位まで分解して、辺毎に輪郭として表示すべき辺であるか否かを判断しなければならなかった。また、判断の結果に基づいて表示対象となるオブジェクトの辺を強調表示しなければならなかった。
【0006】
つまり、輪郭描画の対象となるオブジェクトに対して輪郭となる辺を検出する処理を実施し、検出結果に基づいてオブジェクトの辺を強調表示しなければ、輪郭を表示することができなかった。
【0007】
本発明の目的は、輪郭描画の対象となるオブジェクトに対して輪郭を検出する処理を実施することなく、オブジェクトに輪郭を描画することが可能な輪郭描画技術を提供することである。
【0008】
【課題を解決するための手段】
本発明の第1の態様に係る、仮想空間におけるオブジェクトを描画するビデオゲームにおけるオブジェクト描画方法は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、視点から見てオブジェクトの後ろに第1ステップで生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトの位置を決定する第2ステップと、第2ステップで決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトと輪郭描画用オブジェクトとが重なる部分を除いて第2ステップで決定された位置に輪郭描画用オブジェクトを任意の輪郭色で描画する第3ステップとを含む。
【0009】
輪郭描画用オブジェクトを導入することにより、輪郭描画の対象となるオブジェクトに対して輪郭を検出する処理を実施することなく、当該オブジェクトの輪郭を描画できるようになる。
【0010】
なお、第2ステップで決定される輪郭描画用オブジェクトの位置をオブジェクトの位置に設定し、オブジェクトの位置を通常より前に設定することも可能である。また輪郭描画用オブジェクトの位置を、既に位置が設定されたオブジェクトの後ろに設定することも可能である。すなわち、視点から見て相対的に、オブジェクトの後ろに輪郭描画用オブジェクトが配置されるようにオブジェクト及び輪郭描画用オブジェクトの位置が設定されていればよい。
【0011】
上で述べた第3ステップを、第2ステップで決定された位置に、輪郭描画用オブジェクト、オブジェクトの順で、輪郭描画用オブジェクト及びオブジェクトを描画するステップとするような構成も可能である。
【0012】
また、上で述べた第3ステップを、Zバッファを用いた隠面消去処理を行って、第2ステップで決定された位置にオブジェクトを描画すると共に、第2ステップで決定された位置に輪郭描画用オブジェクトを任意の輪郭色にて描画するステップとするような構成も可能である。Zバッファを用いた描画手法に対しても本発明を適用することができる。
【0013】
上で述べた第1ステップを、オブジェクトを拡大して輪郭描画用オブジェクトを生成するステップとするような構成も可能である。輪郭描画用オブジェクトには、オブジェクトとそのサイズのみが異なる場合が存在する。また、形状も多少異なる場合も存在する。
【0014】
上で述べた第2ステップを、視点から見て第1ステップで生成された輪郭描画用オブジェクトがオブジェクトの縁の外側に現れるように、輪郭描画用オブジェクト及びオブジェクトの位置を決定するステップとする構成も可能である。
【0015】
また、上で述べた第3ステップを、第2ステップで決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトと輪郭描画用オブジェクトとが重なる部分を除いて第2ステップで決定された位置に輪郭描画用オブジェクトをテクスチャマッピングを用いて描画するステップとすることも可能である。
【0016】
さらに、この第3ステップを、第2ステップで決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトと輪郭描画用オブジェクトとが重なる部分を除いて第2ステップで決定された位置に輪郭描画用オブジェクトを、時間に応じて変化させたテクスチャによるテクスチャマッピングを用いて描画するステップとすることも可能である。この構成により、例えばオブジェクトの輪郭を時間に応じて動的に変化させて描画することができるようになる。時間に応じて変化させたテクスチャではなく、複数のテクスチャを切り換えて使用する場合もある。
【0017】
本発明の第2の態様に係る、複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、視点から見てオブジェクトの後ろに第1ステップで生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、第2ステップで設定された視点からの距離が遠い順に各ポリゴンを順序付けることにより得られる、各ポリゴンの描画順番に従って、オブジェクトを構成する各ポリゴンを描画すると共に、輪郭描画用オブジェクトを構成する各ポリゴンを任意の輪郭色で描画する第3ステップとを含む。いわゆるZソート法により描画する場合を示している。
【0018】
本発明の第3の態様に係るビデオゲームにおけるオブジェクト描画方法は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、視点から見てオブジェクトの後ろに第1ステップで生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、画素毎に、当該画素に投影可能なポリゴンのうち第2ステップで設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンがオブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが輪郭描画用オブジェクトを構成するポリゴンである場合は当該画素を任意の輪郭色で描画する描画手段とを備える。いわゆるZバッファ法を使用した場合を示している。
【0019】
本発明の第1乃至第3の態様に係るビデオゲームにおけるオブジェクト描画方法をコンピュータに実行させるプログラムを作成することは可能である。その際、第1乃至第3の態様に対する上記のような変形は、当該プログラムに対しても応用可能である。本発明に係るプログラムは、例えばCD−ROM(Compact Disc − Read Only Memory)、DVD(Digital Versatile Disc)、フロッピーディスク、メモリカートリッジ、メモリ、ハードディスクなどの記録媒体又は記憶装置に格納される。記録媒体又は記憶装置に格納されるプログラムをコンピュータに読み込ませることで以下で述べるビデオゲーム装置を実現できる。また、記録媒体によって本発明に係るプログラムをソフトウエア製品として装置と独立して容易に配布、販売することができるようになる。さらに、コンピュータなどのハードウエアを用いて本発明に係るプログラムを実行することにより、コンピュータ等のハードウエアで本発明のグラフィックス技術が容易に実施できるようになる。
【0020】
本発明の第4の態様に係る、仮想空間におけるオブジェクトを描画するビデオゲーム装置は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成手段と、視点から見てオブジェクトの後ろに生成手段により生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトの位置を決定する位置決定手段と、位置決定手段により決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトと輪郭描画用オブジェクトとが重なる部分を除いて位置決定手段により決定された位置に輪郭描画用オブジェクトを任意の輪郭色で描画する描画手段とを有する。
【0021】
上で述べた描画手段を、位置決定手段により決定された位置に、輪郭描画用オブジェクト、オブジェクトの順で、輪郭描画用オブジェクト及びオブジェクトを描画するような構成とすることも可能である。
【0022】
本発明の第5の態様に係る、複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成手段と、視点から見てオブジェクトの後ろに生成手段により生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、設定手段により設定された視点からの距離が遠い順に各ポリゴンを順序付けることにより得られる、各ポリゴンの描画順番に従って、オブジェクトを構成する各ポリゴンを描画すると共に、輪郭描画用オブジェクトを構成する各ポリゴンを任意の輪郭色で描画する描画手段とを有する。
【0023】
本発明の第6の態様に係るビデオゲーム装置は、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成手段と、視点から見てオブジェクトの後ろに生成手段により生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、画素毎に、当該画素に投影可能なポリゴンのうち設定手段により設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンがオブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが輪郭描画用オブジェクトを構成するポリゴンである場合は当該画素を任意の輪郭色で描画する描画手段とを有する。
【0024】
本発明の第7の態様に係る、仮想空間におけるオブジェクトを描画するビデオゲーム装置は、コンピュータと、コンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体とを有し、本プログラムは、コンピュータに、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成処理と、視点から見てオブジェクトの後ろに生成処理において生成された輪郭描画用オブジェクトが配置されるように、輪郭描画用オブジェクト及びオブジェクトの位置を決定する位置決定処理と、位置決定処理において決定された位置にオブジェクトを描画すると共に、視点から見てオブジェクトと輪郭描画用オブジェクトとが重なる部分を除いて位置決定処理において決定された位置に輪郭描画用オブジェクトを任意の輪郭色で描画する描画処理とを実行させる。
【0025】
【発明の実施の形態】
本発明をコンピュータ・プログラムにより実施する場合において当該コンピュータ・プログラムを実行する家庭用ゲーム機101の一例を図1に示す。家庭用ゲーム機101は、例えば内部バス119に接続された演算処理部103、RAM(Random Access Memory)105、サウンド処理部109、グラフィックス処理部111、CD−ROMドライブ113、通信インターフェース115、及びインターフェース部117を備える。グラフィックス処理部111は、フレームバッファ112を備える。
【0026】
家庭用ゲーム機101のサウンド処理部109及びグラフィックス処理部111は表示画面120を有するTVセット121に接続されている。また、CD−ROMドライブ113にはCD−ROMドライブ113に対して着脱自在なCD−ROM131が装着されている。通信インターフェース115はネットワーク151と通信媒体141を介して接続される。インターフェース部117には、操作ボタンを備えたキーパッド161及びメモリカード171が接続される。
【0027】
演算処理部103は、CPUやROM(Read Only Memory)などを含み、CD−ROM131上に格納されたプログラムを実行し、家庭用ゲーム機101の制御を行う。RAM105は、演算処理部103のワークエリアである。メモリカード171は、プログラムにより参照されるデータを保存するための記憶領域である。サウンド処理部109は、演算処理部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、TVセット121にサウンド信号を出力する。
【0028】
グラフィックス処理部111は、演算処理部103から出力される描画命令に従って、画像データを生成してフレームバッファ112に書き込む。そして、書き込んだ画像データを表示画面120に表示するための信号をTVセット121に出力する。CD−ROMドライブ113は、CD−ROM131上のプログラム及びデータを読み出す。通信インターフェース115は、通信媒体141を介してネットワーク151に接続され、他のコンピュータ等との間で行われるデータ通信の入出力制御を行う。インターフェース部117は、キーパッド161からの入力をRAM105に出力し、演算処理部103がキーパッド161からの入力を解釈して演算処理を実施する。
【0029】
本発明に係るプログラム及びデータは最初例えばCD−ROM131に記憶されている。そして、このプログラム及びデータは実行時にCD−ROMドライブ113により読み出されて、RAM105に転送される。演算処理部103はRAM105にロードされた、本発明に係るプログラム及びデータを処理し、描画命令をグラフィックス処理部111に出力する。なお、中間的なデータはRAM105に記憶される。グラフィックス処理部111は演算処理部103からの描画命令に従って処理を行い、画像データをフレームバッファ112に書き込み、表示画面120に表示するための信号をTVセット121に出力する。
【0030】
以上のような家庭用ゲーム機101において実行される本発明のプログラムのアルゴリズム及び使用されるデータについて以下で詳しく述べる。
【0031】
(実施の形態1)
例えばCD−ROM131に記録されていた本発明に係るプログラム及びデータが、CD−ROMドライブ113によりRAM105にロードされ、本発明に係るプログラムが実行されている場合におけるRAM105の状態を図2に示す。本実施の形態においてRAM105には、少なくともプログラム記憶領域1050と、関連データ記憶領域1052と、ワークエリア1060とが含まれる。プログラム記憶領域1050に記憶されるプログラムについては後に説明する。関連データ記憶領域1052には、ポリゴンテーブル1054と、頂点テーブル1056と、アウトライン制御テーブル1058とが含まれる。ワークエリア1060には、ソートテーブル1062が含まれる。
【0032】
関連データ記憶領域1052に含まれるポリゴンテーブル1054の一例を図3に示す。ポリゴンテーブル1054は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンと、そのポリゴンを構成する頂点とを特定するためのテーブルである。描画対象となるオブジェクトを特定するために、オブジェクト識別番号を格納する欄541が設けられている。図3の例ではM1というオブジェクト識別番号が示されている。
【0033】
オブジェクトを構成するポリゴンを特定するために、ポリゴン識別番号を格納する欄543が設けられている。図3の例では、オブジェクトM1を構成するポリゴンとして、P1、P2及びP3というポリゴン識別番号が示されている。
【0034】
ポリゴンを構成する頂点を特定するために、頂点識別番号を格納する欄545が設けられている。図3の例では、ポリゴンP1を構成する頂点として、V1、V2及びV3という頂点識別番号が示されている。また、ポリゴンP2を構成する頂点として、V3、V2及びV4という頂点識別番号が示されている。加えて、ポリゴンP3を構成する頂点として、V4、V5及びV3という頂点識別番号が示されている。
【0035】
例えば描画対象となるオブジェクトM1は、図4に示すようにポリゴンの集合で構成されている。ポリゴンテーブル1054においてオブジェクトM1を構成するポリゴンの識別番号は、オブジェクトM1に対応するポリゴン識別番号の欄543に格納される。また、各ポリゴンを構成する頂点の識別番号は、各ポリゴンに対応する頂点識別番号の欄545に格納される。
【0036】
なお、図4に示されているように、オブジェクトには基準位置Cs(X0,Y0,Z0)が設定されており、各ポリゴンの位置はこの基準位置Csからの変位にて定義される。また、後に説明するが、輪郭描画用オブジェクトの位置を決定する際にもオブジェクトの基準位置は用いられる。
【0037】
関連データ記憶領域1052に含まれる頂点テーブル1056の一例を図5に示す。頂点テーブル1056は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンの頂点と、その頂点の座標値と、テクスチャ座標とを特定するためのテーブルである。描画対象となるオブジェクトを特定するために、オブジェクト識別番号を格納する欄561が設けられている。図5の例ではM1というオブジェクト識別番号が示されている。
【0038】
オブジェクトを構成するポリゴンの頂点を特定するために、頂点識別番号を格納する欄563が設けられている。図5の例ではV1、V2、V3、V4及びV5という頂点識別番号が示されている。各頂点の座標値を特定するために頂点データを格納する欄565が設けられている。図5の例では、頂点V1の座標値は(X1,Y1,Z1)である。頂点V2の座標値は(X2,Y2,Z2)である。頂点V3の座標値は(X3,Y3,Z3)である。頂点V4の座標値は(X4,Y4,Z4)である。頂点V5の座標値は(X5,Y5,Z5)である。
【0039】
各頂点のテクスチャ座標を特定するためにテクスチャデータの欄567が設けられている。図5の例では、頂点V1のテクスチャ座標は(U1,V1)である。頂点V2のテクスチャ座標は(U2,V2)である。頂点V3のテクスチャ座標は(U3,V3)である。頂点V4のテクスチャ座標は(U4,V4)である。頂点V5のテクスチャ座標は(U5,V5)である。
【0040】
関連データ記憶領域1052に含まれるアウトライン制御テーブル1058の一例を図6に示す。アウトライン制御テーブル1058は、輪郭描画の対象となるオブジェクト毎に、輪郭描画に必要なデータを格納するためのテーブルである。図6におけるオブジェクト識別番号の欄581には、輪郭描画の対象となるオブジェクトのオブジェクト識別番号が格納される。図6の例では、オブジェクトM1、M3及びM8が輪郭描画の対象となるオブジェクトとして指定されている。
【0041】
図6における拡大率の欄583には、輪郭描画の対象となるオブジェクトに対して生成される輪郭描画用オブジェクトの、元のオブジェクトに対する拡大率が格納される。図6の例では、オブジェクトM1に対する輪郭描画用オブジェクトはオブジェクトM1を1.05倍拡大することにより生成される。オブジェクトM3に対する輪郭描画用オブジェクトはオブジェクトM3を1.10倍拡大することにより生成される。オブジェクトM8に対する輪郭描画用オブジェクトはオブジェクトM8を1.25倍拡大することにより生成される。
【0042】
図6における色データの欄585には、輪郭描画の対象となるオブジェクト毎に、そのオブジェクトの輪郭色が格納される。なお、図6では輪郭色は単色である。図6の例では、オブジェクトM1の輪郭色は(Ra,Ga,Ba)である。オブジェクトM3の輪郭色は(Rb,Gb,Bb)である。単色の輪郭色として黒、白、茶、青など任意の色が設定可能である。オブジェクトM8の輪郭色は(Rc,Gc,Bc)である。
【0043】
図6における座標調整値の欄587には、例えば輪郭描画の対象となるオブジェクトに均等に輪郭が付されるように輪郭描画用オブジェクトを移動させるための座標調整値が格納される。座標調整値はワールド座標系における値である。
【0044】
通常、拡大率の欄583に格納されている拡大率で輪郭描画の対象となるオブジェクトを拡大して輪郭描画用オブジェクトを生成するだけでは、輪郭描画の対象となるオブジェクトには均等に輪郭が付されない。輪郭描画用オブジェクトの基準位置を、輪郭描画の対象となるオブジェクトの基準位置から、座標調整値の欄587に格納された座標調整値だけ移動させ、輪郭描画の対象となるオブジェクトに均等に輪郭が付されるようにする。
【0045】
但し、必ずしも輪郭描画の対象となるオブジェクトに均一に輪郭を付する必要は無い。例えば、ある部分だけ太い輪郭を付するように意図する場合には、ある部分だけ太い輪郭が実現できるように座標調整値を決定し、この座標調整値の欄587に格納する。
【0046】
図6の例では、オブジェクトM1の輪郭描画用オブジェクトの座標調整値は(Xa,Ya,Za)である。オブジェクトM3の輪郭描画用オブジェクトの座標調整値は(Xb,Yb,Zb)である。オブジェクトM8の輪郭描画用オブジェクトの座標調整値は(Xc,Yc,Zc)である。
【0047】
図6におけるデプス調整値の欄589には、後に述べるソートテーブルの先頭アドレス値をずらすための調整値が格納される。輪郭描画用オブジェクトは、視点から見て、輪郭描画の対象となるオブジェクトの後ろに位置が決定される。結果的に、輪郭描画の対象となるオブジェクトはそのまま描画され、輪郭描画用オブジェクトは視点から見て輪郭描画の対象となるオブジェクトと重ならない部分のみが描画されることになる。
【0048】
輪郭描画用オブジェクトの位置を視点から見て輪郭描画の対象となるオブジェクトの後ろに設定するため、輪郭描画用オブジェクトを構成するポリゴンの各頂点の座標を調整してもよいが、処理量が多くなる。ここでは、隠面消去法としてZソート法を用いる。Zソート法で用いられるソートテーブルにおいて、輪郭描画用オブジェクトのポリゴンの格納位置を、ソートテーブルの先頭アドレスをずらすことにより調整する。ソートテーブルの先頭アドレスをずらすことによって、輪郭描画用オブジェクトの位置を視点から見て輪郭描画の対象となるオブジェクトの後ろに設定する。
【0049】
図6の例では、オブジェクトM1に対応する輪郭描画用オブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はDaである。オブジェクトM2に対応する輪郭描画用オブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はDbである。オブジェクトM8に対応する輪郭描画用オブジェクトの各ポリゴンをソートテーブルに登録する際のデプス調整値はDcである。
【0050】
なお、輪郭描画用オブジェクトの位置は視点から見て相対的に輪郭描画の対象となる元のオブジェクトの後ろであれば良い。従って、輪郭描画用オブジェクトの位置を元のオブジェクトに設定し、元のオブジェクトの位置をより視点に近い位置に設定する構成であってもよい。
【0051】
関連データ記憶領域1052に含まれるソートテーブル1062の一例を図7に示す。ソートテーブル1062は、隠面消去の一手法であるZソート法を利用する際に、描画順番を決定するためのテーブルである。描画されるポリゴンのポリゴン識別番号は、描画されるポリゴンの視点からの距離であるデプス値に対応するアドレスに登録される。結果として、ポリゴンはデプス値によりソートされる。デプス値が大きいほど視点から遠く、描画はデプス値の大きい順に実施される。その結果、奥の方にあるポリゴンの画像は手前にあるポリゴンの画像で重ね描きされ、隠面消去が実施される。
【0052】
図7の例では、ソートテーブル1062の先頭アドレス621に、デプス値0のポリゴン識別番号が格納されるようになっている。実際には、ポリゴンのデプス値に対応するアドレスにそのポリゴンのデータへのポインタが格納される。
【0053】
図7において、先頭アドレス621である0x80010000とデプス値の欄623とは本実施の形態を理解するためにのみに示してある。通常、ポリゴン識別番号の欄625のみが存在する。すなわち、図7中点線で示された部分は本実施の形態の理解を容易にするために示されている。ここではデプス値の値が小さいほど視点に近く、1023が最も遠いものとする。ポリゴン識別番号の欄625の各アドレスは、先頭アドレスからデプス値の小さい順に順次割り当てられる。
【0054】
なお、ポリゴンのデプス値には、例えばポリゴンを構成する各頂点のデプス値の平均値を用いる。但し、ポリゴンを構成する頂点のデプス値のうち最も大きいデプス値を使用しても良い。また、最も小さいデプス値を使用してもよい。さらに、ポリゴン内の所定の点、例えば重心のデプス値を使用することもできる。
【0055】
次に本実施の形態におけるプログラムのアルゴリズムについて図8乃至図16を用いて説明する。
【0056】
演算処理部103は、起動時に、ROM等に記憶されているオペレーティングシステムに基づき、CD−ROMドライブ113を介してCD−ROM131から画像処理やゲームの実行に必要なプログラムやデータを読み出し、RAM105に転送させる。そして、演算処理部103は、RAM105に転送されたプログラムを実行することにより、以下に記載する処理を実現する。
【0057】
なお、家庭用ゲーム装置101で行われる制御及び処理の中には、演算処理部103以外の回路が演算処理部103と協働して実際の制御及び処理を行っている場合もある。説明の便宜上、以下では、演算処理部103が関係する制御及び処理は、演算処理部103が直接的に実行しているものとして説明する。
【0058】
また、画像処理やゲームを実行するために必要なプログラムやデータは、実際には演算制御部103からの命令に従って処理の進行状況に応じて順次CD−ROM131から読み出されてRAM105に転送される。しかし、以下に示す説明では、発明の理解を容易にするため、CD−ROM131からのデータの読み出しや、RAM105への転送に関する記述は省略している。
【0059】
表示に関するメインフローは図8に示されている。まず、表示させるオブジェクトが特定される(ステップS1)。次に、表示させるオブジェクトのうち1つのオブジェクトに対して描画演算処理が実施される(ステップS2)。本描画演算処理については後に詳しく述べる。そして表示させる全オブジェクトについて描画演算処理が終了したか否かが判断される(ステップS3)。
【0060】
もし、表示させるオブジェクトのうち未処理のオブジェクトが存在する場合にはステップS2に戻る。もし、表示させる全オブジェクトを処理した場合には、フレームバッファ112に描画処理を実施する(ステップS4)。そして、フレームバッファ112に格納された画像データをTVセット121の表示画面120に表示する(ステップS5)。
【0061】
本実施の形態において描画処理は、Zソート法による隠面消去処理を伴うものである。すなわち、図7に示したソートテーブル1062の中で最も視点から遠い、すなわちデプス値が最も大きいポリゴンから順番にフレームバッファ112に描き込む。1つのポリゴンの描画は以下に示す処理にて実施される。ポリゴンを構成する各頂点の座標及び色に基づいて補間処理を行い、ポリゴン内部の各画素の色を計算する。テクスチャマッピングを行わない場合には、上述のように計算された色が各画素の色としてフレームバッファ112に描き込まれる。一方、テクスチャマッピングを行う場合には、ポリゴンを構成する各頂点のテクスチャ座標に基づいて補間処理を行い、ポリゴン内部の各画素のテクスチャ座標を計算する。そして、テクスチャ座標のテクセル値と上で計算された画素の色とを用いて生成された色が各画素の色としてフレームバッファ112に描き込まれる。
【0062】
輪郭描画用オブジェクトは視点から見て輪郭描画の対象となるオブジェクトより後ろに位置が決定される。後ろに位置する輪郭描画用オブジェクトが輪郭描画の対象となるオブジェクトと全く被さらない場合には、輪郭描画用オブジェクトの方が輪郭描画の対象となるオブジェクトより先に描画される。
【0063】
一方、後ろに位置する輪郭描画用オブジェクトが輪郭描画の対象となるオブジェクトと被さっている場合には、ソートテーブル1062の中で最も視点から遠いポリゴンから順番にフレームバッファ112に描き込まれる。従って、輪郭描画の対象となるオブジェクトのポリゴンには輪郭描画用オブジェクトのポリゴンより先にフレームバッファ112に描き込まれるものもある。
【0064】
次に図9を用いてステップS2の描画演算処理の説明を行う。まず、表示する1つの未処理オブジェクトを特定する(ステップS11)。特定したオブジェクトについて現在の姿勢を計算する(ステップS13)。オブジェクトを構成するポリゴンの位置を現在の姿勢に合わせて変更する。そして、現在の処理が輪郭描画用オブジェクトに対する処理であるか判断する(ステップS15)。なお、最初は、ステップS11において1つの未処理オブジェクトを特定しているので、輪郭描画用オブジェクトに対する処理ではない。よって、ステップS17に移行する。
【0065】
ステップS17では、特定された1つの未処理オブジェクトのデータを用意する。そして、用意された1つの未処理オブジェクトのデータを透視変換する(ステップS21)。透視変換とは、ワールド座標系のポリゴンの各頂点の座標値をスクリーン座標系における座標値に変換するものである。透視変換により、特定された1つの未処理オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【0066】
次に特定された1つの未処理オブジェクトを構成する各ポリゴンについて以下の処理を行う。すなわち、ポリゴン毎にポリゴンの各頂点におけるデプス値から、ポリゴンのデプス値を計算する。例えば、三角形ポリゴンの場合、3頂点の3つのデプス値の平均値を求め、ポリゴンのデプス値とする。計算されたポリゴンのデプス値を用いて、ソートテーブル1062の先頭アドレスから登録先アドレスを算出し、各ポリゴンをソートテーブル1062に登録する(ステップS23)。なお、実際にソートテーブル1062に登録されるのは、ポリゴンのデータへのポインタである。特定された1つの未処理オブジェクトを構成する各ポリゴンをソートテーブル1062に登録する際には、ソートテーブル1062の先頭アドレスをずらすことはしない。初期の設定のまま登録する。
【0067】
ソートテーブル1062にポリゴンを登録する際の処理を説明するための図を図10に示す。先頭アドレス621は図7と同じである。既にデプス値15に対応するアドレスにはP4というポリゴンが登録されている。なおP4といったポリゴン識別番号の後ろには括弧で囲まれたデプス値を記載している。デプス値の図示は後の説明のためであって、実際にはデプス値は格納されない。デプス値16のアドレスにはポリゴンP2が登録されている。デプス値17に対応するアドレスにはポリゴンP1及びP3が登録されている。デプス値19に対応するアドレスにはポリゴンP5が登録されている。ここでポリゴンP6を登録する際には、ポリゴンP6のデプス値18というデータを用いて、デプス値18に対応するアドレスに、ポリゴンP6を登録する。
【0068】
図9に戻り、次に、特定された1つの未処理オブジェクトを処理していたのか判断する(ステップS25)。最初の実行時には特定された1つの未処理オブジェクトを処理していたので、ステップS29に移行する。ステップS29では、特定された1つの未処理オブジェクトが輪郭描画の対象となっているか判断する。ここでは図6のアウトライン制御テーブル1058を参照して、アウトライン制御テーブル1058に登録されているオブジェクトであるか否かを判断すれば良い。
【0069】
もし、アウトライン制御テーブル1058に登録されていないオブジェクトであれば、輪郭を描画する処理は必要無いので、処理を終了する。一方、アウトライン制御テーブル1058に登録されているオブジェクトであれば、ステップS31に移行する。ステップS31では、処理の対象を、特定された1つの未処理オブジェクトから、対応する輪郭描画用オブジェクトに切り換える。
【0070】
ステップS15に戻って、再度、輪郭描画用オブジェクトに対する処理であるか判断する。ステップS31で輪郭描画用オブジェクトに処理の対象を切り換えているので、今回はステップS19に移行する。ステップS19ではアウトライン設定処理を行う。アウトライン設定処理については図11を用いて詳細に説明する。
【0071】
図11ではまず特定された1つの未処理オブジェクト(輪郭描画の対象となる元のオブジェクト)のデータを複写し、輪郭描画用オブジェクトのデータとして生成する(ステップS35)。次に、輪郭描画用オブジェクトのサイズを元のオブジェクトよりも拡大する(ステップS37)。輪郭描画用オブジェクトのサイズの拡大にはアウトライン制御テーブル1058の拡大率の欄583の値を使用する。なお、各ポリゴンの頂点の法線ベクトルの方向に当該頂点を移動させることにより、サイズの拡大を実現することができる。そして、輪郭描画用オブジェクトの色データを変更する(ステップS39)。輪郭描画用オブジェクトの色データには、アウトライン制御テーブル1058の色データの欄585のデータを使用する。色データの欄585の色が輪郭色として設定される。
【0072】
加えて輪郭描画用オブジェクトの座標データの調整を行う(ステップS41)。座標データの調整にはアウトライン制御テーブル1058の座標調整値の欄587の座標値を用いる。すなわち、輪郭描画用オブジェクトの基準位置を座標調整値だけずらす。そして、生成された輪郭描画用オブジェクトのデータを透視変換用に用意する(ステップS43)。最後に、ソートテーブル1062の先頭アドレス値をアウトライン制御テーブル1058のデプス調整値の欄589のデータで調整する(ステップS45)。すなわち、ソートテーブル1062の先頭アドレスの値をずらす。この段階で図9のステップS21に戻る。
【0073】
図9では、用意した輪郭描画用オブジェクトのデータを透視変換する(ステップS21)。透視変換により、輪郭描画用オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【0074】
次に輪郭描画用オブジェクトを構成する各ポリゴンについて以下の処理を行う。すなわち、ポリゴン毎にポリゴンの各頂点おけるデプス値から、ポリゴンのデプス値を計算する。例えば、三角形ポリゴンの場合、3頂点の3つのデプス値の平均を求め、ポリゴンのデプス値とする。計算されたポリゴンのデプス値を用いて、ソートテーブル1062の先頭アドレスから登録先アドレスを算出し、各ポリゴンをソートテーブル1062に登録する(ステップS23)。
【0075】
図11のステップS45でソートテーブル1062の先頭アドレスが調整されている。先頭アドレスが調整された状態を図12に示す。図12のソートテーブル1062では、先頭アドレス621が0x80010000から0x80010010(先頭アドレス621’)に、16バイトだけずらされている。すなわち、今までデプス値2に対応するアドレスが先頭アドレス621’になり、以下全て繰り下がるようになる。なお、ステップS45のように先頭アドレスをずらすので、ソートテーブル1062の上下には余分な領域を確保しておく必要がある。
【0076】
図12においてデプス値15に対応するアドレスには先頭アドレス調整前にデプス値17であったポリゴンP1及びP3が登録されている。デプス値16に対応するアドレスには先頭アドレス調整前にデプス値18であったポリゴンP6が登録されている。デプス値17に対応するアドレスには先頭アドレス調整前にデプス値19であったポリゴンP5が登録されている。
【0077】
また、デプス値17に対応するアドレスには、輪郭描画用オブジェクトを構成するポリゴンであってデプス値17のポリゴンPc1が登録されている。デプス値19の輪郭描画用オブジェクトを構成するポリゴンPc2をソートテーブル1062に登録する場合には、図12のように先頭アドレスがずらされた後のデプス値19に対応するアドレスに登録する。
【0078】
図9に戻って、現在処理しているオブジェクトがステップS11で特定した1つの未処理オブジェクトの処理であるか判断する(ステップS25)。現在は輪郭描画用オブジェクトを処理しているので、ステップS27に移行する。ステップS27では輪郭描画用オブジェクトの処理終了に応じてソートテーブル1062の先頭アドレスを元に戻す(ステップS27)。このように輪郭描画用オブジェクトを処理している期間のみ、ソートテーブルの先頭アドレスは調整されている。そして、処理を終了する。
【0079】
なおステップS27終了段階のソートテーブル1062の一例を図13に示す。図13のソートテーブル1062では、先頭アドレスの値が元に戻っている。ソートテーブル1062において、デプス値15に対応するアドレスにはポリゴンP4が登録されている。デプス値16に対応するアドレスにはポリゴンP2が登録されている。デプス値17に対応するアドレスにはポリゴンP1及びポリゴンP3が登録されている。デプス値17に対応するアドレスには、輪郭描画用オブジェクトを構成するポリゴンPc4も登録されている。但し、括弧で示されているように、ポリゴンPc4のデプス値は実際には15である。すなわち、輪郭描画用オブジェクトを構成するポリゴンPc4は、実際よりデプス値2だけ後ろに登録されている。結果的に、輪郭描画用オブジェクトは対応するオブジェクトよりデプス値で2だけ後ろに配置されることになる。
【0080】
デプス値18に対応するアドレスにはポリゴンP6及びポリゴンPc2が登録されている。ポリゴンPc2の実際のデプス値は16であるから、デプス値2だけ後ろに登録されている。デプス値19に対応するアドレスにはポリゴンP5、Pc1及びPc3が登録されている。ポリゴンPc1及びPc3の実際のデプス値は17であるから、デプス値2だけ後ろに登録されている。
【0081】
以上のように表示するオブジェクト及び輪郭描画用オブジェクトの各ポリゴンがソートテーブル1062に登録される。そして、ソートテーブル1062において最も視点から遠いポリゴンから順番に図8のステップS4でフレームバッファ112に描画される。そして、ステップS5で、フレームバッファ112に描画された画像がTVセット121の表示画面120に表示される。
【0082】
上で述べた処理では処理速度を速めることを優先するために、ソートテーブル1062の先頭アドレスを調整することにより輪郭描画用オブジェクトのデプス値を変更していた。しかし、先頭アドレスを調整せずに、輪郭描画用オブジェクトを構成する各ポリゴンのデプス値を直接調整することも可能である。また、ポリゴンの各頂点のデプス値を調整することも可能である。なお、調整には、加算、引き算、掛け算等の演算処理を含む。
【0083】
さらに上で述べた処理では輪郭描画用オブジェクトを構成するポリゴンを処理する期間中にソートテーブル1062の先頭アドレスを調整していた。しかし、輪郭描画用オブジェクトに対応するオブジェクト(輪郭描画の対象となる元のオブジェクト)を処理する期間中にソートテーブル1062の先頭アドレスを調整する構成とすることも可能である。すなわち、元のオブジェクトを構成する各ポリゴンがソートテーブル1062において実際の位置よりも、より視点に近い位置に登録されるようにする構成である。ソートテーブル1062の先頭アドレスの調整でなく、オブジェクトを構成する各ポリゴンのデプス値を直接変更することも可能である。
【0084】
実施の形態1によれば、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する(ステップS35)。次に、オブジェクトに対して例えば縁全体に均等な太さの輪郭が付されるように輪郭描画用オブジェクトの位置が微調整される(ステップS41)。その後、Zソート法を用いてオブジェクト及び輪郭描画用オブジェクトを描画する(ステップS4)。ここで、オブジェクトを構成する各ポリゴンについては通常通りソートテーブル1062に登録する。一方、輪郭描画用オブジェクトを構成する各ポリゴンについてはソートテーブル1062の先頭アドレスをずらして実際のデプス値より視点から見て後ろになるようにソートテーブル1062に登録する(ステップS23)。
【0085】
従って、ソートテーブル1062内の視点から遠いポリゴンから順に描画されるので、輪郭描画用オブジェクトに対して元のオブジェクトが上書きされる。最終的に輪郭描画用オブジェクトは、オブジェクトの縁全体を囲む部分だけが残り、この部分が輪郭色で描画されることとなる。
【0086】
結果的に、輪郭描画の対象となるオブジェクトに対して輪郭を検出する処理を実施することなく、オブジェクトに対して輪郭を描画することができる。
【0087】
例えば、既に述べた従来の手法によれば、輪郭を描画するためには、表示対象となる多面体や三次元物体を面や多角形の辺単位まで分解して、辺毎に所定のアルゴリズムに基づいて輪郭として表示すべき辺であるか否かを判断する必要がある。そのため、輪郭を描画するための処理が非常に複雑であった。
【0088】
これに対して本発明によれば、輪郭描画の対象であるオブジェクトを拡大すると共に任意の輪郭色を設定した輪郭描画用オブジェクトを生成してオブジェクトの後ろに位置を設定すれば良いだけである。従って、従来に比して輪郭を描画する処理が簡素化され、輪郭描画に関する処理速度を高めることができる。
【0089】
輪郭描画に関する処理速度を高めることは、ビデオゲームに対して特に有用である。ビデオゲームでは、操作入力等に応じて、表示されるオブジェクトの位置や形状、カメラワークなどが逐次変化する。そして、この逐次変化する内容に応じた投影画像を即座に画面に表示しなければならない。輪郭描画に関する処理が複雑であると、たとえ輪郭を描画できたとしても画像の表示速度が遅くなってしまう。従って、表示速度を低下させることなく輪郭描画を行うためには、輪郭描画に関する手順が簡単であることが重要となるからである。
【0090】
図6に示したアウトライン制御テーブル1058では、輪郭描画用オブジェクトは単色で描画されることを前提に、色データの欄585に輪郭色のデータが格納されていた。しかし、輪郭描画用オブジェクトにテクスチャマッピングを行うことも可能である。例えば、アウトライン制御テーブル1058の色データの欄585に、マッピングするテクスチャに関するデータ、例えばテクスチャの識別情報を格納しておく。そして、輪郭描画用オブジェクトに対応するオブジェクトを構成するポリゴンの各頂点に設定されたテクスチャ座標をそのまま使用して、色データの欄585に示されたテクスチャを輪郭描画用オブジェクトを構成する各ポリゴンにマッピングする。
【0091】
この場合、図11のステップS39の処理はスキップされる。また、図8のステップS4では、通常のオブジェクトと同様に輪郭描画用オブジェクトを構成するポリゴンについても、ポリゴンを構成する各頂点のテクスチャ座標に基づいて補間処理を行い、ポリゴン内部の各画素のテクスチャ座標を計算する。そして、テクスチャ座標のテクセル値と、ポリゴンの各頂点に設定された色から計算された画素に対する色とを用いて生成された色が各画素の色としてフレームバッファ112に描き込まれる。
【0092】
さらに、輪郭描画用オブジェクトへのテクスチャマッピングで使用されるテクスチャを工夫すればオブジェクトの輪郭部分の描画態様を動的に変化させることができるようになる。例えば、図14に示す処理を図8のステップS4と並行して実施する。まず、CD−ROM131に格納された輪郭描画用のテクスチャデータをフレームバッファ112のテクスチャ領域に読み出して展開する(ステップS51)。そして、以下の処理を処理終了まで繰り返す。繰り返される処理はテクスチャの書き換え処理である(ステップS55)。
【0093】
テクスチャの書き換え処理には様々な方法がある。第1の方法は、図15に示したように、例えば横方向の縞模様を含むテクスチャを横方向に区分された複数の領域に分割して、順次領域が上方向に移動していくように書き換える方法である。最も上の領域は最も下に移動する。例えば図15のように一番下の領域から一番上の領域まで、1からn(nは自然数)の番号を付した場合には、図16のように領域を移動させる。
【0094】
すなわち、時刻tでは図15に示した状態で、時刻t+1になると、nの領域を最も下に移動させ、1からn−1までの全ての領域を一つ上に移動させる。時刻t+2では、n−1の領域を最も下に移動させ、n及び1からn−2までの全ての領域を一つ上に移動させる。以上のような処理を繰り返すものである。以上のような処理によりオブジェクトの輪郭部分において縞模様がゆらゆらと上方向に移動するような状態が表現できる。なお、テクスチャを縦方向に区分された複数の領域に分割し、左又は右方向に領域を時間に応じて移動させることも可能である。
【0095】
第2の方法は、時間に応じてテクスチャの明度を変化させるものである。例えば、テクスチャのパレットを時間に応じて変更することによりテクスチャの明度を変化させる。テクスチャの各テクセル値を時間に応じて直接変更するような手法も可能である。明度を変化させるだけであれば、テクスチャを書き換えない方法もある。例えば輪郭描画用オブジェクトのポリゴンの明度を時間に応じて変化させれば、テクスチャをマッピングしても最終的な明度は変化する。このように明度が変化する場合には、オブジェクトの輪郭部分がゆっくり点滅するような状態を表現することができる。
【0096】
従って、単にオブジェクトの輪郭を描画するだけでなく、例えば、ゲームキャラクタがオーラを発している状態を表現することができるようになる。また、複数のゲームキャラクタのうち、注目するゲームキャラクタの輪郭部分の描画態様を動的に変化させるようにすれば、注目キャラクタをユーザに分かり易く告知することもできる。
【0097】
以上のように、オブジェクトの輪郭描画を工夫することにより、オブジェクトの強調表示の態様を充実させることもできる。
【0098】
(実施の形態2)
実施の形態1は描画処理の際にZソート法を使用した隠面消去を行っていた。本実施の形態では描画の際にZバッファを使用した隠面消去を行う。
【0099】
本実施の形態において、例えばCD−ROM131に記録されていた本発明に係るプログラム及びデータが、CD−ROMドライブ113によりRAM105にロードされ、本発明に係るプログラムが実行されている場合におけるRAM105の状態を図17に示す。本実施の形態においてRAM105には、少なくともプログラム記憶領域1050と、関連データ記憶領域1052と、ワークエリア1060とが含まれる。プログラム記憶領域1050に記憶されるプログラムについては後に説明する。
【0100】
関連データ記憶領域1052には、ポリゴンテーブル1054と、頂点テーブル1056と、アウトライン制御テーブル1058とが含まれる。ここまでは実施の形態1と同じである。ワークエリア1060には、ソートテーブル1062の代わりに、ピクセルテーブル1064及びZバッファ1066が含まれる。但し、ピクセルテーブル1064及びZバッファ1066は、フレームバッファ112に設けられる場合もある。
【0101】
関連データ記憶領域1052に含まれるポリゴンテーブル1054は実施の形態1と同じであり、図3に示されている。ポリゴンテーブル1054は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンと、そのポリゴンを構成する頂点とを特定するためのテーブルである。
【0102】
関連データ記憶領域1052に含まれる頂点テーブル1056は実施の形態1と同じであり、図5に示されている。頂点テーブル1056は、描画対象となるオブジェクトと、そのオブジェクトを構成するポリゴンの頂点と、その頂点の座標値と、テクスチャ座標とを特定するためのテーブルである。
【0103】
関連データ記憶領域1052に含まれるアウトライン制御テーブル1058は図6に示されている限りにおいては実施の形態1と同じである。アウトライン制御テーブル1058は、輪郭描画の対象となるオブジェクト毎に、輪郭描画に必要なデータを格納するためのテーブルである。
【0104】
オブジェクト識別番号の欄581には、輪郭描画の対象となるオブジェクトのオブジェクト識別番号が格納される。拡大率の欄583には、輪郭描画の対象となるオブジェクトに対して生成される輪郭描画用オブジェクトの、元のオブジェクトに対する拡大率が格納される。色データの欄585には、輪郭描画の対象となるオブジェクト毎に、そのオブジェクトの輪郭色が格納される。
【0105】
座標調整値の欄587には、例えば輪郭描画の対象となるオブジェクトに均等に輪郭が付されるように輪郭描画用オブジェクトを移動させるための座標調整値が格納される。座標調整値はワールド座標系における値である。デプス調整値の欄589には、透視変換後における各ポリゴンのに対して、ポリゴンの各頂点のZ値を調整するための値が格納される。
【0106】
本実施の形態では、後に述べるが輪郭描画用オブジェクトを構成するポリゴンを描画する際には、透視変換後にポリゴンの各頂点のデプス値を視点から見て後ろにずらす。後ろにずらすことにより、実施の形態1と同じように、対応するオブジェクトより輪郭描画用オブジェクトが後ろに配置されるようにする。以上述べたような処理を行うことにより、輪郭描画用オブジェクトは対応するオブジェクトと重ならない部分のみが描画されるようになる。
【0107】
ワークエリア1060に含まれるピクセルテーブル1064の一例を図18に示す。ピクセルテーブル1064は、各画素の表示すべき色データを格納するためのテーブルである。図18に示したように、ピクセルテーブル1064には画素識別番号の欄641と色データ(R,G,B)の欄643とが設けられている。画素識別番号は、図19に示すように、表示画面120の画素ひとつひとつに付された識別番号である。図19のように縦240画素、横320画素の場合には、例えば左上の0から順番に右下の76799まで識別番号が付される。ピクセルテーブル1064では画素識別番号毎に色データが記憶される。
【0108】
ワークエリア1060に含まれるZバッファ1066の一例を図20に示す。Zバッファ1066は、画素毎に、ピクセルテーブル1064に格納された色データの元となるポリゴン内部の点(ポリゴンの頂点を含む)のZ値を格納するためのテーブルである。よって、Zバッファ1066には、画素識別番号の欄661とZ値の欄663が設けられている。
【0109】
次に本実施の形態におけるプログラムのアルゴリズムについて図8、図21及び図22を用いて説明する。
【0110】
演算処理部103は、起動時に、ROM等に記憶されているオペレーティングシステムに基づき、CD−ROMドライブ113を介してCD−ROM131から画像処理やゲームの実行に必要なプログラムやデータを読み出し、RAM105に転送させる。そして、演算処理部103は、RAM105に転送されたプログラムを実行することにより、以下に記載する処理を実現する。
【0111】
なお、家庭用ゲーム装置101で行われる制御及び処理の中には、演算処理部103以外の回路が演算処理部103と協働して実際の制御及び処理を行っている場合もある。説明の便宜上、以下では、演算処理部103が関係する制御及び処理は、演算処理部103が直接的に実行しているものとして説明する。
【0112】
また、画像処理やゲームを実行するために必要なプログラムやデータは、実際には演算制御部103からの命令に従って処理の進行状況に応じて順次CD−ROM131から読み出されてRAM105に転送される。しかし、以下に示す説明では、発明の理解を容易にするため、CD−ROM131からのデータの読み出しや、RAM105への転送に関する記述は省略している。
【0113】
表示に関するメインフローは図8に示されている限りにおいて実施の形態1と同じである。まず、表示させるオブジェクトが特定される(ステップS1)。次に、表示させるオブジェクトのうち1つのオブジェクトに対して描画演算処理が実施される(ステップS2)。描画演算処理については後に詳しく述べる。そして表示させる全オブジェクトについて描画演算処理が終了したか否かが判断される(ステップS3)。もし、表示させるオブジェクトのうち未処理のオブジェクトが存在する場合にはステップS2に戻る。もし、表示させる全オブジェクトを処理した場合には、フレームバッファ112に描画処理を実施する(ステップS4)。そして、フレームバッファ112に格納された画像データをTVセット121の表示画面120に表示する(ステップS5)。
【0114】
本実施の形態ではZバッファ法を用いて描画処理を実施する。Zバッファ法では、描画すべきポリゴンのデータを含むディスプレイリストを用いてフレームバッファ112への描画処理を実行する。ディスプレイリストに含まれるポリゴンのデータには、ポリゴンの各頂点のスクリーン座標系における座標(デプス値を含む)、テクスチャ座標及び色データが含まれる。
【0115】
ステップS4では、ディスプレイリストから一つずつポリゴンのデータを取り出し、ポリゴンの各頂点の座標、テクスチャ座標及び色データに基づいて補間処理を行い、ポリゴン内部の点の座標、テクスチャ座標及び色データを計算する。この際、ポリゴン内部の点(ポリゴンの頂点を含む)の座標に含まれるデプス値と、当該ポリゴン内部の点の座標に対応する画素識別番号のZバッファ1066内のZ値とを比較する。そして、デプス値の方が小さな値を有している場合のみ後の処理を実施する。
【0116】
すなわち、デプス値を、ポリゴン内部の点の座標に対応する画素識別番号に対応してZバッファ1066のZ値の欄663に格納する。そして、テクスチャ座標を使用してテクセル値を取り出し、テクセル値と補間により得られた色データ(又はポリゴンの頂点の色データ)とを使用して描画すべき画素の色を計算する。画素の色は、ポリゴン内部の点の座標に対応する画素識別番号に対応してピクセルテーブル1064の色データの欄643に格納される。テクスチャを使用しない場合には、補間により得られた色データ(又はポリゴンの頂点の色データ)が、ポリゴン内部の点の座標に対応する画素識別番号に対応してピクセルテーブル1064の色データの欄643に格納される。
【0117】
従って、同一画素に対して投影されるポリゴン内部の点が複数存在する場合に、その中から最も視点に近いポリゴン内部の点の色データがピクセルテーブル1064に格納されることになる。視点に最も近いポリゴン内部の点が、元のオブジェクトを構成するポリゴン内部の点である場合には、元のオブジェクトを構成するポリゴン内部の点における色データが画素に対応する画素識別番号に対応してピクセルテーブル1064に格納される。
【0118】
一方、視点に最も近いポリゴン内部の点が、輪郭描画用オブジェクトを構成するポリゴン内部の点である場合には、輪郭描画用オブジェクトの輪郭色が、画素に対応する画素識別番号に対応してピクセルテーブル1064に格納される。なお、輪郭描画用オブジェクトの輪郭色は、輪郭描画用オブジェクトのポリゴンの色データである。
【0119】
次に図21を用いてステップS2の描画演算処理の説明を行う。最初に、表示する1つの未処理オブジェクトを特定する(ステップS71)。特定したオブジェクトについて現在の姿勢を計算する(ステップS73)。オブジェクトを構成するポリゴンの位置を現在の姿勢に合わせて変更する。そして、現在の処理が輪郭描画用オブジェクトに対する処理であるか判断する(ステップS75)。なお、最初は、ステップS71において1つの未処理オブジェクトを特定しているので、輪郭描画用オブジェクトに対する処理ではない。よって、ステップS77に移行する。
【0120】
ステップS77では、特定された1つの未処理オブジェクトのデータを用意する。そして、用意された1つの未処理オブジェクトのデータを透視変換する(ステップS81)。透視変換により、特定された1つの未処理オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。
【0121】
次に、特定された1つの未処理オブジェクト(輪郭描画の対象となるオブジェクト)を構成する各ポリゴンについて、ポリゴンの各頂点におけるデプス値を、デプス調整値で調整する(ステップS83)。なお、特定された1つの未処理オブジェクトを処理している間はデプス調整値は0である。従って、実質的に本ステップはスキップされる。そして、特定された1つの未処理オブジェクトを構成する各ポリゴンのデータをディスプレイリストに加える(ステップS85)。
【0122】
次に、特定された1つの未処理オブジェクトを処理していたのか判断する(ステップS87)。最初の実行時には特定された1つの未処理オブジェクトを処理していたので、ステップS89に移行する。ステップS89では、特定された1つの未処理オブジェクトが輪郭描画の対象となっているか判断する。ここでは図6のアウトライン制御テーブル1058を参照して、アウトライン制御テーブル1058に登録されているオブジェクトであるか否かを判断すれば良い。
【0123】
もし、アウトライン制御テーブル1058に登録されていないオブジェクトであれば、輪郭を描画する必要は無いので、処理を終了する。一方、アウトライン制御テーブル1058に登録されているオブジェクトであれば、ステップS93に移行する。ステップS93では、処理の対象を、特定された1つの未処理オブジェクトに対応する輪郭描画用オブジェクトに切り換える。
【0124】
ステップS75に戻って、再度輪郭描画用オブジェクトに対する処理であるか判断する。ステップS93で輪郭描画用オブジェクトに処理の対象を切り換えているので、今回はステップS79に移行する。ステップS79ではアウトライン設定処理を行う。アウトライン設定処理については図22を用いて詳細に説明する。
【0125】
図22ではまず特定された1つの未処理オブジェクト(輪郭の描画対象となる元のオブジェクト)のデータを複写し、輪郭描画用オブジェクトのデータとして生成する(ステップS95)。次に、輪郭描画用オブジェクトのサイズを元のオブジェクトよりも拡大する(ステップS97)。サイズの拡大にはアウトライン制御テーブル1058の拡大率の欄583の値を使用する。そして、輪郭描画用オブジェクトの色データを変更する(ステップS99)。輪郭描画用オブジェクトの色データには、アウトライン制御テーブル1058の色データの欄585のデータを使用する。色データの欄585における色が輪郭色となる。
【0126】
次に輪郭描画用オブジェクトの座標データの調整を行う(ステップS101)。座標データの調整にはアウトライン制御テーブル1058の座標調整値の欄587の座標値を用いる。すなわち、輪郭描画用オブジェクトの基準位置を座標調整値だけずらす。そして、図21のステップS83で使用するデプス調整値の設定を行う(ステップS103)。デプス調整値にはアウトライン制御テーブル1058のデプス調整値の欄589の値を用いる。以上のようにして生成された輪郭描画用オブジェクトのデータを透視変換用に用意する(ステップS105)。この段階で図21のステップS81に戻る。
【0127】
図21では、用意した輪郭描画用オブジェクトのデータを透視変換する(ステップS81)。透視変換により、輪郭描画用オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点における視点からの距離、すなわちデプス値が算出される。そして、図22のステップS103で設定されたデプス調整値で、輪郭描画用オブジェクトを構成する各ポリゴンについて、ポリゴンの各頂点のデプス値を調整する。すなわち、輪郭描画用オブジェクトを構成する各ポリゴンを、輪郭描画の対象となる元のオブジェクトより後ろに配置する。そして、デプス調整値によりデプス値が調整された輪郭描画用オブジェクトの各ポリゴンのデータをディスプレイリストに加える(ステップS85)。
【0128】
次いで、現在処理しているオブジェクトがステップS71で特定した1つの未処理オブジェクトの処理であるか判断する(ステップS87)。現在は輪郭描画用オブジェクトを処理しているので、ステップS91に移行する。ステップS91では輪郭描画用オブジェクトの処理終了に応じてデプス調整値を0にリセットする(ステップS91)。そして、処理を終了する。
【0129】
以上の処理により、オブジェクトを構成するポリゴンについては通常通りディスプレイリストに登録される。一方、オブジェクトに対応する輪郭描画用オブジェクトを構成するポリゴンについては、オブジェクトより各頂点のデプス値を大きく設定して、ディスプレイリストに登録される。そして、ディスプレイリストに従って、Zバッファ法による隠面消去処理を行い、フレームバッファ112に画像を描画し、表示画面120に表示する。従って、視点から見てオブジェクトと重なる部分を除き輪郭描画用オブジェクトは、輪郭色で描画される。
【0130】
本実施の形態においても、相対的に輪郭描画用オブジェクトが、輪郭描画の対象となる元のオブジェクトの後ろに位置すれば良い。よって、輪郭描画の対象となる元のオブジェクトの処理における図21のステップS83で、輪郭描画の対象となる元のオブジェクトを構成するポリゴンの各頂点のデプス値を調整して、輪郭描画の対象となる元のオブジェクトが輪郭描画用オブジェクトより前に位置するように、すなわちより視点に近い位置になるように設定しても良い。
【0131】
実施の形態2によれば、オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する(ステップS97)。次に、オブジェクトに対して例えば縁全体に均等な太さの輪郭が付されるように輪郭描画用オブジェクトの位置が微調整される(ステップS101)。その後、Zバッファ法を用いてオブジェクト及び輪郭描画用オブジェクトを描画する(ステップS4)。ここで、オブジェクトを構成する各ポリゴンについては通常通りディスプレイリストに登録する。一方、輪郭描画用オブジェクトを構成する各ポリゴンについてはポリゴンの各頂点のデプス値を視点から見て後ろにずらした後にディスプレイリストに登録する(ステップS85)。
【0132】
従って、同一画素に投影されるポリゴンが複数存在し且つ視点から最も近いポリゴンが輪郭描画の対象となるオブジェクトを構成するポリゴンである場合には、輪郭描画の対象となるオブジェクトを構成するポリゴン内部の点の色データに従って画素が描画される。一方、同一画素に投影されるポリゴンが複数存在し且つ視点から最も近いポリゴンが輪郭描画用オブジェクトを構成するポリゴンである場合には、輪郭描画用オブジェクトを構成するポリゴン内部の点の色データに従って、すなわち輪郭色で画素が描画される。最終的に輪郭描画用オブジェクトは、オブジェクトの縁全体を囲む部分だけが残り、この部分が輪郭色で描画されることとなる。
【0133】
結果的に、輪郭描画の対象となるオブジェクトに対して輪郭を検出する処理を実施することなく、オブジェクトに対して輪郭を描画することができる。
【0134】
例えば、既に述べた従来の手法によれば、輪郭を描画するためには、表示対象となる多面体や三次元物体を面や多角形の辺単位まで分解して、辺毎に所定のアルゴリズムに基づいて輪郭として表示すべき辺であるか否かを判断する必要がある。そのため、輪郭を描画するための処理が非常に複雑であった。
【0135】
これに対して本発明によれば、輪郭描画の対象であるオブジェクトを拡大すると共に任意の輪郭色を設定した輪郭描画用オブジェクトを生成してオブジェクトの後ろに位置を設定すれば良いだけである。従って、従来に比して輪郭を描画する処理が簡素化され、輪郭描画に関する処理速度を高めることができる。
【0136】
輪郭描画に関する処理速度を高めることは、ビデオゲームに対して特に有用である。ビデオゲームでは、操作入力等に応じて、表示されるオブジェクトの位置や形状、カメラワークなどが逐次変化する。そして、この逐次変化する内容に応じた投影画像を即座に画面に表示しなければならない。輪郭描画に関する処理が複雑であると、たとえ輪郭を描画できたとしても画像の表示速度が遅くなってしまう。従って、表示速度を低下させることなく輪郭描画を行うためには、輪郭描画に関する手順が簡単であることが重要となるからである。
【0137】
実施の形態1で述べたように本実施の形態においても輪郭描画用オブジェクトにテクスチャマッピングを行うことが可能である。加えて、オブジェクトの輪郭部分の描画態様を動的に変化させるために、テクスチャマッピングで使用されるテクスチャを時間に応じて変化させることも可能である。また、テクスチャを変化させず、輪郭描画用オブジェクトを構成するポリゴンの各頂点に設定される色データの明度を時間に応じて変化させることも可能である。
【0138】
(その他の実施の形態)
(1)上の説明では、オブジェクトを、ビデオゲームのキャラクタのモデル全体として説明してきた。しかし、オブジェクトをモデルの一部分として取り扱うことも可能である。例えば、人型のゲームキャラクタにおいてオブジェクトを頭部、胸部、右腕部、左腕部等々と各部位単位に設定し、オブジェクト単位で輪郭を描画する処理を実行することも可能である。各部位単位にオブジェクトを設定すると、部位毎にデプス調整値を設定することにより、輪郭色や輪郭の太さをきめ細やかに設定することが可能となる。
【0139】
(2)上の説明ではオブジェクトを複製することにより輪郭描画用オブジェクトを生成していたが、オブジェクトを構成するポリゴンの数より、輪郭描画用オブジェクトを構成するポリゴンの数が少なくなるように、より簡易的に輪郭描画用オブジェクトを構成することも可能である。また、オブジェクトから輪郭描画用オブジェクトを生成することなく、別途輪郭描画用オブジェクトのデータを予め用意しておくことも可能である。
【0140】
(3)上の説明ではポリゴン、特に三角形ポリゴンを前提に処理を説明していた。しかし、オブジェクト及び輪郭描画用オブジェクトが、四角形以上の多角形ポリゴンを含む複数のポリゴンにて構成されるとすることも可能である。さらに、オブジェクト及び輪郭描画用オブジェクトが曲面を含む複数の面で構成され、各面が1又は複数のポリゴンで近似されて処理されるとしてもよい。
【0141】
(4)上の説明ではオブジェクトをアウトライン制御テーブル1058の拡大率の欄583に格納される拡大率の値に従って拡大し、輪郭描画用オブジェクトを生成していた。しかし、輪郭描画用オブジェクトのサイズを元のオブジェクトと同一として、元のオブジェクトのサイズを縮小してもよい。
【0142】
(5)上の説明では時間に応じてテクスチャを書き換える処理について説明していたが、複数のテクスチャを用意し、マッピングすべきテクスチャを時間に応じて切り換えてもよい。
【0143】
(6)使用するハードウエアの変更
図1は一例であって、様々な変更が可能である。通信インターフェース115を備えるか否かは任意である。本発明は直接サウンド処理には関係しないので、サウンド処理部109を備えている必要は無い。
【0144】
また、CD−ROMは記録媒体の一例であって、ROMのような内部メモリ、CD−ROM、DVD−ROM、メモリカートリッジ、フロッピーディスク、磁気ディスク、DVD−RAM等の他の記録媒体であってもよい。その場合にはCD−ROMドライブ113を、対応する媒体で読み出し可能なドライブにする必要がある。
【0145】
さらに、以上は本発明をコンピュータ・プログラムにより実装した場合であるが、コンピュータ・プログラムと電子回路などの専用の装置の組み合せ、又は電子回路などの専用の装置のみによっても実装することは可能である。
【0146】
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではない。要旨を逸脱しない範囲で適宜変更可能である。例えば、上記実施の形態では、家庭用ゲーム機をプラットフォームとして本発明を実現した場合について述べたが、本発明は通常のコンピュータ、アーケードゲーム機などをプラットフォームとして実現しても良い。また、携帯情報端末、カーナビゲーション・システム等をプラットフォームにして実現することも考えられる。
【0147】
また、本発明を実現するためのプログラムやデータは、コンピュータやゲーム機に対して着脱可能なCD−ROM等の記録媒体により提供される形態に限定されない。すなわち、本発明を実現するためのプログラムやデータを、図1に示す通信インターフェース115、通信回線141を介して接続されたネットワーク151上の他の機器側のメモリに記録し、プログラムやデータを通信回線141を介して必要に応じて順次RAM105に格納して使用する形態であってもよい。
【0148】
(表示例)
図23に輪郭描画の対象となる元のオブジェクト10の表示例を示す。図23に示されるようにオブジェクト10には輪郭は付されていない。そこで図24に示すように、輪郭描画の対象となる元のオブジェクト10のサイズを拡大し(ステップS37)、所定の輪郭色を設定した輪郭描画用オブジェクト20を生成する(ステップS35、S39)。そして、上で述べたようにデプス値を調整し、輪郭描画用オブジェクト20を輪郭描画の対象である元のオブジェクト10の後ろに配置する(ステップS23)。適切なデプス調整値を選択すれば、図25に示すように、輪郭が付されたオブジェクト30を描画することができる(ステップS4)。図25では、オブジェクト10の右手の先端部分がオブジェクト10の体より前に来ているが、この右手の先端部分にも輪郭が付されている。
【0149】
デプス調整値による輪郭の違いを図26乃至図28にて説明する。図26はデプス調整値0、すなわちオブジェクト10と輪郭描画用オブジェクト20のデプス値が同じ場合の輪郭付オブジェクト32の表示例を示している。同じデプス値が設定されていると、フレームバッファ112に描き込まれる順番によって輪郭描画用オブジェクト20のポリゴンが描画される部分と、オブジェクト10のポリゴンが描画される部分とが生じる。よってオブジェクトの手の内部には本来現れるべきではない輪郭描画用オブジェクト20のポリゴンの色が描画されてしまっている。
【0150】
図27はデプス調整値12における輪郭付オブジェクト34の表示例である。デプス調整値は図25の場合と同じであり、オブジェクト10の体より前に位置するオブジェクト10の左手の先端部分の輪郭も表示される。また、デプス調整0における場合とは異なり、オブジェクト10の手の内部には輪郭描画用オブジェクトのポリゴンは描画されていない。
【0151】
図28はデプス調整値30における輪郭付オブジェクト36の表示例である。デプス調整値30の場合、輪郭描画用オブジェクト20のポリゴンの位置はオブジェクト10の体の部分のポリゴンよりも視点から見て後ろに位置するため、オブジェクト10の体の前に位置するオブジェクト10の左手の先端部分の輪郭は描画されていない。
【0152】
次に図23に示したオブジェクトの輪郭部分を時間に応じて動的に変化させて描画する場合を説明する。図29は、横縞模様のテクスチャをマッピングした輪郭描画用オブジェクト40の表示例を示している。輪郭描画用オブジェクト40を、適切なデプス調整値を選択して、図23に示したオブジェクト10の後ろに配置すれば、図30のように、横縞模様の輪郭が付されたオブジェクト50を描画することができるようになる。図14乃至図16で説明したようにテクスチャを時間に応じて書き換えれば、輪郭部分の横縞模様が徐々に上に移動していくように描画することができる。
【0153】
従って、単にオブジェクトの輪郭を描画するだけでなく、例えばゲームキャラクタがオーラを発している状態を表現すること等ができるようになる。また、複数のゲームキャラクタのうち、注目するゲームキャラクタの輪郭部分の描画態様を動的に変化させるようにすれば、注目キャラクタをユーザに分かり易く告知することもできる。
【0154】
以上説明したように、オブジェクトの輪郭描画を工夫することにより、オブジェクトの強調表示の態様を充実させることもできる。
【0155】
デプス調整値による輪郭の違いを図31乃至図33にて説明する。図31はデプス調整値0、すなわちオブジェクト10と輪郭描画用オブジェクト40のデプス値が同じ場合の輪郭付オブジェクト52の表示例を示している。同じデプス値が設定されていると、フレームバッファ112に描き込まれる順番によって輪郭描画用オブジェクト40のポリゴンが描画される部分と、オブジェクト10のポリゴンが描画される部分とが生じる。よってオブジェクトの手の内部には本来現れるべきではない輪郭描画用オブジェクト40のポリゴンの色が描画されてしまっている。
【0156】
図32はデプス調整値12における輪郭付オブジェクト54の表示例である。デプス調整値は図30の場合と同じであり、オブジェクト10の体より前に位置するオブジェクト10の左手の先端部分の輪郭も表示される。また、デプス調整0における場合とは異なり、オブジェクト10の左手の内部には輪郭描画用オブジェクト40のポリゴンは描画されていない。
【0157】
図33はデプス調整値30における輪郭付オブジェクト56の表示例である。デプス調整値30の場合、輪郭描画用オブジェクト40のポリゴンの位置はオブジェクト10の体の部分のポリゴンよりも視点から見て後ろに位置するため、オブジェクト10の体の前に位置するオブジェクト10の左手の先端部分の輪郭は描画されていない。
【0158】
【発明の効果】
以上述べたように本発明によれば、輪郭描画の対象となるオブジェクトに対して輪郭を検出する処理を実施することなく、オブジェクトに輪郭を描画することが可能となる。
【図面の簡単な説明】
【図1】家庭用ゲーム機のブロック構成図である。
【図2】実施の形態1におけるRAMの状態を示すブロック図である。
【図3】ポリゴンテーブルの一例を示す図である。
【図4】オブジェクトの一例を示す図である。
【図5】頂点テーブルの一例を示す図である。
【図6】アウトライン制御テーブルの一例を示す図である。
【図7】ソートテーブルを説明するための模式図である。
【図8】実施の形態1及び2における表示処理のフローを示すフローチャートである。
【図9】実施の形態1における描画演算処理の処理フローを示すフローチャートである。
【図10】ソートテーブルにオブジェクトを構成するポリゴンを登録する際の処理を説明するための模式図である。
【図11】実施の形態1におけるアウトライン設定処理の処理フローを示すフローチャートである。
【図12】ソートテーブルに輪郭描画用オブジェクトを構成するポリゴンを登録する際の処理を説明するための模式図である。
【図13】輪郭描画用オブジェクト及びオブジェクトのポリゴンを登録後、先頭アドレスを元に戻した状態におけるソートテーブルを説明するための模式図である。
【図14】テクスチャ制御処理の処理フローを示すフローチャートである。
【図15】時間に応じて変化するテクスチャの説明をするための模式図である。
【図16】時間に応じてどのようにテクスチャが変化するかを説明するための模式図である。
【図17】実施の形態2におけるRAMの状態を示すブロック図である。
【図18】ピクセルテーブルの一例を示す図である。
【図19】画素識別番号を説明するための模式図である。
【図20】Zバッファの一例を示す図である。
【図21】実施の形態2における描画演算処理の処理フローを示すフローチャートである。
【図22】実施の形態2におけるアウトライン設定処理の処理フローを示すフローチャートである。
【図23】輪郭描画の対象となるオブジェクトの一例を示す表示画像である。
【図24】単色の輪郭色を伴う輪郭描画用オブジェクトの一例を示す表示画像である。
【図25】輪郭付オブジェクトの一例を示す表示画像である。
【図26】デプス調整値0における輪郭付オブジェクトの一例を示す表示画像である。
【図27】デプス調整値12における輪郭付オブジェクトの一例を示す表示画像である。
【図28】デプス調整値30における輪郭付オブジェクトの一例を示す表示画像である。
【図29】横縞模様のテクスチャがマッピングされた輪郭描画用オブジェクトの一例を示す表示画像である。
【図30】横縞模様の輪郭付オブジェクトの一例を示す表示画像である。
【図31】デプス調整値0における横縞模様の輪郭付オブジェクトの一例を示す表示画像である。
【図32】デプス調整値12における横縞模様の輪郭付オブジェクトの一例を示す表示画像である。
【図33】デプス調整値30における横縞模様の輪郭付オブジェクトの一例を示す表示画像である。
【符号の説明】
101 家庭用ゲーム機 103 演算処理部
105 RAM 109 サウンド処理部 112 フレームバッファ
111 グラフィックス処理部 113 CD−ROMドライブ
115 通信インターフェース 117 インターフェース部
119 内部バス 121 TVセット 120 表示画面
131 CD−ROM 141 通信媒体 151 ネットワーク
161 キーパッド 171 メモリカード
1050 プログラム記憶領域 1052 関連データ記憶領域
1054 ポリゴンテーブル 1056 頂点テーブル
1058 アウトライン制御テーブル 1060 ワークエリア
1062 ソートテーブル 1064 ピクセルテーブル
1066 Zバッファ

Claims (18)

  1. 仮想空間における三次元オブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    前記三次元オブジェクトより大きいサイズを有する輪郭描画用三次元オブジェクトを生成する第1ステップと、
    視点から見て前記三次元オブジェクトの面の後ろに前記第1ステップで生成された前記輪郭描画用三次元オブジェクトの対応する面が配置されるように、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトの位置を決定する第2ステップと、
    前記第2ステップで決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記第2ステップで決定された位置に前記輪郭描画用三次元オブジェクトを任意の輪郭色で描画する第3ステップと、
    を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  2. 前記第3ステップが、
    前記第2ステップで決定された位置に、前記輪郭描画用三次元オブジェクト、前記三次元オブジェクトの順で、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトを描画するステップ
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  3. 前記第3ステップが、
    Zバッファを用いた隠面消去処理を行って、前記第2ステップで決定された位置に前記三次元オブジェクトを描画すると共に、前記第2ステップで決定された位置に前記輪郭描画用三次元オブジェクトを任意の輪郭色で描画するステップ、
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  4. 前記第1ステップが、
    前記三次元オブジェクトのサイズを拡大して輪郭描画用三次元オブジェクトを生成するステップ
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  5. 前記第2ステップが、
    視点から見て前記第1ステップで生成された前記輪郭描画用三次元オブジェクトが前記三次元オブジェクトの縁の外側に現れるように、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトの位置を決定するステップ、
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  6. 前記第3ステップが、
    前記第2ステップで決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記第2ステップで決定された位置に前記輪郭描画用三次元オブジェクトをテクスチャマッピングを用いて描画するステップ
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  7. 前記第3ステップが、
    前記第2ステップで決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記第2ステップで決定された位置に前記輪郭描画用三次元オブジェクトを、時間に応じて変化させたテクスチャによるテクスチャマッピングを用いて描画するステップ、
    であることを特徴とする請求項1記載のコンピュータ読み取り可能な記録媒体。
  8. 複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、
    視点から見て前記オブジェクトの後ろに前記第1ステップで生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、
    前記第2ステップで設定された視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記輪郭描画用オブジェクトを構成する各ポリゴンを任意の輪郭色で描画する第3ステップと、
    を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  9. 複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、
    視点から見て前記オブジェクトの後ろに前記第1ステップで生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、
    画素毎に、当該画素に投影可能なポリゴンのうち前記第2ステップで設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記輪郭描画用オブジェクトを構成するポリゴンである場合は当該画素を任意の輪郭色で描画する第3ステップと、
    を実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  10. 仮想空間における三次元オブジェクトを描画する、ビデオゲームにおける三次元オブジェクト描画方法であって、
    前記三次元オブジェクトより大きいサイズを有する輪郭描画用三次元オブジェクトを生成する第1ステップと、
    視点から見て前記三次元オブジェクトの面の後ろに前記第1ステップで生成された前記輪郭描画用三次元オブジェクトの対応する面が配置されるように、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトの位置を決定する第2ステップと、
    前記第2ステップで決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記第2ステップで決定された位置に前記輪郭描画用三次元オブジェクトを任意の輪郭色で描画する第3ステップと、
    を含むことを特徴とするビデオゲームにおける三次元オブジェクト描画方法。
  11. 前記第3ステップが、
    前記第2ステップで決定された位置に、前記輪郭描画用三次元オブジェクト、前記三次 オブジェクトの順で、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトを描画するステップ
    であることを特徴とする請求項10記載のビデオゲームにおける三次元オブジェクト描画方法。
  12. 複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法であって、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、
    視点から見て前記オブジェクトの後ろに前記第1ステップで生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、
    前記第2ステップで設定された視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記輪郭描画用オブジェクトを構成する各ポリゴンを任意の輪郭色で描画する第3ステップと、
    を含むことを特徴とする、ビデオゲームにおけるオブジェクト描画方法。
  13. 複数のポリゴンにより構成されるオブジェクトを描画する、ビデオゲームにおけるオブジェクト描画方法であって、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する第1ステップと、
    視点から見て前記オブジェクトの後ろに前記第1ステップで生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する第2ステップと、
    画素毎に、当該画素に投影可能なポリゴンのうち前記第2ステップで設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記輪郭描画用オブジェクトを構成するポリゴンである場合は当該画素を任意の輪郭色で描画する第3ステップと、
    を含むことを特徴とする、ビデオゲームにおけるオブジェクト描画方法。
  14. 仮想空間における三次元オブジェクトを描画するビデオゲーム装置であって、
    前記三次元オブジェクトより大きいサイズを有する輪郭描画用三次元オブジェクトを生成する生成手段と、
    視点から見て前記三次元オブジェクトの面の後ろに前記生成手段により生成された前記輪郭描画用三次元オブジェクトの対応する面が配置されるように、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトの位置を決定する位置決定手段と、
    前記位置決定手段により決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記位置決定手段により決定された位置に前記輪郭描画用三次元オブジェクトを任意の輪郭色で描画する描画手段と、
    を有することを特徴とするビデオゲーム装置。
  15. 前記描画手段が、
    前記位置決定手段により決定された位置に、前記輪郭描画用三次元オブジェクト、前記三次元オブジェクトの順で、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトを描画する
    ことを特徴とする請求項14記載のビデオゲーム装置。
  16. 複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置であって、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成手段と、
    視点から見て前記オブジェクトの後ろに前記生成手段により生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、
    前記設定手段により設定された視点からの距離が遠い順に前記各ポリゴンを順序付けることにより得られる、前記各ポリゴンの描画順番に従って、前記オブジェクトを構成する各ポリゴンを描画すると共に、前記輪郭描画用オブジェクトを構成する各ポリゴンを任意の輪郭色で描画する描画手段と、
    を有することを特徴とするビデオゲーム装置。
  17. 複数のポリゴンにより構成されるオブジェクトを描画するビデオゲーム装置であって、
    前記オブジェクトより大きいサイズを有する輪郭描画用オブジェクトを生成する生成手段と、
    視点から見て前記オブジェクトの後ろに前記生成手段により生成された前記輪郭描画用オブジェクトが配置されるように、前記輪郭描画用オブジェクト及び前記オブジェクトを構成する各ポリゴンの視点からの距離を設定する設定手段と、
    画素毎に、当該画素に投影可能なポリゴンのうち前記設定手段により設定された視点からの距離が最も近いポリゴンに従って描画処理を行う際に、画素に投影されるポリゴンが前記オブジェクトを構成するポリゴンである場合は当該ポリゴンに従って当該画素を描画すると共に、画素に投影されるポリゴンが前記輪郭描画用オブジェクトを構成するポリゴンである場合は当該画素を任意の輪郭色で描画する描画手段と、
    を有することを特徴とするビデオゲーム装置。
  18. 仮想空間における三次元オブジェクトを描画するビデオゲーム装置であって、
    コンピュータと、
    前記コンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体と、
    を有し、
    前記プログラムは、前記コンピュータに、
    前記三次元オブジェクトより大きいサイズを有する輪郭描画用三次元オブジェクトを生成する生成処理と、
    視点から見て前記三次元オブジェクトの面の後ろに前記生成処理において生成された前記輪郭描画用三次元オブジェクトの対応する面が配置されるように、前記輪郭描画用三次元オブジェクト及び前記三次元オブジェクトの位置を決定する位置決定処理と、
    前記位置決定処理において決定された位置に前記三次元オブジェクトを描画すると共に、視点から見て前記三次元オブジェクトと前記輪郭描画用三次元オブジェクトとが重なる部分を除いて前記位置決定処理において決定された位置に前記輪郭描画用三次元オブジェクトを任意の輪郭色で描画する描画処理と、
    を実行させることを特徴とするビデオゲーム装置。
JP37487599A 1999-12-28 1999-12-28 ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置 Expired - Lifetime JP3604312B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP37487599A JP3604312B2 (ja) 1999-12-28 1999-12-28 ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置
US09/751,350 US20010017629A1 (en) 1999-12-28 2000-12-27 Methods and apparatus for drawing contours of objects in video games

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37487599A JP3604312B2 (ja) 1999-12-28 1999-12-28 ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置

Publications (2)

Publication Number Publication Date
JP2001188920A JP2001188920A (ja) 2001-07-10
JP3604312B2 true JP3604312B2 (ja) 2004-12-22

Family

ID=18504581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37487599A Expired - Lifetime JP3604312B2 (ja) 1999-12-28 1999-12-28 ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置

Country Status (2)

Country Link
US (1) US20010017629A1 (ja)
JP (1) JP3604312B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11618477B2 (en) * 2020-07-16 2023-04-04 Waymo Llc Service area maps for autonomous vehicles

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6914603B2 (en) 2000-07-03 2005-07-05 Sony Computer Entertainment Inc. Image generating system
JP4794811B2 (ja) * 2003-07-23 2011-10-19 任天堂株式会社 画像処理プログラム及び画像処理装置
US20060082593A1 (en) * 2004-10-19 2006-04-20 Microsoft Corporation Method for hardware accelerated anti-aliasing in 3D
JP4782583B2 (ja) * 2006-02-23 2011-09-28 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
JP4382117B2 (ja) * 2007-07-25 2009-12-09 株式会社スクウェア・エニックス 画像生成装置及び方法、並びにプログラム及び記録媒体
JP4387429B2 (ja) * 2007-07-25 2009-12-16 株式会社スクウェア・エニックス 画像生成装置及び方法、並びにプログラム及び記録媒体
JP4350773B2 (ja) * 2007-07-25 2009-10-21 株式会社スクウェア・エニックス 画像生成装置及び方法、並びにプログラム及び記録媒体
JP2010264066A (ja) * 2009-05-14 2010-11-25 Taito Corp ゲームプログラム及びゲーム機
JP5290074B2 (ja) 2009-07-13 2013-09-18 モレックス インコーポレイテド 光コネクタ
JP2011022198A (ja) 2009-07-13 2011-02-03 Molex Inc 光コネクタ
US20130016099A1 (en) * 2011-07-13 2013-01-17 2XL Games, Inc. Digital Rendering Method for Environmental Simulation
CN104685543B (zh) * 2012-09-27 2017-04-12 三菱电机株式会社 图形描绘装置
US9240077B1 (en) * 2014-03-19 2016-01-19 A9.Com, Inc. Real-time visual effects for a live camera view
CN113797548B (zh) * 2021-09-18 2024-02-27 珠海金山数字网络科技有限公司 对象处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3502796B2 (ja) * 1999-10-29 2004-03-02 株式会社スクウェア・エニックス ビデオゲームにおける立体モデル表示方法及び装置、ゲーム装置並びにビデオゲーム用立体モデル表示プログラムを格納したコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11618477B2 (en) * 2020-07-16 2023-04-04 Waymo Llc Service area maps for autonomous vehicles

Also Published As

Publication number Publication date
US20010017629A1 (en) 2001-08-30
JP2001188920A (ja) 2001-07-10

Similar Documents

Publication Publication Date Title
US7104891B2 (en) Game machine and game program for displaying a first object casting a shadow formed by light from a light source on a second object on a virtual game space
US8602888B2 (en) Video game device and image processing program
JP3604312B2 (ja) ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置
JP3668019B2 (ja) 記録媒体、画像処理装置および画像処理方法
KR20030074601A (ko) 이미지 생성 방법 및 장치
JP3352982B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
US6971957B2 (en) Game system and program using a shadow volume to display a shadow of an object in a three dimensional video game
JP3527672B2 (ja) 3次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体および影描画処理方法およびビデオゲーム装置
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3807654B2 (ja) ビデオゲーム用のプログラムを記録したコンピュータ読み取り可能な記録媒体、ビデオゲームにおけるオブジェクト描画方法及びビデオゲーム装置
EP1312047A2 (en) Apparatus and method for rendering antialiased image
JP2003150146A (ja) 画像処理装置および画像処理プログラム
JP2004280596A (ja) シャドウボリューム生成プログラム及びゲーム装置
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
JP3491832B2 (ja) ゲーム装置および情報記憶媒体
JP3292713B2 (ja) 画像生成システム及び情報記憶媒体
JP4231684B2 (ja) ゲーム装置及びゲームプログラム
JP3617960B2 (ja) 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置
US7173618B2 (en) Image creation program and method of creating image
JP4204114B2 (ja) ポリゴンデータの処理方法
JP4391633B2 (ja) 画像生成システム及び情報記憶媒体
JP4669334B2 (ja) エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP2001266166A (ja) 画像生成システム及び情報記憶媒体
JP3586679B2 (ja) 3次元ゲーム画像処理プログラム、3次元ゲーム画像処理方法及びビデオゲーム装置
JP4349551B2 (ja) 画像生成システム及び情報記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040928

R150 Certificate of patent or registration of utility model

Ref document number: 3604312

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081008

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

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Year of fee payment: 5

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

Year of fee payment: 5

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

Year of fee payment: 5

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

Year of fee payment: 5

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

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

Year of fee payment: 5

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

Year of fee payment: 5

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

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

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

Year of fee payment: 8

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

Year of fee payment: 9

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

Year of fee payment: 9

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

Year of fee payment: 9

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

EXPY Cancellation because of completion of term