JP2006293470A - 描画装置、方法および描画プログラム - Google Patents

描画装置、方法および描画プログラム Download PDF

Info

Publication number
JP2006293470A
JP2006293470A JP2005109856A JP2005109856A JP2006293470A JP 2006293470 A JP2006293470 A JP 2006293470A JP 2005109856 A JP2005109856 A JP 2005109856A JP 2005109856 A JP2005109856 A JP 2005109856A JP 2006293470 A JP2006293470 A JP 2006293470A
Authority
JP
Japan
Prior art keywords
depth information
translucent
image
image information
writing
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.)
Pending
Application number
JP2005109856A
Other languages
English (en)
Inventor
Yuichiro Okamura
祐一郎 岡村
Satoshi Ouchi
聡 大内
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games 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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005109856A priority Critical patent/JP2006293470A/ja
Publication of JP2006293470A publication Critical patent/JP2006293470A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 半透明物体を表示したときに表示が必要以上に煩雑、不自然にならず、表示に必要なメモリ容量を少なくすることができる描画装置、方法および描画プログラムを提供すること。
【解決手段】 半透明オブジェクトと背景オブジェクトのそれぞれのZ値を格納するZバッファ28と、半透明オブジェクトと背景オブジェクトのそれぞれに対応する画像情報を格納するフレームバッファ26と、フレームバッファ26への画像情報の書込み動作を伴わずに、半透明オブジェクトを構成する複数のポリゴンのそれぞれについてZバッファ28のZ値を更新した後に、この更新されたZ値に基づいてフレームバッファ26に対して画像情報を書き込むことにより半透明オブジェクトに関する描画処理を行う半透明画像書込み部114とを備えている。
【選択図】 図2

Description

本発明は、背景画像が透けて見える半透明の三次元物体を描画する描画装置、方法および描画プログラムに関する。
従来から、Zバッファを用いて半透明の物体を描画する各種の手法が知られている。例えば、半透明ポリゴン(ブレンディングポリゴン)を順序テーブルに登録しておいて最奥の半透明ポリゴンから順番に描画することにより、1つあるいは複数の半透明ポリゴンと他の不透明ポリゴンとが重なった画像を描画する描画装置が知られている(例えば、特許文献1参照。)。また、不透明用バッファおよび半透明用バッファとこれらに共通のZバッファとを備え、最初に共通のZバッファを用いて不透明ポリゴンの描画を不透明用バッファに対して行い、次に同じZバッファを用いて半透明ポリゴンの描画を半透明用バッファに対して行い、その後、不透明用バッファに格納された画像と半透明用バッファに格納された画像を用いてαブレンディングによる描画を行うようにした描画装置が知られている(例えば、特許文献2参照。)。
特許第3495189号公報(第2−9、図1−10) 特開2002−298152号公報(第5−7頁、図1−3)
ところで、特許文献1に開示された描画装置では、1つの物体が複数のポリゴンによって構成されている場合にこの物体を半透明表示、すなわちこの物体を構成する複数のポリゴンのそれぞれを半透明ポリゴンとして描画を行うと、これら複数のポリゴンが透けて見えることになるため、表示が煩雑あるいは不自然になるおそれがあるという問題があった。例えば、ある物体を通して背景が透けて見えるような画像表示を意図して半透明ポリゴンを使う場合が多いが、物体表面および内部を構成するポリゴンの形状や色の組み合わせ等が複雑な場合にこれらの全てを半透明表示すると、半透明の物体に対応して表示される輪郭線や色が多くなりすぎて背景の画像が合成されたときに表示内容の把握が難しくなる。また、ポリゴンを使用して描画が行われる一般のゲーム装置に用いられている各物体を考えたときに、主に物体表面の形状や色を精確に描画するために各ポリゴンの形状等を決定するが、表示の対象にならない内部形状等については簡略化する場合があり、このような場合内部形状まで透けて見えると形状や色が不自然になる場合がある。
また、特許文献2に開示された描画装置では、半透明ポリゴンを不透明ポリゴンとして半透明用バッファに対して各半透明ポリゴンの描画を行っており、不透明用バッファ以外に半透明用バッファが必要になるため、表示に必要なメモリ容量が増大するという問題があった。また、半透明の複数の物体を重ねて表示したい場合であっても最前の半透明の物体の背後にある半透明の物体は表示が行われなくなるため、やはり表示が不自然になるという問題があった。例えば、移動中の2つの不透明の物体が交差するような場合を考えると、最前の物体を通して背景の画像が透けて見えるが、この物体と背景の間に進入した他の物体が全く見えないことになるので、2つの物体の交差状態に着目すると、実際の半透明物体の交差状態とはかなりかけ離れた画像が得られることになる。
本発明は、このような点に鑑みて創作されたものであり、その目的は、半透明物体を表示したときに表示が必要以上に煩雑、不自然にならず、表示に必要なメモリ容量を少なくすることができる描画装置、方法および描画プログラムを提供することにある。
上述した課題を解決するために、本発明の描画装置は、複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトに対応する画像を、半透明オブジェクトの背後に配置された背景オブジェクトに対応する画像に重ねて描画を行っており、半透明オブジェクトと背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、半透明オブジェクトと背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段と、画像情報格納手段への画像情報の書込み動作を伴わずに、半透明オブジェクトを構成する複数のポリゴンのそれぞれについて奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新手段と、背景オブジェクトに対応する画像情報が画像情報格納手段に書き込まれた後であって、奥行き情報更新手段による更新処理が行われた後に、奥行き情報格納手段に格納された奥行き情報を用いて画像情報格納手段に対して半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込み手段とを備えている。
また、本発明の描画方法は、複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトと半透明オブジェクトの背後に配置された背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、半透明オブジェクトと背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段とを備える描画装置において、半透明オブジェクトに対応する画像を背景オブジェクトに対応する画像に重ねて描画を行うものであり、画像情報格納手段への画像情報の書込み動作を伴わずに、半透明オブジェクトを構成する複数のポリゴンのそれぞれについて奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新ステップと、背景オブジェクトに対応する画像情報が画像情報格納手段に書き込まれた後であって、奥行き情報更新ステップにおける更新処理が行われた後に、奥行き情報格納手段に格納された奥行き情報を用いて画像情報格納手段に対して半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込みステップとを備えている。
また、本発明の描画プログラムは、コンピュータを、複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトと半透明オブジェクトの背後に配置された背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、半透明オブジェクトと背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段と、画像情報格納手段への画像情報の書込み動作を伴わずに、半透明オブジェクトを構成する複数のポリゴンのそれぞれについて奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新手段と、背景オブジェクトに対応する画像情報が画像情報格納手段に書き込まれた後であって、奥行き情報更新手段による更新処理が行われた後に、奥行き情報格納手段に格納された奥行き情報を用いて画像情報格納手段に対して半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込み手段として機能させ、半透明オブジェクトに対応する画像を背景オブジェクトに対応する画像に重ねて描画を行うためのものである。
半透明オブジェクトの画像情報を書き込む前に奥行き情報の更新が行われるため、最も手前にある面についてのみ画像情報の描画を行うことができ、表示が煩雑あるいは不自然になることを防止することができる。また、背景オブジェクトに対応する画像情報の書き込みが終了した後に、更新が終了した奥行き情報を用いて半透明オブジェクトに対応する画像情報を書き込むことができるため、半透明オブジェクト用にフレームバッファ等の画像情報格納手段を用意する必要がなく、表示用のメモリ容量を少なくすることができる。
また、上述した奥行き情報更新手段は、半透明オブジェクトを構成する複数のポリゴンに対応する各画素の奥行き情報が、描画位置が重複する他の画素の奥行き情報よりも視点位置に近いことを示しているときに、この描画位置に対応する奥行き情報の更新を行うことが望ましい。これにより、表示画面の手前側にある画素についてのみ奥行き情報を更新するため、最終的に最も手前にある面を抽出することが可能になる。
また、上述した半透明画像書込み手段は、半透明オブジェクトを構成する複数のポリゴンに対応する複数の画素の中で描画位置が重複する画素が存在するときに、これら描画位置が重複する複数の画素の中から視点位置に最も近い画素を用いて半透明オブジェクトに対応する画像情報の書込みを行うことが望ましい。これにより、複数のポリゴンが複雑に組み合わさって半透明物体が構成される場合であっても、最も手前にある面の画像情報のみを用いて半透明処理が行われ、この面よりも後側にある面の画像情報が反映されないため、表示が必要以上に煩雑になることを確実に防止することができる。
また、上述した描画装置は、半透明オブジェクトが複数存在するときに、複数の半透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段をさらに備え、奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、一の半透明オブジェクト毎に、奥行き情報更新手段による更新処理と半透明書込み手段による画像情報の書込み処理を繰り返し行うことが望ましい。あるいは、半透明オブジェクトが複数存在するとともに、背景オブジェクトおよび複数の半透明オブジェクト以外に複数のポリゴンによって構成されて不透明表示の対象となる不透明オブジェクトが存在しており、上述した描画装置は、奥行き情報格納手段に格納された奥行き情報を用いて画像情報格納手段に対して不透明オブジェクトに対応する画像情報の書込みを行う不透明画像書込み手段と、複数の半透明オブジェクトと不透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段とをさらに備え、奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、不透明オブジェクトについては不透明画像書込み手段による画像情報の書込み処理を行い、半透明オブジェクトについては一の半透明オブジェクト毎に、奥行き情報更新手段による更新処理と半透明書込み手段による画像情報の書込み処理を繰り返し行うことが望ましい。これにより、複数の半透明オブジェクトが重なる場合に、これら複数の半透明オブジェクトが透過して見える自然な表示を実現することができる。しかも、それぞれの半透明オブジェクトの描画は手前側にある面についてのみ行われるため、表示内容が必要以上に煩雑になることを防止することができる。
以下、本発明を適用した一実施形態の描画装置について、図面を参照しながら詳細に説明する。図1は、一実施形態の描画装置の構成を示す図である。図1に示す描画装置は、仮想的な三次元空間内に配置された各種の物体である三次元オブジェクトの画像を描画して表示を行うものであり、例えばコンピュータを利用したゲーム装置として動作する。図1に示す描画装置は、コンピュータとして動作するためのCPU10、ROM12、RAM14、外部記憶装置16、入力装置18、画像処理装置20、ディスプレイ装置22、ビデオメモリ24を備えている。
CPU10は、ROM12、RAM14あるいは外部記憶装置16に格納されたプログラムを実行することにより、ゲームの進行に伴う三次元オブジェクトの描画処理を行う。外部記憶装置16は、DVDとDVD読み取り装置を用いて実現することができるが、ハードディスク装置やその他の装置(例えば大容量の半導体メモリ等)を用いて実現するようにしてもよい。この外部記憶装置16には、ゲームの進行や三次元オブジェクトの表示等に必要なプログラムの他に、描画に必要な各種のデータ(例えばテクスチャデータ等)も格納されている。
入力装置18は、ユーザ(プレーヤ)が操作して指示を入力するためのものである。通常、ゲーム装置に対して指示を行うコントローラが入力装置18として用いられることが多いが、一般のコンピュータにおいて各種の入力を行うキーボードやマウス等を入力装置18として用いるようにしてもよい。
画像処理装置20は、CPU10の指示に応じて画像の描画および表示に関する処理を行う。例えば、仮想的な三次元空間内にゲームの進行に伴って登場する各三次元オブジェクトが複数のポリゴンによって構成されているものとし、CPU10によって仮想的な視点位置や照明の配置を含む描画条件が設定されると、画像処理装置20は、視点位置を基準とした透視投影変換処理を行うとともに、視点位置から見ることができる三次元オブジェクトに対応するレンダリング処理を含むテクスチャマッピング処理を行って各三次元オブジェクトの画像を描画してビデオメモリ24に書き込むとともに、書き込んだ描画データを読み出してディスプレイ装置22に表示する処理を行う。なお、本実施形態において描画対象となるオブジェクトには、背景オブジェクト、不透明オブジェクト、半透明オブジェクトが存在するものとする。なお、背景オブジェクトは不透明オブジェクトに含ませるようにしてもよい。
ビデオメモリ24は、画像処理装置20による描画および表示に用いられ、フレームバッファ26とZバッファ28が含まれている。フレームバッファ26は、視点位置から見ることができる背景オブジェクト、不透明オブジェクト、半透明オブジェクトのそれぞれの画像情報をフレーム単位で画素毎に格納する。例えば、表示レートを1/60秒とすると、1/60秒ごとに1フレーム分のフレームバッファ26の表示内容が更新される。また、画像情報としては各画素に対応したRGBデータが用いられる。なお、描画用と表示用に少なくとも2つのフレームバッファ26を備えておいて、一方のフレームバッファ26を用いてディスプレイ装置22に対する表示を行っているときに、次の表示用に他方のフレームバッファ26を用いて描画処理を行うようにしてもよい。これについてはZバッファ28も同様である。
Zバッファ28は、背景オブジェクト、不透明オブジェクト、半透明オブジェクトのそれぞれの奥行き情報としてのZ値を格納する。本実施形態では、視点位置から各三次元オブジェクトを見たときに視点位置からの距離が遠ざかる向きをZ方向とし、このZ方向に沿った位置をZ値とする。このZ値が大きいほど表示画面の奥側に配置されていることになり、反対にZ値が小さいほど表示画面の手前側に配置されていることになる。したがって、不透明オブジェクトがZ方向に沿って重なっており、同じ表示値に対応してZ値が異なる2つの画素が存在する場合には、Z値が小さく手前側に配置された画素について表示が行われる。なお、上述した例では、表示画面の奥側(視点位置から遠い側)に対応してZ値が大きく、表示画面の手前側(視点位置に近い側)に対応してZ値が小さくなるようにZ値を定義したが、反対に、表示画面の奥側に対応してZ値が小さく、表示画面の手前側に対応してZ値が大きくなるようにしてもよい。
図2は、図1に示した描画装置によって実現される描画処理部の詳細を示す図である。図2に示すように、描画処理部100は、背景画像書込み部110、不透明画像書込み部112、半透明画像書込み部114、Z値比較部118、描画順番設定部120、描画条件設定部122を備えている。この描画処理部100に含まれる各構成は、図1に示したCPU10および画像処理装置20によって実現される機能ブロックであり、本発明の描画動作に関係するものを抽出したものである。
背景画像書込み部110は、背景オブジェクトを構成する各画素の画像情報をフレームバッファ26に書き込む処理を行う。背景オブジェクトは、二次元オブジェクトを用いて実現されるが三次元オブジェクトを用いるようにしてもよい。また、背景オブジェクトに対応するZ値は十分大きな値が設定されている。
不透明画像書込み部112は、Zバッファ28に格納されたZ値に基づいて、フレームバッファ26に対して不透明オブジェクトに対応する画像情報の書込みを行う。具体的には、不透明画像書込み部112は、不透明オブジェクトを構成する各ポリゴンに対応する各画素(着目画素)について、同じ表示位置に他の画素が存在する場合には着目画素のZ値の方がこの他の画素のZ値よりも小さいときに着目画素のZ値を用いてZバッファ28の内容を更新するとともに着目画素の画像情報を用いてフレームバッファ26の内容を更新し、反対に着目画素のZ値の方がこの他の画素のZ値よりも大きいときにはZバッファ28とフレームバッファ26の内容更新を行わない。また、不透明画像書込み部112は、着目画素と同じ表示位置に他の画素が存在しない場合には、着目画素のZ値を用いてZバッファ28の内容を更新するとともに着目画素の画像情報を用いてフレームバッファ26の内容を更新する。
半透明画像書込み部114は、Zバッファ28に格納されたZ値に基づいて、フレームバッファ26に対して半透明オブジェクトに対応する画像情報の書込みを行う。具体的には、半透明画像書込み部114は、2つの動作モードを備えている。一方は、フレームバッファ26への画像情報の書込み動作を伴わずに、半透明オブジェクトを構成する各ポリゴンに対応する各画素(着目画素)について、同じ表示位置に他の画素が存在する場合に着目画素のZ値の方がこの他の画素のZ値よりも小さいときに着目画素のZ値を用いてZバッファ28の内容更新のみを行うZバッファ更新モードである。また、他方は、Zバッファ更新モードの動作が終了した後に、Zバッファ28に格納された各画素毎のZ値を用いて、フレームバッファ26に対して半透明オブジェクトに対応する画像情報の書込みを行うフレームバッファ更新モードである。Zバッファ更新モードの動作が終了した時点で、不透明オブジェクトを構成する複数のポリゴンに対応する各画素の中で表示位置が重なる画素については最も視点位置に近い画素のZ値がZバッファ28に格納されている。したがって、このようにしてZ値の書き込みが行われたZバッファ28を用いて、次にフレームバッファ更新モードによるフレームバッファ26に対する画像情報の書き込みを行うと、各表示位置について最もZ値が小さな画像情報を用いた描画が行われる。なお、半透明オブジェクトに対応する画像情報の描画は、例えばアルファブレンディング法を用いて行われる。
Z値比較部118は、表示範囲内に半透明オブジェクトや不透明オブジェクトが複数存在する場合に、各オブジェクトに対応するZ値の大小比較を行う。この比較動作は、各オブジェクトのZ方向に沿った相対的な位置、すなわち、どちらのオブジェクトの方が背景よりにあるかを調べるために行うものであり、各オブジェクトに含まれる全ての画素について行う必要はない。
描画順番設定部120は、表示範囲内に半透明オブジェクトや不透明オブジェクトが複数存在する場合に、Z値比較部118による比較結果に基づいて、半透明画像書込み部114あるいは不透明画像書込み部112による画像情報の書き込み動作、すなわち描画動作を行うオブジェクトの順番を決定する。
描画条件設定部122は、各種の描画条件の設定を行う。各種の描画条件には、仮想的な視点位置や、レンダリング処理に必要な照明の配置などが含まれる。また、各種の描画条件には、フレームバッファ26やZバッファ28の各内容の更新の有効/無効の指定が含まれる。半透明画像書込み部114によってZバッファ更新モードの動作が行われる場合には、Zバッファ28の内容更新を有効(Zバッファ書き込みオン)にするとともに、フレームバッファ26の内容更新を無効(フレームバッファ書き込みオフ)にする描画条件が設定される。また、半透明画像書込み部114によってフレームバッファ更新モードの動作が行われる場合には、Zバッファ28の内容更新を無効(Zバッファ書き込みオフ)にするとともに、フレームバッファ26の内容更新を有効(フレームバッファ書き込みオン)にする描画条件が設定される。
上述したZバッファ28が奥行き情報格納手段に、フレームバッファ26が画像情報格納手段に、半透明画像書込部114が奥行き情報更新手段、半透明画像書込み手段に、不透明画像書込み部112が不透明画像書込み手段に、Z値比較部118が奥行き情報比較手段にそれぞれ対応する。
本実施形態の描画装置はこのような構成を有しており、次にその動作を、一つの半透明オブジェクトのみが存在する場合と、半透明オブジェクトや不透明オブジェクトが複数存在する場合とで場合を分けて説明する。
〔一つの半透明オブジェクトのみが存在する場合〕
図3は、背景の他に一つの半透明オブジェクト(物体A)のみが存在する場合の描画処理の動作手順を示す流れ図である。また、物体Aを背景に重ねて表示するための描画動作に着目して説明を行うものとする。
まず、描画条件設定部122は、物体Aの画像情報を背景の画像情報に重ねて描画するために、描画条件としての視点位置と照明の配置を決定する(ステップ100)。視点位置は、三次元オブジェクトとしての物体Aの画像情報を平面的なフレームバッファ26に書き込むために必要な透視投影変換に用いられる。また、照明の配置は、画像情報作成のために必要なレンダリング処理に用いられる。
次に、描画条件設定部122は、フレームバッファ書き込みオン(フレームバッファ26の内容更新有効)を指定するとともに(ステップ101)、Zバッファ書き込みオン(Zバッファ28の内容更新有効)を指定する(ステップ102)。背景画像書込み部110は、これらの描画条件に基づいて背景オブジェクトの描画処理を行う(ステップ103)。具体的には、フレームバッファ書き込みオンおよびZバッファ書き込みオンが指定されているため、背景画像書込み部110は、Zバッファ28のZ値を必要に応じて更新しながらフレームバッファ26に画像情報を書き込むことにより、背景オブジェクトの描画処理を行う。
次に、描画条件設定部122は、フレームバッファ書き込みオフ(フレームバッファ26の内容更新無効)を指定する(ステップ104)。なお、Zバッファ28については、ステップ102において指定されたZバッファ書き込みオンの状態が維持される。半透明画像書込み部114は、これらの描画条件に基づいて物体Aの描画処理を行う(ステップ105)。具体的には、フレームバッファ書き込みオフおよびZバッファ書き込みオンが指定されているため、半透明画像書込み部114は、フレームバッファ26に対する画像情報の書き込みは行わずに、Zバッファ28のZ値の更新のみを行う。
次に、描画条件設定部122は、フレームバッファ書き込みオンを指定するとともに(ステップ106)、Zバッファ書き込みオフ(Zバッファ28の内容更新無効)を指定する(ステップ107)。半透明画像書込み部114は、これらの描画条件に基づいて物体Aの描画処理を行う(ステップ108)。具体的には、フレームバッファ書き込みオンおよびZバッファ書き込みオフが指定されているため、半透明画像書込み部114は、Zバッファ28のZ値の更新は行わずに、Zバッファ28に格納されたZ値を用いてフレームバッファ26に対する画像情報の書き込みを行う。なお、上述した例では、ステップ107においてZバッファ書き込みオフを指定したが、Zバッファ書き込みオンを指定してもZバッファ28の内容更新が行われないため(ステップ105において既にZバッファ28の内容更新が行われているため)、ステップ107におけるZバッファ書き込みオフの指定は行わなくてもよい。また、フレームバッファ26に対する物体Aの画像情報の書込み(画素単位のRGBデータの書込み)は、背景のRGBデータと物体A(半透明オブジェクト)のRGBデータとをアルファブレンディング法を用いて合成して新たなRGBデータを算出し、この算出されたRGBデータをフレームバッファ26に書き込むことによって行われる。このようにして、半透明オブジェクトである物体Aの描画処理が終了する。この描画処理は、フレームレート毎(あるいは、2つのフレームバッファ26を用いて交互に書込みと読出しを行う場合にはフレームレートの2倍の時間間隔で)行われる。
図4は、物体Aを構成するポリゴンの説明図である。図4に示す物体Aは、立方体と直方体を組み合わせた形状を有しており、簡単のため、立方体と直方体のそれぞれの各面が一のポリゴンで構成されているものとする。
図5は、物体Aの描画が行われる前のフレームバッファ26とZバッファ28の内容を示す図である。図5(A)にはフレームバッファ26の内容が、図5(B)にはZバッファ28の内容がそれぞれ示されている。図5(A)に示すように、フレームバッファ26にはステップ103で書き込まれた背景オブジェクトの画像情報が格納されている。また、図5(B)に示すように、Zバッファ28には、背景オブジェクトを構成する各画素に対応する均一なZ値が格納されている。なお、背景オブジェクトのZ値は必ずしも均一である必要はなく、背景オブジェクトの内容に応じたZ値を設定してもよいが、説明を簡単にするために均一なZ値が設定されているものとする。
図6は、ステップ105における物体Aの描画処理が終了した時点でのフレームバッファ26とZバッファ28の内容を示す図である。図6(A)にはフレームバッファ26の内容が、図6(B)にはZバッファ28の内容がそれぞれ示されている。ステップ104においてフレームバッファ書き込みオフの描画条件が設定されているため、図6(A)に示すように、フレームバッファ26の内容はそれ以前と同じ内容(背景オブジェクトの画像情報)が維持される。一方、図6(B)に示すように、Zバッファ28については物体Aの内容に応じてZ値が更新されるため、最終的に最も手前(視点位置に近い側)に対応する画素のZ値を用いてZ値の更新が行われる。
図7は、ステップ108における物体Aの描画処理が終了した時点でのフレームバッファ26とZバッファ28の内容を示す図である。図7(A)にはフレームバッファ26の内容が、図7(B)にはZバッファ28の内容がそれぞれ示されている。ステップ106においてフレームバッファ書き込みオンの描画条件が設定されているため、図7(A)に示すように、フレームバッファ26の内容更新が行われ、物体Aが存在する表示位置では背景オブジェクトの画像情報と物体Aの画像情報とがアルファブレンディング法によって合成されて新たな画像情報が生成され、フレームバッファ26に格納される。また、ステップ107においてZバッファ書き込みオフの描画条件が設定されているため、図7(B)に示すように、Zバッファ28については内容更新が行われない。
このように、半透明オブジェクトの画像情報をフレームバッファ26に書き込む前にZバッファ28のZ値の更新が行われるため、最も手前にある面についてのみ画像情報の描画を行うことができ、表示が煩雑あるいは不自然になることを防止することができる。また、背景オブジェクトに対応する画像情報のフレームバッファ26への書き込みが終了した後に、更新が終了したZ値を用いて半透明オブジェクトに対応する画像情報を同じフレームバッファ26に書き込むことができるため、半透明オブジェクト用に専用のフレームバッファを用意する必要がなく、表示用のメモリ容量を少なくすることができる。
〔半透明オブジェクトや不透明オブジェクトが複数存在する場合〕
図8は、半透明オブジェクトや不透明オブジェクトが複数存在する場合の描画処理の動作手順を示す流れ図である。また、半透明オブジェクトあるいは不透明オブジェクトの物体を背景に重ねて表示するための描画動作に着目して説明を行うものとする。ステップ100〜ステップ103の各動作については図3に示した各動作と同じであるため、ステップ103の次に行われるステップ110以降の動作について説明を行う。
Z値比較部118は、背景オブジェクトに重ねて表示される半透明オブジェクトおよび不透明オブジェクト(どちらか一方しか含まれない場合であってもよい)のZ値の大小比較を行い、描画順番設定部120は、この比較結果に基づいてこれらのオブジェクトを画面奥から順に(視点位置から遠い順に)並べ替える(ステップ110)。
次に、描画順番設定部120は、最も奥にある物体を選択するとともに(ステップ111)、この物体について半透明表示が行われるか否か、すなわち半透明オブジェクトであるか否かを判定する(ステップ112)。選択された物体が半透明オブジェクトである場合には肯定判断が行われ、次に、描画条件設定部122は、フレームバッファ書き込みオフを指定する(ステップ113)。なお、Zバッファ28については、ステップ102において指定されたZバッファ書き込みオンの状態が維持される。半透明画像書込み部114は、これらの描画条件に基づいて半透明オブジェクトである物体の描画処理を行う(ステップ114)。具体的には、フレームバッファ書き込みオフおよびZバッファ書き込みオンが指定されているため、半透明画像書込み部114は、フレームバッファ26に対する画像情報の書き込みは行わずに、Zバッファ28のZ値の更新のみを行う。
次に、描画条件設定部122は、フレームバッファ書き込みオンを指定し(ステップ115)、半透明画像書込み部114は、指定された描画条件に基づいて物体の描画処理を行う(ステップ116)。具体的には、フレームバッファ書き込みオンが指定されているため、半透明画像書込み部114は、Zバッファ28に格納されたZ値を用いてフレームバッファ26に対する画像情報の書き込み(アルファブレンディング法による処理)を行う。
一方、選択された物体が不透明オブジェクトである場合にはステップ112において否定判断が行われ、次に、不透明画像書込み部112は、Zバッファ28の内容更新を行いながらフレームバッファ26に画像情報を書き込む不透明物体の描画処理を行う(ステップ117)。
このようにしてステップ116あるいは117による物体の描画処理が終了した後、描画順番設定部120は、描画されていない他の物体が存在するか否かを判定し(ステップ118)、他の物体が存在する場合には肯定判断を行って、次に1つ手前にある物体を選択する(ステップ119)。その後、ステップ112に戻って、新たに選択された物体に関する描画動作が繰り返される。また、描画されていない他の物体が存在しない場合にはステップ118の判定において否定判断が行われ、複数のオブジェクトに関する一連の描画動作を終了する。
このように、半透明オブジェクトと不透明オブジェクトの並べ替えを行って最も画面奥にあるオブジェクトから順番に描画を行うことにより、複数の半透明オブジェクトが重なる場合であっても、これら複数の半透明オブジェクトが透過して見える自然な表示を実現することができる。しかも、それぞれの半透明オブジェクトの描画は手前側にある面についてのみ行われるため、表示内容が必要以上に煩雑になることを防止することができる。
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、上述した実施形態では、画像処理装置20を用いて透視投影変換等を行ってビデオメモリ24の内容を書き替えるようにしたが、これらの処理をCPU10が直接行うようにしてもよい。また、図2に示す描画処理部100の各構成を専用のハードウエアで実現するようにしてもよい。
一実施形態の描画装置の構成を示す図である。 図1に示した描画装置によって実現される描画処理部の詳細を示す図である。 背景の他に一つの半透明オブジェクトのみが存在する場合の描画処理の動作手順を示す流れ図である。 半透明の物体を構成するポリゴンの説明図である。 半透明の物体の描画が行われる前のフレームバッファとZバッファの内容を示す図である。 図3のステップ105における物体の描画処理が終了した時点でのフレームバッファとZバッファの内容を示す図である。 図3のステップ108における物体の描画処理が終了した時点でのフレームバッファとZバッファの内容を示す図である。 半透明オブジェクトや不透明オブジェクトが複数存在する場合の描画処理の動作手順を示す流れ図である。
符号の説明
10 CPU
12 ROM
14 RAM
16 外部記憶装置
18 入力装置
20 画像処理装置
22 ディスプレイ装置
24 ビデオメモリ
26 フレームバッファ
28 Zバッファ
100 描画処理部
110 背景画像書込み部
112 不透明画像書込み部
114 半透明画像書込み部
118 Z値比較部
120 描画順番設定部
122 描画条件設定部

Claims (11)

  1. 複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトに対応する画像を、前記半透明オブジェクトの背後に配置された背景オブジェクトに対応する画像に重ねて描画を行う描画装置において、
    前記半透明オブジェクトと前記背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、
    前記半透明オブジェクトと前記背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段と、
    前記画像情報格納手段への画像情報の書込み動作を伴わずに、前記半透明オブジェクトを構成する前記複数のポリゴンのそれぞれについて前記奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新手段と、
    前記背景オブジェクトに対応する画像情報が前記画像情報格納手段に書き込まれた後であって、前記奥行き情報更新手段による更新処理が行われた後に、前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込み手段と、
    を備えることを特徴とする描画装置。
  2. 請求項1において、
    前記奥行き情報更新手段は、前記半透明オブジェクトを構成する前記複数のポリゴンに対応する各画素の奥行き情報が、描画位置が重複する他の画素の奥行き情報よりも視点位置に近いことを示しているときに、この描画位置に対応する奥行き情報の更新を行うことを特徴とする描画装置。
  3. 請求項1または2において、
    前記半透明画像書込み手段は、前記半透明オブジェクトを構成する前記複数のポリゴンに対応する複数の画素の中で描画位置が重複する画素が存在するときに、これら描画位置が重複する複数の画素の中から視点位置に最も近い画素を用いて前記半透明オブジェクトに対応する画像情報の書込みを行うことを特徴とする描画装置。
  4. 請求項1〜3のいずれかにおいて、
    前記半透明オブジェクトが複数存在するときに、複数の前記半透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段をさらに備え、
    前記奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、一の前記半透明オブジェクト毎に、前記奥行き情報更新手段による更新処理と前記半透明書込み手段による画像情報の書込み処理を繰り返し行うことを特徴とする描画装置。
  5. 請求項1〜3のいずれかにおいて、
    前記半透明オブジェクトが複数存在するとともに、前記背景オブジェクトおよび複数の前記半透明オブジェクト以外に複数のポリゴンによって構成されて不透明表示の対象となる不透明オブジェクトが存在しており、
    前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記不透明オブジェクトに対応する画像情報の書込みを行う不透明画像書込み手段と、
    複数の前記半透明オブジェクトと前記不透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段と、
    をさらに備え、前記奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、前記不透明オブジェクトについては前記不透明画像書込み手段による画像情報の書込み処理を行い、前記半透明オブジェクトについては一の前記半透明オブジェクト毎に、前記奥行き情報更新手段による更新処理と前記半透明書込み手段による画像情報の書込み処理を繰り返し行うことを特徴とする描画装置。
  6. 複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトと前記半透明オブジェクトの背後に配置された背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、前記半透明オブジェクトと前記背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段とを備える描画装置において、前記半透明オブジェクトに対応する画像を前記背景オブジェクトに対応する画像に重ねて描画を行う描画方法において、
    前記画像情報格納手段への画像情報の書込み動作を伴わずに、前記半透明オブジェクトを構成する前記複数のポリゴンのそれぞれについて前記奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新ステップと、
    前記背景オブジェクトに対応する画像情報が前記画像情報格納手段に書き込まれた後であって、前記奥行き情報更新ステップにおける更新処理が行われた後に、前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込みステップと、
    を備えることを特徴とする描画方法。
  7. 請求項6において、
    前記半透明オブジェクトが複数存在するときに、複数の前記半透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較ステップをさらに備え、
    前記奥行き情報比較ステップにおける比較結果に基づいて視点位置から遠い順に、一の前記半透明オブジェクト毎に、前記奥行き情報更新ステップによる更新処理と前記半透明書込みステップによる画像情報の書込み処理を繰り返し行うことを特徴とする描画方法。
  8. 請求項6において、
    前記半透明オブジェクトが複数存在するとともに、前記背景オブジェクトおよび複数の前記半透明オブジェクト以外に複数のポリゴンによって構成されて不透明表示の対象となる不透明オブジェクトが存在しており、
    前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記不透明オブジェクトに対応する画像情報の書込みを行う不透明画像書込みステップと、
    複数の前記半透明オブジェクトと前記不透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較ステップと、
    をさらに備え、前記奥行き情報比較ステップにおける比較結果に基づいて視点位置から遠い順に、前記不透明オブジェクトについては前記不透明画像書込みステップによる画像情報の書込み処理を行い、前記半透明オブジェクトについては一の前記半透明オブジェクト毎に、前記奥行き情報更新ステップによる更新処理と前記半透明書込みステップによる画像情報の書込み処理を繰り返し行うことを特徴とする描画方法。
  9. コンピュータを、
    複数のポリゴンによって構成されて半透明表示の対象となる半透明オブジェクトと前記半透明オブジェクトの背後に配置された背景オブジェクトのそれぞれの奥行き情報を格納する奥行き情報格納手段と、
    前記半透明オブジェクトと前記背景オブジェクトのそれぞれに対応する画像情報を格納する画像情報格納手段と、
    前記画像情報格納手段への画像情報の書込み動作を伴わずに、前記半透明オブジェクトを構成する前記複数のポリゴンのそれぞれについて前記奥行き情報格納手段に格納された奥行き情報を更新する奥行き情報更新手段と、
    前記背景オブジェクトに対応する画像情報が前記画像情報格納手段に書き込まれた後であって、前記奥行き情報更新手段による更新処理が行われた後に、前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記半透明オブジェクトに対応する画像情報の書込みを行う半透明画像書込み手段と、
    して機能させ、前記半透明オブジェクトに対応する画像を前記背景オブジェクトに対応する画像に重ねて描画を行うための描画プログラム。
  10. 請求項9において、
    コンピュータを、前記半透明オブジェクトが複数存在するときに、複数の前記半透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段としてさらに機能させ、前記奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、一の前記半透明オブジェクト毎に、前記奥行き情報更新手段による更新処理と前記半透明書込み手段による画像情報の書込み処理を繰り返し行う描画プログラム。
  11. 請求項9において、
    前記半透明オブジェクトが複数存在するとともに、前記背景オブジェクトおよび複数の前記半透明オブジェクト以外に複数のポリゴンによって構成されて不透明表示の対象となる不透明オブジェクトが存在しており、
    コンピュータを、前記奥行き情報格納手段に格納された奥行き情報を用いて前記画像情報格納手段に対して前記不透明オブジェクトに対応する画像情報の書込みを行う不透明画像書込み手段と、複数の前記半透明オブジェクトと前記不透明オブジェクトのそれぞれの奥行き情報を比較する奥行き情報比較手段としてさらに機能させ、
    前記奥行き情報比較手段による比較結果に基づいて視点位置から遠い順に、前記不透明オブジェクトについては前記不透明画像書込み手段による画像情報の書込み処理を行い、前記半透明オブジェクトについては一の前記半透明オブジェクト毎に、前記奥行き情報更新手段による更新処理と前記半透明書込み手段による画像情報の書込み処理を繰り返し行う描画プログラム。
JP2005109856A 2005-04-06 2005-04-06 描画装置、方法および描画プログラム Pending JP2006293470A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005109856A JP2006293470A (ja) 2005-04-06 2005-04-06 描画装置、方法および描画プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005109856A JP2006293470A (ja) 2005-04-06 2005-04-06 描画装置、方法および描画プログラム

Publications (1)

Publication Number Publication Date
JP2006293470A true JP2006293470A (ja) 2006-10-26

Family

ID=37414013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005109856A Pending JP2006293470A (ja) 2005-04-06 2005-04-06 描画装置、方法および描画プログラム

Country Status (1)

Country Link
JP (1) JP2006293470A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186158A (ja) * 2007-01-29 2008-08-14 Samii Kk 画像生成装置、遊技機及び画像生成プログラム
JP2009171994A (ja) * 2008-01-21 2009-08-06 Sammy Corp 画像生成装置、遊技機、及びプログラム
JP2009199202A (ja) * 2008-02-20 2009-09-03 Copcom Co Ltd ゲームプログラム、そのゲームプログラムを記録した記録媒体及びコンピュータ
JP2013084181A (ja) * 2011-10-12 2013-05-09 Fujitsu Semiconductor Ltd 画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002222431A (ja) * 2001-01-29 2002-08-09 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2002298152A (ja) * 2001-04-02 2002-10-11 Konami Computer Entertainment Japan Inc 画像の描画方法及びそれに用いるプログラム
JP2003242523A (ja) * 2002-02-15 2003-08-29 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP3495189B2 (ja) * 1996-06-19 2004-02-09 株式会社ソニー・コンピュータエンタテインメント 描画装置および描画方法
JP2004246930A (ja) * 2004-06-03 2004-09-02 Sony Computer Entertainment Inc 画像処理装置および方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3495189B2 (ja) * 1996-06-19 2004-02-09 株式会社ソニー・コンピュータエンタテインメント 描画装置および描画方法
JP2002222431A (ja) * 2001-01-29 2002-08-09 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2002298152A (ja) * 2001-04-02 2002-10-11 Konami Computer Entertainment Japan Inc 画像の描画方法及びそれに用いるプログラム
JP2003242523A (ja) * 2002-02-15 2003-08-29 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2004246930A (ja) * 2004-06-03 2004-09-02 Sony Computer Entertainment Inc 画像処理装置および方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186158A (ja) * 2007-01-29 2008-08-14 Samii Kk 画像生成装置、遊技機及び画像生成プログラム
JP2009171994A (ja) * 2008-01-21 2009-08-06 Sammy Corp 画像生成装置、遊技機、及びプログラム
JP2009199202A (ja) * 2008-02-20 2009-09-03 Copcom Co Ltd ゲームプログラム、そのゲームプログラムを記録した記録媒体及びコンピュータ
JP2013084181A (ja) * 2011-10-12 2013-05-09 Fujitsu Semiconductor Ltd 画像生成装置,画像生成プログラム,および,画像生成装置を有する画像表示システム

Similar Documents

Publication Publication Date Title
JP3635051B2 (ja) 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
US6038031A (en) 3D graphics object copying with reduced edge artifacts
TW201816724A (zh) 用於高解析度顯示緩衝器之有效構造之方法
JP2006068138A (ja) ゲーム装置および画像処理プログラム
TWI622016B (zh) Depicting device
JP2007296218A (ja) ゲーム画像処理プログラムおよびゲーム画像処理装置
JP3352982B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするプログラムを格納するコンピュータ読み取り可能な記録媒体
TW389857B (en) Image drawing apparatus
JP4307222B2 (ja) 複合現実感提示方法、複合現実感提示装置
JP3527672B2 (ja) 3次元コンピュータ画像処理のプログラムを記録したコンピュータ読み取り可能な記録媒体および影描画処理方法およびビデオゲーム装置
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
US20040075657A1 (en) Method of rendering a graphics image
JP2006293470A (ja) 描画装置、方法および描画プログラム
JP3037865B2 (ja) 3次元スプライト描画装置
JP2003115055A (ja) 画像生成装置
JP4513423B2 (ja) 仮想三次元座標ポリゴンによるオブジェクト画像の表示制御方法及びこれを用いた画像表示装置
JP3639286B2 (ja) ゲームプログラム、及びゲーム装置
JP3756888B2 (ja) グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム
JP2003066943A (ja) 画像処理装置及びプログラム
CN111625237B (zh) 文字视觉变形方法、***及介质
KR20150107747A (ko) 영상 생성 장치, 영상 생성 프로그램, 및 영상 생성 방법
US20010026275A1 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
JP3579680B2 (ja) 画像処理装置及びプログラム
JP6035057B2 (ja) 三次元画像表示装置及び三次元画像表示方法
JP4433525B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110329