特許第6207618号(P6207618)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社スクウェア・エニックス・ホールディングスの特許一覧

<>
  • 特許6207618-描画装置 図000002
  • 特許6207618-描画装置 図000003
  • 特許6207618-描画装置 図000004
  • 特許6207618-描画装置 図000005
  • 特許6207618-描画装置 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6207618
(24)【登録日】2017年9月15日
(45)【発行日】2017年10月4日
(54)【発明の名称】描画装置
(51)【国際特許分類】
   G06T 15/00 20110101AFI20170925BHJP
【FI】
   G06T15/00 501
【請求項の数】7
【全頁数】12
(21)【出願番号】特願2015-536425(P2015-536425)
(86)(22)【出願日】2014年6月19日
(86)【国際出願番号】JP2014003292
(87)【国際公開番号】WO2015037169
(87)【国際公開日】20150319
【審査請求日】2017年2月2日
(31)【優先権主張番号】特願2013-191005(P2013-191005)
(32)【優先日】2013年9月13日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】592044813
【氏名又は名称】株式会社スクウェア・エニックス・ホールディングス
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】岩崎 哲史
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開平10−307932(JP,A)
【文献】 特開2002−183751(JP,A)
【文献】 特開2006−338542(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00
G06T 1/20
(57)【特許請求の範囲】
【請求項1】
複数の描画手段を用いて1つの画面を描画する描画装置であって、
前記1つの画面に対応する視点の情報に基づいて、前記複数の描画手段の各々に描画させる、前記1つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、
前記複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、
前記複数の描画手段のうちの第1の描画手段は、
前記第1の描画手段が描画する第1の深度範囲よりも前記視点に近い第2の深度範囲を描画する第2の描画手段による描画が行われた後に、前記第2の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、
受信後、前記視点に従って前記第1の深度範囲に含まれる描画オブジェクトを描画する際に、前記第2の描画手段により描画された画像のうち、前記特定情報により特定されていない画素には描画を行い、前記特定情報により特定されている画素には描画を行わない
ことを特徴とする描画装置。
【請求項2】
複数の描画手段を用いて1つの画面を描画する描画装置であって、
前記複数の描画手段の各々は、
前記1つの画面に対応する視点の情報に基づいて、前記1つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、
前記決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、
前記複数の描画手段のうちの第1の描画手段は、
前記第1の描画手段が担当する第1の深度範囲よりも前記視点に近い第2の深度範囲を担当する第2の描画手段による描画が行われた後に、前記第2の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、
受信後、前記視点に従って前記第1の深度範囲に含まれる描画オブジェクトを描画する際に、前記第2の描画手段により描画された画像のうち、前記特定情報により特定されていない画素には描画を行い、前記特定情報により特定されている画素には描画を行わない
ことを特徴とする描画装置。
【請求項3】
前記特定情報は、前記第2の深度範囲と前記第2の深度範囲よりも前記視点に近い全ての深度範囲に含まれる描画オブジェクトが描画されている画素を特定する情報であることを特徴とする請求項1または2に記載の描画装置。
【請求項4】
前記特定情報は前記第2の描画手段により描画された画像内に描画された描画オブジェクトの深度値を示す情報であって、深度値が最遠方を示す値ではない場合に該画素に描画オブジェクトが描画されていることを示す情報であることを特徴とする請求項1乃至3のいずれか1項に記載の描画装置。
【請求項5】
前記第1の描画手段は、前記第2の描画手段により描画された画像のうち、前記特定情報により特定されている画素の深度値が、前記第1の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合に、該画素に描画を行うことを特徴とする請求項4に記載の描画装置。
【請求項6】
複数の描画手段を用いて1つの画面を描画する描画装置であって、
前記1つの画面に対応する視点の情報に基づいて、前記複数の描画手段の各々に描画させる、前記1つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、
前記複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、
前記複数の描画手段のうちの第1の描画手段は、
前記第1の描画手段が描画する第1の深度範囲よりも前記視点に近い第2の深度範囲を描画する第2の描画手段による描画が行われた後に、前記第2の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、
受信後、前記視点に従って前記第1の深度範囲に含まれる描画オブジェクトを描画する際に、前記第2の描画手段により描画された画像のうち、前記深度情報により示される画素の深度値が、前記第1の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わない
ことを特徴とする描画装置。
【請求項7】
複数の描画手段を用いて1つの画面を描画する描画装置であって、
前記複数の描画手段の各々は、
前記1つの画面に対応する視点の情報に基づいて、前記1つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、
前記決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、
前記複数の描画手段のうちの第1の描画手段は、
前記第1の描画手段が担当する第1の深度範囲よりも前記視点に近い第2の深度範囲を担当する第2の描画手段による描画が行われた後に、前記第2の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、
受信後、前記視点に従って前記第1の深度範囲に含まれる描画オブジェクトを描画する際に、前記第2の描画手段により描画された画像のうち、前記深度情報により示される画素の深度値が、前記第1の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わない
ことを特徴とする描画装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は描画装置に関し、特に3Dグラフィックスの描画技術に関する。
【背景技術】
【0002】
ゲームを始めとする3Dグラフィックスの描画は、表示装置の高解像度化に伴い、描画される画面も多画素化傾向にある。画素が多い分、画面の描画の演算量は増加するため、特にリアルタイム性が要求されるようなコンテンツに係る画面の描画には効率化が必要である。
【0003】
近年では複数のGPUを用いることで画面の描画を効率化するものがある。特許文献1には、描画オブジェクトのZ値に応じて描画するGPUを分類し、各々描画された描画オブジェクトの画像をZ値を参照して合成することで、最終的な出力である画面を生成している。具体的には、図5に示されるように4つのGPUで1つの画面を描画する場合、各GPUは各々異なるZ値を有する描画オブジェクトを描画した画像と、該画像内の各画素のZ値を示すZバッファを出力する。そして合成部が、これらの画像を対応するZバッファのZ値比較を行い、各画素について最も手前に存在する描画オブジェクトの画素を採用するように合成することで、最終出力画面を生成する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−307932号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1のような方法では、異なるGPUに描画された画像に含まれる画素のうち、合成により遮蔽される画素は最終的な画面に現れないため、その分の描画処理が無駄になる可能性があった。例えば、図5のように4つのGPUで1つの画面を描画する場合、合成部における最終出力画面の生成において、各GPUが描画した画像内の最も手前に存在しない描画オブジェクトの画素については最終出力画面に全く現れないため、該画素は利用されずに破棄されることになる。
【0006】
本発明は、上述の問題点に鑑みてなされたものであり、1つの画面描画を複数のGPUに分散して描画処理を行う際の不要な処理を低減する描画装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
前述の目的を達成するために、本発明の第1の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて1つの画面を描画する描画装置であって、1つの画面に対応する視点の情報に基づいて、複数の描画手段の各々に描画させる、1つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、複数の描画手段のうちの第1の描画手段は、第1の描画手段が描画する第1の深度範囲よりも視点に近い第2の深度範囲を描画する第2の描画手段による描画が行われた後に、第2の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、受信後、視点に従って第1の深度範囲に含まれる描画オブジェクトを描画する際に、第2の描画手段により描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わないことを特徴とする。
【0008】
前述の目的を達成するために、本発明の第2の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて1つの画面を描画する描画装置であって、複数の描画手段の各々は、1つの画面に対応する視点の情報に基づいて、1つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、複数の描画手段のうちの第1の描画手段は、第1の描画手段が担当する第1の深度範囲よりも視点に近い第2の深度範囲を担当する第2の描画手段による描画が行われた後に、第2の描画手段により描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信し、受信後、視点に従って第1の深度範囲に含まれる描画オブジェクトを描画する際に、第2の描画手段により描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わないことを特徴とする。
【0009】
前述の目的を達成するために、本発明の第3の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて1つの画面を描画する描画装置であって、1つの画面に対応する視点の情報に基づいて、複数の描画手段の各々に描画させる、1つの画面に係る描画範囲のうちの深度範囲を決定する決定手段を有し、複数の描画手段の各々は、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行い、複数の描画手段のうちの第1の描画手段は、第1の描画手段が描画する第1の深度範囲よりも視点に近い第2の深度範囲を描画する第2の描画手段による描画が行われた後に、第2の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、受信後、視点に従って第1の深度範囲に含まれる描画オブジェクトを描画する際に、第2の描画手段により描画された画像のうち、深度情報により示される画素の深度値が、第1の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わないことを特徴とする。
【0010】
前述の目的を達成するために、本発明の第4の態様に係る描画装置は、以下の構成を備えることを特徴とする。具体的には描画装置は、複数の描画手段を用いて1つの画面を描画する描画装置であって、複数の描画手段の各々は、1つの画面に対応する視点の情報に基づいて、1つの画面に係る描画範囲のうちの描画を担当する深度範囲を決定する決定手段と、決定手段により決定された深度範囲に含まれる描画オブジェクトに係る所定の演算を行う演算手段と、を含み、複数の描画手段のうちの第1の描画手段は、第1の描画手段が担当する第1の深度範囲よりも視点に近い第2の深度範囲を担当する第2の描画手段による描画が行われた後に、第2の描画手段により描画された画像と該画像内の各画素の深度値を示す深度情報とを受信し、受信後、視点に従って第1の深度範囲に含まれる描画オブジェクトを描画する際に、第2の描画手段により描画された画像のうち、深度情報により示される画素の深度値が、第1の深度範囲に含まれる該画素に描画する描画オブジェクトの深度値よりも遠方を示す値である場合には該画素に描画を行い、遠方を示さない値である場合には該画素に描画を行わないことを特徴とする。
【発明の効果】
【0011】
このような構成により本発明によれば、1つの画面描画を複数のGPUに分散して描画処理を行う際の不要な処理を低減することが可能となる。
【0012】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【0013】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
図1】本発明の実施形態に係るPC100の機能構成を示したブロック図
図2】本発明の実施形態に係るPC100において実行されるゲーム処理を例示したフローチャート
図3】本発明の実施形態に係るPC100において実行される描画処理を例示したフローチャート
図4】本発明の実施形態に係る描画処理の流れを示した図
図5】従来技術に係る描画処理の流れを示した図
【発明を実施するための形態】
【0014】
[実施形態]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、描画装置の一例としての、1つの画面描画を複数のGPUに分散して処理することが可能なPCに、本発明を適用した例を説明する。しかし、本発明は、1つの画面描画を複数のGPUに分散して処理することが可能な任意の機器に適用可能である。
【0015】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0016】
CPU101は、PC100が有する各ブロックの動作を制御する。具体的にはCPU101は、例えばROM102や記録媒体104に記憶されている各ブロックの動作プログラム等を読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
【0017】
ROM102は、例えば書き換え可能な不揮発性メモリである。ROM102は各ブロックの動作プログラムに加え、他の動作プログラムやPC100が有する各ブロックの動作において必要となる定数等の情報を記憶する。
【0018】
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、PC100が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
【0019】
記録媒体104は、例えばHDD等の、PC100に着脱可能に接続される記録装置である。本実施形態では記録媒体104には、PC100のオペレーティングシステムに係るプログラムや、後述するゲーム処理を含むゲームアプリケーションに係るプログラムが格納されている。また記録媒体104には、描画処理において画面の生成に用いる描画オブジェクトに係るデータが格納されている。描画オブジェクトに係るデータは、例えば
・モデルデータ
・テクスチャデータ
・シェーダ等の描画用プログラム
等を含むものであってよい。
【0020】
第1GPU105、第2GPU106、第3GPU107、及び第4GPU108は、本実施形態のゲーム処理において出力するゲーム画面の描画・生成を行う。GPUの各々は、ゲーム画面の描画領域としてビデオメモリ(第1VRAM109、第2VRAM110、第3VRAM111、及び第4VRAM112)が接続されている。なお、本実施形態では1つのGPUに対して1つのビデオメモリが接続されるものとして説明するが、本発明の実施はこれに限られない。即ち、GPUに対して接続されるビデオメモリの数は、任意の数であってよく、例えば複数のGPUが1つのビデオメモリを共有する構成であってもよい。
【0021】
表示制御部113は、PC100が有する表示出力インタフェースである。表示制御部113は、VRAMに描画されたゲーム画面を受信すると、接続された不図示の表示装置に対して任意の出力信号形式でゲーム画面を出力する。なお、本実施形態ではPC100は表示装置が外部接続型の装置であるものとして説明するが、ラップトップ型PCのように表示装置が一体型の装置であってもよいことは言うまでもない。
【0022】
操作入力部114は、例えばマウスやキーボード、ゲームパッド等のPC100が有するユーザ入力インタフェースである。操作入力部114は、ユーザによりこれらの操作入力機器が操作されたことを検出すると、該操作入力に対応する制御信号をCPU101に出力する。
【0023】
《ゲーム処理》
このような構成をもつ本実施形態のPC100において実行される3Dグラフィックスの画面提示を行うゲーム処理について、図2のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、CPU101が、例えば記録媒体104に格納されているゲームアプリケーションに対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ゲーム処理は、例えばゲーム画面の更新が行われるフレームレートに対応して繰り返し実行される、画面出力に係る処理として説明する。
【0024】
S201は、CPU101は、ゲームの進行に係る操作入力が行われたか否かを判断する。CPU101は、ゲームの進行に係る操作入力が行われたと判断した場合は処理をS202に移し、行われていないと判断した場合は処理をS203に移す。
【0025】
S202で、CPU101は、ゲームの進行に係る操作入力に応じて変化するゲーム内の各種パラメータを、検出された操作入力に基づいて更新する。該パラメータは、例えばキャラクタの位置や方向、あるいは動作等を示す情報であってよい。
【0026】
S203で、CPU101は、操作入力によらず変化するゲーム内の各種パラメータを、例えば経過時間等に基づいて更新する。該パラメータは、例えば背景や光源の色合い、操作入力によらず動作するNPCの位置等に関する情報であってよい。
【0027】
S204で、CPU101は、更新後のパラメータにて現フレームに係るゲーム画面の描画を行う描画処理を実行する。
【0028】
〈描画処理〉
ここで、本実施形態のPC100において実行される描画処理について、図3のフローチャートを用いて詳細を説明する。
【0029】
S301で、CPU101は、描画するゲーム画面に対応する視点の情報を参照し、描画範囲を特定する。視点の情報は、視点の位置及びその方向、最短描画距離及び最長描画距離、及び画角の情報等を含む。CPU101は該情報に従って、ゲーム上で表現される3次元のフィールドのうち、現フレームに係るゲーム画面に描画される描画範囲を特定する。
【0030】
S302で、CPU101は、描画範囲を深度(Z値)方向の所定数の深度範囲に分類し、深度範囲ごとに異なる描画オブジェクトに該深度範囲に含まれる描画オブジェクトの描画を割り当てる。本実施形態ではPC100が4種類のGPUを有するため、描画範囲は4つの深度範囲に分類されるものとして説明するが、本発明の実施はこれに限られず、描画範囲の分類数は2以上であればGPUの数に依らず決定されてよい。
【0031】
なお、本実施形態では視点に最も近い深度範囲が第1GPU105に割り当てられ、視点から離れる方向の順に第2GPU106、第3GPU107、第4GPU108に他の深度範囲が割り当てられるものとする。しかしながら、分類数と同様、本発明の実施はこれに限られず、例えば分類数がGPUの数よりも少ない場合は一部のGPUに各深度範囲が割り当てられ、反対に分類数がGPUの数よりも多い場合は、一部のGPUに複数の深度範囲が割り当てられてよい。
【0032】
S303で、CPU101は、各GPUに対して、割り当てた深度範囲に含まれる描画オブジェクトに係る種々の処理の開始命令を送出する。本ステップで開始命令が行われる種々の処理は、例えば描画オブジェクトに対応するデータの展開処理、描画オブジェクトの並進・回転等の座標変換演算、光源やエフェクト演算等が含まれてよい。
【0033】
一方、本ステップで行われる種々の開始命令には、座標変換等された描画オブジェクトの描画処理の開始命令は含まれていなくてもよい。後述するように、本実施形態では各GPUは割り当てられた深度範囲よりも視点に近い深度範囲に含まれる描画オブジェクトの描画後に描画処理を開始する。従って、本ステップにおいて描画処理の開始命令がされたとしても、その開始には別の条件を満たす必要があり、特に第2GPU106、第3GPU107、第4GPU108においては即時に描画処理は開始されない。
【0034】
S304で、第1GPU105はCPU101の制御の下、割り当てられた、視点に最も近い深度範囲に含まれる描画オブジェクトの描画を行う。このとき第1GPU105は、該描画オブジェクトの描画により生成した画像について、画像内の各画素に描画オブジェクトが描画されているか否か、即ち描画オブジェクトが描画されている画素を特定する特定情報を生成する。特定情報は、例えば生成した画像と同一の画素数を有し、各画素の値が1ビット(論理型情報)で表現される2次元マスクデータや、同様の情報を有する配列等、任意の構造であってよい。
【0035】
第1GPU105は、描画完了すると、生成画像と特定情報とを、第1GPU105が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第2GPU106に出力する。
【0036】
第2GPU106は、第1GPU105から生成画像と特定情報とを受信すると、S305で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第2GPU106は特定情報を参照し、受信した生成画像の画素におけるまだ描画オブジェクトが描画されていない画素を特定する。そして該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。
【0037】
なお、第2GPU106の描画は、第1GPU105により生成された生成画像の画素を上書きする形で行われてよい。これは、第2GPU106が既に描画オブジェクトが描画されている画素には描画を行わないため、生成画像のうちの第1GPU105により描画オブジェクトの描画が行われた画素の値は更新されないことによる。
【0038】
また第2GPU106は、特定情報の更新も行う。具体的には第2GPU106は、特定情報のうち、生成画像に対して新たに描画オブジェクトの描画を行った画素に対応する情報を、該画素に描画オブジェクトが描画されていることを示すように変更する。このようにすることで、特定情報は、割り当てられた深度範囲だけでなく、該深度範囲よりも視点に近い全ての深度範囲に含まれる描画オブジェクトが描画されている画素を特定可能な情報となる。
【0039】
そして第2GPU106は、描画が完了すると、更新した生成画像と特定情報とを、第2GPU106が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第3GPU107に出力する。
【0040】
第3GPU107は、第2GPU106から生成画像と特定情報とを受信すると、S306で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第3GPU107は特定情報を参照し、受信した生成画像におけるまだ描画オブジェクトが描画されていない画素を特定する。そして、該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。また第3GPU107は、S305と同様に特定情報の更新も行う。
【0041】
第3GPU107は、描画が完了すると、更新した生成画像と特定情報とを、第3GPU107が描画した深度範囲の次に視点に近い深度範囲が割り当てられた第4GPU108に出力する。
【0042】
第4GPU108は、第3GPU107から生成画像と特定情報とを受信すると、S307で、割り当てられた深度範囲に含まれる描画オブジェクトの描画を行う。このとき、第4GPU108は特定情報を参照し、受信した生成画像の画素におけるまだ描画オブジェクトが描画されていない画素を特定する。そして、該画素についてのみ割り当てられた深度範囲に含まれる描画オブジェクトの描画を行い、本描画処理を完了する。このようにすることでS301で特定した描画範囲の全ての描画オブジェクトを描画することができるため、第4GPU108は、最終的な出力であるゲーム画面を第4VRAM112に描画することができる。なお、第4GPU108は、生成画像(ゲーム画面)を他のGPUに出力する必要が無いため、特定情報の更新を行う必要はない。
【0043】
本実施形態の描画処理によれば、図5に示した従来技術の描画手法と同様の画面を生成する際に、図4のように描画処理の効率化を図ることができる。具体的には、視点に近いオブジェクトにより遮蔽されるオブジェクトの描画を行うことなく、即ち描画した画素の廃棄をすることなく、最終出力であるゲーム画面を生成可能であるため、描画処理に係る演算量を低減することができる。
【0044】
描画処理が完了すると、CPU101はゲーム処理のS205で、第4VRAM112に生成されたゲーム画面を表示制御部113に伝送し、表示出力させ、現フレームに係るゲーム処理を完了する。
【0045】
なお、本実施形態では特定情報は論理型の情報を示すマスクデータであるものとして説明したが、本発明の実施はこれに限られるものではない。特定情報は、例えば深度マップ(Zバッファ)等であってよく、この場合各GPUは深度が最大値(最遠方が白として規定されたグレースケールマップの場合)である画素を、まだ描画オブジェクトが描画されていない画素と特定することができる。
【0046】
また本実施形態ではCPU101が描画範囲の分類を行い、各GPUに深度範囲を割り当てるものとして説明したが、本発明の実施はこれに限られるものではない。例えば、予め担当する深度範囲が各GPUに設定されているような場合は、描画範囲の情報に基づき各GPUが描画を担当する深度範囲を個別に判断し、処理を行う構成であってもよい。
【0047】
また本発明は、個々のGPUにおける演算量が少なく、さらに個々のGPUは段階的に使用されるため、複数の画面を並行して描画する、例えば複数のクライアントに対して描画した画面をストリーミング送信するようなシステムにおいて、描画処理のさらなる効率化を見込むこともできる。
【0048】
以上説明したように、本実施形態の描画装置は、1つの画面描画を複数のGPUに分散して描画処理を行う際の不要な処理を低減することができる。具体的には描画装置は、1つの画面に対応する視点の情報に基づいて、複数のGPUの各々に描画させる、1つの画面に係る描画範囲のうちの深度範囲を決定する。各GPUは、画像描画前に、描画する深度範囲に含まれる描画オブジェクトに係る所定の演算を行う。そして第1のGPUは、該GPUが描画する第1の深度範囲よりも視点に近い第2の深度範囲を描画する第2のGPUによる描画が行われた後に、第2のGPUにより描画された画像と該画像内の描画オブジェクトが描画されている画素を特定する特定情報とを受信する。そして受信後、第1のGPUは視点に従って第1の深度範囲に含まれる描画オブジェクトを描画する際に、第2のGPUにより描画された画像のうち、特定情報により特定されていない画素には描画を行い、特定情報により特定されている画素には描画を行わない。
【0049】
[変形例]
上述した実施形態では、特定情報により既に描画オブジェクトが描画された画素を特定することができるものとして説明したが、分類された複数の深度範囲に渡って存在する描画オブジェクトについては、特定情報に従うことで不自然な描画結果となる可能性がある。例えば、隣接する深度範囲のうちの視点から遠い深度範囲に分類される描画オブジェクトが、そのモデルデータの先端が視点に近い深度範囲に侵入する場合、視点に近い深度範囲の描画オブジェクトよりも手前に表示される可能性がある。即ち、分類に従わない前後関係が生じる可能性があるため、深度範囲の分類方法によっては、描画オブジェクト間の正しい前後関係が破綻することがある。
【0050】
従って、本変形例では特定情報は深度マップとし、特定情報の役割を、既に描画オブジェクトが描画された画素の深度値を示すものとする。この場合、第2GPU106が描画を行う画素は、第2GPU106が該画素に描画しようとしているオブジェクトの深度値と特定情報により示される深度値との比較により特定されることになる。即ち、比較の結果第2GPU106が描画しようとしているオブジェクトの深度値の方が視点寄りの値を示す場合は、第2GPU106は生成画像の該画素値を描画処理により更新すればよい。
【0051】
なお、このとき、深度が最遠方を示す値である画素については、第2GPU106は深度値の比較をせずに無条件で描画を行うようにしてもよい。このようにすることで、深度値を比較する画素を、画素値が最遠方を示す値ではない画素に限定することができるため、比較に要する演算量を低減することもできる。
【0052】
このようにすることで、不要な画素の描画や廃棄を行うことなく、かつ前後関係の整合性が担保されたゲーム画面を生成することができる。
【0053】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る描画装置は、コンピュータを描画装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【0054】
本願は、2013年9月13日提出の日本国特許出願特願2013−191005を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
図1
図2
図3
図4
図5