JP2009301228A - 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム - Google Patents

遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム Download PDF

Info

Publication number
JP2009301228A
JP2009301228A JP2008153469A JP2008153469A JP2009301228A JP 2009301228 A JP2009301228 A JP 2009301228A JP 2008153469 A JP2008153469 A JP 2008153469A JP 2008153469 A JP2008153469 A JP 2008153469A JP 2009301228 A JP2009301228 A JP 2009301228A
Authority
JP
Japan
Prior art keywords
space division
region
definition
space
area
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
JP2008153469A
Other languages
English (en)
Inventor
Hiroto Hayashi
洋人 林
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.)
Sega Corp
Original Assignee
Sega Corp
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 Sega Corp filed Critical Sega Corp
Priority to JP2008153469A priority Critical patent/JP2009301228A/ja
Publication of JP2009301228A publication Critical patent/JP2009301228A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】3次元空間のグラフィックス描画の省略を行うための最適化として、遮蔽関係の判定精度を維持しつつ、使用するデータサイズと事前計算にかかる時間の増加を抑える。
【解決手段】第1の空間分割定義に含まれる第1の領域を特定する工程と、第1の領域にカメラが存在すると仮定した場合に、第1の領域から、第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する工程と、判定結果に基づき、第1の空間分割定義に含まれる全ての第1の領域について、第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する工程とを備える。また、遮蔽データに基づき、第1の領域から第2の領域に対して可視性があるか否かを判定する工程と、可視性があると判定された前記モデルについてのみ描画を行う工程とを備える。
【選択図】図5

Description

本発明は、ビデオゲーム等におけるグラフィックス描画の技術に関する。
ゲームアプリケーション等による3次元空間のグラフィックス描画を高速に行なうための最適化として、建物や地形等の他の描画モデル(表示モデル)によって遮蔽されていてカメラ位置から見えない描画モデルを描画しないという手法がある(非特許文献1等を参照。)。見えない部分の描画処理を省略しても画面に表示されるものには違いがないため、表示精度を低下させることなく表示速度を向上させることができる。
更に、カメラ位置から描画モデルが見えるか見えないかをより高速に判定するために、事前計算を活用する手法がある。計算時間が多く必要な遮蔽事前計算処理を予め行なっておき、その計算結果を利用して実際にゲームアプリケーション等の内部で描画するときの計算を省略することで、高速に処理を行なうことができる。
図1は従来における遮蔽事前計算の概要を示す図であり、理解および説明のしやすさから、3次元空間のうちの高さ方向は考慮せず、2次元平面についてのみ考慮したものである。図1はゲーム内の3次元空間を上方から見た図であり、ここでは、2次元平面の空間を16個(=4×4)の均等な領域に分割し、壁等による遮蔽物を太線で示してある。図では左上の領域から他の領域に対して見えるか見えないかの可視性の判定結果を示してあり、開始側の領域内のいずれの点からも壁等の遮蔽物により全ての点が遮蔽される領域は「見えない」となり、一部でも遮蔽されない点がある領域は「見える」となる。空間内の全ての領域につき同様の判定を行うことから、自領域から自領域への判定も含め、図1の分割の例では16×16=256パターンの判定を行うことになる。判定の結果は、遮蔽データとして記録され、ゲームアプリケーション等でグラフィックス描画を行う際に参照される。なお、各領域から見える可能性がある領域の集合は可視集合(PVS:Potentially Visible Sets)と呼ばれる。
図2は従来におけるグラフィックス描画の概要を示す図であり、図1と同じ領域分割を行った2次元平面上の左上の領域にカメラがある場合を想定している。この場合、カメラの存在する領域について、事前計算で求めておいた遮蔽データを参照し、可視性のある領域に交わる描画モデルだけを描画する。カメラが存在する領域から可視性のない領域(可視集合に含まれない領域)のみに含まれる描画モデルは見えないことが保証されるため、描画しなくても見た目に影響を与えることがなく、その描画を省略した分、高速に処理を終えることができる。
「リアルタイムレンダリング 第2版」P317〜P335、株式会社ボーンデジタル、2006年6月25日
従来の遮蔽事前計算およびグラフィックス描画は上述したように行われるものであり、適切に領域の分割を行う場合には効果が発揮されるものであるが、次のような問題点が指摘されていた。
すなわち、従来の手法は、空間を荒く分割すると、実際はカメラ位置からは見えていない描画モデルであるにもかかわらず、可視性がある領域と交わっている可能性が上がり、描画しないことによる高速化のメリットを受けられる可能性が低下する。
一方、空間を細かく分割すると、判定精度は高まるが、使用するデータサイズと事前計算にかかる時間が爆発的に大きくなる。図1および図2に示した例では、領域を16分割することで16×16=256パターンの判定を行うことは前述したが、領域を2倍の32分割とした場合には32×32=1024パターンの判定を行う必要があり、処理に必要な時間およびデータ量は約4倍となる。
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、3次元空間のグラフィックス描画の省略を行うための最適化として、遮蔽関係の判定精度を維持しつつ、使用するデータサイズと事前計算にかかる時間の増加を抑えることのできる遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラムを提供することにある。
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、第1の空間分割定義に含まれる第1の領域を特定する工程と、前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する工程と、当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する工程とを備える遮蔽データ生成方法を要旨としている。
また、請求項2に記載されるように、請求項1に記載の遮蔽データ生成方法において、前記第1の空間分割定義に前記第1の領域として扱わない除外領域を設けるようにすることができる。
また、請求項3に記載されるように、請求項1または2のいずれか一項に記載の遮蔽データ生成方法において、前記可視性があるか否かを判定する工程は、前記第1の領域内のランダムな位置から前記第2の領域内のランダムな位置への線分を複数作成し、当該線分が遮蔽物と交わらなかったか否かにより行うようにすることができる。
また、請求項4に記載されるように、カメラが存在する第1の空間分割定義上の第1の領域を特定する工程と、描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する工程と、遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する工程と、可視性があると判定された前記モデルについてのみ描画を行う工程とを備えるモデル描画方法として構成することができる。
また、請求項5に記載されるように、請求項4に記載のモデル描画方法において、前記可視性があるか否かを判定する工程は、前記モデルの外接球の少なくとも一部が存在する前記第2の領域に対して判定を行うようにすることができる。
また、請求項6に記載されるように、第1の空間分割定義に含まれる第1の領域を特定する手段と、前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する手段と、当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する手段とを備える遮蔽データ生成装置として構成することができる。
また、請求項7に記載されるように、カメラが存在する第1の空間分割定義上の第1の領域を特定する手段と、描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する手段と、遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する手段と、可視性があると判定された前記モデルについてのみ描画を行う手段とを備えモデル描画装置として構成することができる。
また、請求項8に記載されるように、遮蔽データ生成装置を構成するコンピュータを、第1の空間分割定義に含まれる第1の領域を特定する手段、前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する手段、当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する手段として機能させる遮蔽データ生成プログラムとして構成することができる。
また、請求項9に記載されるように、モデル描画装置を構成するコンピュータを、カメラが存在する第1の空間分割定義上の第1の領域を特定する手段、描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する手段、遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する手段、可視性があると判定された前記モデルについてのみ描画を行う手段として機能させるモデル描画プログラムとして構成することができる。
本発明の遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラムにあっては、3次元空間のグラフィックス描画の省略を行うための最適化として、遮蔽関係の判定精度を維持しつつ、使用するデータサイズと事前計算にかかる時間の増加を抑えることができる。
以下、本発明の好適な実施形態につき説明する。
<概要>
本発明は、空間を複数の領域に分割するときに2通りの空間分割を用いて使い分ける点に特徴を有している。1つの空間分割はカメラ位置の所属を判定するための空間分割定義Aであり、もう1つは可視性判定される領域を表すための空間分割定義Bである。A=Bの場合は従来の手法と一致するが、AとBの領域を適切に別個に設定することにより、従来の手法に比して事前計算時間と使用データサイズを削減することができる。
事前計算では、空間分割定義Aの各領域に対する空間分割定義Bの各領域の可視性を求める。グラフィックス描画時には、カメラの所属する空間分割定義Aの領域から可視性のある空間分割定義Bの領域に交わる描画モデルのみを描画する。
空間分割定義Aをより細かく分割すると判定の精度を上げられるが、空間分割定義Bの分割を細かくしなければ、従来の手法よりも使用するデータサイズと事前計算時間の増加を抑えることができる。
更に、描画される描画モデルが存在する可能性があっても、ゲームのルール上、カメラが移動してきて所属する可能性のない領域がある場合は、空間分割定義Bの定義域としては必要であっても空間分割定義Aの定義域としては必要でない領域となるため、そのような領域を空間分割定義Aの定義域から排除し、その領域に対する事前計算を省略することによってデータサイズおよび計算時間をさらに削減することができる。
図3は本発明における遮蔽事前計算の概要を示す図である。なお、理解および説明のしやすさから、3次元空間のうちの高さ方向は考慮せず、2次元平面についてのみ考慮する場合について説明するが、高さ方向を考慮した領域の分割を行ってもよい。また、均等に領域を分割する場合を例に説明するが、BSPや八分木等による階層的な領域の分割を行ってもよい。いずれの分割方法を採用しても2種類の空間分割定義を併用するという点において処理の流れは同様になる。
本発明では、図3に示すように、ビデオゲーム等で使用する空間Vにつき、第1の空間分割定義Aにより領域分割を行った空間Vと第2の空間分割定義Bにより領域分割を行った空間Vの2通りの基準を使い分け、カメラ位置の所属の判定は空間V上で行い、描画モデルが見える可能性があるか否かの判定は空間V上で行う。なお、図3において空間V、V、Vはゲーム内の3次元空間を上方から見た図であり、壁等による遮蔽物を太線で示してある。
図3では、空間Vについては2次元平面の空間を16個(=4×4)の均等な領域に分割してあり、空間Vについては2次元平面の空間を4個(=2×2)の均等な領域に分割してある。分割の数は図示の例に限らず、判定精度とデータ量の関係を考慮して所望の値を用いることができる。また、図3では空間Vと空間Vの定義域を元となる空間Vと同じにしているが、同じである必要はない。例えば、空間Vは街の中を定義域とし、空間Vは街から離れた山などの背景にあたる空間を定義域とすることが考えられる。
空間Vをより粗く分割すると、後述する図8のステップS110や、図10のステップS206等の空間Vの分割領域に基づく可視性の判定処理数が軽減される。反対に、空間Vをより細かく分割すると、空間Vのそれぞれの領域がカメラ位置から遮蔽されている領域であるかどうかの判定がより細かく判断されることになり、判定精度が上がる。更に、粗い分割の時に遮蔽されていないと判定されていた領域の一部が、細かい分割では遮蔽されていると判定される領域となる可能性が高まる。なお、その遮蔽されている領域に描画オブジェクトが含まれると、遮蔽されている判定になる可能性も上がり、描画速度が向上する可能性が上がる。
また、空間Vを細かく分割してもカメラ位置によって遮蔽状態が変わらないような地形やカメラ位置に対しては、多くの小さいオブジェクトを描画する必要があり、空間Vを細かく分割した方が、判定精度が総合的に上がる場合がある。
従って、空間Vと空間Vの分割領域が異なる大きさである場合に、よりよい効果を生じる。
図3では、空間Vの左上の領域から空間Vの各領域に対して見えるか見えないかの可視性の判定結果を示してあり、開始側の領域内のいずれの点からも壁等の遮蔽物により全ての点が遮蔽される領域は「見えない」となり、一部でも遮蔽されない点がある領域は「見える」となる。また、空間Vの下一列の領域は「カメラが来ない領域」(除外領域)であるとしており、これらの除外領域からの可視性の判定は不要となる。従って、空間Vの除外領域を除く各領域と空間V内の全ての領域につき同様の判定を行うことから、図示の例では12×4=48パターンの判定を行えばよいことになる。判定の結果は、遮蔽データとして記録され、ゲームアプリケーション等でグラフィックス描画を行う際に参照される。
図4は本発明におけるグラフィックス描画の概要を示す図であり、図3の空間V上の左上の領域にカメラがある場合を想定している。この場合、カメラの存在する領域について、事前計算で求めておいた遮蔽データを参照し、空間V上の可視性のある領域に交わる描画モデルだけを描画する。カメラが存在する領域から可視性のない領域(可視集合に含まれない領域)のみに含まれる描画モデルは見えないことが保証されるため、描画しなくても見た目に影響を与えることがなく、その描画を省略した分、高速に処理を終えることができる。
<遮蔽事前計算>
図5は本発明の一実施形態にかかる遮蔽事前計算のための装置構成例を示す図であり、ゲームアプリケーションの開発装置等の一部として設けられるものである。
図5において、遮蔽事前計算部100は、空間分割定義入力部101とカメラ移動可能範囲入力部102と遮蔽物座標入力部103と最大判定回数入力部104と空間分割定義A空間分割条件保持部105と空間分割定義A空間定義域保持部106と空間分割定義B空間定義域/空間分割条件保持部107と遮蔽物座標保持部108と最大判定回数保持部109と遮蔽判定部110と遮蔽データ保持部111と遮蔽データ出力部112とを備えている。機能部である空間分割定義入力部101、カメラ移動可能範囲入力部102、遮蔽物座標入力部103、最大判定回数入力部104、遮蔽判定部110、遮蔽データ出力部112は、装置を構成するコンピュータのCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。
空間分割定義入力部101は、外部データとしての空間分割定義データD1を入力し、空間分割定義A空間分割条件保持部105に空間分割定義Aの空間分割条件のデータを格納し、空間分割定義A空間定義域保持部106に空間分割定義Aの空間定義域のデータを格納し、空間分割定義B空間定義域/空間分割条件保持部107に空間分割定義Bの空間定義域および空間分割条件のデータを格納する機能を有している。
カメラ移動可能範囲入力部102は、外部データとしてのカメラ移動可能範囲データD2を入力し、空間分割定義A空間定義域保持部106に空間定義域に対する除外領域のデータを格納する機能を有している。
遮蔽物座標入力部103は、外部データとしての遮蔽物座標データD3を入力し、遮蔽物座標保持部108に遮蔽物座標のデータを格納する機能を有している。
最大判定回数入力部104は、外部データとしての最大判定回数データD4を入力し、最大判定回数保持部109に最大判定回数のデータを格納する機能を有している。最大判定回数は、空間分割定義A内の領域aから空間分割定義Bの領域bへの可視性があるか否かをランダムレイキャスティング(領域a内のランダムな位置から領域b内のランダムな位置への線分vを作成)により判定する場合の最大回数を定める値である。
遮蔽判定部110は、空間分割定義A空間分割条件保持部105、空間分割定義A空間定義域保持部106、空間分割定義B空間定義域/空間分割条件保持部107、遮蔽物座標保持部108および最大判定回数保持部109の格納データに基づき、空間分割定義Aに含まれる各領域について、空間分割定義Bに含まれる各領域へ可視性があるか否かを判定し、判定結果を遮蔽データ保持部111に格納する機能を有している。
遮蔽データ出力部112は、遮蔽データ保持部111の格納データを遮蔽データD5として出力する機能を有している。
図6は各種保持データの構造例を示す図である。(a)は空間分割定義A空間分割条件保持部105に格納される空間分割定義Aの空間分割条件のデータの例を示しており、ここでは3次元空間をXY平面で等間隔に分割する場合に対応し、X軸方向分割数とY軸方向分割数とを含んでいる。従って、他の観点で分割を行う場合にはデータ構造が異なってくる。等間隔以外の分割を行う場合、例えば、等間隔に分割された領域毎に、領域の隣同士の併合や領域を更に分割するフラグデータを追加する、あるいは、初めから分割される領域ごとにX座標とY座標のデータテーブルを持つこと等で実現することができる。
(b)は空間分割定義A空間定義域保持部106に格納される空間分割定義Aの空間定義域のデータの例を示しており、ここでは3次元空間をXY平面で等間隔に分割する場合に対応し、矩形のXY平面を特定するX座標最小値、X座標最大値、Y座標最小値、Y座標最大値と、除外領域(複数可)のX位置、Y位置とを含んでいる。
(c)は空間分割定義B空間定義域/空間分割条件保持部107に格納される空間分割定義Bの空間定義域および空間分割条件のデータの例を示しており、ここでは3次元空間をXY平面で等間隔に分割する場合に対応し、矩形のXY平面を特定するX座標最小値、X座標最大値、Y座標最小値、Y座標最大値と、X軸方向分割数とY軸方向分割数とを含んでいる。
ここで、X座標およびY座標の最小値、最大値と、分割数との関係は、空間分割定義Aによって分割された領域aの大きさと、空間分割定義Bによって分割された領域bの大きさとが異なるように設定される。
(d)は遮蔽物座標保持部108に格納される遮蔽物座標のデータの例を示しており、個々の遮蔽物につきその遮蔽物の外形を定める座標列を含んでいる。(e)は最大判定回数保持部109に格納される最大判定回数のデータの例を示している。
図7は遮蔽データ保持部111に格納され、遮蔽データD5として出力される遮蔽データの構造例を示す図である。遮蔽データは、ここでは3次元空間をXY平面で等間隔に分割する場合に対応し、空間分割定義Aに含まれる領域A(0,0)〜A(nx、ny)のエントリと、各エントリに対応して設けられる、空間分割定義Bに含まれる領域B(0,0)〜B(mx、my)の個々に対する可視性判定結果(「見える」もしくは「見えない」)を保持する配列データとを含んでいる。なお、空間分割定義Aに含まれる領域が除外領域に該当する場合(図では領域A(1,0)の場合)は、配列データに代え、「カメラが来ない」旨を示すデータが直接に対応付けられる。
図8は遮蔽事前計算部100による遮蔽事前計算の処理例を示すフローチャートである。
図8において、遮蔽事前計算の処理を開始すると(ステップS101)、空間分割定義入力部101は空間分割定義データD1から空間分割定義Aの空間定義域および空間分割条件を入力し、空間分割定義A空間分割条件保持部105および空間分割定義A空間定義域保持部106に格納する(ステップS102)。また、空間分割定義入力部101は、空間分割定義データD1から空間分割定義Bの空間定義域および空間分割条件を入力し、空間分割定義B空間定義域/空間分割条件保持部107に格納する(ステップS103)。
次いで、カメラ移動可能範囲入力部102はカメラ移動可能範囲データD2からカメラ移動範囲を入力し、空間分割定義A空間定義域保持部106に格納する(ステップS104)。カメラ移動範囲は、積極的にカメラが移動可能な範囲を指定してもよいし、カメラが移動しない範囲を除外範囲として指定してもよい。
次いで、遮蔽物座標入力部103は遮蔽物座標データD3から遮蔽物座標を入力し、遮蔽物座標保持部108に格納する(ステップS105)。
次いで、最大判定回数入力部104は最大判定回数データD4から最大判定回数nmaxを入力し、最大判定回数保持部109に格納する(ステップS106)。
その後、空間分割定義A内の全ての領域aについて以下の処理を繰り返す(ステップS107)。
先ず、遮蔽判定部110は、領域aはカメラ移動範囲に交わっているか否かにつき、空間分割定義A空間定義域保持部106のデータに基づいて判断する(ステップS108)。そして、領域aがカメラ移動範囲に交わっていないと判断した場合(ステップS108のNO)、遮蔽データ保持部111の遮蔽データの領域aについて「カメラは来ない」を設定し(ステップS109)、全ての領域aについての繰り返し(ステップS107)に戻る。
領域aがカメラ移動範囲に交わっていると判断した場合(ステップS108のYES)、空間分割定義Bの全ての領域bについて以下の処理を繰り返す(ステップS110)。
先ず、遮蔽判定部110は変数nに最大判定回数保持部109に格納されている最大判定回数nmaxを設定する(ステップS111)。
次いで、遮蔽判定部110は領域a内のランダムな位置から領域b内のランダムな位置への線分vを作成する(ステップS112)。
次いで、遮蔽判定部110は線分vと遮蔽物が交わったか否か、遮蔽物座標保持部108のデータに基づいて判断する(ステップS113)。そして、線分vと遮蔽物が交わらなかったと判断した場合(ステップS113のNO)、遮蔽判定部110は遮蔽データ保持部111の遮蔽データの領域aから領域bについて「見える」と設定する(ステップS114)。すなわち、多数のランダムレイキャスティングを行なう過程で、1本でも遮蔽物と交差しないレイが存在した場合には、その時点で可視性があると判定する。
また、線分vと遮蔽物が交わったと判断した場合(ステップS113のYES)、遮蔽判定部110は変数nをデクリメント(1減算)し(ステップS115)、変数nが「0」になったか否か判断する(ステップS116)。そして、変数nが「0」にならなかったと判断した場合(ステップS116のNO)、線分vの作成(ステップS112)に戻る。また、変数nが「0」になったと判断した場合(ステップS116のYES)、遮蔽判定部110は遮蔽データ保持部111の遮蔽データの領域aから領域bについて「見えない」と設定する(ステップS117)。最大判定回数nmaxに相当する回数だけランダムレイキャスティングを行った結果、全てが遮蔽物と交わったことで、可視性はないと判断する。
その後、遮蔽判定部110は全ての領域bについて処理したか否か判断し(ステップS118)、処理していないと判断した場合(ステップS118のNO)は全ての領域bについての繰り返し(ステップS110)に戻る。
全ての領域bについて処理したと判断した場合(ステップS118のYES)、続いて全ての領域aについて処理したか否か判断し(ステップS119)、処理していないと判断した場合(ステップS119のNO)、全ての領域aについての繰り返し(ステップS107)に戻る。
全ての領域aについて処理したと判断した場合(ステップS119のYES)、遮蔽データ出力部112は遮蔽データ保持部111から遮蔽データD5を出力し(ステップS120)、遮蔽事前計算の処理を終了する(ステップS121)。
<グラフィックス描画>
図9は本発明の一実施形態にかかるグラフィックス描画のための装置構成例を示す図であり、ゲームアプリケーションを実行するゲーム装置等の一部として設けられるものである。
図9において、グラフィックス描画部200は、ゲーム状態更新部201とカメラ位置計算部202と描画モデル決定部203とモデルデータ保持部204と可視性判定部205とモデル描画部206とを備えている。機能部であるゲーム状態更新部201、カメラ位置計算部202、描画モデル決定部203、可視性判定部205、モデル描画部206は、装置を構成するコンピュータのCPU、ROM、RAM等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。
ゲーム状態更新部201は、プレイヤー操作データD6をリアルタイムに入力し、ゲーム状態を更新する機能を有している。プレイヤー操作データD6はプレイヤーにより操作されるゲームコントローラから、ボタンの押下やレバーの操作等に応じて出力される信号データである。
カメラ位置計算部202は、ゲーム状態更新部201により更新されたゲーム状態に応じ、その時点でのカメラ位置を計算する機能を有している。
描画モデル決定部203は、ゲーム状態更新部201により更新されたゲーム状態およびカメラ位置計算部202で計算されたカメラ位置に応じ、描画される可能性のある描画モデルをモデルデータ保持部204の中から決定する機能を有している。モデルデータ保持部204には、各種の描画モデルにつき、多数の3次元ポリゴン等を記述するデータが格納されている。
可視性判定部205は、カメラ位置計算部202で計算されたカメラ位置、描画モデル決定部203で決定された描画モデルに対し、遮蔽データD5を参照することで、空間分割定義A上のカメラ位置の存在する領域から空間分割定義B上の描画モデルの存在する領域に対して可視性があるか否かを判定する機能を有している。
モデル描画部206は、可視性判定部205により可視性があると判定された描画モデルについてのみ描画を行い、画像出力データD7を出力する機能を有している。画像出力データD7は、画像のピクセルデータである。
図10はグラフィックス描画部200によるグラフィックス描画の処理例を示すフローチャートである。
図10において、グラフィックス描画の処理を開始すると(ステップS201)、カメラ位置計算部202は空間分割定義Aでカメラ位置が含まれる領域aを求め、可視性判定部205に与える(ステップS202)。
次いで、可視性判定部205は領域aについての遮蔽データを取得する(ステップS203)。
また、描画モデル決定部203はゲーム状態更新部201の更新したゲーム状態から描画される可能性がある描画モデルを決定し、その描画モデルを包む外接球の情報とともに可視性判定部205に与える(ステップS204)。
次いで、全ての描画する可能性のある描画モデルmについて以下の処理を繰り返す(ステップS205)。また、空間分割定義B内の全ての領域bについて以下の処理を繰り返す(ステップS206)。
先ず、可視性判定部205は領域bが描画モデルmの外接球と交わっているか否か判断する(ステップS207)。そして、領域bが描画モデルmの外接球と交わっていないと判断した場合(ステップS207のNO)、全ての領域bについての繰り返し(ステップS206)に戻る。
領域bが描画モデルmの外接球と交わっていると判断した場合(ステップS207のYES)、可視性判定部205は領域bが遮蔽データの「見える」領域に含まれているか否か判断する(ステップS208)。そして、「見える」領域に含まれていると判断した場合(ステップS208のYES)、その描画モデルmは見える可能性があるとして、モデル描画部206はその描画モデルmを描画し、画像出力データD7を出力する(ステップS209)。
領域bが遮蔽データの「見える」領域に含まれていないと判断した場合(ステップS208のNO)、空間分割定義Bの全ての領域bでチェックしたか否か判断する(ステップS210)。そして、全ての領域bでチェックしていないと判断した場合(ステップS210のNO)、全ての領域bについての繰り返し(ステップS206)に戻る。
全ての領域bでチェックしたと判断した場合(ステップS210のYES)、その描画モデルmはどこからも見えないとして、モデル描画部206はその描画モデルmを描画しない(ステップS211)。
その後、描画する可能性のある全ての描画モデルについて処理したか否か判断し(ステップS212)、処理していないと判断した場合(ステップS212のNO)、全てのモデルmについての繰り返し(ステップS205)に戻る。
全ての描画モデルについて処理したと判断した場合(ステップS212のYES)、グラフィックス描画の処理を終了する(ステップS213)。
なお、描画モデルが領域bに含まれるか否かの判断として、複数のポリゴンを描画モデルとしてまとめて扱い、それらの外接球によって可視性を判定する手法について説明したが、外接球による判定のほかにポリゴン群の可視性判定を行う手法は様々なものがあり、それらを適宜利用することができる。その場合の処理の流れは同様になる。
<総括>
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
従来における遮蔽事前計算の概要を示す図である。 従来におけるグラフィックス描画の概要を示す図である。 本発明における遮蔽事前計算の概要を示す図である。 本発明におけるグラフィックス描画の概要を示す図である。 本発明の一実施形態にかかる遮蔽事前計算のための装置構成例を示す図である。 各種保持データの構造例を示す図である。 遮蔽データの構造例を示す図である。 遮蔽事前計算の処理例を示すフローチャートである。 本発明の一実施形態にかかるグラフィックス描画のための装置構成例を示す図である。 グラフィックス描画の処理例を示すフローチャートである。
符号の説明
A、B 空間分割定義
100 遮蔽事前計算部
101 空間分割定義入力部
102 カメラ移動可能範囲入力部
103 遮蔽物座標入力部
104 最大判定回数入力部
105 空間分割定義A空間分割条件保持部
106 空間分割定義A空間定義域保持部
107 空間分割定義B空間定義域/空間分割条件保持部
108 遮蔽物座標保持部
109 最大判定回数保持部
110 遮蔽判定部
111 遮蔽データ保持部
112 遮蔽データ出力部
200 グラフィックス描画部
201 ゲーム状態更新部
202 カメラ位置計算部
203 描画モデル決定部
204 モデルデータ保持部
205 可視性判定部
206 モデル描画部
D1 空間分割定義データ
D2 カメラ移動可能範囲データ
D3 遮蔽物座標データ
D4 最大判定回数データ
D5 遮蔽データ
D6 プレイヤー操作データ
D7 画像出力データ

Claims (9)

  1. 第1の空間分割定義に含まれる第1の領域を特定する工程と、
    前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する工程と、
    当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する工程と
    を備えたことを特徴とする遮蔽データ生成方法。
  2. 請求項1に記載の遮蔽データ生成方法において、
    前記第1の空間分割定義に前記第1の領域として扱わない除外領域を設ける
    ことを特徴とする遮蔽データ生成方法。
  3. 請求項1または2のいずれか一項に記載の遮蔽データ生成方法において、
    前記可視性があるか否かを判定する工程は、前記第1の領域内のランダムな位置から前記第2の領域内のランダムな位置への線分を複数作成し、当該線分が遮蔽物と交わらなかったか否かにより行う
    ことを特徴とする遮蔽データ生成方法。
  4. カメラが存在する第1の空間分割定義上の第1の領域を特定する工程と、
    描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する工程と、
    遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する工程と、
    可視性があると判定された前記モデルについてのみ描画を行う工程と
    を備えたことを特徴とするモデル描画方法。
  5. 請求項4に記載のモデル描画方法において、
    前記可視性があるか否かを判定する工程は、前記モデルの外接球の少なくとも一部が存在する前記第2の領域に対して判定を行う
    ことを特徴とするモデル描画方法。
  6. 第1の空間分割定義に含まれる第1の領域を特定する手段と、
    前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する手段と、
    当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する手段と
    を備えたことを特徴とする遮蔽データ生成装置。
  7. カメラが存在する第1の空間分割定義上の第1の領域を特定する手段と、
    描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する手段と、
    遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する手段と、
    可視性があると判定された前記モデルについてのみ描画を行う手段と
    を備えたことを特徴とするモデル描画装置。
  8. 遮蔽データ生成装置を構成するコンピュータを、
    第1の空間分割定義に含まれる第1の領域を特定する手段、
    前記第1の領域にカメラが存在すると仮定した場合に、当該第1の領域から、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを判定する手段、
    当該判定結果に基づき、前記第1の空間分割定義に含まれる全ての第1の領域について、前記第2の空間分割定義に含まれる各第2の領域へ可視性があるか否かを示す遮蔽データを生成する手段
    として機能させる遮蔽データ生成プログラム。
  9. モデル描画装置を構成するコンピュータを、
    カメラが存在する第1の空間分割定義上の第1の領域を特定する手段、
    描画される可能性のあるモデルが含まれ得る、前記第1の空間分割定義と分割領域の大きさが異なる第2の空間分割定義上の第2の領域を特定する手段、
    遮蔽データに基づき、前記第1の領域から前記第2の領域に対して可視性があるか否かを判定する手段、
    可視性があると判定された前記モデルについてのみ描画を行う手段
    として機能させるモデル描画プログラム。
JP2008153469A 2008-06-11 2008-06-11 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム Pending JP2009301228A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008153469A JP2009301228A (ja) 2008-06-11 2008-06-11 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008153469A JP2009301228A (ja) 2008-06-11 2008-06-11 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム

Publications (1)

Publication Number Publication Date
JP2009301228A true JP2009301228A (ja) 2009-12-24

Family

ID=41548067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008153469A Pending JP2009301228A (ja) 2008-06-11 2008-06-11 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム

Country Status (1)

Country Link
JP (1) JP2009301228A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220111A (ja) * 1994-02-04 1995-08-18 Oki Electric Ind Co Ltd 構造物の可視性判定処理方法及びシステム
JP2000182077A (ja) * 1998-12-19 2000-06-30 Sega Enterp Ltd 画像生成装置および画像生成方法
JP2002163686A (ja) * 2000-11-29 2002-06-07 Konami Co Ltd 画像表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに、画像表示制御装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07220111A (ja) * 1994-02-04 1995-08-18 Oki Electric Ind Co Ltd 構造物の可視性判定処理方法及びシステム
JP2000182077A (ja) * 1998-12-19 2000-06-30 Sega Enterp Ltd 画像生成装置および画像生成方法
JP2002163686A (ja) * 2000-11-29 2002-06-07 Konami Co Ltd 画像表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに、画像表示制御装置及び方法

Similar Documents

Publication Publication Date Title
US10733691B2 (en) Fragment shaders perform vertex shader computations
KR102046616B1 (ko) 오브젝트 및/또는 프리미티브 식별자들을 추적하는 것에 의한 그래픽스 프로세싱 강화
KR102116708B1 (ko) 그래픽스 프로세싱 유닛
CN111369655B (zh) 渲染方法、装置和终端设备
JP2022091849A (ja) 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
JP2018537755A (ja) 中心窩ジオメトリテッセレーション
JP2008077627A (ja) 3次元画像のレンダリングにおける早期zテスト方法およびシステム
US8917281B2 (en) Image rendering method and system
US10621761B2 (en) Computer-readable recording medium, computer apparatus, and computer processing method for placing object in virtual space and displaying placed object according to display mode
CN112765695B (zh) 支撑体生成方法、3d打印机、计算机装置及存储介质
KR20150093689A (ko) 쉘 메쉬에 기초한 최적화된 다각형을 형성하기 위한 방법
CN111063032B (zh) 模型渲染方法、系统及电子装置
KR100959349B1 (ko) 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법을 가속화하는 방법
JP2006235839A (ja) 画像処理装置および画像処理方法
JPWO2018179253A1 (ja) ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム
KR20130092055A (ko) 영상 처리 장치 및 방법
EP2728551B1 (en) Image rendering method and system
JP2007067662A (ja) 描画方法、データ放送受信装置およびプログラム
CN116109767A (zh) 三维场景的渲染方法、图像处理器、电子设备及存储介质
JP2009301228A (ja) 遮蔽データ生成方法、モデル描画方法、遮蔽データ生成装置、モデル描画装置、遮蔽データ生成プログラムおよびモデル描画プログラム
EP1139294B1 (en) Graphical image system and apparatus
JP4691494B2 (ja) 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
JP2014219739A (ja) 空間を分割してグラフィックスを処理する画像処理装置及び画像処理方法
CN115803782A (zh) 具有实时深度图的感受几何结构的增强现实效果
JP4042377B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110509

A977 Report on retrieval

Effective date: 20120411

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20120417

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20120618

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703