説明

グラフィックス処理装置、グラフィックス処理方法及びプログラム

【課題】3次元仮想空間内に2次元グラフィックスを配置して描画処理する際に、視認性を低下させることなく処理負荷の低減を実現できるようにする。
【解決手段】グラフィックス処理命令から、2次元グラフィックス描画処理命令取得部202で2次元グラフィックス描画処理命令を取得し、2次元グラフィックス配置情報取得部203で2次元グラフィックス配置情報を取得し、投影条件取得部204で投影条件に関する情報を取得する。そして、視認効果算出部205では、取得された2次元グラフィックス配置情報及び投影条件に関する情報に基づいて、2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出し、2次元グラフィックス描画処理実行部206では、算出された視認効果に応じて2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力されたグラフィックス処理命令の処理を行うグラフィックス処理装置及びグラフィックス処理方法、並びに、当該グラフィックス処理方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
従来、2次元グラフィックスを3次元仮想空間内に配置して描画処理する方法として、テクスチャマッピングという手法を用いることが一般的であった。このテクスチャマッピングは、3次元仮想空間内の3次元オブジェクトの面にラスタ画像を貼り付けているかのようにレンダリング処理を行うもので、主に3次元オブジェクトの質感を表現するために用いられている。
【0003】
近年では、テクスチャマッピング処理を専門に行うハードウェアを実装することによって、高速に3次元グラフィックス処理が行えるようになっている。また、一般的に、3次元オブジェクトのレンダリング処理では、Zバッファ法などによって隠面消去処理が行われ、3次元オブジェクトにおいて他のオブジェクトや面によって見えない部分を描画しないようにしている。さらに、従来、静止画テクスチャのみをサポートした描画装置を用いて、静止画と動画を区別なく扱うことができるようにするための方法が提案されている(例えば、下記の特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−53565号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、3次元仮想空間内に配置する2次元グラフィックスが、時間経過とともに内容が変化するアニメーションを含んでいる場合について説明する。この場合、従来の手法によれば、例えば2次元グラフィックス描画処理によって生成されるビットマップデータをテクスチャとして3次元オブジェクトの面に貼り付け、レンダリングする処理を繰り返し行う必要がある。
【0006】
しかしながら、従来の手法の場合、2次元グラフィックス描画処理は、3次元オブジェクトの隠面処理によってレンダリングされない面に対してもテクスチャ画像を生成する必要があった。そのため、複雑な2次元グラフィックスを処理する場合や、複数の2次元グラフィックスを処理する場合、2次元グラフィックス描画処理の負荷が大きくなる。その結果、アニメーションが滑らかに動かず、いわゆるコマ落ちの現象が発生するという問題があった。
【0007】
本発明は、このような問題点に鑑みてなされたものであり、3次元仮想空間内に2次元グラフィックスを配置して描画処理する際に、視認性を低下させることなく処理負荷の低減を実現できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明のグラフィックス処理装置は、入力されたグラフィックス処理命令の処理を行うグラフィックス処理装置であって、前記グラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する2次元グラフィックス描画処理命令取得手段と、前記グラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する2次元グラフィックス配置情報取得手段と、前記グラフィックス処理命令から、投影条件に関する情報を取得する投影条件取得手段と、前記2次元グラフィックス配置情報および前記投影条件に関する情報に基づいて、前記2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出する視認効果算出手段と、前記視認効果に応じて前記2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う2次元グラフィックス描画処理実行手段とを有する。
また、本発明は、上述したグラフィックス処理装置によるグラフィックス処理方法、及び、当該グラフィックス処理方法をコンピュータに実行させるためのプログラムを含む。
【発明の効果】
【0009】
本発明によれば、3次元仮想空間内に2次元グラフィックスを配置して描画処理する際に、視認性を低下させることなく処理負荷の低減を実現することができる。特に、2次元グラフィックスが、時間経過とともに変化する場合に、処理負荷の更なる低減を実現することが可能である。
【図面の簡単な説明】
【0010】
【図1】本発明の第1の実施形態に係るグラフィックス処理装置のハードウェア構成の一例を示すブロック図である。
【図2】本発明の第1の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。
【図3】本発明の第1の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【図4】本発明の第1の実施形態を示し、図2のグラフィックス処理命令受信部で受信するグラフィックス処理命令の一例を示す模式図である。
【図5】本発明の第1の実施形態を示し、図4(a)の投影条件に示されている平行投影法の概念を説明するための模式図である。
【図6】本発明の第1の実施形態を示し、図2の視認効果算出部による視認効果の算出を説明するための模式図である。
【図7】本発明の第1の実施形態を示し、図3のステップS306における描画処理の詳細な処理の一例を示すフローチャートである。
【図8】図3のステップS306における描画処理の処理結果の一例を示す模式図である。
【図9】本発明の第2の実施形態を示し、視認効果を説明するための模式図である。
【図10】本発明の第2の実施形態を示し、図3のステップS306における描画処理の詳細な処理の一例を示すフローチャートである。
【図11】アンチエイリアス処理の概念について説明した模式図である。
【図12】本発明の第3の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。
【図13】本発明の第3の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【図14】本発明の第3の実施形態を示し、図12のグラフィックス処理命令受信部で受信するグラフィックス処理命令の一例を示す模式図である。
【図15】本発明の第3の実施形態を示し、図13のステップS1305及びステップS1306の処理内容を説明するための模式図である。
【図16】本発明の第3の実施形態を示し、図13のステップS1307の処理内容を説明するための模式図である。
【図17】本発明の第3の実施形態を示し、図13のステップS1307における描画処理の詳細な処理の一例を示すフローチャートである。
【図18】本発明の第3の実施形態を示し、図13のステップS1307における描画処理の処理結果の一例を示す模式図である。
【図19】本発明の第3の実施形態を示し、図13のステップS1308における描画処理の処理結果の一例を示す模式図である。
【発明を実施するための形態】
【0011】
以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
【0012】
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
【0013】
図1は、本発明の第1の実施形態に係るグラフィックス処理装置のハードウェア構成の一例を示すブロック図である。
【0014】
図1のグラフィックス処理装置100は、CPU101、RAM102、ROM103、外部メモリ104、入力デバイス105、表示部106、通信インタフェース(通信I/F)107、及び、バス108のハードウェア構成を有して構成されている。
【0015】
CPU101は、例えば、ROM103或いは外部メモリ104に記憶されたプログラムやデータを用いて、グラフィックス処理装置100全体の制御を行う。
【0016】
RAM102は、SDRAM、DRAMなどによって構成され、ROM103或いは外部メモリ104からロードされたプログラムやデータを一時的に記憶するエリアを備えるとともに、CPU101が各種の処理を行うために必要とするワークエリアを備える。
【0017】
ROM103は、変更を必要としないプログラムや各種のパラメータ等の情報などを格納している。
【0018】
外部メモリ104は、例えば、オペレーティングシステム(OS)やCPUが実行するプログラム、更には本実施形態の説明において既知としている情報などを記憶している。
【0019】
入力デバイス105は、例えば、マウスやキーボード等を具備して構成されており、ユーザがグラフィックス処理装置100に対して各種の指示を行う際に操作され、当該指示をCPU101等に入力する。
【0020】
表示部106は、例えば、モニタ等を具備して構成されており、CPU101の制御に基づいて、前記プログラムによって描画された表示画面(表示画像)をモニタに出力する。
【0021】
通信I/F107は、グラフィックス処理装置100と外部装置との間で行われる各種の情報やデータの送受信を司るものである。
【0022】
バス108は、CPU101、RAM102、ROM103、外部メモリ104、入力デバイス105、表示部106及び通信I/F107を相互に通信可能に接続する。
【0023】
次に、グラフィックス処理装置100の機能構成について説明する。
図2は、本発明の第1の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。ここで、図2において、図1と同様の機能の構成については、同じ符号を付しており、また、図2に示すグラフィックス処理装置を「グラフィックス処理装置100−1」として説明を行う。
【0024】
図2のグラフィックス処理装置100−1は、グラフィックス処理命令受信部201、2次元グラフィックス描画処理命令取得部202、2次元グラフィックス配置情報取得部203、投影条件取得部204の機能構成を有して構成されている。さらに、図2のグラフィックス処理装置100−1は、視認効果算出部205、2次元グラフィックス描画処理実行部206、3次元グラフィックス描画部207、表示部(モニタ)106の機能構成を有して構成されている。
【0025】
図2のグラフィックス処理命令受信部201は、例えば、図1に示すCPU101及びROM103或いは外部メモリ104に記憶されたプログラム、並びに、入力デバイス105或いは通信I/F107から構成される。また、図2の202〜207は、例えば、図1に示すCPU101及びROM103或いは外部メモリ104に記憶されたプログラムから構成される。
【0026】
このグラフィックス処理装置100−1は、グラフィックス処理命令を入力とし、グラフィックス処理の結果を表示部106に出力するものである。ここで、二次元グラフィックス描画処理命令は、例えば、入力デバイス105或いは通信I/F107を介して入力された情報に基づきプログラムの実行によって呼び出されるものである。
【0027】
グラフィックス処理命令受信部201は、グラフィックス処理装置100−1に入力された情報に基づきグラフィックス処理命令を受信する処理を行う。
【0028】
2次元グラフィックス描画処理命令取得部202は、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する処理を行う。2次元グラフィックス配置情報取得部203は、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する処理を行う。投影条件取得部204は、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、投影条件に関する情報を取得する処理を行う。
【0029】
視認効果算出部205は、2次元グラフィックス配置情報取得部203で取得した2次元グラフィックス配置情報と、投影条件取得部204で取得した投影条件に関する情報に基づいて、視認効果を算出する処理を行う。具体的に、視認効果算出部205は、2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出する。
【0030】
2次元グラフィックス描画処理実行部206は、視認効果算出部205で算出した視認効果に応じて、2次元グラフィックス描画処理命令取得部202で取得した2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。
【0031】
3次元グラフィックス描画部207は、2次元グラフィックス配置情報に基づいて2次元グラフィックス描画処理実行部206で生成したラスタ画像を3次元仮想空間内に配置し、投影条件に従って投影描画処理を行う。
【0032】
次に、グラフィックス処理装置100−1によるグラフィックス処理方法の処理手順について説明する。
図3は、本発明の第1の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【0033】
まず、ステップS301において、グラフィックス処理命令受信部201は、グラフィックス処理装置100−1に入力された情報に基づきグラフィックス処理命令を受信する処理を行う。
【0034】
ここで、本実施形態のグラフィックス処理命令について説明する。
図4は、本発明の第1の実施形態を示し、図2のグラフィックス処理命令受信部201で受信するグラフィックス処理命令の一例を示す模式図である。
【0035】
図4(a)には、グラフィックス処理命令に含まれる、2次元グラフィックス描画処理命令410、2次元グラフィックス配置情報420、及び、投影条件430が示されている。また、図4(a)には、2次元グラフィックス描画処理命令410として円を描画するベクトルグラフィックスの描画命令である、第1のグラフィックス処理命令401、第2のグラフィックス処理命令402、第3のグラフィックス処理命令403が示されている。
【0036】
図4(b)は、図4(a)の2次元グラフィックス描画処理命令410における円描画処理命令について示したものである。ここで、円描画処理命令は、図4(b)に示すように、幅6、高さ6の白色の背景ビットマップ画像に対して、背景ビットマップ画像の中心に半径3の円を描画する処理である。
【0037】
また、図4(a)の2次元グラフィックス配置情報420としては、配置する3次元仮想空間内の平面の法線ベクトル、座標の範囲、平面が通る点を指定している。また、図4(a)の投影条件430としては、視点の条件や、投影面の条件及びその投影方法が定義されている。ここで、法線ベクトルの向きは、平面の表を示すものとする。
【0038】
図5は、本発明の第1の実施形態を示し、図4(a)の投影条件430に示されている平行投影法の概念を説明するための模式図である。具体的に、図5は、図4に示したグラフィックス処理命令の例をもとにして、本実施形態における座標系と視点の位置、投影面の位置、及び、平行投影法の概念が示されている。平行投影法によるXY平面への投影では、視点の位置までの遠近に関係なく、任意の点(p,q,r)は、XY平面上の点(p,q,0)に投影される。
【0039】
ここで、再び、図3の説明に戻る。
ステップS301の処理が終了すると、続いて、ステップS302において、2次元グラフィックス描画処理命令取得部202は、ステップS301で受信したグラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する処理を行う。
【0040】
続いて、ステップS303において、2次元グラフィックス配置情報取得部203は、ステップS301で受信したグラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する処理を行う。
【0041】
続いて、ステップS304において、投影条件取得部204は、ステップS301で受信したグラフィックス処理命令から、投影条件に関する情報を取得する処理を行う。
【0042】
続いて、ステップS305において、視認効果算出部205は、ステップS303で取得された2次元グラフィックス配置情報とステップS304で取得された投影条件に関する情報に基づいて、視認効果として、可視か不可視かを判定するための算出処理を行う。
【0043】
ここで、視認効果算出部205による視認効果の算出について更に詳しく説明する。
可視か不可視かの分類は、視点の位置から平面の表が見えているかどうかによって分類できる。即ち、2次元グラフィックスを配置する3次元仮想空間内の平面の法線ベクトルとZ軸の正方向の単位ベクトル(0,0,1)との内積を計算し、内積が負であれば可視、0または正であれば不可視と判定する。
【0044】
図6は、本発明の第1の実施形態を示し、図2の視認効果算出部205による視認効果の算出を説明するための模式図である。具体的に、図6(a)〜図6(c)は、図4で示したグラフィック処理命令の2次元グラフィックス配置情報420と、投影条件430における投影面及び視点の位置関係について、Y軸の正方向から見た図である。この際、投影面は、いずれの場合もXY平面となっているので、X軸の軸上に重なっている。また、2次元グラフィックス配置情報420で示されている平面は、いずれもY軸に平行な平面であるので、Y軸方向から見た場合には、図6に示すように線分となる。
【0045】
図6(a)は、図4の第1のグラフィックス処理命令401に関して図示したものである。第1のグラフィックス処理命令401の法線ベクトルの情報は、図4に示すように、(0,0,−1)である。この場合、視認効果算出部205は、取得した法線ベクトル(0,0,−1)と、Z軸の正方向の単位ベクトル(0,0,1)との内積を計算する。この場合、計算結果は−1となり負なので、可視と判定される。
【0046】
図6(b)は、図4の第2のグラフィックス処理命令402に関して図示したものである。第2のグラフィックス処理命令402の法線ベクトルの情報は、図4に示すように、(−1,0,1)である。この場合、視認効果算出部205は、取得した法線ベクトル(−1,0,1)と、Z軸の正方向の単位ベクトル(0,0,1)との内積を計算する。この場合、計算結果は1となり正なので、不可視と判定される。
【0047】
図6(c)は、図4の第3のグラフィックス処理命令403に関して図示したものである。第3のグラフィックス処理命令403の法線ベクトルの情報は、図4に示すように、(−0.866,0,−0.5)である。この場合、視認効果算出部205は、取得した法線ベクトル(−0.866,0,−0.5)と、Z軸の正方向の単位ベクトル(0,0,1)との内積を計算する。この場合、計算結果は−0.5となり負なので、可視と判定される。
【0048】
ここで、再び、図3の説明に戻る。
ステップS305の処理が終了すると、ステップS306に進む。
ステップS306に進むと、まず、2次元グラフィックス描画処理実行部206は、ステップS305における可視か不可視かの判定結果に応じて、ステップS302で取得された2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。次いで、3次元グラフィックス描画部207は、2次元グラフィックス配置情報に基づいて2次元グラフィックス描画処理実行部206で生成したラスタ画像を3次元仮想空間内に配置し、投影条件に従って投影した描画処理を行う。
【0049】
続いて、ステップS307において、グラフィックス処理装置100−1(例えばグラフィックス処理命令受信部201)は、処理対象のグラフィックス処理命令の処理が終了したか否かを判断する。
【0050】
ステップS307の判断の結果、処理対象のグラフィックス処理命令の処理が終了していない(未処理のグラフィックス処理命令が存在する)場合には、ステップS301に戻って、未処理のグラフィックス処理命令に対する処理を行う。
【0051】
一方、ステップS307の判断の結果、処理対象のグラフィックス処理命令の処理が終了した場合には、図3のフローチャートの処理を終了する。
【0052】
次に、図3のステップS306の処理の詳細について説明する。
図7は、本発明の第1の実施形態を示し、図3のステップS306における描画処理の詳細な処理の一例を示すフローチャートである。
【0053】
まず、ステップS701において、2次元グラフィックス描画処理実行部206は、ステップS305の視認効果の算出処理の結果が可視であるか否かを判断する。そして、ステップS701の判断の結果、可視でない(不可視である)場合には、図7のフローチャートにおける処理を終了する。
【0054】
一方、ステップS701で可視と判断された場合には、ステップS702に進む。
ステップS702に進むと、2次元グラフィックス描画処理実行部206は、ステップS302で取得した2次元グラフィックス描画処理命令を実行して、ラスタ画像(ビットマップ画像)を生成する処理を行う。
【0055】
続いて、ステップS703において、3次元グラフィックス描画部207は、ステップS702で生成したラスタ画像(ビットマップ画像)を3次元仮想空間に配置し、投影描画処理を行う。その後、図7のフローチャートにおける処理を終了する。
【0056】
図8は、図3のステップS306における描画処理の処理結果の一例を示す模式図である。
【0057】
ここで、図4(a)の第1のグラフィックス処理命令401に関しては、円描画処理を行うことにより、図4(b)に示すようなビットマップ画像が生成される。この場合、生成されたビットマップ画像は、図6(a)に示す位置に配置される。そして、これを投影面、即ちXY平面に投影した結果は、図8(a)に示すようになる。
【0058】
また、図4(a)の第2のグラフィックス処理命令402に関しては、円描画処理がなされず、投影、描画処理も行われないので、図8(b)に示すように出力がされない。
【0059】
また、図4(a)の第3のグラフィックス処理命令403に関しては、第1のグラフィックス処理命令401と同様に、円描画処理を行うことにより、図4(b)に示すようなビットマップ画像が生成される。この場合、生成されたビットマップ画像は、図6(c)に示す位置に配置される。そして、これを投影面、即ちXY平面に投影した結果は、図8(c)に示すようになる。
【0060】
以上の処理によって、2次元グラフィックスを3次元仮想空間に配置して、投影し、描画された結果の出力が終了する。なお、本実施形態では、投影条件として、平行投影法のみ説明したが、これに限定されるものではなく、例えば、透視投影法を用いてもよい。
【0061】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
第2の実施形態に係るグラフィックス処理装置のハードウェア構成は、図1に示す第1の実施形態に係るグラフィックス処理装置のハードウェア構成と同様であるため、その詳細な説明は省略する。また、第2の実施形態に係るグラフィックス処理装置の機能構成は、図2に示す第1の実施形態に係るグラフィックス処理装置の機能構成と同様であるため、その詳細な説明は省略する。
【0062】
第1の実施形態では、図2の視認効果算出部205による視認効果の算出において、可視、不可視の2種類に分類する例を説明した。第2の実施形態では、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θを視認効果として算出する方法について説明する。具体的に、第2の実施形態は、図2に示す視認効果算出部205、並びに、当該視認効果算出部205の処理内容の変更に基づく2次元グラフィックス描画処理実行部206の処理の内容が第1の実施形態と異なる。
【0063】
平行投影法において、視線ベクトルは、視点の位置から投影面に向かう、投影面に対して垂直なベクトルである。一般的に3次元仮想空間内の平面は、視線ベクトルに対して平行に近ければ近いほど見えにくく、垂直に近い面の方が見やすい。
【0064】
図9は、本発明の第2の実施形態を示し、視認効果を説明するための模式図である。具体的に、図9には、立方体の各面に同じグラフィックスを貼り付けて描画した場合について示している。立方体面901は、立方体面902や立方体面903に比べて、視線ベクトルに対して垂直に近いので、見えやすくなっている。
【0065】
本発明の第2の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例について、上述した図3のフローチャートを用いて説明する。
【0066】
まず、第2の実施形態では、第1の実施形態におけるステップS301〜S304の処理を経る。このステップS301〜S304の処理は、第1の実施形態と同様であるため、その説明は省略する。また、入力されるグラフィックス処理命令、及び、これに関連する説明に関しても、第1の実施形態において説明に用いた図4〜図6を適用することができる。
【0067】
ステップS304の処理が終了すると、ステップS305に進む。
ステップS305に進むと、視認効果算出部205は、ステップS303で取得した2次元グラフィックス配置情報とステップS304で取得した投影条件に関する情報に基づいて、視認効果を算出する処理を行う。ここで、第2の実施形態におけるステップS305の視認効果の算出方法について説明する。
【0068】
第2の実施形態では、視認効果算出部205は、まず、ステップS304で取得された投影条件から、視線ベクトルを取得する処理を行う。例えば、図4(a)に示す投影条件では、視線ベクトルは、単位ベクトルに正規化して、(0,0,1)と求めることができる。
【0069】
次に、視認効果算出部205は、ステップS303で取得された2次元グラフィックス配置情報から、平面の法線ベクトルを取得する処理を行う。次に、視認効果算出部205は、2次元グラフィックスを配置する3次元仮想空間内の平面の法線ベクトルと視線ベクトル(0,0,1)との内積を計算する。次に、視認効果算出部205は、求めた内積を、視線ベクトルの長さと平面の法線ベクトルの長さとの積で割る。ここで、求められた値は、視線ベクトルと平面の法線ベクトルとのなす角の余弦値である。そして、視認効果算出部205は、角度を求めるために、更にこの値の逆余弦値を計算する。この計算の結果は、角度0〜180°の範囲となる。
【0070】
ここで、図4(a)で示したグラフィックス処理命令401〜403について、視認効果として、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θの算出結果について説明する。
【0071】
具体的に、第1のグラフィックス処理命令401については、視認効果として、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θ=180°が算出される。第2のグラフィックス処理命令402については、視認効果として、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θ=45°が算出される。第3のグラフィックス処理命令403については、視認効果として、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θ=120°が算出される。
【0072】
ここで、再び、図3の説明に戻る。
ステップS305の処理が終了すると、ステップS306に進む。
ステップS306に進むと、まず、2次元グラフィックス描画処理実行部206は、ステップS305における視認効果の算出結果に応じて、ステップS302で取得された2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。具体的に、本例では、2次元グラフィックスを配置する面の法線ベクトルと視線ベクトルとのなす角度θに応じて、ステップS302で取得された2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。次いで、3次元グラフィックス描画部207は、2次元グラフィックス配置情報に基づいて2次元グラフィックス描画処理実行部206で生成したラスタ画像を3次元仮想空間内に配置し、投影条件に従って投影描画処理を行う。
【0073】
続いて、ステップS307において、グラフィックス処理装置100−1(例えばグラフィックス処理命令受信部201)は、処理対象のグラフィックス処理命令の処理が終了したか否かを判断する。
【0074】
ステップS307の判断の結果、処理対象のグラフィックス処理命令の処理が終了していない(未処理のグラフィックス処理命令が存在する)場合には、ステップS301に戻って、未処理のグラフィックス処理命令に対する処理を行う。
【0075】
一方、ステップS307の判断の結果、処理対象のグラフィックス処理命令の処理が終了した場合には、図3のフローチャートの処理を終了する。
【0076】
次に、図3のステップS306の処理の詳細について説明する。
図10は、本発明の第2の実施形態を示し、図3のステップS306における描画処理の詳細な処理の一例を示すフローチャートである。
【0077】
まず、ステップS1001において、2次元グラフィックス描画処理実行部206は、ステップS305の視認効果の算出処理の結果である角度θが、90°≧θ≧0°を満たすか否かを判断する。そして、ステップS1001の判断の結果、角度θが90°≧θ≧0°を満たす場合には、2次元グラフィックスを配置する面が不可視であると判定し、図10のフローチャートにおける処理を終了する。この場合、例えば、図4(a)に示す第2のグラフィックス処理命令402は、角度θ=45°であるため、不可視であると判定される。
【0078】
一方、ステップS1001で角度θが90°≧θ≧0°を満さない(即ち、角度θが180°≧θ>90°である)と判断された場合には、2次元グラフィックスを配置する面が可視であると判定し、ステップS1002に進む。
ステップS1002に進むと、2次元グラフィックス描画処理実行部206は、ステップS305の視認効果の算出処理の結果である角度θが、予め設定されている角度の閾値φよりも大きいか否かを判断する。ここで、閾値φは、例えばROM103或いは外部メモリ104に予め格納されている180°≧φ>90°を満たす角度の閾値であり、視認性が良好であるか困難であるかを判別するための閾値である。
【0079】
本例では、閾値φとして角度135°を適用し、θ>135°のとき、その面は視認性が良好であり、また、θ≦135°のとき、その面は視認が困難であると判定する。この場合、例えば、図4(a)の第1のグラフィックス処理命令401は、角度θ=180°であるため、視認性が良好と判定され、一方、第3のグラフィックス処理命令403は、角度θ=120°であるため、視認困難と判定される。
【0080】
ステップS1002の判断の結果、角度θが閾値φ(本例では135°)よりも大きい場合には、ステップS1003に進む。
ステップS1003に進むと、例えば2次元グラフィックス描画処理実行部206は、2次元グラフィックス描画処理モードを画質優先モードに設定する。
【0081】
一方、ステップS1002の判断の結果、角度θが閾値φよりも大きくない(即ち角度θが閾値φ以下である)場合には、ステップS1004に進む。
ステップS1004に進むと、例えば2次元グラフィックス描画処理実行部206は、2次元グラフィックス描画処理モードを速度優先モードに設定する。
【0082】
ステップS1003又はS1004の処理が終了すると、ステップS1005に進む。
ステップS1005に進むと、2次元グラフィックス描画処理実行部206は、設定した2次元グラフィックス描画処理モードに応じてステップS302で取得した2次元グラフィックス描画処理命令を実行する。そして、2次元グラフィックス描画処理実行部206は、ラスタ画像(ビットマップ画像)を生成する処理を行う。
【0083】
続いて、ステップS1006において、3次元グラフィックス描画部207は、ステップS1005で生成したラスタ画像(ビットマップ画像)を3次元仮想空間に配置し、投影描画処理を行う。その後、図10のフローチャートにおける処理を終了する。
【0084】
ここで、ステップS1003で設定される画質優先モード、及び、ステップS1004で設定される速度優先モードについて説明する。
2次元グラフィックス描画処理では、画質優先モードを設定した場合には、速度優先モードを設定した場合よりもグラフィックスの画質を高品位に描画する一方で、速度優先モードを設定した場合よりもグラフィックスの処理速度が遅くなる。また、速度優先モードを設定した場合には、逆に、画質優先モードを設定した場合よりもグラフィックスの処理速度が速いが、その画質は画質優先モードを設定した場合よりも劣るものとなる。
【0085】
ここでは、一例としてアンチエイリアス処理について、図4に示した円描画処理命令を処理する場合について説明する。
【0086】
通常のグラフィックス処理では、ピクセルよりも細かい単位で描画処理を行うことができないため、輪郭に、いわゆるジャギーが発生する。そのため、描画する図形の輪郭が背景の色と融合するように、境界のピクセルの色を、背景の色との混色の計算を行って決定し、色の勾配を滑らかにする。この処理がアンチエイリアス処理である。
【0087】
このアンチエイリアス処理について、図4の円描画処理命令を例に説明する。
図11は、アンチエイリアス処理の概念について説明した模式図である。
具体的に、図11(a)は、白色のビットマップ画像に対して円描画処理命令をアンチエイリアス処理なしで描画処理した際のピクセルの状態の一部を示した図である。この場合、アンチエイリアス処理が行われないため、図形内のピクセルはもちろんのこと、輪郭のピクセルはすべて黒色に変更される。
【0088】
一方、図11(b)は、白色のビットマップ画像に対して円描画処理命令をアンチエイリアス処理ありで描画処理した際のピクセルの状態の一部を示した図である。この場合、図形内のピクセルは黒色に変更されているが、図形の輪郭上のピクセルは黒色、濃灰色、薄灰色に変更されている。ここで、濃灰色及び薄灰色のピクセルは、背景の白色と図形の黒色の中間色として計算される色である。図11(b)で示した例では、4階調のアンチエイリアス処理となっているが、3階調以上の階調数であれば、いずれであってもよい。
【0089】
アンチエイリアス処理では、図形の色と背景ビットマップ画像の色との中間色を計算しなければならない。そして、アンチエイリアス処理を行う場合には、同じ図形を描画する際にアンチエイリアス処理を行わない場合と比べて、処理速度が遅くなる。一方で、アンチエイリアス処理を行う場合には、アンチエイリアス処理を行わない場合に発生するジャギーが目立たなくなるので、より画質が高くなる。ここで、適用できる2次元グラフィックス描画処理命令として、曲線、線分を組み合わせた任意の図形を描画する図形描画処理命令の他に、アウトラインフォントの描画処理命令がある。
【0090】
そこで、本例では、速度優先モードとして、アンチエイリアス処理なしで図形を描画するアンチエイリアス無効モードとし、画質優先モードとして、アンチエイリアス処理を施しながら図形を描画するアンチエイリアス有効モードを適用する。
【0091】
図4(a)の第1のグラフィックス処理命令401の場合には、ステップS1003においてアンチエイリアス処理有効モードに設定され、ステップS1005においてアンチエイリアス処理有効モードに基づく2次元グラフィックス描画処理が行われる。また、図4(a)の第3のグラフィックス処理命令403の場合には、ステップS1004においてアンチエイリアス処理無効モードに設定され、ステップS1005においてアンチエイリアス処理無効モードに基づく2次元グラフィックス描画処理が行われる。
【0092】
そして、その後、ステップS1006において、当該2次元グラフィックスを3次元仮想空間に配置して、投影し、描画された結果が表示部(モニタ)106に出力され、処理が終了する。
【0093】
なお、本実施形態では、2次元グラフィックス描画処理命令がベクターグラフィックスに係るものであり、画質優先モード及び速度優先モードを、アンチエイリアス処理の有効及び無効で切り替える例について説明したが、この態様に限定されるものではない。本実施形態では、他の2次元グラフィックス描画処理を切り替えるものであっても構わない。
【0094】
ここで、グラフィックス処理命令に含まれる2次元グラフィックス描画処理命令が、拡大、縮小、回転、剪断変形などの2次元アフィン変換処理を施してラスタ画像を描画するラスタグラフィックスに係るものであった場合について説明する。
【0095】
ラスタ画像を生成する際に、2次元アフィン変換処理を施し、リサンプリングの計算をする手法として、ニアレストネイバー法とバイリニア法がよく使用される。ここで、ニアレストネイバー法は、2次元アフィン変換写像の写像先のピクセルから写像元の座標を計算し、最も近いピクセルの値を使用する方法である。また、バイリニア法は、2次元アフィン変換写像の写像先であるピクセルの色を決定する際に、ピクセルから写像元の座標を計算し、求まった座標に近隣の4ピクセルの値を補間する方法である。
【0096】
そして、ニアレストネイバー法は、バイリニア法に比べて、色を決定する計算が単純であるため、処理が高速であるが、ほとんどの場合において画質の面で劣る。よって、本実施形態のグラフィックス処理装置では、画質優先モードとしてバイリニア法を使用した処理を行い、速度優先モードとしてニアレストネイバー法を使用した処理を行うようにしてもよい。
【0097】
また、2次元グラフィックス描画処理命令に色のグラデーションの指定がある場合、グラデーションの中間色の計算を、画質優先モードでは詳細に、速度優先モードでは粗雑に行なうよう構成してもよい。具体的には、画質優先モードでは、True Colorで処理を行い、速度優先モードでは、High Colorで処理を行うように構成してもよい。
【0098】
また、本実施形態では、視認効果として、2次元グラフィックスを配置する平面の法線ベクトルと視線ベクトルとのなす角を算出する構成の例を示したが、他の視認効果の算出方法を用いてもよい。例えば、処理対象とする2次元グラフィックスの、投影面における占める面積を計算し、ステップS1003では、当該面積が予め設定された面積の閾値を超えている場合に、画質優先モードを設定する。そして、この場合、ステップS1005では、当該画質優先モードに基づく描画処理が行われる。また、ステップS1004では、投影面における占める面積が予め設定された面積の閾値以下である場合に、速度優先モードを設定する。そして、この場合、ステップS1005では、当該速度優先モードに基づく描画処理が行われる。
【0099】
また、視認効果の算出方法として、更に、視認効果算出部205に3次元照明効果情報を入力し、視認効果算出部205において、当該3次元照明効果情報に基づく2次元グラフィックスの明度によって視認効果を算出するようにしてもよい。より具体的には、当該3次元照明効果情報に基づく2次元グラフィックスを配置する平面等の明度によって視認効果を算出するようにしてもよい。この場合、ステップS1002において、当該明度が、予め設定されている明度の閾値を超えているか否かによって、画質優先モードで描画処理するか速度優先モードで描画処理するかを判断する。具体的に、算出した明度が閾値を超えている場合には画質優先モードで描画処理を行い、それ以外の場合には速度優先モードで描画処理を行う。
【0100】
また、本実施形態では、画質優先モードと速度優先モードの設定に際して、予め設定された閾値を使用する例を示したが、例えば、本実施形態に係るグラフィックス処理装置の処理負荷から閾値を制御するように構成してもよい。
【0101】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
第3の実施形態に係るグラフィックス処理装置のハードウェア構成は、図1に示す第1の実施形態に係るグラフィックス処理装置のハードウェア構成と同様であるため、その詳細な説明は省略する。
【0102】
図12は、本発明の第3の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。ここで、図12において、図2と同様の機能の構成については、同じ符号を付しており、また、図12に示すグラフィックス処理装置を「グラフィックス処理装置100−3」として説明を行う。
【0103】
図12のグラフィックス処理装置100−3は、図2に示す201〜205、207及び106の機能構成に加えて、更に2次元グラフィックス配置情報処理部1201を有し、また、2次元グラフィックス描画処理実行部1202を具備する。ここで、図12では、図2に示す2次元グラフィックス描画処理実行部206の処理と処理内容が異なるため、2次元グラフィックス描画処理実行部1202と図示している。
【0104】
図12の2次元グラフィックス配置情報処理部1201及び2次元グラフィックス描画処理実行部1202は、例えば、図1に示すCPU101及びROM103或いは外部メモリ104に記憶されたプログラムから構成される。
【0105】
グラフィックス処理命令受信部201は、第1の実施形態と同様に、グラフィックス処理装置100−1に入力された情報に基づきグラフィックス処理命令を受信する処理を行う。
【0106】
2次元グラフィックス描画処理命令取得部202は、第1の実施形態と同様に、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する処理を行う。2次元グラフィックス配置情報取得部203は、第1の実施形態と同様に、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する処理を行う。投影条件取得部204は、第1の実施形態と同様に、グラフィックス処理命令受信部201で受信したグラフィックス処理命令から、投影条件に関する情報を取得する処理を行う。
【0107】
視認効果算出部205は、第1の実施形態と同様に、2次元グラフィックス配置情報取得部203で取得した2次元グラフィックス配置情報と、投影条件取得部204で取得した投影条件に関する情報に基づいて、視認効果を算出する処理を行う。
【0108】
2次元グラフィックス配置情報処理部1201は、視認効果算出部205で算出した視認効果に応じて、2次元グラフィックス配置情報に条件を追加し、条件つき2次元グラフィックス配置情報を生成する。具体的に、2次元グラフィックス配置情報処理部1201は、前記視認効果に応じて、2次元グラフィックス配置情報に係る配置領域を分割して、2次元グラフィックス配置情報に条件を追加し、条件つき2次元グラフィックス配置情報を生成する。
【0109】
2次元グラフィックス描画処理実行部1202は、条件つき2次元グラフィックス配置情報ごとに、2次元グラフィックス描画処理命令取得部202で取得した2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う。
【0110】
3次元グラフィックス描画部207は、2次元グラフィックス描画処理実行部1202で生成したラスタ画像を、2次元グラフィックス配置情報に基づいて3次元仮想空間内に配置し、投影条件に従って描画処理を行う。
【0111】
次に、グラフィックス処理装置100−3によるグラフィックス処理方法の処理手順について説明する。
図13は、本発明の第3の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【0112】
まず、ステップS1301において、グラフィックス処理命令受信部201は、グラフィックス処理装置100−3に入力された情報に基づきグラフィックス処理命令を受信する処理を行う。
【0113】
ここで、本実施形態のグラフィックス処理命令について説明する。
図14は、本発明の第3の実施形態を示し、図12のグラフィックス処理命令受信部201で受信するグラフィックス処理命令1400の一例を示す模式図である。
【0114】
図14(a)には、グラフィックス処理命令1400に含まれる、2次元グラフィックス描画処理命令1410、2次元グラフィックス配置情報1420、及び、投影条件1430が示されている。
【0115】
図14(a)に示す2次元グラフィックス描画処理命令1410は、2次元グラフィックス描画処理命令1411〜1414の円描画処理命令から構成されている。また、図14(a)に示す2次元グラフィックス配置情報1420には、2次元グラフィックス配置曲面、即ち2次元グラフィックスを円柱の側面に貼り付けるようにして配置するための情報が含まれている。また、図14(a)に示す投影条件1430には、視点の条件や投影面の条件、及び、投影方法が定義されている。
【0116】
図14(b)には、2次元グラフィックス描画処理命令に基づく円1401〜1404と2次元グラフィックス描画処理対象ビットマップとXY軸の位置関係が示されている。2次元グラフィックス描画処理対象ビットマップは、はじめ白色であるとし、指定された円柱の側面を展開した大きさの長方形であるものとする。本実施形態の例では、円柱の高さが4、半径が2であるので、高さが4、幅が4πとなる。
【0117】
図14(b)において、円1401は、2次元グラフィックス描画処理命令1411によって描画されるべき図形の位置を示している。同様に、円1402は、2次元グラフィックス描画処理命令1412によって描画されるべき図形の位置を示している。また、円1403は、2次元グラフィックス描画処理命令1413によって描画されるべき図形の位置を示している。また、円1404は、2次元グラフィックス描画処理命令1414によって描画されるべき図形の位置を示している。
【0118】
図14(c)には、2次元グラフィックス配置情報と投影条件の3次元仮想空間における関係が示されている。図14(c)における点P(2.0,2.0,10.0)と点Q(2.0,−2.0,10.0)は、ともに、X=2.0、Z=10.0で表現される直線上の点である。また、図14(b)において、2次元グラフィックス描画処理対象ビットマップに係る長方形の4点をA、B、C、Dとし、辺ADの中点をM、辺BCの中点をNとする。2次元グラフィックス描画処理を行った後、ビットマップ画像が生成される。ここで、2次元グラフィックス配置情報に従ってビットマップ画像を配置するためには、図14(b)の点Mが図14(c)の点Pに一致するようにし、図14(b)の点Nが図14(c)の点Qに一致するようにして、円柱の側面と一致するように配置すればよい。
【0119】
ここで、再び、図13の説明に戻る。
ステップS1301の処理が終了すると、続いて、ステップS1302において、2次元グラフィックス描画処理命令取得部202は、ステップS301で受信したグラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する処理を行う。
【0120】
続いて、ステップS1303において、2次元グラフィックス配置情報取得部203は、ステップS301で受信したグラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する処理を行う。
【0121】
続いて、ステップS1304において、投影条件取得部204は、ステップS301で受信したグラフィックス処理命令から、投影条件に関する情報を取得する処理を行う。
【0122】
続いて、ステップS1305において、視認効果算出部205は、ステップS1303で取得した2次元グラフィックス配置情報と、ステップS1304で取得した投影条件に関する情報に基づいて、視認効果を算出する処理を行う。
【0123】
続いて、ステップS1306において、2次元グラフィックス配置情報処理部1201は、視認効果算出部205で算出した視認効果に応じて、2次元グラフィックス配置情報に条件を追加し、条件つき2次元グラフィックス配置情報を生成する。
【0124】
ここで、ステップS1305の視認効果の算出処理、及び、ステップS1306の条件つき2次元グラフィックス配置情報の生成処理について詳細に説明する。
【0125】
まず、視認効果算出部205は、投影条件から視線ベクトルの単位ベクトルを算出する。ここで、平行投影法において、視線ベクトルは、視点の位置から投影面に向かう、投影面に対して垂直なベクトルである。図14(a)に示す投影条件1430の場合には、ここで算出される視線ベクトルは(0,0,1)となる。また、2次元グラフィックス配置情報で指定されている面の各点は、点における面の法線ベクトルと視線ベクトルとのなす角度(θ)によって、不可視や可視、或いは、視認性良好や視認困難が判別される。
【0126】
ここで、可視と不可視との判別は、例えば、法線ベクトルと視線ベクトルとのなす角度(θ)が90°より大きい場合のみ可視と判定し、それ以外は不可視と判定する。また、可視と判定された場合、更に、視認性良好であるか、或いは、視認困難であるかを判定する。この際、視認性良好であるか困難であるかを判定するために、例えばROM103或いは外部メモリ104に予め格納されている、視認性判定基準角度に係る閾値(φ)を利用する。ここで、本例では、閾値(φ)として角度135°を適用し、法線ベクトルと視線ベクトルとのなす角度(θ)が角度135°よりも大きい場合に視認性良好と判定し、それ以外の場合は視認困難であると判定する。
【0127】
図15は、本発明の第3の実施形態を示し、図13のステップS1305及びステップS1306の処理内容を説明するための模式図である。具体的に、図15には、2次元グラフィックス配置情報の2次元グラフィックス配置曲面及び視線ベクトルとXYZ座標軸の関係をY軸方向から見た様子が示されている。
【0128】
図14(c)に示す円柱は、円柱の軸がY軸と平行なので、円柱の側面上の点の法線ベクトルは、X座標とZ座標のみで表現される。ここで、円柱の側面上の点(x,y,z)における法線ベクトルは(x,0,z−10)である。求めた法線ベクトルと視線ベクトルのなす角度を求めることによって、2次元グラフィックス配置曲面は、図15に示すように、1つの不可視領域1504、2つの視認困難領域1501及び1503、1つの視認性良好領域1502の各領域に分けることができる。そして、ステップS1306の処理では、これらの各領域の条件を2次元グラフィックス配置情報に追加して、条件つき2次元グラフィックス配置情報として生成する。
【0129】
ここで、再び、図13の説明に戻る。
ステップS1306の処理が終了すると、続いて、ステップS1307において、2次元グラフィックス描画処理実行部1202は、条件つき2次元グラフィックス配置情報ごとに、ステップS1302で取得した2次元グラフィックス描画処理命令を実行する。そして、2次元グラフィックス描画処理実行部1202は、ラスタ画像(ビットマップ画像)を生成する処理を行う。
【0130】
ここで、ステップS1307の2次元グラフィックス描画処理を詳細に説明する。
ステップS1307では、ステップS1305及びステップS1306の処理によって分割された2次元グラフィックス配置曲面の各領域の条件に合わせて、2次元グラフィックス描画処理対象ビットマップを分割する。
【0131】
図16は、本発明の第3の実施形態を示し、図13のステップS1307の処理内容を説明するための模式図である。具体的に、図16には、2次元グラフィックス描画処理を行う対象のビットマップを分割した様子が示されている。
【0132】
図16において、点A、B、C、D、M、Nは、図14(b)で用いた記号と同じ意味のものである。点M及び点Nが、それぞれ、円柱の側面上の点P及び点Qに一致するように、円柱の側面に沿って配置されるので、図16において、X>0の領域、即ち四角形MNCDの領域は、不可視領域1504となる。
【0133】
図15において、視認困難領域1501及び1503は、円柱の軸を中心に45°の領域を占めているので、図16において−2π<X<−1.5πの領域と−0.5π<X<0の領域、即ち四角形ABFEと四角形HGNMの領域は視認困難領域となる。そして、残りの−1.5π≦X≦0.5πの領域が、視認性良好領域1502となる。ここで、図16には、図15に対応した、視認困難領域1501及び1503、視認性良好領域1502及び不可視領域1504の一例が示されている。
【0134】
次に、ステップS1307では、図14(a)の2次元グラフィックス描画処理命令1411〜1414がどの領域に含まれるのかを求める処理を行う。
具体的に、2次元グラフィックス描画処理命令1411は、中心(−5.0,0.0)、半径1.0の円を描画する処理命令であるため、その描画領域は、視認困難領域1501に含まれる。また、2次元グラフィックス描画処理命令1412は、中心(−3.5,1.0)、半径1.0の円を描画する処理命令であるため、その描画領域は、視認性良好領域1502に含まれる。また、2次元グラフィックス描画処理命令1413は、中心(−1.5,−1.0)、半径1.0の円を描画する処理命令であるため、その描画領域は、視認性良好領域1502と視認困難領域1503に跨る。また、2次元グラフィックス描画処理命令1414は、中心(2.5,0.0)、半径1.0の円を描画する処理命令であるため、その描画領域は、不可視領域1504に含まれる。
【0135】
次に、ステップS1307では、各2次元グラフィックス描画処理命令を条件つきで実行する処理を行う。
【0136】
図17は、本発明の第3の実施形態を示し、図13のステップS1307における描画処理の詳細な処理の一例を示すフローチャートである。ここで、図17には、1つの2次元グラフィックス描画処理命令を条件つきで実行する処理の流れが示されているが、複数の2次元グラフィックス描画処理命令の処理を行う場合には、当該複数の分だけ、図17に示す処理が繰り返し行われることになる。
【0137】
まず、ステップS1701において、2次元グラフィックス描画処理実行部1202は、2次元グラフィックス描画処理命令による描画領域の全部または一部が(即ち、描画領域の少なくとも一部が)、視認性良好領域に含まれているか否かを判断する。
【0138】
ステップS1701の判断の結果、2次元グラフィックス描画処理命令による描画領域の全部または一部が、視認性良好領域に含まれている場合には、ステップS1702に進む。
【0139】
ステップS1702に進むと、2次元グラフィックス描画処理実行部1202は、2次元グラフィックス描画処理モードを画質優先モードに設定する。
【0140】
一方、ステップS1701の判断の結果、2次元グラフィックス描画処理命令による描画領域の全部または一部が、視認性良好領域に含まれていない場合には、ステップS1703に進む。
【0141】
ステップS1703に進むと、2次元グラフィックス描画処理実行部1202は、2次元グラフィックス描画処理命令による描画領域の全部または一部が(即ち、描画領域の少なくとも一部が)、視認困難領域に含まれているか否かを判断する。
【0142】
ステップS1703の判断の結果、2次元グラフィックス描画処理命令による描画領域の全部または一部が、視認困難領域に含まれている場合には、ステップS1704に進む。
【0143】
ステップS1704に進むと、2次元グラフィックス描画処理実行部1202は、2次元グラフィックス描画処理モードを速度優先モードに設定する。
【0144】
ステップS1702又はS1704の処理が終了すると、ステップS1705に進む。
ステップS1705に進むと、2次元グラフィックス描画処理実行部1202は、設定した2次元グラフィックス描画処理モードに応じてステップS1302で取得した2次元グラフィックス描画処理命令を実行する。そして、2次元グラフィックス描画処理実行部206は、ラスタ画像(ビットマップ画像)を生成する処理を行う。
【0145】
一方、ステップS1703の判断の結果、2次元グラフィックス描画処理命令による描画領域の全部または一部が視認困難領域に含まれていない場合には、描画領域の全部不可視領域に含まれていることになるので、図17の処理を終了する。即ち、この場合、2次元グラフィックス描画処理は行われない。また、ステップS1705の処理が終了した場合には、図17の処理を終了する。
【0146】
そして、上述したステップS1701〜1705の処理を、同じ2次元グラフィックス描画処理対象ビットマップに描画する2次元グラフィックス描画処理命令の分だけ、繰り返し行う。
【0147】
本実施形態では、例えば、画質優先モードとして第2の実施形態で説明したアンチエイリアス有効モードを適用し、速度優先モードとして第2の実施形態で説明したアンチエイリアス無効モードを適用する。この場合、図14(a)に示す2次元グラフィックス描画処理命令1411は、アンチエイリアス無効モードで描画処理される。また、図14(a)に示す2次元グラフィックス描画処理命令1412及び2次元グラフィックス描画処理命令1413は、アンチエイリアス有効モードで描画処理される。また、図14(a)に示す2次元グラフィックス描画処理命令1414は、描画処理されない。その結果、図18に示したような描画処理の結果になる。
【0148】
図18は、本発明の第3の実施形態を示し、図13のステップS1307における描画処理の処理結果の一例を示す模式図である。
図18において、アンチエイリアスなし円1801は、図14(a)に示す2次元グラフィックス描画処理命令1411に基づくものである。また、アンチエイリアスあり円1802及び1803は、それぞれ、図14(a)に示す2次元グラフィックス描画処理命令1412及び1413に基づくものである。
【0149】
ここで、再び、図13の説明に戻る。
ステップS1307の処理が終了すると、ステップS1308に進む。
ステップS1308に進むと、3次元グラフィックス描画部207は、ステップS1307で生成されたラスタ画像(ビットマップ画像)を3次元仮想空間内に配置し、投影条件に従って投影した描画処理を行う。
【0150】
図19は、本発明の第3の実施形態を示し、図13のステップS1308における描画処理の処理結果の一例を示す模式図である。
図14に示すグラフィックス処理命令を処理すると、例えば、図19(a)に示すような3次元グラフィックスが出力される。なお、本実施形態では、平行投影法についてのみ説明したが、透視投影法を用いてもよい。図19(b)は、透視投影法を用いた出力例である。
【0151】
ここで、再び、図13の説明に戻る。
ステップS1308の処理が終了すると、続いて、ステップS1309において、グラフィックス処理装置100−3(例えばグラフィックス処理命令受信部201)は、処理対象のグラフィックス処理命令の処理が終了したか否かを判断する。
【0152】
ステップS1309の判断の結果、処理対象のグラフィックス処理命令の処理が終了していない(未処理のグラフィックス処理命令が存在する)場合には、ステップS1301に戻って、未処理のグラフィックス処理命令に対する処理を行う。
【0153】
一方、ステップS1309の判断の結果、処理対象のグラフィックス処理命令の処理が終了した場合には、図13のフローチャートの処理を終了する。
【0154】
以上の第1〜第3の実施形態によれば、3次元仮想空間内に2次元グラフィックスを配置して描画処理する際に、視認性を低下させることなく処理負荷の低減を実現することができる。特に、2次元グラフィックスが、時間経過とともに変化する場合に、処理負荷の更なる低減を実現することが可能である。
【0155】
なお、上述した第1〜第3の実施形態では、2次元グラフィックス配置情報は、3次元仮想空間内における曲面または平面として与えられる例を示したが、例えば、3次元仮想空間内における曲面または平面の方程式で与えられる形態であってもよい。
【0156】
(本発明の他の実施形態)
前述した本発明の各実施形態に係るグラフィックス処理装置100を構成する図2及び図12の各手段は、コンピュータのCPU(101)が記憶媒体(103或いは104)記憶されているプログラムを実行することによって実現できる。また、グラフィックス処理装置100によるグラフィックス処理方法を示す図3、図7、図10、図13及び図17の各ステップは、コンピュータのCPU(101)が記憶媒体(103或いは104)記憶されているプログラムを実行することによって実現できる。このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【0157】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0158】
なお、本発明は、前述した各実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3、図7、図10、図13及び図17に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0159】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0160】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0161】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0162】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0163】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0164】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0165】
また、コンピュータが、読み出したプログラムを実行することによって、前述した各実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した各実施形態の機能が実現され得る。
【0166】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した各実施形態の機能が実現される。
【0167】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0168】
100:グラフィックス処理装置、201:グラフィックス処理命令受信部、202:2次元グラフィックス描画処理命令取得部、203:2次元グラフィックス配置情報取得部、204:投影条件取得部204、205:視認効果算出部、206:2次元グラフィックス描画処理実行部、207:3次元グラフィックス描画部、106:表示部(モニタ)

【特許請求の範囲】
【請求項1】
入力されたグラフィックス処理命令の処理を行うグラフィックス処理装置であって、
前記グラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する2次元グラフィックス描画処理命令取得手段と、
前記グラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する2次元グラフィックス配置情報取得手段と、
前記グラフィックス処理命令から、投影条件に関する情報を取得する投影条件取得手段と、
前記2次元グラフィックス配置情報および前記投影条件に関する情報に基づいて、前記2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出する視認効果算出手段と、
前記視認効果に応じて前記2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う2次元グラフィックス描画処理実行手段と
を有することを特徴とするグラフィックス処理装置。
【請求項2】
前記視認効果に応じて、前記2次元グラフィックス配置情報に係る配置領域を分割し、条件つき2次元グラフィックス配置情報を生成する2次元グラフィックス配置情報処理手段を更に有し、
前記2次元グラフィックス描画処理実行手段は、前記条件つき2次元グラフィックス配置情報に基づいて前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項3】
前記視認効果算出手段は、前記視認効果として、可視か不可視かを判定するための算出を行うものであり、
前記2次元グラフィックス描画処理実行手段は、前記可視である場合に、前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項4】
前記視認効果算出手段は、前記可視である場合に、視認性が良好か困難かを判定するための算出を更に行うものであり、
前記2次元グラフィックス描画処理実行手段は、前記視認性が良好か困難かに応じて前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項3に記載のグラフィックス処理装置。
【請求項5】
前記2次元グラフィックス配置情報処理手段は、前記視認効果に応じて、可視の条件つき2次元グラフィックス配置情報を生成し、
前記2次元グラフィックス描画処理実行手段は、前記可視の条件つき2次元グラフィックス配置情報に基づいて前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項2に記載のグラフィックス処理装置。
【請求項6】
前記2次元グラフィックス配置情報処理手段は、前記視認効果に応じて、視認性が良好か困難かを示す視認性の条件つき2次元グラフィックス配置情報を生成し、
前記2次元グラフィックス描画処理実行手段は、前記視認性の条件つき2次元グラフィックス配置情報に基づいて前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項2に記載のグラフィックス処理装置。
【請求項7】
前記2次元グラフィックス描画処理実行手段は、前記視認性が良好である場合に、画質優先モードで前記2次元グラフィックス描画処理命令を実行し、前記視認性が困難である場合に、速度優先モードで前記2次元グラフィックス描画処理命令を実行することを特徴とする請求項4または6に記載のグラフィックス処理装置。
【請求項8】
前記2次元グラフィックス描画処理実行手段は、前記2次元グラフィックス描画処理命令がベクターグラフィックスに係るものである場合、前記速度優先モードではアンチエイリアス処理を行わず、前記画質優先モードではアンチエイリアス処理を行うことを特徴とする請求項7に記載のグラフィックス処理装置。
【請求項9】
前記2次元グラフィックス描画処理実行手段は、前記2次元グラフィックス描画処理命令がラスタグラフィックスに係るものである場合、リサンプリングの計算を、前記速度優先モードではニアレストネイバー法を使用し、前記画質優先モードではバイリニア法を使用することを特徴とする請求項7に記載のグラフィックス処理装置。
【請求項10】
前記視認効果算出手段は、入力された3次元照明効果情報に基づく前記2次元グラフィックスの明度によって、前記視認効果を算出することを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項11】
前記2次元グラフィックス配置情報は、前記3次元仮想空間内における曲面または平面として与えられることを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項12】
前記2次元グラフィックス配置情報は、前記3次元仮想空間内における曲面または平面の方程式で与えられることを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項13】
前記投影条件は、投影面の条件と前記視点の条件によって定義され、透視投影法を用いて投影する条件を定めるものであることを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項14】
前記投影条件は、投影面の条件によって定義され、平行投影法を用いて投影する条件を定めるものであることを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項15】
入力されたグラフィックス処理命令の処理を行うグラフィックス処理装置によるグラフィックス処理方法であって、
前記グラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する2次元グラフィックス描画処理命令取得ステップと、
前記グラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する2次元グラフィックス配置情報取得ステップと、
前記グラフィックス処理命令から、投影条件に関する情報を取得する投影条件取得ステップと、
前記2次元グラフィックス配置情報および前記投影条件に関する情報に基づいて、前記2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出する視認効果算出ステップと、
前記視認効果に応じて前記2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う2次元グラフィックス描画処理実行ステップと
を有することを特徴とするグラフィックス処理方法。
【請求項16】
入力されたグラフィックス処理命令の処理を行うグラフィックス処理装置によるグラフィックス処理方法をコンピュータに実行させるためのプログラムであって、
前記グラフィックス処理命令から、2次元グラフィックス描画処理命令を取得する2次元グラフィックス描画処理命令取得ステップと、
前記グラフィックス処理命令から、2次元グラフィックスの配置に係る2次元グラフィックス配置情報を取得する2次元グラフィックス配置情報取得ステップと、
前記グラフィックス処理命令から、投影条件に関する情報を取得する投影条件取得ステップと、
前記2次元グラフィックス配置情報および前記投影条件に関する情報に基づいて、前記2次元グラフィックスを配置する3次元仮想空間内の視点の位置に基づく視認効果を算出する視認効果算出ステップと、
前記視認効果に応じて前記2次元グラフィックス描画処理命令を実行して、ラスタ画像を生成する処理を行う2次元グラフィックス描画処理実行ステップと
をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2010−286906(P2010−286906A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2009−138446(P2009−138446)
【出願日】平成21年6月9日(2009.6.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】