説明

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

【課題】二次元グラフィックスで表現された擬似三次元効果に基づくオブジェクトを、誤認させること無く描画する仕組みを提供する。
【解決手段】擬似三次元効果判別部202では、二次元グラフィックス描画処理命令受信部201で受信した二次元グラフィックス描画処理命令に擬似三次元効果が含まれているか否かを判別し、三次元オブジェクト描画処理命令生成部203では、擬似三次元効果判別部202で擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成し、三次元オブジェクト描画処理命令実行部204では、三次元オブジェクト描画処理命令生成部203で生成された三次元オブジェクト描画処理命令を実行し、三次元オブジェクトを三次元仮想空間内に配置してレンダリング処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、二次元グラフィックス描画処理命令の処理を行うグラフィックス処理装置及びグラフィックス処理方法、並びに、当該グラフィックス処理方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【0002】
従来から、限られた面積の画面内に、できる限り多くのウィンドウを表示するために、ウィンドウを三次元仮想空間内に配置して表示する方法がある。例えば、下記の特許文献1には、三次元仮想空間内で、ウィンドウを奥行き方向に傾け、透視投影させることにより、ウィンドウの収納効率を高め、表示内容の判別も可能とする技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平11−65806号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、ウィンドウに配置されているユーザインタフェース部品は、二次元グラフィックスで表現されているが、色の濃淡などを用いて三次元オブジェクトのように凹凸を擬似表現する擬似三次元効果を利用することが多い。そして、ユーザは、この濃淡により、ウィンドウと正対しながらユーザインタフェース部品の状態、即ち当該部品が押されているかどうかなどを認識している。また、濃淡は、一般に、正対しているときに合わせてデザインされている。
【0005】
しかしながら、従来の方法では、このような二次元グラフィックスがウィンドウ内に描画されたものを三次元仮想空間に配置すると、その濃淡によって、逆に凹凸の状態を誤認する可能性があるという問題点があった。
【0006】
本発明は、このような問題点に鑑みてなされたものであり、二次元グラフィックスで表現された擬似三次元効果に基づくオブジェクトを、誤認させること無く描画する仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明のグラフィックス処理装置は、二次元グラフィックス描画処理命令の処理を行うグラフィックス処理装置であって、前記二次元グラフィックス描画処理命令を受信する受信手段と、前記受信手段で受信した二次元グラフィックス描画処理命令に、三次元オブジェクトを擬似表現する擬似三次元効果が含まれているか否かを判別する判別手段と、前記判別手段において二次元グラフィックス描画処理命令に前記擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成する生成手段と、前記生成手段で生成された三次元オブジェクト描画処理命令を実行し、三次元オブジェクトを三次元仮想空間内に配置してレンダリング処理を行う三次元オブジェクト描画処理命令実行手段とを有する。
また、本発明は、上述したグラフィックス処理装置によるグラフィックス処理方法、及び、当該グラフィックス処理方法をコンピュータに実行させるためのプログラムを含む。
【発明の効果】
【0008】
本発明によれば、二次元グラフィックスで表現された擬似三次元効果に基づくオブジェクトを、誤認させること無く描画することができる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施形態に係るグラフィックス処理装置のハードウェア構成の一例を示すブロック図である。
【図2】本発明の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。
【図3】本発明の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【図4】本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図である。
【図5】本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果を三次元オブジェクトに変換する方法の一例を示す模式図である。
【図6】本発明の実施形態を示し、二次元グラフィックス描画処理命令と三次元仮想空間配置情報との関係の一例を示す模式図である。
【図7】本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令が、三次元仮想空間配置情報によって配置される様子の一例を示す模式図である。
【図8】本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。
【図9】本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図である。
【図10】本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。
【図11】本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図である。
【図12】本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。
【図13】本発明の実施形態を示し、ドロップシャドウ効果を含む二次元グラフィックス描画処理命令の処理方法の一例を示す模式図である。
【発明を実施するための形態】
【0010】
以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
【0011】
図1は、本発明の実施形態に係るグラフィックス処理装置のハードウェア構成の一例を示すブロック図である。
【0012】
図1のグラフィックス処理装置100は、CPU101、RAM102、ROM103、外部メモリ104、入力デバイス105、表示部106、通信インタフェース(通信I/F)107、及び、バス108のハードウェア構成を有して構成されている。
【0013】
CPU101は、例えば、ROM103或いは外部メモリ104に記憶されたプログラムやデータを用いて、グラフィックス処理装置100全体の制御を行う。
【0014】
RAM102は、SDRAM、DRAMなどによって構成され、ROM103或いは外部メモリ104からロードされたプログラムやデータを一時的に記憶するエリアを備えるとともに、CPU101が各種の処理を行うために必要とするワークエリアを備える。
【0015】
ROM103は、変更を必要としないプログラムや各種のパラメータ等の情報などを格納している。
【0016】
外部メモリ104は、例えば、オペレーティングシステム(OS)やCPUが実行するプログラム、更には本実施形態の説明において既知としている情報などを記憶している。
【0017】
入力デバイス105は、例えば、マウスやキーボード等を具備して構成されており、ユーザがグラフィックス処理装置100に対して各種の指示を行う際に操作され、当該指示をCPU101等に入力する。
【0018】
表示部106は、例えば、モニタ等を具備して構成されており、CPU101の制御に基づいて、前記プログラムによって描画された表示画面をモニタに出力する。
【0019】
通信I/F107は、グラフィックス処理装置100と外部装置との間で行われる各種の情報やデータの送受信を司るものである。
【0020】
バス108は、CPU101、RAM102、ROM103、外部メモリ104、入力デバイス105、表示部106及び通信I/F107を相互に通信可能に接続する。
【0021】
次に、グラフィックス処理装置100の機能構成について説明する。
図2は、本発明の実施形態に係るグラフィックス処理装置の機能構成の一例を示すブロック図である。ここで、図2において、図1と同様の機能の構成については、同じ符号を付している。
【0022】
図2のグラフィックス処理装置100は、二次元グラフィックス描画処理命令受信部201、擬似三次元効果判別部202、三次元オブジェクト描画処理命令生成部203、三次元オブジェクト描画処理命令実行部204の機能構成を有して構成されている。さらに、図2のグラフィックス処理装置100は、二次元グラフィックス描画処理命令実行部205、グラフィックス合成部206、表示部(モニタ)106の機能構成を有して構成されている。
【0023】
図2の二次元グラフィックス描画処理命令受信部201は、例えば、図1に示すCPU101及びROM103或いは外部メモリ104に記憶されたプログラム、並びに、入力デバイス105或いは通信I/F107から構成される。また、図2の202〜206は、例えば、図1に示すCPU101及びROM103或いは外部メモリ104に記憶されたプログラムから構成される。
【0024】
このグラフィックス処理装置100は、二次元グラフィックス描画処理命令群、及び、投影条件・三次元仮想空間配置情報を入力とし、グラフィックス処理の結果を表示部106に出力するものである。ここで、二次元グラフィックス描画処理命令群、及び、投影条件・三次元仮想空間配置情報は、例えば、入力デバイス105或いは通信I/F107を介して入力される情報である。
【0025】
二次元グラフィックス描画処理命令受信部201は、グラフィックス処理装置100に入力された、複数の二次元グラフィックス描画処理命令からなる二次元グラフィックス描画処理命令群を受信して取得する処理を行う。
【0026】
擬似三次元効果判別部202は、二次元グラフィックス描画処理命令受信部201で取得した二次元グラフィックス描画処理命令群の各二次元グラフィックス描画処理命令ごとに、擬似三次元効果が含まれているか否かを判別する処理を行う。ここで、擬似三次元効果は、二次元グラフィックスで表現されているが、例えば色の濃淡などを用いて三次元オブジェクトのように擬似表現するものをいう。本実施形態においては、擬似三次元効果として、例えば、ベベル効果、エンボス効果及びドロップシャドウ効果のいずれかを用いることが好適である。
【0027】
三次元オブジェクト描画処理命令生成部203は、擬似三次元効果判別部202において二次元グラフィックス描画処理命令に擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成する。
【0028】
三次元オブジェクト描画処理命令実行部204は、入力された投影条件と三次元仮想空間配置情報に基づいて、三次元オブジェクト描画処理命令生成部203で生成された三次元オブジェクト描画処理命令を実行する描画処理を行う。より詳細に、三次元オブジェクト描画処理命令実行部204は、三次元オブジェクトを三次元仮想空間内に配置して、レンダリング処理(具体的には、三次元グラフィックスの描画処理)を行う。
【0029】
二次元グラフィックス描画処理命令実行部205は、擬似三次元効果判別部202において二次元グラフィックス描画処理命令に擬似三次元効果が含まれていないと判別された場合に、当該二次元グラフィックス描画処理命令を実行する描画処理を行う。具体的に、二次元グラフィックス描画処理命令実行部205は、入力された投影条件と三次元仮想空間配置情報に基づいて、当該二次元グラフィックス描画処理命令を実行して、例えばビットマップを生成する処理を行う。
【0030】
グラフィックス合成部206は、投影条件に基づいて、二次元グラフィックス描画処理命令実行部205による二次元グラフィックス描画処理結果と三次元オブジェクト描画処理命令実行部204による三次元オブジェクト描画処理結果を合成する合成処理を行う。例えば、グラフィックス合成部206は、投影条件に基づいて、二次元グラフィックス描画処理結果と三次元オブジェクト描画処理結果とを、三次元仮想空間内に配置し平面に投影して、合成処理を行う。そして、グラフィックス合成部206は、合成処理結果を表示部(モニタ)106に表示出力する。
【0031】
次に、グラフィックス処理装置100によるグラフィックス処理方法の処理手順について説明する。
図3は、本発明の実施形態に係るグラフィックス処理装置によるグラフィックス処理方法の処理手順の一例を示すフローチャートである。
【0032】
まず、ステップS301において、二次元グラフィックス描画処理命令受信部201は、複数の二次元グラフィックス描画処理命令からなる二次元グラフィックス描画処理命令群を取得する処理を行う。
【0033】
続いて、ステップS302において、擬似三次元効果判別部202は、ステップS301で受信した二次元グラフィックス描画処理命令群のうちの1つの二次元グラフィックス描画処理命令について、擬似三次元効果が含まれているか否かを判断する。
【0034】
ここで、擬似三次元効果が含まれている二次元グラフィックス描画処理命令について説明する。本実施形態では、二次元グラフィックス描画処理命令は、ベクトルグラフィックス描画処理命令であり、ここでは、矩形状に擬似三次元効果として上向きベベル効果を付加したものであるとする。
【0035】
図4は、本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図である。ここで、図4には、擬似三次元効果として、上向きベベル効果の例が示されている。
【0036】
図4(a)に示したように、矩形の二次元グラフィックス描画処理命令は、輪郭と塗りつぶしを行うものである。また、上向きベベル効果は、図形の輪郭に対してハイライトと影を付けて、浮き彫りのような立体感を与え、錐台のように表現する効果である。矩形の二次元グラフィックス描画処理命令において上向きベベル効果を付加して描画処理を行うと、図4(b)に示す描画処理結果となる。
【0037】
ここで、上向きベベル効果の処理方法について説明する。
図4において、矩形ABCDを縮小し、中心が一致し、矩形ABCDの描画色と一致するような矩形EFGH(図4(b))を生成する。ここで、描画色は、RGBカラーモデルで表現するものとし、ここでは、RGBのそれぞれを50%に設定した灰色であるとする。また、縮小率は、上向きベベル効果のパラメータで指定されるものであり、ここでは80%とする。また、図4(b)に示す、AE、BF、CG、DHを線分で結ぶことによって、4つの台形が生成される。そして、4つの台形のうち、台形ABFE及び台形DAEHを、ハイライト領域として矩形EFGHの描画色よりも明るい色に設定、ここでは、RGBのそれぞれを75%とした明るい灰色に設定する。また、台形BCGF及び台形CDHGを、陰領域として矩形EFGHの描画色よりも暗い色に設定、ここでは、RGBのそれぞれを25%とした暗めの灰色に設定する。
【0038】
以上により、二次元グラフィックス処理において、矩形描画処理に対する擬似三次元効果として、上向きベベル効果が実現される。
【0039】
ここで、再び、図3の説明に戻る。
ステップS302の判断の結果、ステップS301で受信し、処理対象の二次元グラフィックス描画処理命令に擬似三次元効果が含まれている場合には、ステップS303に進む。
【0040】
ステップS303に進むと、三次元オブジェクト描画処理命令生成部203は、三次元オブジェクト描画処理命令を生成する処理を行う。上向きベベル効果は、前述したように、錐台を二次元グラフィックスで表現する効果であり、ここでは、錐台を三次元オブジェクトとして表現する。この三次元オブジェクトとして錐台を生成する方法について、以下に説明する。
【0041】
図5は、本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果を三次元オブジェクトに変換する方法の一例を示す模式図である。ここで、図5には、擬似三次元効果として、上向きベベル効果の例が示されている。
【0042】
まず、図5に示XYZ直交三次元空間に、図4(a)に示したものと同じ矩形ABCDをXY平面上に配置する。次に、図4(b)に示したものと同様に、矩形ABCDを縮小した矩形EFGHを、中心が矩形ABCDの中心とX座標及びY座標が一致するように、Z=z0となる平面に配置する。ここで、z0は、z0>0を満たす実数であり、矩形ABCDの各辺の長さに比べて小さくなるような値が望ましい。そして、線分AE、線分BF、線分CG、線分DHを結ぶことにより、三次元オブジェクトとしての錐台が生成される。
【0043】
図5(a)は、錐台を斜めから見て平行投影させた図である。また、図5(b)は、同じ錐台をZ軸の正方向から見た平面図である。また、図5(c)は、同じ錐台をY軸の負方向から見た正面図である。以上のように、錐台を構成する面を決定したので、その決定された面を描画する三次元オブジェクト描画処理命令を生成することで、図3のステップS303の処理が行われる。
【0044】
ここで、再び、図3の説明に戻る。
ステップS303の処理が終了すると、ステップS304に進む。
ステップS304に進むと、三次元オブジェクト描画処理命令実行部204は、入力された投影条件と三次元仮想空間配置情報に基づいて、三次元オブジェクト描画処理命令生成部203で生成された三次元オブジェクト描画処理命令を実行する描画処理を行う。ここで、三次元仮想空間配置情報は、二次元グラフィックスを配置する三次元仮想空間内の平面に関する情報であり、本実施形態では、XY平面を始域とした写像として、三次元アフィン変換行列で表現される。
【0045】
図6は、本発明の実施形態を示し、二次元グラフィックス描画処理命令と三次元仮想空間配置情報との関係の一例を示す模式図である。具体的に、図6には、XY平面上の矩形PQRSが、三次元アフィン変換によって三次元仮想空間内に配置され、矩形P'Q'R'S'に写像されることが示されている。
【0046】
図6の矩形PQRSは、PがY軸上に、RがX軸上に、Qが原点Oと一致する位置にある。この図6に示す写像の例では、矩形PQRSを、Y軸周りに回転させ、X軸の正方向、Z軸の負方向に平行移動させて、PがP'に、QがQ'、RがR'、SがS'にそれぞれ写像されている。また、投影条件は、視点の位置、投影面、投影法によって決定される条件であり、ここでは視点の位置をZ軸上の正方向の点、投影面をXY平面であるとし、透視投影法を使用することにする。
【0047】
そして、ステップS304では、以上のように表現された三次元仮想空間内配置情報と投影条件に基づき、ステップ303で生成した三次元オブジェクト描画処理命令を実行する。ここでは、具体的に、ステップ303で生成された三次元オブジェクトを前述した写像に従って、Y軸周りに回転、X軸の正方向、Z軸の負方向に平行移動して配置して描画処理を実行する。そして、三次元オブジェクト描画処理命令実行部204は、三次元オブジェクト描画処理命令の描画処理結果を、グラフィックス合成部206に出力する。
【0048】
図7は、本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令が、三次元仮想空間配置情報によって配置される様子の一例を示す模式図である。
具体的に、図7(a)に、上述した写像により配置された処理結果の一例を示し、図7(b)に、投影条件により実際に描画された結果の一例を示す。
【0049】
ここで、再び、図3の説明に戻る。
ステップS302の判断の結果、ステップS301で受信し、処理対象の二次元グラフィックス描画処理命令に擬似三次元効果が含まれていない場合には、ステップS305に進む。
【0050】
ステップS305に進むと、三次元オブジェクトは生成せずに、二次元グラフィックス描画処理命令実行部205は、入力された投影条件と三次元仮想空間配置情報に基づいて、二次元グラフィックス描画処理命令を実行する描画処理を行う。具体的に、ステップS305では、二次元グラフィックスを三次元仮想空間に配置して描画する処理が行われる。以下に、ステップS305の詳細な処理例について説明する。
【0051】
まず、二次元グラフィックス描画処理命令実行部205は、二次元グラフィックス描画処理命令を実行して、その結果を二次元のピクセルデータとして取得する。次に、二次元グラフィックス描画処理命令実行部205は、三次元仮想空間内の二次元グラフィックスを配置するべき位置に矩形のオブジェクトを配置する。ここで、矩形の位置は、前述の通り、入力された三次元仮想空間配置情報によって決定される。次に、二次元グラフィックス描画処理命令実行部205は、その矩形の三次元オブジェクトに対して、テクスチャとして二次元ピクセルデータを貼り付けるテクスチャマッピング処理を行う。以上の処理によって、二次元グラフィックス描画処理命令実行部205は、三次元仮想空間内への二次元グラフィックスの描画処理を完了する。その後、二次元グラフィックス描画処理命令実行部205は、二次元グラフィックス描画処理命令の描画処理結果を、グラフィックス合成部206に出力する。
【0052】
ステップS304又はS305の処理が終了すると、グラフィックス合成部206は、ステップS304又はS305で処理された描画処理結果を保持する。
そして、ステップS306において、グラフィックス合成部206は、擬似三次元効果判別部202と通信を行ってステップS301で取得した二次元グラフィックス描画処理命令群の全ての二次元グラフィックス描画処理命令の処理を終了したか否かを判断する。
【0053】
ステップS306の判断の結果、ステップS301で取得した二次元グラフィックス描画処理命令群の全ての二次元グラフィックス描画処理命令の処理については、未だ終了していない場合には、ステップS302に戻る。そして、未処理の二次元グラフィックス描画処理命令を処理対象として、ステップS302以降の処理を再度行う。
【0054】
一方、ステップS306の判断の結果、ステップS301で取得した二次元グラフィックス描画処理命令群の全ての二次元グラフィックス描画処理命令の処理を終了した場合には、ステップS307に進む。
【0055】
ステップS307に進むと、グラフィックス合成部206は、ステップS301で取得した二次元グラフィックス描画処理命令群の全ての二次元グラフィックス描画処理命令に基づく描画処理結果について、グラフィックス合成処理を行う。
【0056】
続いて、ステップS308において、グラフィックス合成部206は、ステップS307でグラフィックス合成処理を行った処理結果を、表示部(モニタ)106に表示する処理を行う。その後、図3に示すフローチャートにおける処理が終了する。
【0057】
次に、擬似三次元効果を含む二次元グラフィックスと、擬似三次元効果を含まない二次元グラフィックスとが混在するグラフィックスについて、本実施形態を適用した場合について説明する。
【0058】
この場合、グラフィックス合成部206は、ステップS307において、三次元グラフィックス描画処理結果と二次元グラフィックス描画処理結果を合成する処理を行うことになる。この際の合成処理は、例えば、Zオーダー法を用いて、視点に近い方のオブジェクトが可視状態になるようにして行われる。即ち、グラフィックス合成部206による合成処理は、三次元仮想空間内に配置された複数のオブジェクトを隠面処理して行われる。
【0059】
図8は、本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。具体的に、図8には、擬似三次元効果として上向きベベル効果を含む二次元グラフィックスと、擬似三次元効果を含まない二次元グラフィックスとが混在したグラフィックスの一例が示されている。
【0060】
図8(a)において、グラフィックスは、背景801と、擬似三次元効果なし二次元グラフィックス802と、上向きベベル効果つき二次元グラフィックス803から構成されている。これらを三次元仮想空間に配置して描画する場合、背景801及び擬似三次元効果なし二次元グラフィックス802は、同一平面上に描画される。また、上向きベベル効果つき二次元グラフィックス803は、三次元グラフィックスオブジェクトに置き換えられる。その結果、図8(b)に示すように、背景801、擬似三次元効果なし二次元グラフィックス802及び三次元グラフィックス804を合成した描画結果が生成される。
【0061】
ここでは、擬似三次元効果として上向きベベル効果について説明したが、他の擬似三次元効果を適用することも可能であり、例えば、下向きベベル効果を適用してもよい。ここで、下向きベベル効果は、正対した二次元グラフィックスが、奥行き方向に凹んで見えるように処理する効果のことである。
【0062】
ここで、二次元グラフィックス描画処理命令が、二次元ベクトルグラフィックスであり、下向きベベル効果を含む矩形描画命令の処理例について説明する。
【0063】
図9は、本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図であり、具体的に、図9には、擬似三次元効果として、下向きベベル効果の例が示されている。
【0064】
図9(a)に示したように、矩形の二次元グラフィックス描画処理命令は、輪郭と塗りつぶしを行うものである。また、下向きベベル効果は、図形の輪郭に対してハイライトと影を付けることで実現している。矩形の二次元グラフィックス描画処理命令において下向きベベル効果を付加して描画処理を行うと、図9(b)に示す描画処理結果となる。
【0065】
ここで、下向きベベル効果の処理方法について説明する。
図9において、矩形ABCDを縮小し、中心が一致し、矩形ABCDの描画色と一致するような矩形EFGH(図9(b))を生成する。ここで、描画色は、RGBカラーモデルで表現するものとし、ここでは、RGBのそれぞれを50%に設定した灰色であるとする。また、縮小率は、下向きベベル効果のパラメータで指定されるものであり、ここでは80%とする。また、図9(b)に示す、AE、BF、CG、DHを線分で結ぶことによって、4つの台形が生成される。そして、4つの台形のうち、台形ABFE及び台形DAEHを、陰領域として矩形EFGHの描画色よりも暗い色に設定、ここでは、RGBのそれぞれを25%とした暗めの灰色に設定する。また、台形BCGF及び台形CDHGを、ハイライト領域として矩形EFGHの描画色より明るい色に設定、ここでは、RGBのそれぞれを75%とした明るい灰色に設定する。
【0066】
以上により、二次元グラフィックス処理において、矩形描画処理に対する擬似三次元効果として、下向きベベル効果が実現される。
【0067】
図10は、本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。具体的に、図10には、擬似三次元効果として下向きベベル効果を含む二次元グラフィックスと、擬似三次元効果を含まない二次元グラフィックスとが混在したグラフィックスの一例が示されている。
【0068】
図10(a)において、グラフィックスは、背景1001と、擬似三次元効果なし二次元グラフィックス1002と、下向きベベル効果つき二次元グラフィックス1003から構成されている。これらを三次元仮想空間に配置して描画する場合、背景1001及び擬似三次元効果なし二次元グラフィックス1002は、同一平面上に描画される。また、下向きベベル効果つき二次元グラフィックス1003は、三次元グラフィックスオブジェクトに置き換えられる。その結果、図10(b)に示すように、背景1001、擬似三次元効果なし二次元グラフィックス1002及び三次元グラフィックス1004を合成した描画結果が生成される。
【0069】
また、擬似三次元効果として、ドロップシャドウ効果を適用することも可能である。ここで、ドロップシャドウ効果は、正対した二次元グラフィックスの背面に、同じ形状で黒色のオブジェクトを上下左右に微量にずらして配置することにより、二次元グラフィックスが手前に浮き上がって見える効果のことである。
【0070】
ここで、二次元グラフィックス描画処理命令が、二次元ベクトルグラフィックスであり、ドロップシャドウ効果を含む矩形描画処理命令の処理例について説明する。
【0071】
図11は、本発明の実施形態を示し、二次元グラフィックス描画処理命令に係る擬似三次元効果の一例を示す模式図であり、具体的に、図11には、擬似三次元効果としてドロップシャドウ効果の例が示されている。
【0072】
図11(a)に示したように、矩形の二次元グラフィックス描画処理命令は、輪郭と塗りつぶしを行うものである。また、ドロップシャドウ効果は、同じ大きさの矩形を黒色の影として背面に描画して配置することで実現している。矩形の二次元グラフィックス描画処理命令においてドロップシャドウ効果を付加して描画処理を行うと、図11(b)に示す描画処理結果となる。
【0073】
ここで、ドロップシャドウ効果の処理方法について説明する。
図11において、矩形ABCDを描画する二次元グラフィックス描画処理命令がドロップシャドウ効果を含んでいる場合、まず、矩形ABCDと同じ形状で黒色の図形をXY軸方向にずらして描画する。これが影の部分になる。ここで、XY軸のずれの大きさは、任意であるが、描画処理を行う図形の大きさに比べて小さい値であることが望ましい。そして、その上に本来描画する矩形の描画処理を行う。なお、黒色の影については、輪郭がはっきりしていると、強い光線が当たっている効果が得られ、輪郭がぼけていると弱い光や環境光を含んだ効果が得られる。
【0074】
以上により、二次元グラフィックス処理において、矩形描画処理に対する擬似三次元効果として、ドロップシャドウ効果が実現される。
【0075】
図12は、本発明の実施形態を示し、擬似三次元効果を含む二次元グラフィックス描画処理命令と擬似三次元効果を含まない二次元グラフィックス描画処理命令とを含む二次元グラフィックス描画処理命令群の描画処理結果の一例を示す模式図である。具体的に、図12には、擬似三次元効果としてドロップシャドウ効果を含む二次元グラフィックスと、擬似三次元効果を含まない二次元グラフィックスとが混在したグラフィックスの一例が示されている。
【0076】
図12(a)において、グラフィックスは、背景1201と、擬似三次元効果なし二次元グラフィックス1202と、ドロップシャドウ効果つき二次元グラフィックス1203から構成されている。これらを三次元仮想空間に配置して描画する場合、背景1201及び擬似三次元効果なし二次元グラフィックス1202は、同一平面上に描画される。また、ドロップシャドウ効果つき二次元グラフィックス1203は、背景1201及び擬似三次元効果なし二次元グラフィックス1202が描画された平面と平行な平面上に配置される。
【0077】
図13は、本発明の実施形態を示し、ドロップシャドウ効果を含む二次元グラフィックス描画処理命令の処理方法の一例を示す模式図である。具体的に、図13は、図12に示す、背景1201、擬似三次元効果なし二次元グラフィックス1202及びドロップシャドウ効果つき二次元グラフィックス1203を三次元仮想空間に配置する方法についてY軸の正方向から見た図である。
【0078】
擬似三次元効果のない二次元グラフィックス(例えば、図12の1201及び1202)は、図13の面Qに対して描画される。この面Qは、投影面と一致しており、ここでは、XY平面とも一致している。また、ドロップシャドウ効果つき二次元グラフィックス1203は、矩形描画処理命令が図13の面Pに対して、図13(b)の浮き上がり矩形1205として描画され、また、影1204の描画処理が面Qに対して行われる。ここで、面Pは、面Qと平行であり、Z軸方向に(−d)平行移動した面である。また、dは、0より大きい任意の実数であり、二次元グラフィックスと比較して小さな値であることが望ましい。
【0079】
図12(b)の浮き上がり矩形1205の描画処理は、Z軸方向に(−d)平行移動して処理される。次に、入力された三次元仮想空間配置情報に従って、面P及び面Qを変換処理し、それぞれ、面P'及び面Q'の位置に移動させる。したがって、背景1201、擬似三次元効果なし二次元グラフィックス1202及び影1204は、面Q'に移動し、浮き上がり矩形1205は、面P'に移動する。その結果を投影すると、図12(b)に示す出力結果が得られる。
【0080】
なお、本実施形態では、二次元グラフィックス描画処理命令受信部201で受信し入力する二次元グラフィックス描画処理命令として、二次元ベクトルグラフィックス描画処理命令の例を示したが、本発明においては、これに限定されるものではない。例えば、二次元グラフィックス描画処理命令として、構造化文書で表現されるものを適用することもできる。また、例えば、二次元グラフィックス描画処理命令として、XML(eXtensible Markup Language)やユーザインタフェース記述言語で表現されるものを適用することもできる。また、例えば、二次元グラフィックス描画処理命令として、二次元ベクトルグラフィックスを記述する記述言語であるSVG(Scalable Vector Graphics)で表現されるものを適用することもできる。また、例えば、二次元グラフィックス描画処理命令として、画像データとそれに対する加工方法が記述されている画像フォーマット自体であってもよい。また、例えば、二次元グラフィックス描画処理命令として、ラスタ画像データと当該ラスタ画像データに対する擬似三次元効果を組み合わせた画像データであっても構わない。この際、ラスタ画像データの形式は、ここでは特に限定されない。また、ラスタ画像データから擬似三次元効果を抽出して用いても構わない。
【0081】
また、グラフィックス合成部206では、二次元グラフィックス描画処理命令実行部205で生成されたビットマップを透視変形したものと、三次元オブジェクト描画処理命令実行部204で三次元オブジェクト描画処理命令を実行して平面に投影した結果とを重ねて、合成処理を行うようにしてもよい。
【0082】
上述した例では、擬似三次元効果として、ベベル効果やドロップシャドウ効果について図面を用いて説明を行ったが、例えば、エンボス効果を用いることも可能である。
【0083】
以上、本実施形態のグラフィックス処理装置によれば、二次元グラフィックスで表現された擬似三次元効果に基づくオブジェクトを、正対表示させた時の認識とその表示が整合するようにすることができ、ユーザに誤認させること無く描画することができる。また、ウィンドウ内のユーザインタフェースに適用すれば、三次元仮想空間にウィンドウが配置された場合でも、ユーザインタフェースの状態をユーザが正確に認識することが可能になる。
【0084】
(本発明の他の実施形態)
前述した本発明の実施形態に係るグラフィックス処理装置を構成する図2の各手段(201〜206)は、コンピュータのCPU(101)が記憶媒体(ROM103或いは外部メモリ104)に記憶されているプログラムを実行することによって実現できる。また、同様に、前述したグラフィックス処理方法を示す図3の各ステップは、コンピュータのCPU(101)が記憶媒体(ROM103或いは外部メモリ104)に記憶されているプログラムを実行することによって実現できる。このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【0085】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0086】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図3に示すフローチャートに対応したプログラム)を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0087】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0088】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0089】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0090】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0091】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0092】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0093】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0094】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0095】
なお、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0096】
100 グラフィックス処理装置、106 表示部(モニタ)、201 二次元グラフィックス描画処理命令受信部、202 擬似三次元効果判別部、203 三次元オブジェクト描画処理命令生成部、204 三次元オブジェクト描画処理命令実行部、205 二次元グラフィックス描画処理命令実行部、206 グラフィックス合成部

【特許請求の範囲】
【請求項1】
二次元グラフィックス描画処理命令の処理を行うグラフィックス処理装置であって、
前記二次元グラフィックス描画処理命令を受信する受信手段と、
前記受信手段で受信した二次元グラフィックス描画処理命令に、三次元オブジェクトを擬似表現する擬似三次元効果が含まれているか否かを判別する判別手段と、
前記判別手段において二次元グラフィックス描画処理命令に前記擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成する生成手段と、
前記生成手段で生成された三次元オブジェクト描画処理命令を実行し、三次元オブジェクトを三次元仮想空間内に配置してレンダリング処理を行う三次元オブジェクト描画処理命令実行手段と
を有することを特徴とするグラフィックス処理装置。
【請求項2】
前記三次元オブジェクト描画処理命令実行手段は、入力された投影条件と三次元仮想空間配置情報に基づいて、前記レンダリング処理を行うことを特徴とする請求項1に記載のグラフィックス処理装置。
【請求項3】
前記受信手段は、複数の前記二次元グラフィックス描画処理命令からなる二次元グラフィックス描画処理命令群を受信するものであり、
前記判別手段は、前記受信手段で受信した二次元グラフィックス描画処理命令群の各二次元グラフィックス描画処理命令に、前記擬似三次元効果が含まれているか否かを判別するものであり、
前記判別手段において二次元グラフィックス描画処理命令に前記擬似三次元効果が含まれていないと判別された場合に、当該二次元グラフィックス描画処理命令を実行する二次元グラフィックス描画処理命令実行手段と、
前記三次元オブジェクト描画処理命令実行手段による三次元オブジェクト描画処理結果と、前記二次元グラフィックス描画処理命令実行手段による二次元グラフィックス描画処理結果とを合成する合成処理を行う合成手段と
を更に有することを特徴とする請求項1又は2に記載のグラフィックス処理装置。
【請求項4】
前記二次元グラフィックス描画処理命令実行手段は、前記二次元グラフィックス描画処理命令を実行してビットマップを生成することを特徴とする請求項3に記載のグラフィックス処理装置。
【請求項5】
前記合成手段は、前記三次元オブジェクト描画処理命令実行手段による三次元オブジェクト描画処理結果と、前記二次元グラフィックス描画処理命令実行手段による二次元グラフィックス描画処理結果とを、三次元仮想空間内に配置し平面に投影して、前記合成処理を行うことを特徴とする請求項3又は4に記載のグラフィックス処理装置。
【請求項6】
前記合成手段は、前記三次元仮想空間内に配置された複数のオブジェクトを、隠面処理を行って前記合成処理を行うことを特徴とする請求項5に記載のグラフィックス処理装置。
【請求項7】
前記合成手段は、前記二次元グラフィックス描画処理命令実行手段で生成されたビットマップを透視変形したものと、前記三次元オブジェクト描画処理命令実行手段で前記三次元オブジェクト描画処理命令を実行して平面に投影した結果とを重ねて、前記合成処理を行うことを特徴とする請求項4に記載のグラフィックス処理装置。
【請求項8】
前記擬似三次元効果は、ベベル効果、エンボス効果およびドロップシャドウ効果のうちのいずれかであることを特徴とする請求項1乃至7のいずれか1項に記載のグラフィックス処理装置。
【請求項9】
前記二次元グラフィックス描画処理命令は、構造化文書で表現されるものであることを特徴とする請求項1乃至8のいずれか1項に記載のグラフィックス処理装置。
【請求項10】
前記二次元グラフィックス描画処理命令は、XMLで表現されるものであることを特徴とする請求項1乃至8のいずれか1項に記載のグラフィックス処理装置。
【請求項11】
前記二次元グラフィックス描画処理命令は、SVGで表現されるものであることを特徴とする請求項1乃至8のいずれか1項に記載のグラフィックス処理装置。
【請求項12】
前記二次元グラフィックス描画処理命令は、ユーザインタフェース記述言語で表現されるものであることを特徴とする請求項1乃至8のいずれか1項に記載のグラフィックス処理装置。
【請求項13】
前記二次元グラフィックス描画処理命令は、画像データとそれに対する加工方法が記述されている画像フォーマット自体であることを特徴とする請求項1乃至8のいずれか1項に記載のグラフィックス処理装置。
【請求項14】
二次元グラフィックス描画処理命令の処理を行うグラフィックス処理装置によるグラフィックス処理方法であって、
前記二次元グラフィックス描画処理命令を受信する受信ステップと、
前記受信ステップで受信した二次元グラフィックス描画処理命令に、三次元オブジェクトを擬似表現する擬似三次元効果が含まれているか否かを判別する判別ステップと、
前記判別ステップにおいて二次元グラフィックス描画処理命令に前記擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成する生成ステップと、
前記生成ステップで生成された三次元オブジェクト描画処理命令を実行し、三次元オブジェクトを三次元仮想空間内に配置してレンダリング処理を行う三次元オブジェクト描画処理命令実行ステップと
を有することを特徴とするグラフィックス処理方法。
【請求項15】
二次元グラフィックス描画処理命令の処理を行うグラフィックス処理装置によるグラフィックス処理方法をコンピュータに実行させるためのプログラムであって、
前記二次元グラフィックス描画処理命令を受信する受信ステップと、
前記受信ステップで受信した二次元グラフィックス描画処理命令に、三次元オブジェクトを擬似表現する擬似三次元効果が含まれているか否かを判別する判別ステップと、
前記判別ステップにおいて二次元グラフィックス描画処理命令に前記擬似三次元効果が含まれていると判別された場合に、当該擬似三次元効果に基づく三次元オブジェクト描画処理命令を生成する生成ステップと、
前記生成ステップで生成された三次元オブジェクト描画処理命令を実行し、三次元オブジェクトを三次元仮想空間内に配置してレンダリング処理を行う三次元オブジェクト描画処理命令実行ステップと
をコンピュータに実行させるためのプログラム。

【図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


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