JP3469225B2 - 3次元モデルに照明効果を施す方法、描画装置および記録媒体 - Google Patents

3次元モデルに照明効果を施す方法、描画装置および記録媒体

Info

Publication number
JP3469225B2
JP3469225B2 JP2001343653A JP2001343653A JP3469225B2 JP 3469225 B2 JP3469225 B2 JP 3469225B2 JP 2001343653 A JP2001343653 A JP 2001343653A JP 2001343653 A JP2001343653 A JP 2001343653A JP 3469225 B2 JP3469225 B2 JP 3469225B2
Authority
JP
Japan
Prior art keywords
model
opacity
light source
pixel
lighting effect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001343653A
Other languages
English (en)
Other versions
JP2002208030A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2001343653A priority Critical patent/JP3469225B2/ja
Publication of JP2002208030A publication Critical patent/JP2002208030A/ja
Application granted granted Critical
Publication of JP3469225B2 publication Critical patent/JP3469225B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックスに係り、特に、オブジェクトに対してリアル
タイムに照明効果を施す技術に関する。
【0002】
【従来の技術】近年のハードウェアの性能向上に伴い、
家庭用エンタテインメント装置においても、3次元コン
ピュータグラフィックス(3次元CG)をリアルタイム
に描画して、3次元CGアニメーションを実現すること
が可能になってきている。3次元CGアニメーションを
利用することで、リアルで迫力のある映像が得ることが
できる。このため、3次元CGアニメーションは、特に
ビデオゲームの分野で多用されている。
【0003】リアルタイム3次元CGを用いたゲームに
おいて、例えば、あるオブジェクトにスポットライト等
の照明効果を表現したい場合がある。従来、このような
場合には、円錐の半透明のオブジェクトを用いて表現し
ている。すなわち、円錐オブジェクトの頂点を光源の位
置とし、照明効果を施すオブジェクト上に円錐オブジェ
クトの底面とが一致するように円錐オブジェクトの大き
さを調整する。そして、半透明の円錐オブジェクトを、
照明効果を施すオブジェクトに重ねて描画することによ
り、スポットライトの照明効果を表現している。
【0004】
【発明が解決しようとする課題】しかし、この表現方法
では、照明効果を施すオブジェクトの表面に凹凸がある
場合にも一律に平面的な照明効果が施されてしまう、途
中に光を遮蔽するものがあって、影になるべき部分にも
光が当たってしまう、円錐オブジェクトの境界線がはっ
きり出てしまう等の問題が生じ、不自然な照明効果にな
ってしまう場合がある。
【0005】本発明の課題は、3次元モデルとして表現
されたオブジェクトの表面の任意の場所に、照明効果を
施す技術を提供することにある。
【0006】
【課題を解決するための手段】上記課題を解決するた
め、本発明によれば、ピクセルの不透明率を用いて半透
明描画処理を行なう描画装置における、仮想空間内に配
置された3次元オブジェクトに照明効果を施す方法であ
って、仮想光源からの光を表す3次元モデルであって、
不透明率を表す情報と対応付けられた複数の3次元モデ
ルを、仮想空間内に、内外関係を保って配置する段階
と、各ピクセルの不透明率をクリアする段階と、モデル
とオブジェクトとの位置関係から、モデルの描画面側に
現れる領域に対応するピクセルの不透明率を、当該モデ
ルに対応付けられた不透明率に設定する処理を、外側の
モデルから内側のモデルに対して順番に行なう段階と、
モデルとオブジェクトとの位置関係から、モデルの描画
面と反対側に現れる領域に対応するピクセルの不透明率
を、当該モデルの一つ外側のモデルに対応付けられた不
透明率に設定する処理(ただし、一番外側のモデルは、
クリアした値に設定する)を、内側のモデルから外側の
モデルに対して順番に行なう段階と、設定された不透明
率を用いてオブジェクトを描画する段階とを備えること
を特徴とする照明効果を施す方法が提供される。
【0007】このとき、各モデルは頂角の異なる円錐形
とし、各モデルの頂点の位置は、仮想光源の位置と一致
し、各モデルの中心線は、仮想光源の光軸と一致するよ
うに配置することができる。
【0008】また、不透明率を表す情報は、外側のモデ
ルを0%として、内側のモデルに向って、不透明率が大
きくなるように対応付けるようにすることができる。
【0009】
【発明の実施の形態】本発明の実施形態について、図面
を参照して詳細に説明する。
【0010】まず、本発明を実施可能なエンタテインメ
ント装置10のハードウェア構成について図1を参照し
て説明する。ただし、本発明を実施可能な装置はエンタ
テインメント装置に限られない。本発明は、パーソナル
コンピュータ、グラフィックス専用コンピュータ等の種
々の情報処理装置において実施することができる。
【0011】本図において、エンタテインメント装置1
0は、メインCPU100と、グラフィックスプロセッ
サ(グラフィックスプロセッサ)110と、I/Oプロ
セッサ(IOP)120と、CD/DVDデコーダ13
0と、サウンド再生処理プロセッサ(SPU)140
と、サウンドバッファ141と、OS−ROM150
と、メインメモリ160と、IOPメモリ170とを備
える。
【0012】そして、メインCPU100とグラフィッ
クスプロセッサ110とは、専用バス101によって接
続されている。また、メインCPU100とIOP12
0とは、バス102によって接続されている。また、I
OP120とCD/DVDデコーダ130とSPU14
0とOS−ROM150とは、バス103に接続されて
いる。
【0013】メインCPU100には、メインメモリ1
60が接続され、IOP120には、IOPメモリ17
0が接続されている。さらに、IOP120には、コン
トローラ(PAD)180が接続される。
【0014】メインCPU100は、OS−ROM15
0に格納されたプログラム、あるいは、CD/DVD−
ROM等からメインメモリ160に転送されたプログラ
ムを実行することによって、所定の処理を行う。
【0015】グラフィックスプロセッサ110は、詳細
な機能については後述するが、本エンタテインメント装
置のレンダリング機能を受け持つ描画プロセッサであ
り、メインCPU100からの指示に従って、描画処理
を行う。
【0016】IOP120は、メインCPU100と、
周辺装置、例えばCD/DVD読み出し部130、SP
U140等との間のデータのやり取りを制御する入出力
用サブ・プロセッサである。
【0017】CD/DVDデコーダ130は、CD/D
VDドライブに装着されたCD−ROM、DVD−RO
Mからデータを読み出し、メインメモリ160に設けら
れたバッファ領域161への転送を行う。
【0018】SPU140は、サウンドバッファ141
に格納された圧縮波形データ等を、メインCPU100
等からの発音命令に基づいて、所定のサンプリング周波
数で再生する。
【0019】OS−ROM150は、起動時にメインC
PU100およびIOP120が実行するプログラム等
が格納されている不揮発性メモリである。
【0020】メインメモリ160は、メインCPU10
0の主記憶装置であり、メインCPU100が実行する
命令、および、メインCPU100が利用するデータ等
が格納される。またメインメモリ160には、CD−R
OM、DVD−ROM等の記録媒体から読み出されたデ
ータを一時的に格納するバッファ領域が設けられてい
る。
【0021】IOPメモリ170は、IOP120の主
記憶装置であり、IOP120が実行する命令、およ
び、メインCPU100が利用するデータ等が格納され
る。
【0022】コントローラ(PAD)180は、操作者
の指示を受付けるインタフェースである。
【0023】図2は、グラフィックスプロセッサ110
の内部構成を示す図である。同図に示すように、グラフ
ィックスプロセッサ110は、ホストインタフェース部
200と、描画機能ブロック210と、ローカルメモリ
220と、CRTC部230とを備える。
【0024】ホストインタフェース部200は、メイン
CPU100との間でデータのやり取りを行なうための
インタフェース部である。
【0025】描画機能ブロック210は、メインCPU
100からの指示に基いて、レンダリング処理を行なう
理論回路部である。描画機能ブロック210は、ディジ
タル・ディファレンシャル・アナライザ(DDA)とピ
クセル・エンジンをそれぞれ16個備え、64ビット
(色情報32ビット、Z値32ビット)の画素データ
を、最大16個並列処理する。DDAは、メインCPU
100から受け取った頂点情報を基に、RGB値、Z
値、テクスチャ値などを計算する。これらのデータを基
に、ピクセルエンジンは、テクスチャマッピング、αブ
レンディング、シャドウボリューム等の処理を行って最
終的なピクセル・データを作成する。
【0026】ローカルメモリ220は、描画機能ブロッ
ク210によって生成されたピクセル・データ、メイン
CPU100から転送されたテクスチャ・データ等を格
納する。
【0027】CRTC部230は、指定された出力フォ
ーマット(NTSC、PAL、VESAフォーマット
等)にしたがって、ローカルメモリ220のフレームバ
ッファ領域(図3参照)の内容を映像信号として出力す
る。
【0028】図3は、ローカルメモリ220の構成を示
す図である。同図に示すように、ローカルメモリ220
は、フレームバッファ領域250と、Zバッファ領域2
60と、テクスチャバッファ領域270と、テクスチャ
CLUT280とを有する。
【0029】フレームバッファ領域250およびZバッ
ファ領域270は、描画対象領域である。フレームバッ
ファ領域250は、描画結果のピクセルを格納する。Z
バッファ領域270は、描画結果のZ値を格納する。
【0030】テクスチャバッファ領域270は、テクス
チャのイメージデータを格納し、テクスチャCLUT領
域280は、テクスチャがインデックスカラーの場合に
使用するカラールックアップテーブル(CLUT)を格
納する。
【0031】なお、領域250〜280は、所定の制御
レジスタに適当な値を設定することで、ローカルメモリ
220上の任意のアドレスに任意の順序で自由に配置す
ることができる。
【0032】図4は、エンタテインメント装置10の使
用状態を説明する図である。本図において、エンタテイ
ンメント装置本体11のコネクタ部12にコントローラ
(PAD)180が接続される。また、エンタテインメ
ント装置本体11の画像音声出力端子13には、画像音
声出力用ケーブル14が接続される。このケーブル14
の他端にはテレビ受信装置等の画像音声出力装置15が
接続される。エンタテインメント装置の操作者は、コン
トローラ(PAD)180を用いて操作を指示する。エ
ンタテインメント装置10は、コントローラ180を介
して、操作者からの指示を受け付け、この指示に対応し
た画像データと音声データを、画像音声出力装置15に
出力する。そして、画像音声出力装置15が画像と音声
とを出力する。
【0033】次に、以上のような構成を有するエンタテ
インメント装置10によって実行される3Dモデルの描
画処理について説明する。アプリケーションは、必要に
応じて、CD/DVDに格納している3Dモデルに基い
て、画像の描画を行なう。
【0034】まず、本描画方法を実現するために利用す
る描画機能について説明する。本描画方法では、グラフ
ィックスプロセッサ110とメインCPUとにより実現
することができるαブレンディング機能と、描画領域生
成機能とを利用する。
【0035】αブレンディング機能とは、メインCPU
100からの指示にしたがって生成されたピクセルのア
ルファ値またはフレームバッファ領域250に格納され
ているアルファ値にしたがって、生成されたピクセルの
RGB値と、フレームバッファ領域250に格納されて
いるRGB値とのブレンディング(混合)を行なって、
画像を描画する機能をいう。なお、アルファ値は、不透
明率をあらわし、本実施形態ではアルファ値は0%から
100%の間で設定されるものとする。また、このアル
ファ値は、RGB値とともにピクセルごとに設定するこ
とができる。このため、アルファ値を調節することで、
例えば、画像の明るさを部分的に変更することができ
る。
【0036】次に、描画領域作成機能について説明す
る。本実施例では描画領域の作成法として、シャドウボ
リューム法とよばれる手法を用いる。シャドウボリュー
ム法は、光源からの光に関して、他のオブジェクトから
影響を受ける領域を求めるものである。
【0037】グラフィックスプロセッサ110のフレー
ムバッファ領域250には、フレーム内のピクセル毎に
書き込みを許すか禁止するかを指定することができるデ
ータ領域がある。ここでは、この領域をSバッファと称
し、Sバッファの値が1のピクセルは書き込みを許し、
Sバッファの値が0のピクセルは書き込みを禁止するも
のとする。
【0038】図5は、シャドウボリューム法について説
明するための図である。ここでは、図5(a)に示した
オブジェクトAの、面光源により生成される影をオブジ
ェクトBに描く場合を例に説明する。
【0039】まず、オブジェクトAを光源Lの方向へ、
平行に水平移動させたオブジェクトCを作成する(図5
(b))。そして、オブジェクトAとオブジェクトCと
で定められる三角柱Tを仮定する。この三角柱Tの表側
(本図で表から見える側)に対応するSバッファの値を
1とする。すると図5(c)の斜線に示す領域に対応す
るSバッファの値が1になる。次に、三角柱Tの裏側に
対応するSバッファの値を0とする。すると、図5
(d)の斜線に示す、オブジェクトAの影にあたるGの
部分に対応するSバッファの値だけが1になる。これに
より、Sバッファの値が1の部分を描画領域とすること
ができる。
【0040】そして、Sバッファの値が1である部分
に、例えば、黒の半透明のオブジェクトを書き込むとオ
ブジェクトAの影をオブジェクトB上に描くことができ
る。
【0041】すなわち、グラフィックスプロセッサ11
0とメインCPU100とにより実現される描画領域生
成機能を用いることにより、オブジェクトを表側から見
たときに見える部分に対応するフレームバッファ領域2
50の値と、オブジェクトを裏側から見たときに見える
部分に対応するフレームバッファ領域250の値を設定
することができる。
【0042】本描画方法では、これらの機能を利用し
て、3次元グラフィックスを用いたゲームにおける、オ
ブジェクトに対する照明効果を表現する。本発明は、特
にスポットライトのように指向性が強い照明効果を表現
するのに好適である。
【0043】次に、本描画処理の内容について説明す
る。以降の説明をわかりやすくするために、最初に、本
描画処理の描画結果と、描画方法の概念とを示す。
【0044】図6(a)は、オブジェクト500上にス
ポットライトの照明効果を施した結果を、光源の位置
(真上)から見たときのイメージを説明する図である。
図6(b)は、同じ結果を、斜め上から見たときのイメ
ージを説明する図である。なお、図6(b)において、
オブジェクト500の黒い部分(光の当たっていない部
分)の着色は省略している。
【0045】本図に示すように、本描画処理の描画結果
では、スポットライトの光の当たる範囲の中心部分が最
も明るく、外側に向って徐々に暗くなっている様子が表
現される。本例では、説明のため階調を粗くしている
が、階調数は任意に増やすことができる。階調数を多く
して本描画処理を行うことにより、例えば、周辺付近で
は、あたかも光がボケているような効果を得ることがで
きる。また、オブジェクト500に凹凸面がある場合で
も、凹凸面に沿って照明効果を描画することができる。
さらに、光源と、オブジェクト500の間に、光の遮蔽
物が存在している場合には、その部分が影となって描画
される。
【0046】図7は、図6の描画結果を得るための描画
方法の概念を説明する図である。本図に示すように、本
描画処理では、光源Lを頂点とし、光軸に中心線が一致
する、大きさ(頂角)の異なる複数の円錐モデル600
a、600b、600c、600dを用いて、各円錐モ
デルが、オブジェクト500に影響を与える領域を生成
する。そして、それぞれの領域に対し、明るさを設定し
て、描画することによって、照明効果を表現するように
している。
【0047】なお、本発明が用いるモデルは、大きさの
異なる複数の立体形状であれば、円錐モデルに限られな
い。また、各モデルの位置関係は、内側のモデルが、外
側のモデルからはみ出さないという条件を満たす限り、
各モデルの頂点を光源に一致させなくてもよい。また、
異なる形状のモデルを組合せるようにしてもよい。
【0048】次に、本描画処理の具体的な内容を説明す
る。本実施例では、図7に示したようなオブジェクト5
00対して、Lの位置に、Dの方向に向けて、光源であ
るスポットライトを配置したときの照明効果を施す場合
を例に説明する。
【0049】オブジェクト500は、すでに描画済み
で、フレームバッファ領域250と、Zバッファ領域2
60とに描画データが記録されている。すなわち、本描
画処理は、描画済みのオブジェクトに対して、照明効果
を施すことができる。このため、処理時間を短くするこ
とができ、リアルタイム3次元グラフィックスを用いた
ゲームに効果的に適用することができる。
【0050】なお、本例では、説明のためオブジェクト
500は平面としているが、オブジェクト500は立体
形状でもよい。本発明は、奥行きの情報であるZ値をZ
バッファ領域260に格納しているオブジェクト500
に対して処理を行なえる。このため、立体的な任意の形
状のオブジェクト500に対して、任意の角度からの照
明効果を施すことができる。
【0051】また、オブジェクト500には、テクスチ
ャ等の模様が付されていてもよい。この模様もブレンド
されるため、オブジェクト500の光が当たる部分に
は、付された模様が表現される。
【0052】本描画処理を実現させるためのプログラム
は、例えば、CD−ROM/DVD−ROMから、CD
/DVDデコーダ130を介して、メインメモリ160
に格納される。そして、メインCPU100が、このプ
ログラムにしたがって動作を行なうことにより、本描画
処理が実行される。
【0053】本描画処理に必要な情報として、あらかじ
め、モデルの形状と、モデルの個数と、モデルの大きさ
と、モデルの位置関係と、モデルに対応するアルファ値
とを定めておく。これらの情報は、プログラムにおいて
あらかじめ設定しておいてもよいし、ゲーム等の進行状
況に応じて、設定するようにしてもよい。
【0054】モデル形状は、光源からの光の進み方(広
がり方)を規定する。モデル形状を円錐形状とすれば、
円錐モデルの頂点と光源とを一致させることで、光源か
らある方向に向って光が広がりながら進む様子を表現す
ることができる。これは、スポットライトの照明効果を
表現するのに好適である。モデル形状を球形状とする
と、球モデルの中心と光源とを一致させることで、光源
から全方向に光が広がりながら進む様子を表現すること
ができる。これは、点光源の照明効果を表現するのに好
適である。ただし、モデル形状は、これらに限られな
い。特殊な効果を得るために、例えば、三角錐、楕円
錐、立方体等とすることもできる。また、これらを組み
合わせるようにしてもよい。本実施の形態では、スポッ
トライトの照明効果を例にするため、モデル形状は、円
錐形状とする。
【0055】モデルの個数は、図6に示した照明効果の
階調数を定める。図6(a)において、楕円が4つ設け
られ、内側の円から外側の円に向って徐々に暗くなって
いる。すなわち、4階調で照明効果が表現されている。
すなわち、モデルを4個用いている。もちろんこのモデ
ルは仮想的なもので、実際に存在しているわけではな
い。モデルの個数、すなわち、階調数を増やすことによ
り、例えば、光が減衰する様子を滑らかに表現したり、
変化に富んだ照明効果を表現することができる。
【0056】そして、モデルの大きさが、同じ明るさで
表される領域の大きさ(外側の境界線)を定める。すな
わち、モデルと、オブジェクト500との交わる領域
が、同じ明るさで表される領域を定める。モデルの大き
さは、例えば、モデルが円錐形状であれば、その頂角に
よって定めることができる。すなわち、内側の領域に対
応する円錐モデルの頂角は小さく、外側の領域に向っ
て、対応する円錐の頂角を徐々に大きくしていく。ある
いは、各円錐モデルを相似形にして、拡大縮小によって
大きさを変化させるようにしてもよい。また、モデルが
球形状であれば、半径によってモデルの大きさを定める
ことができる。
【0057】各モデルの位置関係は、内側、すなわち、
小さいモデルが、より大きいモデルの外側にはみ出さな
いように定める。例えば、モデルの形状が円錐形状であ
れば、各モデルの頂点を光源と一致させるような位置関
係とすることができる。
【0058】モデルの位置関係は、小さいモデルが、よ
り大きいモデルの外側にはみ出さなという条件を満たす
限り、任意であるが、各モデルの中心線に相当する線
が、光源の光軸に一致するような位置関係とすると、よ
り自然な照明効果を表現することができる。なお、各モ
デルの位置関係は、光源の位置から、オブジェクト50
0の位置までの範囲について有効である。前記の大小関
係も、この範囲内においての大小関係である。
【0059】図10は、モデルの形状と大きさと位置関
係を変化させた例を示す説明図である。本図(a)は、
大小の円錐形状のモデルを、頂点を一致させずには配置
した例である。本図(b)は、円錐形状と、四角錐形状
のモデルを組合せた例である。本図(c)は、球状のモ
デルを中心を一致させて配置した例である。これらは例
示であり、本発明は、種々の組合せにおいて適用するこ
とができる。
【0060】モデルに対応するアルファ値は、各モデル
がオブジェクト500に影響を与える領域のアルファ値
を定める。本例においては、内側から、すなわち、大き
さの小さいモデルから、100%、70%、40%、2
0%としている。これらの値は、任意とすることができ
る。また、本例では中心から外側に向ってα値を小さく
していくことにより、中心の円が最も明るく、外側に向
って徐々に暗くなるようにしている。本発明はこれに限
られず、中心から外側に向って徐々に明るくしたり、ア
ルファ値を不規則に設定して、特殊な効果を得るように
してもよい。
【0061】上記のあらかじめ定められた情報に基いて
行なわれる本描画処理の手順について図8を参照して説
明する。
【0062】まず、メインCPU100は、フレームバ
ッファ領域250のアルファ値を定めるアルファマップ
を作成する処理を行なう(S101)。本処理で、前述
の描画領域生成機能を適用する。ただし、ここでは、フ
レームバッファ領域250のピクセル・データにアルフ
ァ値を書き込むものとする。
【0063】はじめに、フレームバッファ領域250の
アルファマップをクリアして、全画面のアルファ値を0
%にする(S1011)。これは、光の当たらない部分
を暗くするためである。もちろん、この処理で設定する
アルファ値は0%に限られず、光の当たらない場所を表
現したいアルファ値を設定することができる。なお、ア
ルファマップを作成する処理においては、フレームバッ
ファ領域250内のアルファ値のみを設定し、描画デー
タ、Zデータ等、他の値は変化させないものとする。
【0064】そして、一つのモデルに注目し、オブジェ
クト500との位置関係から、モデルの表側(画面上で
見える向き)に対応する領域のアルファ値を、モデルに
対応したアルファ値に設定するという処理(S101
2)を、外側の一番大きなモデルから内側の一番小さな
モデルまで順番に繰り返す。
【0065】本例では、まず、外側のモデルの表側に対
応するフレームバッファ領域250のアルファ値を20
%にする。次に、外側から2番目のモデルの表側に対応
するフレームバッファ領域250のアルファ値を40%
にする。次に、外側から3番目のモデルの表側に対応す
るフレームバッファ領域250のアルファ値を70%に
する。そして、一番内側のモデルの表側に対応するフレ
ームバッファ領域250のアルファ値を100%にす
る。
【0066】図9(a)は、このときのアルファマップ
のイメージを示す模式図である。本図に示すように、ア
ルファマップには、モデルの表側に対応する領域が、モ
デルのごとのアルファ値に区分けされて描画されてい
る。
【0067】次に、一つのモデルに注目し、オブジェク
ト500との位置関係から、モデルの裏側に対応する領
域のアルファ値を、一つ外側のモデルに対応したアルフ
ァ値に設定する(一番外側のモデルは、最初にアルファ
マップをクリアした値を設定する。本例の場合は0%)
という処理(S1013)を、内側の一番小さなモデル
から外側の一番大きなモデルまで順番に繰り返す。
【0068】本例では、まず、一番内側のモデルの裏側
に対応するフレームバッファ領域250のアルファ値
を、一つ外側のモデルに対応するアルファ値である70
%にする。次に、内側から2番目のモデルの裏側に対応
するフレームバッファ領域250のアルファ値を、一つ
外側のモデルに対応するアルファ値である40%にす
る。次に、内側から3番目のモデルの裏側に対応するフ
レームバッファ領域250のアルファ値を、一つ外側の
モデルに対応するアルファ値である20%にする。そし
て、一番外側のモデルの裏側に対応するフレームバッフ
ァ領域250のアルファ値を0%にする。
【0069】この結果、図9(b)に示すようなアルフ
ァマップが作成される。本図に示すように、アルファマ
ップには、それぞれのモデルが、オブジェクト500と
干渉する部分が、アルファ値に区分けされて描画されて
いる。
【0070】そして、このアルファマップを利用して、
フレームバッファ領域250に記録してあるオブジェク
ト500を再描画する(S102)ことにより、照明効
果を表現することができる。
【0071】以上の処理により、3次元オブジェクトの
表面の任意場所に、照明効果を施すことができる。この
処理は、すでに描画されたオブジェクトデータに対して
行なうものであるため、処理時間を短くすることがで
き、3次元CGのリアルタイムレンダリングが可能であ
る。
【0072】
【発明の効果】上述のように、本発明によれば、3次元
モデルとして表現されたオブジェクトの表面の任意の場
所に、任意の角度からの照明効果を施すことができる。
【図面の簡単な説明】
【図1】は、本発明を実施可能なエンタテインメント装
置10のハードウェア構成の一例を示す図である。
【図2】は、グラフィックスプロセッサ110の内部構
成を示す図である。
【図3】は、グラフィックスプロセッサ110のローカ
ルメモリ220の構成を示す図である。
【図4】は、エンタテインメント装置10の使用状態を
説明する図である。
【図5】は、シャドウボリューム法について説明するた
めの図である。
【図6】は、本描画処理の描画結果のイメージの一例を
説明する図である。
【図7】は、本描画処理の描画方法の概念を説明する図
である。
【図8】は、本実施例の描画処理の流れを説明するため
のフロー図である。
【図9】は、アルファマップのイメージを示す模式図で
ある。
【図10】は、モデルの形状と大きさと位置関係を変化
させた例を示す説明図である。
【符号の説明】
10…エンタテインメント装置 11…本体、13…画像音声出力部、14…画像音声出
力用ケーブル 15…画像音声出力装置 100…メインCPU、110…グラフィックスプロセ
ッサ 120…I/Oプロセッサ、130…CD/DVDデコ
ーダ 140…サウンド再生処理プロセッサ、141…サウン
ドバッファ 150…OS−ROM、160…メインメモリ、170
…IOPメモリ 101、102、103…バス 180…コントローラ 200…ホストインタフェース部、210…描画機能ブ
ロック 220…ローカルメモリ、230…CRTC部 250…フレームバッファ領域、260…Zバッファ領
域 270…テクスチャバッファ領域、280…テクスチャ
CLUT280

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 ピクセルの不透明率を用いて半透明描画
    処理を行なう描画装置における、仮想空間内に配置され
    た3次元オブジェクトに照明効果を施す方法であって、 仮想光源からの光を表す3次元モデルであって、不透明
    率を表す情報と対応付けられた複数の3次元モデルを、
    仮想空間内に、内外関係を保って配置する段階と、 各ピクセルの不透明率をクリアする段階と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面側に現れる領域に対応するピクセルの不透明率を、当
    該モデルに対応付けられた不透明率に設定する処理を、
    外側のモデルから内側のモデルに対して順番に行なう段
    階と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面と反対側に現れる領域に対応するピクセルの不透明率
    を、当該モデルの一つ外側のモデルに対応付けられた不
    透明率に設定する処理(ただし、一番外側のモデルは、
    クリアした値に設定する)を、内側のモデルから外側の
    モデルに対して順番に行なう段階と、 設定された不透明率を用いてオブジェクトを描画する段
    階とを備えることを特徴とする照明効果を施す方法。
  2. 【請求項2】 請求項1記載の照明効果を施す方法にお
    いて、 各モデルは頂角の異なる円錐形であり、 各モデルの頂点の位置は、仮想光源の位置と一致し、 各モデルの中心線は、仮想光源の光軸と一致するように
    配置することを特徴とする照明効果を施す方法。
  3. 【請求項3】 請求項1および2のいずれか一項に記載
    の照明効果を施す方法において、 前記不透明率を表す情報は、外側のモデルから内側のモ
    デルに向って、不透明率が大きくなるように対応付ける
    ことを特徴とする照明効果を施す方法。
  4. 【請求項4】 請求項1、2および3のいずれか一項に
    記載の照明効果を施す方法において、 前記ピクセルの不透明率をクリアする値は、0%である
    ことを特徴とする照明効果を施す方法。
  5. 【請求項5】 ピクセルの不透明率を用いた半透明描画
    手段を備え、仮想空間内に配置された3次元オブジェク
    トに照明効果を施す描画装置であって、 仮想光源からの光を表す3次元モデルであって、不透明
    率を表す情報と対応付けられた複数の3次元モデルを、
    仮想空間内に、内外関係を保って配置する手段と、 各ピクセルの不透明率をクリアする手段と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面側に現れる領域に対応するピクセルの不透明率を、当
    該モデルに対応付けられた不透明率に設定する処理を、
    外側のモデルから内側のモデルに対して順番に行なう手
    段と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面と反対側に現れる領域に対応するピクセルの不透明率
    を、当該モデルの一つ外側のモデルに対応付けられた不
    透明率に設定する処理(ただし、一番外側のモデルは、
    クリアした値に設定する)を、内側のモデルから外側の
    モデルに対して順番に行なう手段と、 設定された不透明率を用いてオブジェクトを描画する手
    段とを備えることを特徴とする描画装置。
  6. 【請求項6】 請求項5記載の描画装置において、 各モデルは頂角の異なる円錐形であり、 各モデルの頂点の位置は、仮想光源の位置と一致し、 各モデルの中心線は、仮想光源の光軸と一致するように
    配置することを特徴とする描画装置。
  7. 【請求項7】 請求項5および6のいずれか一項に記載
    の描画装置において、 前記不透明率を表す情報は、外側のモデルから内側のモ
    デルに向って、不透明率が大きくなるように対応付ける
    ことを特徴とする描画装置。
  8. 【請求項8】 請求項5、6および7のいずれか一項に
    記載の描画装置において、 前記ピクセルの不透明率をクリアする値は、0%である
    ことを特徴とする描画装置。
  9. 【請求項9】 エンタテインメント装置であることを特
    徴とする請求項5〜8のいずれか一項に記載の描画装
    置。
  10. 【請求項10】 ピクセルの不透明率を用いた半透明描
    画手段を備えるエンタテインメント装置で実行可能なプ
    ログラムであって、 仮想空間内に3次元オブジェクトを配置する処理と、 仮想光源からの光を表す3次元モデルであって、不透明
    率を表す情報と対応付けられた複数の3次元モデルを、
    仮想空間内に、内外関係を保って配置する処理と、 各ピクセルの不透明率をクリアする処理と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面側に現れる領域に対応するピクセルの不透明率を、当
    該モデルに対応付けられた不透明率に設定する処理を、
    外側のモデルから内側のモデルに対して順番に行なう処
    理と、 モデルとオブジェクトとの位置関係から、モデルの描画
    面と反対側に現れる領域に対応するピクセルの不透明率
    を、当該モデルの一つ外側のモデルに対応付けられた不
    透明率に設定する処理(ただし、一番外側のモデルは、
    クリアした値に設定する)を、内側のモデルから外側の
    モデルに対して順番に行なう処理と、 設定された不透明率を用いてオブジェクトを描画する処
    理とをエンタテインメント装置に実行させることを特徴
    とするプログラム。
  11. 【請求項11】 請求項10記載のプログラムにおい
    て、 各モデルは頂角の異なる円錐形であり、 各モデルの頂点の位置は、仮想光源の位置と一致し、 各モデルの中心線は、仮想光源の光軸と一致するように
    配置することを特徴とするプログラム。
  12. 【請求項12】 請求項10および11のいずれか一項
    に記載のプログラムにおいて、 前記不透明率を表す情報は、外側のモデルから内側のモ
    デルに向って、不透明率が大きくなるように対応付ける
    ことを特徴とするプログラム。
  13. 【請求項13】 請求項10、11および12のいずれ
    か一項に記載のプログラムにおいて、 前記ピクセルの不透明率をクリアする値は、0%である
    ことを特徴とするプログラム。
  14. 【請求項14】 請求項10〜13のいずれか一項に記
    載のプログラムを記録したエンタテインメント装置読み
    取り可能な記録媒体。
JP2001343653A 2000-11-10 2001-11-08 3次元モデルに照明効果を施す方法、描画装置および記録媒体 Expired - Fee Related JP3469225B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001343653A JP3469225B2 (ja) 2000-11-10 2001-11-08 3次元モデルに照明効果を施す方法、描画装置および記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-343748 2000-11-10
JP2000343748 2000-11-10
JP2001343653A JP3469225B2 (ja) 2000-11-10 2001-11-08 3次元モデルに照明効果を施す方法、描画装置および記録媒体

Publications (2)

Publication Number Publication Date
JP2002208030A JP2002208030A (ja) 2002-07-26
JP3469225B2 true JP3469225B2 (ja) 2003-11-25

Family

ID=26603761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001343653A Expired - Fee Related JP3469225B2 (ja) 2000-11-10 2001-11-08 3次元モデルに照明効果を施す方法、描画装置および記録媒体

Country Status (1)

Country Link
JP (1) JP3469225B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5090544B2 (ja) * 2011-02-25 2012-12-05 任天堂株式会社 ゲーム装置およびゲームプログラム
JP7314479B2 (ja) * 2018-06-06 2023-07-26 岩崎電気株式会社 画像生成装置、画像生成方法、及び画像生成プログラム

Also Published As

Publication number Publication date
JP2002208030A (ja) 2002-07-26

Similar Documents

Publication Publication Date Title
US6580430B1 (en) Method and apparatus for providing improved fog effects in a graphics system
JP3725524B2 (ja) コンピュータディスプレイ画像を生成する方法ならびに画像データを生成するコンピュータ処理システムおよびグラフィックスプロセッサ
US8602888B2 (en) Video game device and image processing program
US20080246760A1 (en) Method and apparatus for mapping texture onto 3-dimensional object model
JP2002074390A (ja) 低価格のグラフィックスシステムにおけるシャドウマッピング
WO2005109345A1 (ja) 表示装置、表示方法、情報記録媒体、ならびに、プログラム
JP2009199620A (ja) 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
EP1126416A2 (en) Randomly animating a flame in an image
EP1312047B1 (en) Apparatus and method for rendering antialiased image
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2004334661A (ja) 画像生成システム、プログラム及び情報記憶媒体
EP1081654A2 (en) Method and apparatus for providing depth blur effects within a 3d videographics system
JP3469225B2 (ja) 3次元モデルに照明効果を施す方法、描画装置および記録媒体
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3527196B2 (ja) テクスチャ描画方法、エンタテインメント装置および記録媒体
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4683760B2 (ja) 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
US7710419B2 (en) Program, information storage medium, and image generation system
JP2001273519A (ja) ゲームシステム、ゲームシステムにおける画像描画方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体
JP4086002B2 (ja) プログラム、画像処理装置及び方法、並びに記録媒体
JP3652586B2 (ja) 画像描画システム
JP3497860B1 (ja) 表示装置、表示方法、ならびに、プログラム
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4563070B2 (ja) ゲーム装置及びゲームプログラム
JP4233859B2 (ja) ゲーム装置及びゲームプログラム

Legal Events

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

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080905

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090905

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100905

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees