(57)【要約】  描画装置の第１のＧＰＵは、該ＧＰＵが描画する第１の深度範囲よりも視点に近い第２の深度範囲を描画する第２のＧＰＵによる描画が行われた後に、第２のＧＰＵにより描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信する。そして受信後、第１のＧＰＵは視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２のＧＰＵにより描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わない。
2015037169.tif 000002
【特許請求の範囲】
【請求項１】
複数の描画手段を用いて１つの画面を描画する描画装置であって、
前記１つの画面に対応する視点の情報に基づいて、前記複数の描画手段の各々に描画させる、前記１つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、
前記複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、
前記複数の描画手段のうちの第１の描画手段は、
前記第１の描画手段が描画する第１の深度範囲よりも前記視点に近い第２の深度範囲を描画する第２の描画手段による描画が行われた後に、前記第２の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、
受信後、前記視点に従って前記第１の深度範囲に含まれる描画オブジェクトを描画する際に、前記第２の描画手段により描画された画像のうち、前記特定情報により特定されていない画素には描画を行い、前記特定情報により特定されている画素には描画を行わない
ことを特徴とする描画装置。
【請求項２】
複数の描画手段を用いて１つの画面を描画する描画装置であって、
前記複数の描画手段の各々は、
前記１つの画面に対応する視点の情報に基づいて、前記１つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、
前記決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、
前記複数の描画手段のうちの第１の描画手段は、
前記第１の描画手段が担当する第１の深度範囲よりも前記視点に近い第２の深度範囲を担当する第２の描画手段による描画が行われた後に、前記第２の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、
受信後、前記視点に従って前記第１の深度範囲に含まれる描画オブジェクトを描画する際に、前記第２の描画手段により描画された画像のうち、前記特定情報により特定されていない画素には描画を行い、前記特定情報により特定されている画素には描画を行わない
ことを特徴とする描画装置。
【請求項３】
前記特定情報は、前記第２の深度範囲と前記第２の深度範囲よりも前記視点に近い全ての深度範囲に含まれる描画オブジェクトが描画されている画素を特定する情報であることを特徴とする請求項１または２に記載の描画装置。
【請求項４】
前記特定情報は前記第２の描画手段により描画された画像内に描画された描画オブジェクトの深度値を示す情報であって、深度値が最遠方を示す値ではない場合に該画素に描画オブジェクトが描画されていることを示す情報であることを特徴とする請求項１乃至３のいずれか１項に記載の描画装置。
【請求項５】
前記第１の描画手段は、前記第２の描画手段により描画された画像のうち、前記特定情報により特定されている画素の深度値が、前記第１の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合に、該画素に描画を行うことを特徴とする請求項４に記載の描画装置。
【請求項６】
複数の描画手段を用いて１つの画面を描画する描画装置であって、
前記１つの画面に対応する視点の情報に基づいて、前記複数の描画手段の各々に描画させる、前記１つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、
前記複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、
前記複数の描画手段のうちの第１の描画手段は、
前記第１の描画手段が描画する第１の深度範囲よりも前記視点に近い第２の深度範囲を描画する第２の描画手段による描画が行われた後に、前記第２の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、
受信後、前記視点に従って前記第１の深度範囲に含まれる描画オブジェクトを描画する際に、前記第２の描画手段により描画された画像のうち、前記深度情報により示される画素の深度値が、前記第１の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わない
ことを特徴とする描画装置。
【請求項７】
複数の描画手段を用いて１つの画面を描画する描画装置であって、
前記複数の描画手段の各々は、
前記１つの画面に対応する視点の情報に基づいて、前記１つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、
前記決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、
前記複数の描画手段のうちの第１の描画手段は、
前記第１の描画手段が担当する第１の深度範囲よりも前記視点に近い第２の深度範囲を担当する第２の描画手段による描画が行われた後に、前記第２の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、
受信後、前記視点に従って前記第１の深度範囲に含まれる描画オブジェクトを描画する際に、前記第２の描画手段により描画された画像のうち、前記深度情報により示される画素の深度値が、前記第１の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わない
ことを特徴とする描画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は描画装置に関し、特に３Ｄグラフィックスの描画技術に関する。
【背景技術】
【０００２】
ゲームを始めとする３Ｄグラフィックスの描画は、表示装置の高解像度化に伴い、描画される画面も多画素化傾向にある。画素が多い分、画面の描画の演算量は増加するため、特にリアルタイム性が要求されるようなコンテンツに係る画面の描画には効率化が必要である。【０００３】
近年では複数のＧＰＵを用いることで画面の描画を効率化するものがある。特許文献１には、描画オブジェクトのＺ値に応じて描画するＧＰＵを分類し、各々描画された描画オブジェクトの画像をＺ値を参照して合成することで、最終的な出力である画面を生成している。具体的には、図５に示されるように４つのＧＰＵで１つの画面を描画する場合、各ＧＰＵは各々異なるＺ値を有する描画オブジェクトを描画した画像と、該画像内の各画素のＺ値を示すＺバッファを出力する。そして合成部が、これらの画像を対応するＺバッファのＺ値比較を行い、各画素について最も手前に存在する描画オブジェクトの画素を採用するように合成することで、最終出力画面を生成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−３０７９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１のような方法では、異なるＧＰＵに描画された画像に含まれる画素のうち、合成により遮蔽される画素は最終的な画面に現れないため、その分の描画処理が無駄になる可能性があった。例えば、図５のように４つのＧＰＵで１つの画面を描画する場合、合成部における最終出力画面の生成において、各ＧＰＵが描画した画像内の最も手前に存在しない描画オブジェクトの画素については最終出力画面に全く現れないため、該画素は利用されずに破棄されることになる。【０００６】
本発明は、上述の問題点に鑑みてなされたものであり、１つの画面描画を複数のＧＰＵに分散して描画処理を行う際の不要な処理を低減する描画装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前述の目的を達成するために、本発明の第１の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて１つの画面を描画する描画装置であって、１つの画面に対応する視点の情報に基づいて、複数の描画手段の各々に描画させる、１つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、複数の描画手段のうちの第１の描画手段は、第１の描画手段が描画する第１の深度範囲よりも視点に近い第２の深度範囲を描画する第２の描画手段による描画が行われた後に、第２の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、受信後、視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２の描画手段により描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わないことを特徴とする。【０００８】
前述の目的を達成するために、本発明の第２の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて１つの画面を描画する描画装置であって、複数の描画手段の各々は、１つの画面に対応する視点の情報に基づいて、１つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、複数の描画手段のうちの第１の描画手段は、第１の描画手段が担当する第１の深度範囲よりも視点に近い第２の深度範囲を担当する第２の描画手段による描画が行われた後に、第２の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、受信後、視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２の描画手段により描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わないことを特徴とする。【０００９】
前述の目的を達成するために、本発明の第３の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて１つの画面を描画する描画装置であって、１つの画面に対応する視点の情報に基づいて、複数の描画手段の各々に描画させる、１つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、複数の描画手段のうちの第１の描画手段は、第１の描画手段が描画する第１の深度範囲よりも視点に近い第２の深度範囲を描画する第２の描画手段による描画が行われた後に、第２の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、受信後、視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２の描画手段により描画された画像のうち、深度情報により示される画素の深度値が、第１の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わないことを特徴とする。【００１０】
前述の目的を達成するために、本発明の第４の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて１つの画面を描画する描画装置であって、複数の描画手段の各々は、１つの画面に対応する視点の情報に基づいて、１つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、複数の描画手段のうちの第１の描画手段は、第１の描画手段が担当する第１の深度範囲よりも視点に近い第２の深度範囲を担当する第２の描画手段による描画が行われた後に、第２の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、受信後、視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２の描画手段により描画された画像のうち、深度情報により示される画素の深度値が、第１の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わないことを特徴とする。
【発明の効果】
【００１１】
このような構成により本発明によれば、１つの画面描画を複数のＧＰＵに分散して描画処理を行う際の不要な処理を低減することが可能となる。【００１２】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１３】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係るＰＣ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係るＰＣ１００において実行されるゲーム処理を例示したフローチャート
【図３】本発明の実施形態に係るＰＣ１００において実行される描画処理を例示したフローチャート
【図４】本発明の実施形態に係る描画処理の流れを示した図
【図５】従来技術に係る描画処理の流れを示した図
【発明を実施するための形態】
【００１４】
［実施形態］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画装置の一例としての、１つの画面描画を複数のＧＰＵに分散して処理することが可能なＰＣに、本発明を適用した例を説明する。しかし、本発明は、１つの画面描画を複数のＧＰＵに分散して処理することが可能な任意の機器に適用可能である。
【００１５】
《ＰＣ１００の構成》
図１は、本発明の実施形態に係るＰＣ１００の機能構成を示すブロック図である。
【００１６】
ＣＰＵ１０１は、ＰＣ１００が有する各ブロックの動作を制御する。具体的にはＣＰＵ１０１は、例えばＲＯＭ１０２や記録媒体１０４に記憶されている各ブロックの動作プログラム等を読み出し、ＲＡＭ１０３に展開して実行することにより、各ブロックの動作を制御する。
【００１７】
ＲＯＭ１０２は、例えば書き換え可能な不揮発性メモリである。ＲＯＭ１０２は各ブロックの動作プログラムに加え、他の動作プログラムやＰＣ１００が有する各ブロックの動作において必要となる定数等の情報を記憶する。
【００１８】
ＲＡＭ１０３は、揮発性メモリである。ＲＡＭ１０３は、動作プログラムの展開領域としてだけでなく、ＰＣ１００が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【００１９】
記録媒体１０４は、例えばＨＤＤ等の、ＰＣ１００に着脱可能に接続される記録装置である。本実施形態では記録媒体１０４には、ＰＣ１００のオペレーティングシステムに係るプログラムや、後述するゲーム処理を含むゲームアプリケーションに係るプログラムが格納されている。また記録媒体１０４には、描画処理において画面の生成に用いる描画オブジェクトに係るデータが格納されている。描画オブジェクトに係るデータは、例えば
・モデルデータ
・テクスチャデータ
・シェーダ等の描画用プログラム
等を含むものであってよい。
【００２０】
第１ＧＰＵ１０５、第２ＧＰＵ１０６、第３ＧＰＵ１０７、及び第４ＧＰＵ１０８は、本実施形態のゲーム処理において出力するゲーム画面の描画・生成を行う。ＧＰＵの各々は、ゲーム画面の描画領域としてビデオメモリ（第１ＶＲＡＭ１０９、第２ＶＲＡＭ１１０、第３ＶＲＡＭ１１１、及び第４ＶＲＡＭ１１２）が接続されている。なお、本実施形態では１つのＧＰＵに対して１つのビデオメモリが接続されるものとして説明するが、本発明の実施はこれに限られない。即ち、ＧＰＵに対して接続されるビデオメモリの数は、任意の数であってよく、例えば複数のＧＰＵが１つのビデオメモリを共有する構成であってもよい。
【００２１】
表示制御部１１３は、ＰＣ１００が有する表示出力インタフェースである。表示制御部１１３は、ＶＲＡＭに描画されたゲーム画面を受信すると、接続された不図示の表示装置に対して任意の出力信号形式でゲーム画面を出力する。なお、本実施形態ではＰＣ１００は表示装置が外部接続型の装置であるものとして説明するが、ラップトップ型ＰＣのように表示装置が一体型の装置であってもよいことは言うまでもない。
【００２２】
操作入力部１１４は、例えばマウスやキーボード、ゲームパッド等のＰＣ１００が有するユーザ入力インタフェースである。操作入力部１１４は、ユーザによりこれらの操作入力機器が操作されたことを検出すると、該操作入力に対応する制御信号をＣＰＵ１０１に出力する。
【００２３】
《ゲーム処理》
このような構成をもつ本実施形態のＰＣ１００において実行される３Ｄグラフィックスの画面提示を行うゲーム処理について、図２のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ１０１が、例えば記録媒体１０４に格納されているゲームアプリケーションに対応する処理プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより実現することができる。なお、本ゲーム処理は、例えばゲーム画面の更新が行われるフレームレートに対応して繰り返し実行される、画面出力に係る処理として説明する。
【００２４】
Ｓ２０１は、ＣＰＵ１０１は、ゲームの進行に係る操作入力が行われたか否かを判断する。ＣＰＵ１０１は、ゲームの進行に係る操作入力が行われたと判断した場合は処理をＳ２０２に移し、行われていないと判断した場合は処理をＳ２０３に移す。
【００２５】
Ｓ２０２で、ＣＰＵ１０１は、ゲームの進行に係る操作入力に応じて変化するゲーム内の各種パラメータを、検出された操作入力に基づいて更新する。該パラメータは、例えばキャラクタの位置や方向、あるいは動作等を示す情報であってよい。
【００２６】
Ｓ２０３で、ＣＰＵ１０１は、操作入力によらず変化するゲーム内の各種パラメータを、例えば経過時間等に基づいて更新する。該パラメータは、例えば背景や光源の色合い、操作入力によらず動作するＮＰＣの位置等に関する情報であってよい。
【００２７】
Ｓ２０４で、ＣＰＵ１０１は、更新後のパラメータにて現フレームに係るゲーム画面の描画を行う描画処理を実行する。
【００２８】
〈描画処理〉
ここで、本実施形態のＰＣ１００において実行される描画処理について、図３のフローチャートを用いて詳細を説明する。
【００２９】
Ｓ３０１で、ＣＰＵ１０１は、描画するゲーム画面に対応する視点の情報を参照し、描画範囲を特定する。視点の情報は、視点の位置及びその方向、最短描画距離及び最長描画距離、及び画角の情報等を含む。ＣＰＵ１０１は該情報に従って、ゲーム上で表現される３次元のフィールドのうち、現フレームに係るゲーム画面に描画される描画範囲を特定する。
【００３０】
Ｓ３０２で、ＣＰＵ１０１は、描画範囲を深度（Ｚ値）方向の所定数の深度範囲に分類し、深度範囲ごとに異なる描画オブジェクトに該深度範囲に含まれる描画オブジェクトの描画を割り当てる。本実施形態ではＰＣ１００が４種類のＧＰＵを有するため、描画範囲は４つの深度範囲に分類されるものとして説明するが、本発明の実施はこれに限られず、描画範囲の分類数は２以上であればＧＰＵの数に依らず決定されてよい。
【００３１】
なお、本実施形態では視点に最も近い深度範囲が第１ＧＰＵ１０５に割り当てられ、視点から離れる方向の順に第２ＧＰＵ１０６、第３ＧＰＵ１０７、第４ＧＰＵ１０８に他の深度範囲が割り当てられるものとする。しかしながら、分類数と同様、本発明の実施はこれに限られず、例えば分類数がＧＰＵの数よりも少ない場合は一部のＧＰＵに各深度範囲が割り当てられ、反対に分類数がＧＰＵの数よりも多い場合は、一部のＧＰＵに複数の深度範囲が割り当てられてよい。
【００３２】
Ｓ３０３で、ＣＰＵ１０１は、各ＧＰＵに対して、割り当てた深度範囲に含まれる描画オブジェクトに係る種々の処理の開始命令を送出する。本ステップで開始命令が行われる種々の処理は、例えば描画オブジェクトに対応するデータの展開処理、描画オブジェクトの並進・回転等の座標変換演算、光源やエフェクト演算等が含まれてよい。
【００３３】
一方、本ステップで行われる種々の開始命令には、座標変換等された描画オブジェクトの描画処理の開始命令は含まれていなくてもよい。後述するように、本実施形態では各ＧＰＵは割り当てられた深度範囲よりも視点に近い深度範囲に含まれる描画オブジェクトの描画後に描画処理を開始する。従って、本ステップにおいて描画処理の開始命令がされたとしても、その開始には別の条件を満たす必要があり、特に第２ＧＰＵ１０６、第３ＧＰＵ１０７、第４ＧＰＵ１０８においては即時に描画処理は開始されない。
【００３４】
Ｓ３０４で、第１ＧＰＵ１０５はＣＰＵ１０１の制御の下、割り当てられた、視点に最も近い深度範囲に含まれる描画オブジェクトの描画を行う。このとき第１ＧＰＵ１０５は、該描画オブジェクトの描画により生成した画像について、画像内の各画素に描画オブジェクトが描画されているか否か、即ち描画オブジェクトが描画されている画素を特定する特定情報を生成する。特定情報は、例えば生成した画像と同一の画素数を有し、各画素の値が１ビット（論理型情報）で表現される２次元マスクデータや、同様の情報を有する配列等、任意の構造であってよい。
【００３５】
第１ＧＰＵ１０５は、描画完了すると、生成画像と特定情報とを、第１ＧＰＵ１０５が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第２ＧＰＵ１０６に出力する。
【００３６】
第２ＧＰＵ１０６は、第１ＧＰＵ１０５から生成画像と特定情報とを受信すると、Ｓ３０５で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第２ＧＰＵ１０６は特定情報を参照し、受信した生成画像の画素におけるまだ描画オブジェクトが描画されていない画素を特定する。そして該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。
【００３７】
なお、第２ＧＰＵ１０６の描画は、第１ＧＰＵ１０５により生成された生成画像の画素を上書きする形で行われてよい。これは、第２ＧＰＵ１０６が既に描画オブジェクトが描画されている画素には描画を行わないため、生成画像のうちの第１ＧＰＵ１０５により描画オブジェクトの描画が行われた画素の値は更新されないことによる。
【００３８】
また第２ＧＰＵ１０６は、特定情報の更新も行う。具体的には第２ＧＰＵ１０６は、特定情報のうち、生成画像に対して新たに描画オブジェクトの描画を行った画素に対応する情報を、該画素に描画オブジェクトが描画されていることを示すように変更する。このようにすることで、特定情報は、割り当てられた深度範囲だけでなく、該深度範囲よりも視点に近い全ての深度範囲に含まれる描画オブジェクトが描画されている画素を特定可能な情報となる。
【００３９】
そして第２ＧＰＵ１０６は、描画が完了すると、更新した生成画像と特定情報とを、第２ＧＰＵ１０６が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第３ＧＰＵ１０７に出力する。
【００４０】
第３ＧＰＵ１０７は、第２ＧＰＵ１０６から生成画像と特定情報とを受信すると、Ｓ３０６で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第３ＧＰＵ１０７は特定情報を参照し、受信した生成画像におけるまだ描画オブジェクトが描画されていない画素を特定する。そして、該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。また第３ＧＰＵ１０７は、Ｓ３０５と同様に特定情報の更新も行う。
【００４１】
第３ＧＰＵ１０７は、描画が完了すると、更新した生成画像と特定情報とを、第３ＧＰＵ１０７が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第４ＧＰＵ１０８に出力する。
【００４２】
第４ＧＰＵ１０８は、第３ＧＰＵ１０７から生成画像と特定情報とを受信すると、Ｓ３０７で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第４ＧＰＵ１０８は特定情報を参照し、受信した生成画像の画素におけるまだ描画オブジェクトが描画されていない画素を特定する。そして、該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行い、本描画処理を完了する。このようにすることでＳ３０１で特定した描画範囲の全ての描画オブジェクトを描画することができるため、第４ＧＰＵ１０８は、最終的な出力であるゲーム画面を第４ＶＲＡＭ１１２に描画することができる。なお、第４ＧＰＵ１０８は、生成画像（ゲーム画面）を他のＧＰＵに出力する必要が無いため、特定情報の更新を行う必要はない。
【００４３】
本実施形態の描画処理によれば、図５に示した従来技術の描画手法と同様の画面を生成する際に、図４のように描画処理の効率化を図ることができる。具体的には、視点に近いオブジェクトにより遮蔽されるオブジェクトの描画を行うことなく、即ち描画した画素の廃棄をすることなく、最終出力であるゲーム画面を生成可能であるため、描画処理に係る演算量を低減することができる。
【００４４】
描画処理が完了すると、ＣＰＵ１０１はゲーム処理のＳ２０５で、第４ＶＲＡＭ１１２に生成されたゲーム画面を表示制御部１１３に伝送し、表示出力させ、現フレームに係るゲーム処理を完了する。
【００４５】
なお、本実施形態では特定情報は論理型の情報を示すマスクデータであるものとして説明したが、本発明の実施はこれに限られるものではない。特定情報は、例えば深度マップ（Ｚバッファ）等であってよく、この場合各ＧＰＵは深度が最大値（最遠方が白として規定されたグレースケールマップの場合）である画素を、まだ描画オブジェクトが描画されていない画素と特定することができる。
【００４６】
また本実施形態ではＣＰＵ１０１が描画範囲の分類を行い、各ＧＰＵに深度範囲を割り当てるものとして説明したが、本発明の実施はこれに限られるものではない。例えば、予め担当する深度範囲が各ＧＰＵに設定されているような場合は、描画範囲の情報に基づき各ＧＰＵが描画を担当する深度範囲を個別に判断し、処理を行う構成であってもよい。
【００４７】
また本発明は、個々のＧＰＵにおける演算量が少なく、さらに個々のＧＰＵは段階的に使用されるため、複数の画面を並行して描画する、例えば複数のクライアントに対して描画した画面をストリーミング送信するようなシステムにおいて、描画処理のさらなる効率化を見込むこともできる。
【００４８】
以上説明したように、本実施形態の描画装置は、１つの画面描画を複数のＧＰＵに分散して描画処理を行う際の不要な処理を低減することができる。具体的には描画装置は、１つの画面に対応する視点の情報に基づいて、複数のＧＰＵの各々に描画させる、１つの画面に係る描画範囲のうちの深度範囲を決定する。各ＧＰＵは、画像描画前に、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行う。そして第１のＧＰＵは、該ＧＰＵが描画する第１の深度範囲よりも視点に近い第２の深度範囲を描画する第２のＧＰＵによる描画が行われた後に、第２のＧＰＵにより描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信する。そして受信後、第１のＧＰＵは視点に従って第１の深度範囲に含まれる描画オブジェクトを描画する際に、第２のＧＰＵにより描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わない。
【００４９】
［変形例］
上述した実施形態では、特定情報により既に描画オブジェクトが描画された画素を特定することができるものとして説明したが、分類された複数の深度範囲に渡って存在する描画オブジェクトについては、特定情報に従うことで不自然な描画結果となる可能性がある。例えば、隣接する深度範囲のうちの視点から遠い深度範囲に分類される描画オブジェクトが、そのモデルデータの先端が視点に近い深度範囲に侵入する場合、視点に近い深度範囲の描画オブジェクトよりも手前に表示される可能性がある。即ち、分類に従わない前後関係が生じる可能性があるため、深度範囲の分類方法によっては、描画オブジェクト間の正しい前後関係が破綻することがある。
【００５０】
従って、本変形例では特定情報は深度マップとし、特定情報の役割を、既に描画オブジェクトが描画された画素の深度値を示すものとする。この場合、第２ＧＰＵ１０６が描画を行う画素は、第２ＧＰＵ１０６が該画素に描画しようとしているオブジェクトの深度値と特定情報により示される深度値との比較により特定されることになる。即ち、比較の結果第２ＧＰＵ１０６が描画しようとしているオブジェクトの深度値の方が視点寄りの値を示す場合は、第２ＧＰＵ１０６は生成画像の該画素値を描画処理により更新すればよい。
【００５１】
なお、このとき、深度が最遠方を示す値である画素については、第２ＧＰＵ１０６は深度値の比較をせずに無条件で描画を行うようにしてもよい。このようにすることで、深度値を比較する画素を、画素値が最遠方を示す値ではない画素に限定することができるため、比較に要する演算量を低減することもできる。
【００５２】
このようにすることで、不要な画素の描画や廃棄を行うことなく、かつ前後関係の整合性が担保されたゲーム画面を生成することができる。
【００５３】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画装置は、コンピュータを描画装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【００５４】
本願は、２０１３年９月１３日提出の日本国特許出願特願２０１３−１９１００５を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
【図１】
2015037169.tif 000003
【図２】
2015037169.tif 000004
【図３】
2015037169.tif 000005
【図４】
2015037169.tif 000006
【図５】
2015037169.tif 000007
【国際調査報告】
2015037169.tif 000008
2015037169.tif 000009
2015037169.tif 000010