(57)【要約】【課題】２次元グラフィックスグラデーションに関するデータを含む２次元グラフィックスデータを、３次元グラフィックスデータを描画処理する描画処理機能で処理可能にすることを目的とする。【解決手段】２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータに基づいて２次元グラフィックスグラデーションの色基準点の位置情報と２次元グラデーションが適用されるオブジェクトの形状情報とを計算する計算手段と計算手段で計算されたオブジェクトの形状情報に基づいて、オブジェクトを囲む矩形を計算すると共に矩形を分割して生成した複数の３角形を３次元ポリゴンとして各３次元ポリゴンの位置情報と計算手段で計算された色基準点の位置情報とに基づいて各３次元ポリゴンの頂点に該当する色基準点の色を指定することで２次元グラフィックスデータを３次元グラフィックスデータに変換する変換手段とを有する。【選択図】図１
2011022673.tif 000002
【特許請求の範囲】
【請求項１】
２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータに基づいて、２次元グラフィックスグラデーションの色基準点の位置情報と、２次元グラデーションが適用されるオブジェクトの形状情報と、を計算する計算手段と、
前記計算手段で計算された前記オブジェクトの形状情報に基づいて、前記オブジェクトを囲む矩形を計算すると共に、前記矩形を分割して生成した複数の三角形を３次元ポリゴンとして、各３次元ポリゴンの位置情報と、前記計算手段で計算された色基準点の位置情報と、に基づいて、各３次元ポリゴンの頂点に、色基準点の色を指定することで、前記２次元グラフィックスデータを３次元グラフィックスデータに変換する変換手段と、
を有する情報処理装置。
【請求項２】
前記変換手段は、前記計算手段で計算された前記オブジェクトの形状情報に基づいて、変換した３次元グラフィックスデータのうち、グラデーションで描画する領域を設定する、請求項１記載の情報処理装置。
【請求項３】
前記計算手段は、前記２次元グラフィックスグラデーションに関するデータに基づいて、２次元グラフィックスグラデーションの方向を計算すると共に、前記オブジェクトの形状情報に基づき、前記オブジェクトを包含する包含矩形を更に計算し、
前記変換手段は、
前記方向に平行な直線と前記方向に垂直な直線とで構成され、前記包含矩形を囲む矩形を、前記オブジェクトを囲む矩形として計算する矩形計算手段と、
前記方向に垂直で前記色基準点を通る直線を計算する直線計算手段と、
前記矩形計算手段で計算された矩形を前記直線計算手段で計算された直線で分割し、前記分割によって生成された複数の矩形を更に分割して生成した複数の三角形を３次元ポリゴンとする３次元ポリゴン生成手段と、
前記方向と垂直な前記３次元ポリゴンの辺の両端に前記辺が通る色基準点の色を指定する色指定手段と、
を含む、請求項１又は２記載の情報処理装置。
【請求項４】
前記３次元グラフィックスデータを描画する描画処理手段を更に有する、請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータに基づいて、２次元グラフィックスグラデーションの色基準点の位置情報と、２次元グラデーションが適用されるオブジェクトの形状情報と、を計算する計算ステップと、
前記計算ステップで計算された前記オブジェクトの形状情報に基づいて、前記オブジェクトを囲む矩形を計算すると共に、前記矩形を分割して生成した複数の三角形を３次元ポリゴンとして、各３次元ポリゴンの位置情報と、前記計算ステップで計算された色基準点の位置情報と、に基づいて、各３次元ポリゴンの頂点に、色基準点の色を指定することで、前記２次元グラフィックスデータを３次元グラフィックスデータに変換する変換ステップと、
を有する情報処理方法。
【請求項６】
コンピュータを、
２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータに基づいて、２次元グラフィックスグラデーションの色基準点の位置情報と、２次元グラデーションが適用されるオブジェクトの形状情報と、を計算する計算手段と、
前記計算手段で計算された前記オブジェクトの形状情報に基づいて、前記オブジェクトを囲む矩形を計算すると共に、前記矩形を分割して生成した複数の三角形を３次元ポリゴンとして、各３次元ポリゴンの位置情報と、前記計算手段で計算された色基準点の位置情報と、に基づいて、各３次元ポリゴンの頂点に、色基準点の色を指定することで、前記２次元グラフィックスデータを３次元グラフィックスデータに変換する変換手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、一つの装置において、２次元グラフィックスデータと３次元グラフィックスデータとの両方を同時に扱うのは困難だった。このような課題に対し、特許文献１では、一つの装置において、２次元グラフィックスデータと３次元グラフィックスデータとの両方を扱うことができる技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３５３４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、装置が、２次元グラフィックスデータの処理命令と３次元グラフィックスデータの処理命令とを識別して、識別結果によってどちらの描画処理機能を使用するかを切り替えているのみだった。そのため、特許文献１の技術では、例えば、２次元グラフィックスデータを描画処理する描画処理機能がなく、３次元グラフィックスデータを描画処理する描画処理機能のみがあるような装置では、２次元グラフィックスデータを扱うことはできなかった。
また３次元グラフィックスデータを描画処理する描画処理機能をハードウェアとして装置に実装する場合、２次元グラフィックスデータを描画処理する描画処理機能をハードウェアとして装置に実装する場合に比べて高速描画が可能なアクセラレータが充実している。
また、２次元グラフィックスのグラデーションと、３次元グラフィックスのグラデーションとは例えば色の指定方法等が異なり、単純なマッピングが困難な問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、２次元グラフィックスグラデーションに関するデータを含む２次元グラフィックスデータを、３次元グラフィックスデータを描画処理する描画処理機能で処理可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータに基づいて、２次元グラフィックスグラデーションの色基準点の位置情報と、２次元グラデーションが適用されるオブジェクトの形状情報と、を計算する計算手段と、前記計算手段で計算された前記オブジェクトの形状情報に基づいて、前記オブジェクトを囲む矩形を計算すると共に、前記矩形を分割して生成した複数の三角形を３次元ポリゴンとして、各３次元ポリゴンの位置情報と、前記計算手段で計算された色基準点の位置情報と、に基づいて、各３次元ポリゴンの頂点に、色基準点の色を指定することで、前記２次元グラフィックスデータを３次元グラフィックスデータに変換する変換手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、２次元グラフィックスグラデーションに関するデータを含む２次元グラフィックスデータを、３次元グラフィックスデータを描画処理する描画処理機能で処理可能にすることができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置（コンピュータ）の一例であるグラフィックス描画装置の構成の一例を示す図である。
【図２】本実施形態における処理の流れを説明するためのフローチャートである。
【図３】２次元グラフィックスデータの一例を示す図である。
【図４】図３の２次元グラフィックスデータを描画した一例を示す図である。
【図５】図２のＳ２００３の処理の詳細を示したフローチャートである。
【図６】図２のＳ２００５の処理の詳細を示したフローチャートである。
【図７】図２のＳ２００５の処理を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、情報処理装置（コンピュータ）の一例であるグラフィックス描画装置の構成の一例を示す図である。
図１において、グラフィックス描画装置１００は、メモリ１１０、ＣＰＵ１２０を備える。また、グラフィックス描画装置１００は、ディスプレイ２００、入力装置３００と接続されている。
ＣＰＵ１２０は、メモリ１１０に記憶されているプログラムに基づき、処理を実行することによって、図１においてメモリ１１０内に概念的に記載されてある各機能及び後述するフローチャートに係る処理を実現する。
２次元グラフィックス処理命令受付部１１１は、２次元グラフィックス処理命令として２次元グラフィックスデータを受け付ける。
２次元グラフィックス処理命令解析部１１２は、２次元グラフィックス処理命令受付部１１１が受け付けた２次元グラフィックスデータを解析する。
２次元グラフィックスグラデーション解析部１１３は、２次元グラフィックス処理命令解析部１１２の解析結果に基づき、２次元グラフィックスデータに含まれる２次元グラフィックスグラデーションに関するデータを取得する。そして、２次元グラフィックスグラデーション解析部１１３は、取得した２次元グラフィックスグラデーションに関するデータ（２次元グラフィックスグラデーション）を解析する。
３次元グラフィックス処理命令生成部１１４は、２次元グラフィックスグラデーション解析部１１３の解析結果に基づき、３次元グラフィックス処理命令として３次元グラフィックスデータを生成する。
３次元グラフィックス処理命令解析部１１５は、３次元グラフィックス処理命令生成部１１４が生成した３次元グラフィックスデータ、又は外部装置等から３次元グラフィックス処理命令として受け付けた３次元グラフィックスデータを解析する。
３次元グラフィックス描画命令処理部１１６は、３次元グラフィックス処理命令解析部１１５の解析結果に基づき、３次元グラフィックスの描画に係る処理を行う。
出力部１１７は、３次元グラフィックス描画命令処理部１１６の処理結果を最終的にディスプレイ２００等に出力する。
【００１１】
図２は、本実施形態における処理の流れを説明するためのフローチャートである。
Ｓ２００１において、２次元グラフィックス処理命令受付部１１１が２次元グラフィックスデータを受け取る。ここで、図３は、２次元グラフィックスデータの一例を示す図である。図３に示されるように、２次元グラフィックスデータは、ベクトルデータである。図３の例では、２次元グラフィックスデータを、線形グラデーション（２次元グラデーション）に関するデータを含むＳＶＧで示している。
Ｓ２００２において、２次元グラフィックス処理命令解析部１１２は、Ｓ２００１で受け付けられた図３に示されるような２次元グラフィックスデータを解析し、例えば、２次元グラフィックスデータに含まれる線形グラデーションを示すデータを特定する。
Ｓ２００３において、２次元グラフィックスグラデーション解析部１１３は、Ｓ２００２で特定された線形グラデーションを示すデータ（線形グラデーション）を解析する。２次元グラフィックスグラデーション解析部１１３は、線形グラデーションの方向を、ｌｉｎｅａｒＧｒａｄｉｅｎｔ要素のｘ１、ｘ２、ｙ１、ｙ２属性より（８０，１００）を始点、（１８０，２００）を終点とする方向と計算する。また、２次元グラフィックスグラデーション解析部１１３は、線形グラデーションの色を、始点が赤色、終点が青色で、始点から終点までにかけて赤色から青色に変化していくグラデーションと判断する。２次元グラフィックスグラデーション解析部１１３は、ｅｌｌｉｐｓｅ要素のｃｘ、ｃｙ、ｒｘ、ｒｙ属性より（１６０，１２０）を中心とし、ｘ軸半径が１５０、ｙ軸半径が１１０の楕円で囲まれるオブジェクトに対して線形グラデーションを適用すると判断する。２次元グラフィックスグラデーション解析部１１３は、ｌｉｎｅａｒＧｒａｄｉｅｎｔ要素で指定された座標の外側の領域に関しては、図３に示す２次元グラフィックスデータの場合、始点側の外側は始点の色、終点側の外側は終点の色で描画すると判断する。
図３の２次元グラフィックスデータを描画した結果を、図４を用いて表す。図４は、図３の２次元グラフィックスデータを描画した一例を示す図である。図４において、座標系として、ｘ軸とｙ軸とをとっている。図４の楕円内の領域において、点Ａを通り線分ＡＢと垂直な点線から点Ｅよりの領域は赤で塗りつぶされる。また、点Ｂを通り線分ＡＢと垂直な点線から点Ｇよりの領域は青で塗りつぶされる。そして、残りの領域は、点Ａを通り線分ＡＢと垂直な点線から点Ｂを通り線分ＡＢと垂直な点線にかけて、赤から青へ変化していく線形グラデーションで塗りつぶされる。
【００１２】
ここで、Ｓ２００３の処理の詳細を図４と図５とを用いて説明する。図５は、図２のＳ２００３の処理の詳細を示したフローチャートである。
Ｓ３００１において、２次元グラフィックスグラデーション解析部１１３は、線形グラデーションの方向を求める。２次元グラフィックスグラデーション解析部１１３は、上述したように、グラデーションの方向をＡからＢへの方向と求める。
次に、Ｓ３００２において、２次元グラフィックスグラデーション解析部１１３は、線形グラデーションの色基準点の位置情報の一例である座標を求める。図３に示す２次元グラフィックスデータでは、線形グラデーションの色基準は端点にのみ設定されている。したがって、２次元グラフィックスグラデーション解析部１１３は、図４のＡ（８０，１００）とＢ（１８０，２００）とを色基準点の座標として求める。
次に、Ｓ３００３において、２次元グラフィックスグラデーション解析部１１３は、図３に示す２次元グラフィックスデータのｅｌｌｉｐｓｅ要素のｃｘ、ｃｙ、ｒｘ、ｒｙ属性より線形グラデーション対象オブジェクトの形状情報を求める。つまり、２次元グラフィックスグラデーション解析部１１３は、（１６０，１２０）を中心とし、ｘ軸半径が１５０、ｙ軸半径が１１０の楕円のパス情報を、線形グラデーション対象オブジェクトの形状情報として求める。
次に、Ｓ３００４において、２次元グラフィックスグラデーション解析部１１３は、前記形状情報に基づき、線形グラデーション対象オブジェクトの包含矩形（図４の例では四角形ＥＦＧＨ）を求める。
【００１３】
再び図２の説明に戻り、Ｓ２００４において、３次元グラフィックス処理命令生成部１１４は、２次元グラフィックスグラデーション解析部１１３より解析結果（図５に示した処理により計算された情報）を取得する。
Ｓ２００５において、３次元グラフィックス処理命令生成部１１４は、取得した解析結果に基づき、３次元グラフィックスデータを生成する。
【００１４】
ここで、Ｓ２００５の処理の詳細を図６と図７とを用いて説明する。図６は、図２のＳ２００５の処理の詳細を示したフローチャートである。図７は、Ｓ２００５の処理を説明するための図である。図７に示されるように、図７において、座標系として、ｘ軸とｙ軸とをとっている。図４の線分ＡＢ、四角形ＥＦＧＨと、図７の線分ＡＢ、四角形ＥＦＧＨと、はそれぞれ一致する。
３次元グラフィックス処理命令生成部１１４は、取得した解析結果より、線形グラデーション対象オブジェクトの包含矩形（図７の例では四角形ＥＦＧＨ）を取得する。
次に、Ｓ４００２において、３次元グラフィックス処理命令生成部１１４は、取得した解析結果に含まれる線形グラデーションの方向等に基づき、前記方向と平行・垂直な直線で構成され前記包含矩形を囲む矩形を生成する（矩形計算）。より具体的に説明すると、３次元グラフィックス処理命令生成部１１４は、まず線形グラデーションの方向の傾きを求める。点Ａが（８０，１００）、点Ｂが（１８０，２００）なので、３次元グラフィックス処理命令生成部１１４は、傾きを１と求める。傾きが正の値かｙ軸に平行な場合、３次元グラフィックス処理命令生成部１１４は、前記包含矩形の４頂点のうち、ｘ座標とｙ座標とが共に最大の点、又は、ｘ座標とｙ座標とが共に最小の点を通り、前記傾きと垂直な２つの直線を生成する。続いて、３次元グラフィックス処理命令生成部１１４は、残りの２頂点を通り、前記傾きと平行な直線を生成する。一方、傾きが負の値の場合、３次元グラフィックス処理命令生成部１１４は、前記包含矩形の４頂点のうち、ｘ座標とｙ座標とが共に最大の点、又は、ｘ座標とｙ座標とが共に最小の点を通り、前記傾きと平行な２つの直線を生成する。続いて、３次元グラフィックス処理命令生成部１１４は、残りの２頂点を通り、前記傾きと垂直な直線を生成する。本実施形態の例では、傾きは１で正の値なので、３次元グラフィックス処理命令生成部１１４は、ｘ座標とｙ座標とが共に最大の点Ｇ、ｘ座標とｙ座標とが共に最小の点Ｅを通り、前記傾きである直線ＡＢと垂直な直線を生成する。続いて、３次元グラフィックス処理命令生成部１１４は、残りの２頂点である点Ｆ、点Ｈを通り、直線ＡＢと平行な直線を生成する。このようにして得られる矩形は四角形ＰＳＴＷとなる。
【００１５】
更に、Ｓ４００３において、３次元グラフィックス処理命令生成部１１４は、線形グラデーション方向と垂直とで線形グラデーションの色基準点を通る直線を生成する（直線計算）。図７では、線形グラデーションの色基準点はＡとＢとであるため、３次元グラフィックス処理命令生成部１１４が求める直線は直線ＱＶと直線ＲＵとになる。ここまでの処理で、四角形ＰＳＴＷは、四角形ＰＱＶＷ、ＱＲＵＶ、ＲＷＴＵに分割される。
Ｓ４００４において、３次元グラフィックス処理命令生成部１１４は、分割して求めた各矩形（四角形）のそれぞれに対角線を引いて分割し、生成した複数の三角形を３次元ポリゴンとする（３次元ポリゴン生成）。図７の例では、この処理で生成される三角形ポリゴンは、三角形ＰＷＶ、三角形ＰＱＶ、三角形ＱＶＵ、三角形ＱＲＵ、三角形ＲＵＴ、三角形ＲＳＴとなる。
続いて、Ｓ４００５において、３次元グラフィックス処理命令生成部１１４は、線形グラデーション方向と垂直な３次元ポリゴンの辺の両端に、その辺が通る色基準点の色を指定する（色指定）。三角形ＰＷＶと三角形ＰＱＶとの各頂点は、全て線形グラデーションの始点の外側にあるため、３次元グラフィックス処理命令生成部１１４は、始点の色である赤を指定する。三角形ＱＶＵは、直線ＱＶが線形グラデーションの始点を通るため、３次元グラフィックス処理命令生成部１１４は、ＱとＶとに始点の基準色である赤を指定する。三角形ＱＲＵは、直線ＲＵが線形グラデーションの終点を通るため、３次元グラフィックス処理命令生成部１１４は、ＲとＵとに終点の基準色である青を指定する。三角形ＲＵＴと三角形ＲＳＴとの各頂点は、全て線形グラデーションの終点の外側にあるため、３次元グラフィックス処理命令生成部１１４は、終点の色である青を指定する。
Ｓ４００６において、３次元グラフィックス処理命令生成部１１４は、取得した解析結果に含まれる線形グラデーション対象オブジェクトの形状情報に基づき、ステンシルバッファを設定する。ステンシルバッファとは、描画処理の際に実際に描画するか否かを決定するマスクの役割を果たすものである。ステンシルバッファを設定せずに、Ｓ４００１〜Ｓ４００５の処理で生成された３次元グラフィックスデータを描画すると四角形ＰＳＴＷ全体が描画されてしまう。実際に描画したいのは楕円の内部のみであるから、３次元グラフィックス処理命令生成部１１４は、楕円の形状をステンシルバッファとして設定する。
以上の処理により、３次元グラフィックスの描画に必要な３次元グラフィックスデータの情報が生成される。
【００１６】
再び図２の説明に戻り、Ｓ２００６において、３次元グラフィックス処理命令解析部１１５は、Ｓ２００５で生成された３次元グラフィックスデータを解析する。そして、Ｓ２００７において、３次元グラフィックス描画命令処理部１１６が、Ｓ２００６で解析された結果に基づき、３次元グラフィックスデータを描画する処理を実行する。最終的に、Ｓ２００７において、出力部１１７がデータを出力する処理を実行する。
以上の処理によって、グラフィックス描画装置１００は、線形グラデーションに関するデータを含む２次元グラフィックスデータを、描画結果を維持したまま３次元グラフィックスデータに置き換えて、３次元グラフィックス描画処理系で描画することが可能となる。
なお本実施形態ではグラフィックス描画装置１００は、線形グラデーション適用対象オブジェクトの包含矩形を囲み、線形グラデーションと平行、垂直な直線で囲まれる矩形内で３次元ポリゴンを生成したが、他の方法で３次元ポリゴンを生成するようにしてもよい。
また、本実施形態ではグラフィックス描画装置１００は、線形グラデーションの色基準点を通るように３次元ポリゴンを生成したが、他の方法で３次元ポリゴンを生成するようにしてもよい。例えば、グラフィックス描画装置１００は、線形グラデーションの色基準点から、色基準点間における任意の点の色を解析して求め、その点を通るように３次元ポリゴンを生成するようにしてもよい。
【００１７】
＜実施形態２＞
実施形態１では、３次元グラフィックス処理命令解析部１１５や、３次元グラフィックス描画命令処理部１１６をソフトウェアとして説明したが、これらはグラフィックス描画装置１００に実装されたハードウェアであってもよい。
発明が解決しようとする課題に記載したように、３次元グラフィックスデータの描画処理に係るハードウェアの場合、２次元グラフィックスデータの描画処理に係るハードウェアに比べて高速描画が可能なハードウェアのアクセラレータが充実している。そのため、本実施形態によれば、グラフィックス描画装置１００は、２次元グラフィックスデータを、実施形態１に示したように、３次元グラフィックスデータに変換する。そして、グラフィックス描画装置１００は、変換により生成した３次元グラフィックスデータを前記アクセラレータ及び３次元グラフィックスデータの描画処理に係るハードウェア（上述した１１５や１１６）を用いて、高速に描画することができる。
つまり、本実施形態によれば、２次元グラフィックスの描画処理に係るハードウェアを実装することなく、３次元グラフィックスの描画処理に係るハードウェアを実装するだけで、２次元グラフィックスデータの高速な描画処理に対応することができる。
【００１８】
＜その他の実施形態＞
なお、本発明は、上述した実施形態の機能を、装置の中央演算処理手段（ＣＰＵ）が、ソフトウェアのプログラムコードを記憶媒体から読み出して実行することで実現することができる。更に、読み出したプログラムコードの指示に基づき、オペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行うことで上述した実施形態の機能が実現される場合も上述した実施形態に含まれる。
【００１９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2011022673.tif 000003
【図２】
2011022673.tif 000004
【図３】
2011022673.tif 000005
【図４】
2011022673.tif 000006
【図５】
2011022673.tif 000007
【図６】
2011022673.tif 000008
【図７】
2011022673.tif 000009