(57)【特許請求の範囲】
【請求項１】
テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、
前記第１のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換手段と、
前記第２のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成手段と、
前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピング手段と
を備えることを特徴とするグラフィックス描画装置。
【請求項２】
前記ポリゴンデータと前記第１のベクターデータとに基づいて、前記第１のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成し前記ベクターデータ変換手段に入力する仮想平板生成手段を備え、
前記ベクターデータ変換手段は、前記スケーリング係数とともに前記仮想平板データに基づいてスケーリングする
ことを特徴とする請求項１記載のグラフィックス描画装置。
【請求項３】
前記スケーリング係数決定手段は、矩形状であり且つ対向する１組の第１の辺の長さがＬｘであり且つ他の１組の第２の辺の長さがＬｙの前記ポリゴンを表す前記ポリゴンデータに基づいて、前記スケーリング係数を構成する、前記ポリゴンの前記第１の辺に沿った方向に対応する第１のスケーリング係数ｓｃｘおよび前記第２の辺に沿った方向に対応する第２のスケーリング係数ｓｃｙを
【数１】
0005432258.tif 000049
【数２】
0005432258.tif 000050
の関係式が成立するように決定し、
前記仮想平板生成手段は、前記ポリゴンデータと前記第１のベクターデータとに基づいて、矩形状であり且つ対向する１組の第３の辺の長さがＬｐｌａｔｅｘ、他の１組の第４の辺の長さがＬｐｌａｔｅｙであるとともに、前記第１のベクターデータが表す前記ベクター画像を包含する前記仮想平板を表す仮想平板データを生成し、
前記ベクターデータ変換手段は、前記第１のスケーリング係数および前記第２のスケーリング係数とともに前記仮想平板データに基づいて、前記仮想平板の前記第３の辺に沿った方向への第１の拡大縮小率ｓｃａｌｅｘを
【数３】
0005432258.tif 000051
とし、前記仮想平板の前記第４の辺に沿った方向への第２の拡大縮小率ｓｃａｌｅｙを
【数４】
0005432258.tif 000052
としてスケーリングを行う
ことを特徴とする請求項２記載のグラフィックス描画装置。
【請求項４】
前記第１の辺の長さをＬｘ、前記第２の辺の長さをＬｙとし、
前記第１のベクターデータが表すベクター画像を包含する矩形状のバウンディングボックスの対向する１組の辺の長さをＶＢｘ、他の１組の辺の長さをＶＢｙとすると、
前記第３の辺の長さＬｐｌａｔｅｘおよび前記第４の辺の長さＬｐｌａｔｅｙは、
【数５】
0005432258.tif 000053
【数６】
0005432258.tif 000054
のうち少なくとも一方の関係式が成立し、且つ、
【数７】
0005432258.tif 000055
の関係式が成立する
ことを特徴とする請求項３記載のグラフフィックス描画装置。
【請求項５】
前記ポリゴンデータに基づいて前記ポリゴンを包含する矩形状のバウンディングボックスを生成するバウンディングボックス生成手段を備える
ことを特徴とする請求項３記載のグラフィックス描画装置。
【請求項６】
前記ポリゴンを包含する矩形状のバウンディングボックスの対向する１組の辺の長さをＰＢｘ、他の１組の辺の長さをＰＢｙとすると、
前記第３の辺の長さＬｐｌａｔｅｘおよび前記第４の辺の長さＬｐｌａｔｅｙは、
【数８】
0005432258.tif 000056
【数９】
0005432258.tif 000057
のうち少なくとも一方の関係式が成立し、且つ、
【数１０】
0005432258.tif 000058
の関係式が成立する
ことを特徴とする請求項５記載のグラフフィックス描画装置。
【請求項７】
前記仮想平板は、前記ベクター画像を包含する矩形状のバウンディングボックスを複数含む
ことを特徴とする請求項３記載のグラフィックス描画装置。
【請求項８】
入力される前記ポリゴンデータを処理し且つ前記スケーリング係数決定手段を含む３次元画像処理手段と、
入力される前記第１のベクターデータを処理し且つ前記ベクターデータ変換手段を含む２次元画像処理手段と、
前記３次元画像処理手段に入力される前記ポリゴンデータの数と前記２次元画像処理手段に入力される前記第１のベクターデータの数とを監視するデータ数監視手段と、
前記データ数監視手段から入力される前記ポリゴンデータおよび前記ベクターデータそれぞれの数に基づき前記ベクターデータ変換手段が行う処理を３次元画像処理手段が行うように設定する処理方法設定手段と
を備えることを特徴とする請求項１記載のグラフィックス描画装置。
【請求項９】
コンピュータにより実現させるグラフィックス描画方法であって、
テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
前記第１のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換ステップと、
前記第２のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
を含むことを特徴とするグラフィックス描画方法。
【請求項１０】
グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムであって、前記グラフィックス描画処理は、
テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
前記第１のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するべクターデータ変換ステップと、
前記第２のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
を含むことを特徴とするグラフィックス描画プログラム。
【請求項１１】
グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムを記録した記録媒体であって、前記グラフィックス描画処理は、
テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
前記第１のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換ステップと、
前記第２のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
を含むことを特徴とするグラフィックス描画プログラムを記録した記録媒体。
【請求項１２】
テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、
前記第１のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換手段と、
前記第２のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成手段と、
前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピング手段と
を備えることを特徴とするグラフィックス描画用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポリゴンデータとベクターデータとを使用したグラフィックス描画の技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータのＯＳ向けに開発されたグラフィカルユーザーインターフェース（以下、「ＧＵＩ」と称す。）は、今やデジタルテレビや携帯電話などにも搭載されており、広く普及している。
【０００３】
また、近年では、特許文献１に示すように３次元画像を表示するＧＵＩ（以下、「３Ｄ−ＧＵＩ」と称す。）も多く見られるようになってきている。
特許文献１に記載された３Ｄ−ＧＵＩは、図３４に示すように、立方体ＣＢを画面に表示するとともに、アイコンＩＣ１や文字ＩＣ２などにより構成されるメニュー画面（ウィンドウまたはワークスペースとも言う。）ＭＥＮＵを立方体ＣＢの各面（ポリゴン）ＰＧに貼り付けた形で表示する。
【０００４】
この類の３Ｄ−ＧＵＩには、例えば、図３５に示すように、複数の立方体ＣＢ１,ＣＢ２,・・・,ＣＢ７を表示し、その中からユーザが選択した立方体ＣＢ１を拡大して表示し、他の立方体ＣＢ２，ＣＢ３，・・・，ＣＢ７は選択した立方体ＣＢ１の周囲に縮小して表示するものが考えられている。
【０００５】
ところで、このような３Ｄ−ＧＵＩは、一般的にメニュー画面の文字フォント等をベクターデータ（アウトラインデータ）として保持するグラフィックス描画装置を使用する。
従来から多く用いられているこの類のグラフィックス描画装置は、凡そ以下のフローで処理を行う。
【０００６】
まず、ベクターデータからある適当な大きさの文字テクスチャを生成し（図３６のＰＧ１）、次に、当該文字テクスチャをポリゴンＰＧの大きさに合わせてスケーリングし（図３６のＰＧ２，ＰＧ３）、その後、スケーリングされた文字テクスチャをポリゴンＰＧにマッピングする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許第５６７８０１５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来のグラフィックス描画装置では、例えば、立方体ＣＢ１，ＣＢ２，・・・，ＣＢ７が縮小されると、文字テクスチャがマッピングされたポリゴンＰＧも縮小され、図３６のＰＧ３に示すように文字テクスチャがつぶれて可読性を失ってしまうことがあった。一方、立方体ＣＢ１，ＣＢ２，・・・，ＣＢ７が拡大されると、文字テクスチャがマッピングされたポリゴンＰＧも拡大され、図３６のＰＧ２に示すように、文字の輪郭部分に現れるエイリアシングが発生することがあった。つまり、ポリゴンＰＧを含む３次元画像の拡大、縮小に伴い、当該３次元画像の品質が劣化するおそれがあった。
【０００９】
本発明は、上記事由に鑑みてなされたものであり、高品質の３次元画像を表示できるグラフィックス描画装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係るグラフィックス描画装置は、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第１のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、第１のベクターデータをスケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換手段と、第２のベクターデータに基づいてテクスチャを生成するテクスチャ生成手段と、テクスチャをポリゴンにマッピングするテクスチャマッピング手段とを備える。
【発明の効果】
【００１１】
本構成によれば、第１のベクターデータをスケーリング係数に基づいてスケーリングを行い、その後に、第１のベクターデータをスケーリングしてなる第２のベクターデータを用いて生成されたテクスチャをポリゴンにマッピングするので、テクスチャのスケーリングに伴う文字テクスチャのつぶれやエイリアシングの発生を抑制することができるから、高品質の３次元画像の表示が可能となる。
【００１２】
また、本発明に係るグラフィックス描画装置は、ポリゴンデータと第１のベクターデータとに基づいて、第１のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成しベクターデータ変換手段に入力する仮想平板生成手段を備え、ベクターデータ変換手段が、スケーリング係数とともに仮想平板データに基づいてスケーリングするものであってもよい。
【００１３】
本構成によれば、ベクターデータ変換手段が、スケーリング係数とともに仮想平板データに基づいてスケーリングすることにより、ベクターデータに対して最適なスケーリングを行うことができるので、より高品質の３次元画像の表示が可能となる。
【００１４】
また、本発明に係るグラフィックス描画装置は、スケーリング係数決定手段が、矩形状であり且つ対向する１組の第１の辺の長さがＬｘであり且つ他の１組の第２の辺の長さがＬｙのポリゴンを表すポリゴンデータに基づいて、スケーリング係数を構成する、ポリゴンの第１の辺に沿った方向に対応する第１のスケーリング係数ｓｃｘおよび第２の辺に沿った方向に対応する第２のスケーリング係数ｓｃｙを
【００１５】
【数１】
0005432258.tif 000002
【００１６】
【数２】
0005432258.tif 000003
の関係式が成立するように決定し、仮想平板生成手段が、ポリゴンデータと第１のベクターデータとに基づいて、矩形状であり且つ対向する１組の第３の辺の長さがＬｐｌａｔｅｘ、他の１組の第４の辺の長さがＬｐｌａｔｅｙであるとともに、第１のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成し、ベクターデータ変換手段が、第１のスケーリング係数および第２のスケーリング係数とともに仮想平板データに基づいて、仮想平板の第３の辺に沿った方向への第１の拡大縮小率ｓｃａｌｅｘを
【００１７】
【数３】
0005432258.tif 000004
とし、仮想平板の第４の辺に沿った方向への第２の拡大縮小率ｓｃａｌｅｙを
【００１８】
【数４】
0005432258.tif 000005
としてスケーリングを行うものであってもよい。
【００１９】
本構成によれば、仮想平板をポリゴンの形状と完全に一致するようにスケーリングを行うことができるので、より高品質の３次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、第１の辺の長さをＬｘ、第２の辺の長さをＬｙとし、第１のベクターデータが表すベクター画像を包含する矩形状のバウンディングボックスの対向する１組の辺の長さをＶＢｘ、他の１組の辺の長さをＶＢｙとすると、第３の辺の長さＬｐｌａｔｅｘおよび前記第４の辺の長さＬｐｌａｔｅｙが、
【００２０】
【数５】
0005432258.tif 000006
【００２１】
【数６】
0005432258.tif 000007
のうち少なくとも一方の関係式が成立し、且つ、
【００２２】
【数７】
0005432258.tif 000008
の関係式が成立するものであってもよい。
【００２３】
本構成によれば、ベクター画像を包含する矩形状のバウンディングボックスを包含する仮想平板の形状が、ポリゴンの相似形となるので、ポリゴンへのマッピングにより最適なスケーリングを行うことができるから、より高品質の３次元画像の表示が可能となる。
【００２４】
また、本発明に係るグラフィックス描画装置は、ポリゴンデータに基づいてポリゴンを包含する矩形状のバウンディングボックスを生成するバウンディングボックス生成手段を備えるものであってもよい。
【００２５】
本構成によれば、ポリゴンが矩形状でない場合であっても、ポリゴンへのマッピングに最適なスケーリングをベクターデータに対して行うことができるので、高品質な３次元画像の表示が可能となる。
【００２６】
また、本発明に係るグラフィックス描画装置は、ポリゴンを包含する矩形状のバウンディングボックスの対向する１組の辺の長さをＰＢｘ、他の１組の辺の長さをＰＢｙとすると、
第３の辺の長さＬｐｌａｔｅｘおよび第４の辺の長さＬｐｌａｔｅｙは、
【００２７】
【数８】
0005432258.tif 000009
【００２８】
【数９】
0005432258.tif 000010
のうち少なくとも一方の関係式が成立し、且つ、
【００２９】
【数１０】
0005432258.tif 000011
の関係式が成立するものであってもよい。
【００３０】
本構成によれば、仮想平板の形状が、ポリゴンを包含するバウンディングボックスの相似形となるので、ポリゴンへのマッピングにより最適なスケーリングを行うことができるから、より高品質の３次元画像の表示が可能となる。
【００３１】
また、本発明に係るグラフィックス描画装置は、ベクター画像を包含する矩形状のバウンディングボックスを複数含むものであってもよい。
本構成によれば、複数のベクターデータに対して一括してスケーリング処理を行うことができるので、処理効率の向上を図ることができる。
【００３２】
また、本発明に係るグラフィックス描画装置は、入力されるポリゴンデータを処理し且つスケーリング係数決定手段を含む３次元画像処理手段と、入力される第１のベクターデータを処理し且つベクターデータ変換手段を含む２次元画像処理手段と、３次元画像処理手段に入力されるポリゴンデータの数と２次元画像処理手段に入力されるベクターデータの数とを監視するデータ数監視手段と、データ数監視手段から入力されるポリゴンデータおよび第１のベクターデータそれぞれの数に基づきベクターデータ変換手段が行う処理を３次元画像処理手段が行うように設定する処理方法設定手段とを備えるものであってもよい。
【００３３】
本構成によれば、処理方法設定手段が、３次元画像処理装置の処理負荷の状況と２次元処理装置の処理負荷の状況とに応じて、ベクターデータ変換手段が行う処理を３次元処理装置および２次元処理装置間で分担させるので、処理能力の向上を図ることができる。
【００３４】
また、本発明に係るグラフィックス描画装置は、コンピュータにより実現させるグラフィックス描画方法であって、ポリゴンを表すポリゴンデータに基づいて第１のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第１のベクターデータをスケーリング係数に基づいてスケーリングすることにより第２のベクターデータを生成するベクターデータ変換ステップと、第２のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画方法あってもよい。
【００３５】
また、本発明に係るグラフィックス描画装置は、グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムであって、グラフィックス描画処理が、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第１のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第１のベクターデータをスケーリング係数に基づいてスケーリングすることにより第２のベクターデータに変換するべクターデータ変換ステップと、第２のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画プログラムであってもよい。
【００３６】
また、本発明に係るグラフィックス描画装置は、グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムを記録した記録媒体であって、グラフィックス描画処理が、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第１のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第１のベクターデータをスケーリング係数に基づいてスケーリングすることにより第２のベクターデータに変換するベクターデータ変換ステップと、第２のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画プログラムを記録した記録媒体であってもよい。
【００３７】
また、本発明に係るグラフィックス描画装置は、テクスチャをマッピングするポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第１のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定手段と、第１のベクターデータをスケーリング係数に基づいてスケーリングすることにより第２のベクターデータに変換するベクターデータ変換手段と、第２のベクターデータに基づいてテクスチャを生成するテクスチャ生成手段と、テクスチャをポリゴンにマッピングするテクスチャマッピング手段とを備えるグラフィックス描画用集積回路であってもよい。
【００３８】
本構成によれば、小型化を図ることができる。
【図面の簡単な説明】
【００３９】
【図１】実施の形態１で使用するポリゴンの平面図である。
【図２】実施の形態１で使用するポリゴンデータの説明図である。
【図３】実施の形態１で使用するベクターデータの説明図である。
【図４】実施の形態１で使用するベクターデータの説明図である。
【図５】実施の形態１のグラフィックス描画装置の構成図である。
【図６】実施の形態１におけるモデルビュー変換を説明するための図である。
【図７】実施の形態１における投影変換を説明するための図である。
【図８】実施の形態１におけるビューポート変換を説明するための図である。
【図９】実施の形態１におけるスケーリング値テーブルの概念図である。
【図１０】実施の形態１におけるポリゴンへのテクスチャマッピングを説明する図である。
【図１１】実施の形態１に係るグラフィックス描画装置の動作のフローチャートである。
【図１２】実施の形態１におけるスケーリング係数算出処理のフローチャートである。
【図１３】実施の形態１に係るグラフィックス描画装置の動作のフローチャートである。
【図１４】実施の形態１におけるスケーリング係数決定処理のフローチャートである。
【図１５】実施の形態１におけるスケーリング係数決定処理のフローチャートである。
【図１６】実施の形態２に係るグラフィックス描画装置の構成図である。
【図１７】実施の形態２で使用する仮想平板データの説明図である。
【図１８】実施の形態２に係るグラフィックス描画装置の動作のフローチャートである。
【図１９】実施の形態２における仮想平板生成処理のフローチャートである。
【図２０】実施の形態２の仮想平板生成処理の説明図である。
【図２１】実施の形態３で使用するポリゴンデータの説明図である。
【図２２】実施の形態３で使用するバウンディングボックスデータの説明図である。
【図２３】実施の形態３に係るグラフィックス描画装置の構成図である。
【図２４】実施の形態３におけるテクスチャのマッピングを説明する図である。
【図２５】実施の形態３に係るグラフィックス描画装置の動作のフローチャートである。
【図２６】実施の形態３におけるバウンディングボックス算出のフローチャートである。
【図２７】実施の形態４に係るグラフィックス描画装置の構成図である。
【図２８】実施の形態４に係るグラフィックス描画装置の動作のフローチャートである。
【図２９】実施の形態４で使用するベクターデータの説明図である。
【図３０】実施の形態４で使用する仮想平板データの説明図である。
【図３１】実施の形態４に係るグラフィックス描画装置の動作のフローチャートである。
【図３２】変形例に係るグラフィクス描画装置の動作説明図である。
【図３３】変形例に係るグラフィクス描画装置の動作説明図である。
【図３４】従来例の概略説明図である。
【図３５】他の従来例の概略説明図である。
【図３６】他の従来例の概略説明図である。
【発明を実施するための形態】
【００４０】
＜実施の形態１＞
＜１＞データ
＜１−１＞ポリゴンデータ
本実施の形態では、図１に示すように、テクスチャをマッピングするオブジェクト（以下、ポリゴンと称す。）ＰＧの形状を表すポリゴンデータＰＤ１（図２参照）を用いる。
【００４１】
ポリゴンデータＰＤ１は、図１に示すように２次元座標系（以下、「モデル座標系」と称す。）における４つの点を表す座標データＰｉ（ｉ＝０，１，２，３）で構成される。座標データＰｉ（ｉ＝０，１，２，３）は、Ｘ成分およびＹ成分からなり、図１に示すように、４つの点ｐ（Ｐ０（ｘ０，ｙ０）），ｐ（Ｐ１（ｘ１，ｙ０）），ｐ（Ｐ２（ｘ１，ｙ１）），ｐ（Ｐ４（ｘ０，ｙ１））を表す。この場合、ポリゴンデータＰＤ１は、図１のハッチング部分で表されるような矩形状のポリゴンＰＧを表す。
【００４２】
また、ポリゴンデータＰＤ１には、ポリゴンＰＧの色を決めるカラー値（例えば、１６進数で表されたカラー値）に関する属性情報ＢＤ１およびレンダリングに必要となるポリゴンＰＧを含む平面の法線ベクトルＮ（図１参照）に関する属性情報ＢＤ２が含まれる。
【００４３】
なお、図２に示すポリゴンデータＰＤ２、ＰＤ３、ＰＤ４、ＰＤ５、ＰＤ６については後述する。
＜１−２＞ベクターデータ
ベクターデータ（第１のベクターデータ）ＶＤ１は、図３（ａ）に示すような二次元平面に描画された文字の形状を定義するデータであって、図４に示すように、文字の輪郭線上に位置する複数（図３（ｂ）の例では４５個）の頂点ｐ（Ｖｉ）を示す座標データ（以下、「頂点データ」と称す。）Ｖｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）と、輪郭線に沿って隣接する２つの頂点ｐ（Ｖｉ），ｐ（Ｖｉ＋１）の間の曲線を定義する制御点ｐ（Ｓｉ）を示す座標データ（制御点データ）Ｓｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４２）とから構成される。
【００４４】
ベクターデータが表す文字の輪郭線に沿って隣接する２つの頂点ｐ（Ｖｉ），ｐ（Ｖｉ＋１）の間を結ぶ曲線は、ベジエ曲線で構成される。例えば、図２（ｃ）に示すように、頂点ｐ（Ｖ１３）と頂点ｐ（Ｖ１４）との間を結ぶ曲線は、頂点ｐ（Ｖ１３），頂点ｐ（Ｖ１４）および制御点ｐ（Ｓ１３）を頂点とする三角形の２辺に内接する曲線になる。
【００４５】
また、ベクターデータＶＤ１には、図４に示すように、ベクターデータＶＤ１に基づいて生成した文字テクスチャの内部を塗り潰す色を指定するカラー値に関する属性情報ＢＤ２１が含まれる。
【００４６】
なお、図４に示すベクターデータＶＤ２、ＶＤ３については後述する。
＜２＞構成
本実施の形態に係るグラフィックス描画装置１０は、図５に示すように、ポリゴンデータ入力手段２１０より入力されるポリゴンデータＰＤ１を処理する３次元画像処理装置１０ａと、ベクターデータ入力手段２２０より入力されるベクターデータ（第１のベクターデータ）ＶＤ１を処理する２次元画像処理装置１０ｂと、フレームバッファ２２と、テクスチャバッファ２１と、３次元画像処理装置１０ａで使用される投影変換行列Ｐに関するパラメータを設定する投影変換行列設定手段１４ａとを備える。
＜２−１＞３次元画像処理装置
３次元画像処理装置１０ａは、プロセッサ（図示せず）とメモリ（図示せず）とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ポリゴンデータ入力受付手段１１と、３次元座標変換手段１２と、スケーリング係数決定手段１３と、投影変換手段１４と、ポリゴンラスタライズ手段１５と、画像表示部１０ｃとを実現している。
＜２−１−１＞ポリゴンデータ入力受付手段
ポリゴンデータ入力受付手段１１は、ユーザーがポリゴンデータ入力手段２１０により入力するポリゴンデータＰＤ１を受け付ける。
【００４７】
ここで、ポリゴンデータ入力受付手段１１は、Ｘ座標及びＹ座標が最小の頂点を示す座標データがＰ０であり、座標データＰ１、Ｐ２、Ｐ３が示す頂点がポリゴンＰＧの輪郭線を反時計回りの方向で並ぶように受け付けたデータを並び替える。なお、図２のポリゴンデータＰＤ１は、並び替えた後を示している。
＜２−１−２＞３次元画像変換手段
３次元座標変換手段１２は、ポリゴンデータ入力受付手段１１からポリゴンデータＰＤ１が入力されると、ポリゴンデータＰＤ１を構成する座標データＰｉ（ｉ＝０，１，２，３）に対して、ｚ成分として０、ｗ成分として１を追加する演算を行い、４次元座標系で表現された４つの座標データＰ０ｍ（ｘ０，ｙ０，０，１）、Ｐ１ｍ（ｘ１，ｙ０，０，１）、Ｐ２ｍ（ｘ１，ｙ１，０，１）、Ｐ３ｍ（ｘ０，ｙ１，０，１）（ポリゴンデータＰＤ２）（図２参照）に変換する。
【００４８】
このように、ポリゴンデータＰＤ１を４次元座標系で表されたポリゴンデータＰＤ２に変換されることにより、ポリゴンＰＧの平行移動に伴う座標変換、ポリゴンＰＧのスケーリング（拡大や縮小）に伴う座標変換、およびポリゴンＰＧの回転に伴う座標変換のすべてを、ポリゴンデータＰＤ２に対する行列の乗算で表現できるようになる。
【００４９】
３次元座標変換手段１２は、ポリゴンデータＰＤ２を構成する座標データＰｉｍ（ｉ＝０，１，２，３）に対して、式（１１）の演算を行って、平行移動変換、スケーリング変換または回転変換（以下、これらの変換の組み合わせをモデルビュー変換と称す。）を適宜行うことにより、視点を原点とする３次元空間（以下、視点座標系と称する。）上にポリゴンＰＧを図６に示すように配置したときのポリゴンＰＧの４つの頂点を表す座標データＰｉｅ（ｉ＝０，１，２，３）（ポリゴンデータＰＤ３）（図２参照）を生成する。
【００５０】
【数１１】
0005432258.tif 000012
ここで、Ｐｉｍ（ｉ＝０，１，２，３）は、ポリゴンデータＰＤ２を構成する座標データ、Ｐｉｅ（ｉ＝０，１，２，３）は、ポリゴンデータＰＤ３を構成する座標データ、Ｍは、平行移動変換、スケーリング変換および回転変換或いはこれらを組み合わせた変換を行う行列（モデルビュー行列）、＊は行列とベクトルの乗算を表す。
【００５１】
そして、３次元座標変換手段１２は、生成したポリゴンデータＰＤ３をスケーリング係数決定手段１３に入力する。
＜２−１−３＞スケーリング係数決定手段
スケーリング係数決定手段１３は、ベクターデータＶＤ１の拡大縮小率（スケーリング値）を算出するために必要な第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する。
【００５２】
ここで、スケーリング係数決定手段１３は、投影変換行列設定手段１４ａから入力される投影変換行列Ｐ（後述）に関する情報に基づいて、投影変換行列Ｐが透視投影変換を行うものであるか、或いは、平行投影変換を行うものであるかを判別し、その結果に応じて第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙの算出方法を変更する。なお、スケーリング係数決定手段１３は、投影変換行列Ｐの第４行が（０００１）であるか否かにより、投影変換行列Ｐの種類を判別する（後述の式（１６）、式（１７）参照）。
＜２−１−３−１＞投影変換行列Ｐが透視投影変換を行うものである場合
スケーリング係数決定手段１３は、ポリゴンＰＧのＸ方向の長さ（第１の辺の長さ）ＬｘおよびＹ方向の長さ（第２の辺の長さ）Ｌｙを算出する。
【００５３】
ここで、スケーリング係数決定手段１３に入力されるポリゴンデータＰＤ３は、ポリゴン入力受付手段１１により図１に示すようにデータの並べ替えが行われたポリゴンデータＰＤ１から生成されている。従って、ポリゴンＰＧのＸ方向の長さＬｘは、頂点ｐ（Ｐ０ｅ）と頂点ｐ（Ｐ１ｅ）との間（または、頂点ｐ（Ｐ２ｅ）と頂点ｐ（Ｐ３ｅ）との間）の距離であり、ポリゴンのＹ方向の長さＬｙは、頂点ｐ（Ｐ１ｅ）と頂点ｐ（Ｐ２ｅ）との間（または、頂点ｐ（Ｐ０ｅ）と頂点ｐ（Ｐ３ｅ）との間）の距離となる。
【００５４】
そこで、スケーリング係数決定手段１３は、式（１２）および式（１３）を用いて、ポリゴンＰＧのＸ方向の長さＬｘおよびＹ方向の長さＬｙを算出する。
【００５５】
【数１２】
0005432258.tif 000013
【００５６】
【数１３】
0005432258.tif 000014
ここで、ｘｉｅ，ｙｉｅ，ｚｉｅ（ｉ＝０，１，２，３）は、各頂点ｐ（Ｐｉｅ）（ｉ＝０，１，２，３）のＸ，Ｙ，Ｚ各成分を示す。
【００５７】
そして、スケーリング係数決定手段１３は、算出したポリゴンＰＧのＸ方向の長さＬｘおよびＹ方向の長さＬｙを用いて、式（１４）および式（１５）に示す演算を行うことにより、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する。
【００５８】
【数１４】
0005432258.tif 000015
【００５９】
【数１５】
0005432258.tif 000016
ここで、Ａはビューポート変換する際のポリゴンＰＧのＸ方向のスケーリング値、Ｂはビューポート変換する際のポリゴンＰＧのＹ方向のスケーリング値、Ｚｒｅｐは、所定の係数を示す。
【００６０】
また、本実施の形態では、Ｚｒｅｐとして、ポリゴンＰＧの１つの頂点ｐ（Ｐ０ｅ）のＺ成分の絶対値である｜Ｚ０｜を採用している。
＜２−１−３−２＞投影変換行列Ｐが平行投影変換を行うものである場合
スケーリング係数決定手段１３は、ポリゴンＰＧのＸ方向の長さＬｘおよびＹ方向の長さＬｙを算出し、式（１６）および式（１７）に示す演算を行うことにより、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する。
【００６１】
【数１６】
0005432258.tif 000017
【００６２】
【数１７】
0005432258.tif 000018
ここで、Ａはビューポート変換する際のポリゴンＰＧのＸ方向のスケーリング値、Ｂはビューポート変換する際のポリゴンＰＧのＹ方向のスケーリング値を示す。
【００６３】
なお、スケーリング値Ａ、Ｂは、スケーリング係数決定手段１３が保持している。
＜２−１−４＞投影変換手段
投影変換手段１４は、ポリゴンデータＰＤ３を構成する座標データＰｉｅに対して投影変換を行う。
【００６４】
ここで、投影変換手段１４は、投影変換行列設定手段１４ａから入力される投影変換行列Ｐに関する情報に基づいて、投影変換行列Ｐが透視投影変換を行うものであるか、或いは、平行投影変換を行うものであるかを判別し、その結果に応じてポリゴンデータＰＤ３に対する演算方法を変更する。なお、投影変換手段１４は、投影変換行列Ｐの第４行が（０００１）であるか否かにより、投影変換行列Ｐの種類を判別する（式（１６）、式（１７）参照）。
＜２−１−４−１＞投影変換行列Ｐが透視投影変換を行うものである場合
投影変換手段１４は、視点座標系上に配置されたポリゴンＰＧを、図７に示すように、視点からｄだけ離間した位置に配置され且つｚ軸に直交する投影面ＳＣに投影したときの投影面ＳＣ上に現れるポリゴンＰＧの頂点を表す座標データ（ポリゴンデータＰＤ４）を算出する（図２参照）。
【００６５】
ここにおいて、投影変換手段１４は、ポリゴンデータＰＤ３と投影変換行列Ｐを用いて式（１８）に示す演算を行うことによりポリゴンデータＰＤ４を算出する。
【００６６】
【数１８】
0005432258.tif 000019
ここで、Ｐｉｃは、ポリゴンデータＰＤ４を構成する座標データ、Ｐｉｅは、ポリゴンデータＰＤ３を構成する座標データ、Ｐは、透視投影変換を行う投影変換行列、＊は行列とベクトルの乗算を示す。
【００６７】
そして、投影変換手段１４は、更に、ポリゴンデータＰＤ４を用いて式（１９）に示す演算を行うことによりポリゴンデータＰＤ５（図２参照）を算出する。
【００６８】
【数１９】
0005432258.tif 000020
ここで、Ｐｉｅは、ポリゴンデータＰＤ３を構成する座標データ、Ｐｉｄは、ポリゴンデータＰＤ５を構成する座標データ、ｄは、視点から投影面ＳＣまでの距離、＊は行列とベクトルの乗算を示す。
【００６９】
式（１９）に示すように、座標データＰｉｄは、Ｚ成分Ｚｉｅを含むので、視点からポリゴンＰＧまでの距離に依存して変化することになる。
＜２−１−４−２＞投影変換行列Ｐが平行投影変換を行うものである場合
投影変換手段１４は、ポリゴンデータＰＤ３と投影変換行列Ｐを用いて式（２０）に示す演算を行うことによりポリゴンデータＰＤ５（図２参照）を算出する。
【００７０】
【数２０】
0005432258.tif 000021
ここで、Ｐｉｄは、ポリゴンデータＰＤ５を構成する座標データ、Ｐｉｅは、ポリゴンデータＰＤ３を構成する座標データ、Ｚｒｅｐは、視点から投影面ＳＣまでの距離、Ｐは、平行投影変換を行う投影変換行列、＊は行列とベクトルの乗算を示す。
【００７１】
式（２０）に示すように、座標データＰｉｄは、Ｚ成分を含まないので、視点からポリゴンＰＧまでの距離Ｚｒｅｆに依存しない。
また、投影変換手段１４は、ポリゴンデータＰＤ５を生成すると、当該ポリゴンデータＰＤ５に対してビューポート変換を行うことにより、ポリゴンデータＰＤ６を生成する。
【００７２】
このポリゴンデータＰＤ６は、ポリゴンデータＰＤ５を構成する座標データＰｉｄ（ｉ＝０，１，２，３）を、図８に示すような実際のディスプレイ画面上での座標系（スクリーン座標系）に変換してなる座標データＰｉｗ（ｉ＝０，１，２，３）から構成される。
【００７３】
また、投影変換手段１４は、ポリゴンデータＰＤ５に含まれる法線ベクトルに関する属性情報ＢＤ２を用いて、ＬａｍｂｅｒｔのモデルやＰｈｏｎｇのモデル等の下、ポリゴンＰＧの各頂点ｐ（Ｐｉｄ）における輝度を算出する。
【００７４】
そして、投影変換手段１４は、各頂点ｐ（Ｐｉｄ）の輝度に関する属性情報ＢＤ３情報を含むポリゴンデータＰＤ６をポリゴンラスタライズ手段１５に入力する。
＜３−１−５＞ポリゴンラスタライズ手段
ポリゴンラスタライズ手段１５は、投影変換手段１４から入力されるポリゴンデータＰＤ６を用いて、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）手法によりポリゴンＰＧの輪郭線のラスタライズを行うとともに、カラー値に関する属性情報ＢＤ１、輝度に関する属性情報ＢＤ３およびテクスチャデータＴＤとを用いて、ポリゴンＰＧのラスタ画像を表すフレームデータＦＤを生成する。なお、フレームデータＦＤは、ポリゴンＰＧのラスタ画像を構成する各画素のカラー値データから構成される。
【００７５】
そして、ポリゴンラスタライズ手段１５は、生成したフレームデータＦＤをフレームバッファ２２に書き込む。
＜２−１−６＞画像表示部
画像表示部１０ｃは、フレームバッファ２２に記憶されているフレームデータＦＤに基づいて外部に接続されているディスプレイ１００に３次元画像を表示させる。
＜２−２＞投影変換行列設定手段
投影変換行列設定手段１４ａは、タッチパネル等により構成され、投影変換行列Ｐとして、透視投影変換を行う行列を使用するか、或いは、平行投影変換を行う行列を使用するかをユーザが選択できるようになっている。そして、投影変換行列設定手段１４ａは、ユーザにより選択された投影変換行列Ｐに関する情報をスケーリング係数決定手段１３および投影変換手段１４に入力する。
＜２−３＞２次元画像処理装置
２次元画像処理装置１０ｂは、プロセッサ（図示せず）とメモリ（図示せず）とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ベクターデータ入力受付手段１６と、ベクターデータ変換手段１８と、テクスチャ生成手段１９と、テクスチャマッピング手段２０とを実現している。
＜３−３−１＞ベクターデータ入力受付手段
ベクターデータ入力受付手段１６は、ユーザーがベクターデータ入力手段２２０により入力するベクターデータＶＤの入力を受け付ける。
＜２−３−３＞ベクターデータ変換手段
ベクターデータ変換手段１８は、ベクターデータ入力受付手段１６からベクターデータＶＤ１が入力されると、ベクターデータＶＤ１を構成する頂点データＶｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）および制御点データＳｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４２）に対して、ｚ成分として１を追加する演算を行い、３次元座標系で表現された頂点データＶｉｈ（ｘｉ，ｙｉ，１）（ｉ＝０，１，・・・，４４）および制御点データＳｉｈ（ｘｉ，ｙｉ，１）（ｉ＝０，１，・・・，４２）から構成されるべクターデータＶＤ２に変換する（図４参照）。
【００７６】
また、ベクターデータ変換手段１８は、スケーリング値記憶手段５１から取得した値αをベクターデータＶＤ２のＸ方向およびＹ方向の拡大縮小率（スケーリング値）ｓｃａｌｅｘ，ｓｃａｌｅｙとして、式（２１）で表されるスケーリング行列Ｓを生成する。
【００７７】
【数２１】
0005432258.tif 000022
このスケーリング値決定処理では、スケーリング値記憶手段５１に記憶されているスケーリング値テーブルＴの中から最適なスケーリング値を決定する。
【００７８】
また、ベクターデータ変換手段１８は、スケーリング係数の決定が不可能であった場合に“１”に設定される決定不可フラグＦを保持している。そして、スケーリング値決定処理の結果、スケーリングテーブルＴの中に最適なスケーリング値αが存在しないと判別された場合に、ベクターデータ変換手段１８が、決定不可フラグＦを“１”に設定する。
【００７９】
ベクターデータ変換手段１８は、ベクターデータＶＤ２およびスケーリング行列Ｓを用いて、式（２２）および式（２３）の演算（スケーリング）を行うことにより、ベクターデータ（第２のベクターデータ）ＶＤ３（図４参照）を生成する。
【００８０】
【数２２】
0005432258.tif 000023
【００８１】
【数２３】
0005432258.tif 000024
ここで、Ｖｉｈ（ｉ＝０，１，・・・，４４）は、ベクターデータＶＤ２を構成する頂点データ、Ｓｉｈ（ｉ＝０，１，・・・，４２）は、ベクターデータＶＤ２を構成する制御点データ、Ｖｉｔ（ｉ＝０，１，・・・，４４）は、ベクターデータＶＤ３を構成する頂点データ、Ｓｉｔ（ｉ＝０，１，・・・，４２）は、ベクターデータＶＤ３を構成する制御点データ、Ｓは、スケーリング行列、＊は行列とベクトルの乗算を表す。
【００８２】
また、ベクターデータ変換手段１８は、スケーリング係数決定手段１３から入力される第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙに基づいて、スケーリング値記憶手段５１に格納されているスケーリング値テーブルＴ（図９参照）の中から最適なスケーリング値αを決定するスケーリング値決定処理も行う。スケーリング値決定処理の内容については後述する。
＜２−３−４＞テクスチャ生成手段
テクスチャ生成手段１９は、ベクターデータＶＤ３のラスタライズ処理を実行し、ポリゴンに貼り付けるテクスチャを生成する。
【００８３】
テクスチャ生成手段１９は、ベクターデータＶＤ３を構成する頂点データＶｉｔおよび制御点データＳｉｔを取得すると、当該頂点データＶｉｔおよび制御点データＳｉｔで表現されるベジエ曲線を微小直線の集合で近似し、当該微小直線を表す線分データの集合からなるアウトラインデータを生成する。
【００８４】
その後、テクスチャ生成手段１９は、アウトラインデータと、ベクターデータＶＤ１に含まれるカラー値に関する属性情報ＢＤ２１に基づいて、テクスチャを構成する各画素のカラー値データからなるテクスチャデータＴＤを生成し、テクスチャバッファ２１に格納する。
＜２−３−５＞テクスチャマッピング手段
テクスチャマッピング手段２０は、テクスチャバッファ２１に格納されているテクスチャデータに基づいて、テクスチャが貼り付けられるポリゴンＰＧの各画素のカラー値を決定する。例えば、図１０に示すように、テクスチャデータが表すテクスチャの左下端の画素を原点（０，０）として、Ｘ方向の画素数をＴＥＸＷ、Ｙ方向の画素数をＴＥＸＨとすると、ポリゴンＰＧの頂点ｐ（Ｐ０ｗ）に、座標（０，０）に位置する画素、頂点ｐ（Ｐ１ｗ）に座標（ＴＥＸＷ−１，０）に位置する画素、頂点ｐ（Ｐ２ｗ）に座標（ＴＥＸＷ−１，ＴＥＸＨ−１）に位置する画素、頂点ｐ（Ｐ３ｗ）に座標（０，ＴＥＸＨ−１）に位置する画素のカラー値がマッピングされる形で、ポリゴンＰＧのラスタ画像を構成する各画素のカラー値を決定する。
【００８５】
ここで、テクスチャマッピング手段２０は、投影変換手段１４から入力されるポリゴンデータＰＤ６とテクスチャデータとに基づいて、テクスチャの各画素のカラー値に対してパースペクティブ補正を行う。また、ポリゴンＰＧのラスタ画像の解像度が、テクスチャの解像度よりも低い場合には、適宜平均化処理を行うことでポリゴンＰＧのラスタ画像を構成する各画素のカラー値を決定する。
＜３−４＞テクスチャバッファ、フレームバッファ、スケーリング値記憶手段
テクスチャバッファ２１及びフレームバッファ２２は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等により構成される。
【００８６】
テクスチャバッファ２１は、テクスチャ生成手段１９により生成されたテクスチャを保持するためのバッファである。
また、フレームバッファ２２は、ポリゴンラスタライズ手段１５により生成された各画素のカラーデータを書き込むバッファである。
【００８７】
スケーリング値記憶手段５１は、図９に示すような、スケーリング値テーブルＴが記憶されている。
ラスタ画像からなる文字テクスチャをスケーリングすると、何らかのフィルタ処理が適用されるため、エイリアシングや文字潰れが発生し易い。一方、ベクターデータのまま処理すると、文字データが元々持っている形状情報を損なうことなくスケーリングすることが可能である。従って、ベクターデータを用いることによりスケーリングを施した場合でも高品位な文字テクスチャを生成することができる。
＜３＞動作
次に、本実施の形態のグラフィックス描画装置５０の動作について３次元画像処理装置の動作と２次元画像処理装置の動作とに分けて説明する。
＜３−１＞３次元画像処理装置の動作
本実施の形態の３次元画像処理装置の動作のフローチャートを図１１に示す。
【００８８】
まず、ポリゴンデータ入力受付手段１１が、ポリゴンデータＰＤ１を取得すると（ステップＳ１１）と、３次元座標変換手段１２が、ポリゴンデータＰＤ１を４次元座標系に変換してポリゴンデータＰＤ２を生成し（ステップＳ１２）、更に、ポリゴンデータＰＤ２にモデルビュー変換を施すことでポリゴンデータＰＤ３を生成する（ステップＳ１３）。
【００８９】
次に、スケーリング係数決定手段１３が、ポリゴンデータＰＤ３および投影変換行列設定手段１４ａから入力される投影変換行列Ｐに関する情報を用いて、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを決定し（ステップＳ１４）、２次元画像処理装置１０ｂのベクターデータ変換手段１８に入力する。
【００９０】
その後、投影変換手段１４が、ポリゴンデータＰＤ３に対して投影変換を施して、座標データＰｉｄ（ｉ＝０，１，２，３）から構成されるポリゴンデータＰＤ５を生成し（ステップＳ１５）、続いて、ポリゴンデータＰＤ５に対してビューポート変換を行い、座標データＰｉｗ（ｉ＝０，１，２，３）から構成されるポリゴンデータＰＤ６を生成し（ステップＳ１６）、ポリゴンラスタライズ手段１５に入力する。
【００９１】
最後に、ポリゴンラスタライズ手段１５が、ポリゴンデータＰＤ６とテクスチャマッピング手段２０から入力されるテクスチャデータＴＤとを用いて、フレームデータＦＤを生成し（ステップＳ１７）、フレームバッファ２２に書き込む（ステップ１８）。
【００９２】
ここにおいて、スケーリング係数決定手段１３は、投影変換手段１４による投影変換（ステップＳ１５）の前の段階で、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出するので、投影変換手段１４による投影変換後にポリゴンデータＰＤ５を用いて第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する場合に比べて、２次元画像処理装置との処理並列度を高めることができ、描画処理全体の性能が向上する。
＜３−１−１＞スケーリング係数算出
スケーリング係数算出処理における動作のフローチャートを図１２に示す。
【００９３】
まず、スケーリング係数決定手段１３は、ポリゴンＰＧのＸ方向の長さＬｘおよびＹ方向の長さＬｙを算出する（ステップＳ４１）。
次に、スケーリング係数決定手段１３は、投影変換行列設定手段１４ａから入力された投影変換行列Ｐに関する情報が、透視投影変換を行う投影変換行列（透視投影変換行列）に関するものであるか否かを判定する（ステップＳ４２）。ここで、スケーリング係数決定手段１３は、入力された投影変換行列Ｐの第４行を構成する４つの成分がそれぞれ（０，０，０，１）であるかどうかを検査し、該当する場合には平行投影変換を行うと判断し、そうでなければ透視投影変換を行うと判断する。
【００９４】
ステップＳ４２において、スケーリング係数決定手段１３が、透視投影変換であると判断すると（ステップＳ４２：Ｙｅｓ）、スケーリング係数決定手段１３は、ポリゴンデータＰＤ３を構成する座標データＰｉｅに基づいて、係数Ｚｒｅｐを算出する（ステップＳ４３）。ここで、スケーリング係数決定手段１３は、ポリゴンデータＰＤ２を構成する座標データＰｉｅの中から、座標データＰ０ｅを選択し、そのＺ成分の値Ｚ０ｅを係数Ｚｒｅｐに採用する。
【００９５】
そして、スケーリング係数決定手段１３は、式（１４）および式（１５）に従って、係数Ｚｒｅｐの逆数をポリゴンＰＧのＸ方向およびＹ方向の長さＬｐｘ、Ｌｐｙに乗算を行い（ステップＳ４４）、更に、係数Ａ、Ｂ（Ａ，Ｂ＞０）を乗算することにより、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する（ステップＳ４５）。
【００９６】
一方、ステップＳ４２において、スケーリング係数決定手段１３が、透視投影変換でないと判断すると（ステップＳ４２：Ｎｏ）、スケーリング係数決定手段１３は、式（１６）および式（１７）に従って、ポリゴンＰＧのＸ方向およびＹ方向の長さＬｐｘ、Ｌｐｙに係数Ａ、Ｂを乗算することにより、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを算出する（ステップＳ４５）。
＜３−２＞２次元画像処理装置の動作
本実施の形態の２次元画像処理装置の動作のフローチャートを図１３に示す。
【００９７】
まず、ベクターデータ入力受付手段１６が、ユーザーがベクターデータ入力手段２２０により入力するべクターデータＶＤ１を取得し（ステップＳ３１）、ベクターデータ変換手段１８に入力する。
【００９８】
次に、ベクターデータ変換手段１８は、ベクターデータＶＤ１を３次元座標系で表現されたベクターデータＶＤ２に変換する（ステップＳ３２）。
そして、ベクターデータ変換手段１８が、スケーリング値記憶手段５１から取得した値α（第１のスケーリング値ｓｃａｌｅｘ、第２のスケーリング値ｓｃａｌｅｙの候補）と第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙとを用いて、後述のスケーリング値決定処理を行う（ステップＳ３３）。そして、スケーリング値決定処理の結果、決定不可フラグＦが“１”に設定されているか否かを判断し（ステップＳ３４）、決定不可フラグＦが“１”に設定されている場合（ステップＳ３４：Ｙｅｓ）には、処理を終了する。
【００９９】
一方、決定不可フラグＦが“１”に設定されていない場合（ステップＳ３４：Ｎｏ）は、ベクターデータ変換手段１８は、決定されたスケーリング値ｓｃａｌｅｘ，ｓｃａｌｅｙを用いて式（３１）で表されるスケーリング行列Ｓを生成する（ステップＳ３５）。
【０１００】
そして、ベクターデータ変換手段１８が、ベクターデータＶＤ２に対して、式（２２）および式（２３）で表される演算を行うことにより、ベクターデータＶＤ２を変換してベクターデータＶＤ３を生成する（ステップＳ３６）。
【０１０１】
その後、テクスチャ生成手段１９が、ベクターデータＶＤ３を用いてラスタライズ処理を行い、テクスチャデータを生成し（ステップＳ３７）、当該テクスチャデータをテクスチャバッファ２１に格納する（ステップＳ３８）。
【０１０２】
次に、テクスチャマッピング手段２０が、テクスチャバッファ２１に保持されているテクスチャデータに基づいて、ポリゴンＰＧのラスタ画像を構成する各画素のカラー値を決定（マッピング）する（ステップＳ３９）。
【０１０３】
本実施の形態では、３次元処理装置１０ａにおける処理が開始されてから比較的早い段階で、２次元画像処理装置１０ｂに第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙが入力され、２次元画像処理装置１０ｂでのスケーリング係数決定処理以降の処理を進めることが可能となるので、３次元画像処理装置１０ａでの処理と２次元画像処理装置１０ｂでの処理との並列度を高め、グラフィックス描画装置５０全体の処理効率を向上させることができる。
＜３−２−１＞スケーリング値決定処理
図１４にスケーリング値決定処理における動作のフローチャートを示す。
【０１０４】
まず、ベクターデータ変換手段１８が、ベクターデータＶＤ１を構成する４５個の頂点データＶｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）から、重心座標データＧ（ｘｇ，ｙｇ）を生成する（ステップＳ３３１）。このとき、
【０１０５】
【数２４】
0005432258.tif 000025
【０１０６】
【数２５】
0005432258.tif 000026
の関係が成立する。
【０１０７】
次に、ベクターデータ変換手段１８は、頂点データＶｉｈに対して、重心座標Ｇ（ｘｇ，ｙｇ）が原点に重なるように平行移動変換を行う（ステップＳ３３２）。このとき、Ｖｉｈ＝（ｘｉ−ｘｇ，ｙｉ−ｙｇ，１）（ｉ＝０，・・・，４４）となる。
【０１０８】
その後、スケーリング値テーブルＴ（図９参照）におけるＩＤ“１”に対応する値（α＝０．５）を取得して、式（１９）に示す演算を行い、頂点データＶｉｔを生成する（ステップＳ３３３）。
【０１０９】
そして、頂点データＶｉｔのＸ座標が取りうる値の最大値ｘｍａｘ、Ｘ座標の最小値ｘｍｉｎと、頂点データＶｉｔのＹ座標が取りうる値の最大値ｙｍａｘ、最小値ｙｍｉｎを後述＜３−３＞の方法で算出する（ステップＳ３３４）。
【０１１０】
続いて、ベクターデータ変換手段１８は、後述＜４−３＞の方法で算出したｘｍａｘ、ｘｍｉｎ、ｙｍａｘ、ｙｍｉｎの値と、スケーリング係数決定手段１３から取得した第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙとの間に、以下の式（２６）乃至式（２９）に示すいずれかの条件に該当するか否かを判断する（ステップＳ３３５）。
【０１１１】
【数２６】
0005432258.tif 000027
【０１１２】
【数２７】
0005432258.tif 000028
【０１１３】
【数２８】
0005432258.tif 000029
【０１１４】
【数２９】
0005432258.tif 000030
ここで、ベクターデータ変換手段１８が、式（２６）乃至式（２９）のいずれかの条件に該当すると判断した場合には（ステップＳ３３６：Ｙｅｓ）、スケーリング値決定処理を終了する。このとき、判定を行ったスケーリング値αに対応するＩＤよりも１だけ値の小さいＩＤ（例えば、ＩＤ＝６（α＝３．０）のときに式（２６）乃至式（２９）に該当した場合には、ＩＤ＝５（α＝２．５））に対応するスケーリング値αを最適値とする。
【０１１５】
一方、ベクターデータ変換手段１８が、式（２６）乃至式（２９）のいずれの条件にも該当しないと判断した場合には（ステップＳ３３６：Ｎｏ）、ＩＤの値がＩＤがとりうる最大値である“１２”（図９参照）よりも小さいか否かを判断する（ステップＳ３３７）。
【０１１６】
ステップＳ３３７において、ベクタデータ変換手段１８が、ＩＤの値が“１２”よりも小さいと判定すると（ステップＳ３３７：Ｙｅｓ）、ＩＤが“２”に対応するスケーリング値（α＝１．０）を取得して（ステップＳ３３８）、ステップＳ３３４に移行する。
【０１１７】
以降、スケーリング値テーブルＴ（図９参照）のＩＤ（ＩＤ＝“３，４，・・・，１２”）に対応する値αを取得して、式（１９）に示す演算を行い、頂点データＶｉｔおよび制御点データＳｉｔを生成し（ステップＳ３３４）、頂点データＶｉｔｓのＸ座標が取りうる値の最大値ｘｍａｘ、Ｘ座標の最小値ｘｍｉｎと、頂点データＶｉｔｓのＹ座標が取りうる値の最大値ｙｍａｘ、最小値ｙｍｉｎを後述＜４−３＞の方法で算出する（ステップＳ３３５）。
【０１１８】
続いて、ベクターデータ変換手段１８は、後述＜４−３＞の方法で算出したｘｍａｘ、ｘｍｉｎ、ｙｍａｘ、ｙｍｉｎの値と、スケーリング係数決定手段１３から取得した第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙとの間に、式（４５）乃至式（４８）に示すいずれかの条件に該当するか否かを判断し（ステップＳ３３６）、いずれの条件にも該当しないと判断した場合には（ステップＳ３３６：Ｎｏ）、ＩＤの値が“１２”よりも小さいか否かを判断する（ステップＳ３３７）。ＩＤの値が“１２”よりも小さいと判断した場合には（ステップＳ３３７：Ｙｅｓ）、ＩＤ＋１に対応するスケーリング値αを取得してステップＳ３３４に移行する。
【０１１９】
一方、ＩＤの値が“１２”以上と判断した場合には（ステップＳ３３７：Ｎｏ）、決定不可フラグＦを“１”に設定して処理を終了する。
＜３−３＞ｘｍａｘ、ｘｍｉｎ、ｙｍａｘ、ｙｍｉｎの算出
ｘｍａｘ、ｘｍｉｎ、ｙｍａｘ、ｙｍｉｎの算出処理のフローチャートを図１５に示す。ここで、Ｖｉｔｘは、頂点データＶｉｔのｘ成分を表し、Ｖｉｔｙは、頂点データＶｉｔのｙ成分を表す。
【０１２０】
ｘｍａｘ、ｘｍｉｎ、ｙｍａｘ、ｙｍｉｎの算出処理では、ベクターデータ変換手段１８が、以下のような処理を行う。
まず、ベクターデータ変換手段１８は、メモリ（計算バッファ）上に定義された変数ｘｍｉｎおよび変数ｘｍａｘに変換後のベクターデータＶＤ１を構成する頂点データＶ０ｔのｘ成分を示す値であるＶ０ｔｘを格納し、変数ｙｍｉｎおよび変数ｙｍａｘに頂点データＶ０ｔのｙ成分を示す値であるＶ０ｔｙを格納することにより、初期化する（ステップＳ３３４１）。
【０１２１】
次に、計算バッファ上に定義された変数ｉに“１”を格納し、その後、変数ｉに“４４”が格納されるまで、以下の処理を繰り返す（ステップＳ３３４２乃至ステップＳ３３５１）。
【０１２２】
まず、変数ｘｍｉｎと数値Ｖｉｔｘとを比較して（ステップＳ３３４３）、変数ｘｍｉｎが数値Ｖｉｔｘより大きい場合は、変数ｘｍｉｎに数値Ｖｉｔｘを格納する（ステップＳ３３４４）。
【０１２３】
次に、変数ｘｍａｘと数値Ｖｉｔｘとを比較して（ステップＳ３３４５）、変数ｘｍａｘが数値Ｖｉｔｘより小さい場合は、変数ｘｍａｘに数値Ｖｉｔｘを格納する（ステップＳ３３４６）。
【０１２４】
次に、変数ｙｍｉｎと数値Ｖｉｔｙとを比較して（ステップＳ３３４７）、変数ｙｍｉｎが数値Ｖｉｔｙより大きい場合は、変数ｙｍｉｎに数値ｙｉを格納する（ステップＳ３３４８）。
【０１２５】
次に、変数ｙｍａｘと数値Ｖｉｔｙとを比較して（ステップＳ３３４９）、変数ｙｍａｘが数値Ｖｉｔｙより小さい場合は、変数ｙｍａｘに数値Ｖｉｔｙを格納する（ステップＳ３３５０）。
【０１２６】
次に、変数ｉをインクリメントする（ステップＳ３３５１）。
以上の処理を繰り返した後、最終的に保持されている変数ｘｍｉｎ、変数ｙｍｉｎ、変数ｘｍａｘ、変数ｙｍａｘで、ステップＳ３３６に移行する。
＜実施の形態２＞
＜１＞データ
＜１−１＞ポリゴンデータ
本実施の形態では、実施の形態１と同様に、図１に示すように、テクスチャをマッピングする矩形状のポリゴンＰＧの形状を表すポリゴンデータＰＤ１を用いる。
＜１−２＞ベクターデータ
ベクターデータ（第１のベクターデータ）ＶＤ１は、実施の形態１と同様に、図２（ａ）に示すような二次元平面に描画された文字の形状を定義するデータであって、図２（ｂ）に示すように文字の輪郭線上に位置する複数（図３（ｂ）の例では４５個）の頂点ｐ（Ｖｉ）の座標データ（以下、「頂点データ」と称す。）Ｖｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）と、輪郭線に沿って隣接する２つの頂点ｐ（Ｖｉ），ｐ（Ｖｉ＋１）の間を結ぶ曲線を定義する複数の制御点ｐ（Ｓｉ）の座標データ（以下、「制御点データ」と称す。）Ｓｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４２）とから構成される（図４参照）。
＜２＞構成
本実施の形態に係るグラフィックス描画装置１０は、図１６に示すように、ポリゴンデータ入力手段２１０より入力されるポリゴンデータＰＤ１を処理する３次元画像処理装置１０ａと、ベクターデータ入力手段２２０より入力されるベクターデータ（第１のベクターデータ）ＶＤ１を処理する２次元画像処理装置１０ｂと、フレームバッファ２２と、テクスチャバッファ２１と、３次元画像処理装置１０ａで使用される投影変換行列Ｐに関するパラメータを設定する投影変換行列設定手段１４ａとを備える。なお、投影変換行列設定手段１４ａ、テクスチャバッファ２１およびフレームバッファ２２は、実施の形態１と同様の構成なので説明を省略する。
＜２−１＞３次元画像処理装置
３次元画像処理装置１０ａは、プロセッサ（図示せず）とメモリ（図示せず）とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ポリゴンデータ入力受付手段１１と、３次元座標変換手段１２と、スケーリング係数決定手段１３と、投影変換手段１４と、ポリゴンラスタライズ手段１５と、フレームバッファ２２に記憶されている３次元画像データに基づいて外部に接続されているディスプレイ１００に３次元画像を表示させる画像表示部１０ｃとを実現している。なお、３次元座標変換手段１２、投影変換手段１４、スケーリング係数決定手段１３およびポリゴンラスタライズ手段１５は、実施の形態１と同様なので説明を省略する。
【０１２７】
ポリゴンデータ入力受付手段１１は、実施の形態１で説明したポリゴンデータ入力手段１１と略同様であり、ポリゴンデータＰＤ１を３次元座標変換手段１２に入力するとともに、後述の仮想平板生成手段１７にも入力する。
＜２−２＞２次元画像処理装置
２次元画像処理装置１０ｂは、プロセッサ（図示せず）とメモリ（図示せず）とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ベクターデータ入力受付手段１６と、仮想平板生成手段１７と、ベクターデータ変換手段１８と、テクスチャ生成手段１９と、テクスチャマッピング手段２０とを実現している。なお、ベクターデータ入力受付手段１６、テクスチャ生成手段１９およびテクスチャマッピング手段２０は、実施の形態１と同様なので説明を省略する。
＜２−２−１＞仮想平板生成手段
仮想平板生成手段１７は、ベクターデータＶＤ１およびポリゴンデータＰＤ１に基づいて、矩形状の仮想平板Ｐｌａｔｅ（図１７（ｂ）参照）のｘ方向の長さ（第３の辺の長さ）Ｌｐｌａｔｅｘおよびｙ方向の長さ（第４の辺の長さ）Ｌｐｌａｔｅｙと、仮想平板Ｐｌａｔｅの頂点ｐ（Ｖｐｌａｔｅｉ）（ｉ＝０，１，２，３）の座標データＶｐｌａｔｅｉ（ｉ＝０，１，２，３）とから構成される仮想平板データ（図１８参照）を生成する。
【０１２８】
ここで、仮想平板Ｐｌａｔｅは、ベクターデータＶＤ１で表されたベクター画像を包含し、且つ、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙと、ポリゴンＰＧのｘ方向の長さＬｘおよびｙ方向の長さＬｙとの間に
【０１２９】
【数３０】
0005432258.tif 000031
の関係式が成立するように形成される。
【０１３０】
また、仮想平板生成手段１７は、算出した矩形状の仮想平板Ｐｌａｔｅの４つの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）および仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙをベクターデータ変換手段１８に入力する。
＜２−２−２＞ベクターデータ変換手段
ベクターデータ変換手段１８は、ベクターデータＶＤ１を構成する頂点データＶｉ（ｉ＝０，１，・・・，４４）および制御点データＳｉ（ｉ＝０，１，・・・，４２）と、仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）を、３次元座標系に変換をして、頂点データＶｉｈ（ｉ＝０，１，・・・，４４）および制御点データＳｉｈ（ｉ＝０，１，・・・，４２）から構成されるベクターデータＶＤ２（図４参照）と、座標データＶｐｌａｔｅｋｈ（ｋ＝０，１，２，３）（図１８参照）とを生成する
また、ベクターデータ変換手段１８は、仮想平板生成手段１７から入力される仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘ、ｙ方向の長さＬｐｌａｔｅｙと、スケーリング係数決定手段１３から入力される第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙとを用いて、式（３１）および式（３２）の関係式から第１の拡大縮小率（第１のスケーリング値）ｓｃａｌｅｘおよび第２の拡大縮小率（第２のスケーリング値）ｓｃａｌｅｙを算出する。
【０１３１】
【数３１】
0005432258.tif 000032
【０１３２】
【数３２】
0005432258.tif 000033
そして、ベクターデータ変換手段１８は、算出されたスケーリング値ｓｃａｌｅｘ，ｓｃａｌｅｙを用いて式（３３）で表されるスケーリング行列Ｓを生成する。
【０１３３】
【数３３】
0005432258.tif 000034
ベクターデータ変換手段１８は、ベクターデータＶＤ２を構成する頂点データＶｉｈ（ｉ＝０，１，・・・，４４）および制御点データＳｉｈ（ｉ＝０，１，・・・，４２）と、仮想平板Ｐｌａｔｅの４つの頂点の座標データＶｐｌａｔｅｋｈ（ｋ＝０，１，２，３）について、式（３４）、式（３５）および式（３６）で示す演算（スケーリング）を行うことにより、頂点データＶｉｔ（ｉ＝０，１，・・・，４４）および制御点データＳｉｔ（ｉ＝０，１，・・・，４２）から構成されるベクターデータ（第２のベクターデータ）ＶＤ３と、座標データＶｐｌａｔｅｋｔとを生成する（図４，図１８参照）。
【０１３４】
【数３４】
0005432258.tif 000035
【０１３５】
【数３５】
0005432258.tif 000036
【０１３６】
【数３６】
0005432258.tif 000037
ここで＊は行列とベクトルの乗算を表す。
＜３＞動作
次に、本実施の形態のグラフィックス描画装置の動作について説明する。なお、３次元画像処理装置１０ａの動作は実施の形態１と同様なので説明を省略する。
＜３−１＞２次元画像処理装置の動作
本実施の形態の２次元画像処理装置の動作のフローチャートを図１９に示す。
【０１３７】
まず、ベクターデータ入力受付手段１６が、べクターデータＶＤ１を取得すると（ステップＳ２１）、仮想平板生成手段１７が、ベクターデータＶＤ１およびポリゴンデータ入力受付手段１１から入力されるポリゴンデータＰＤ１を用いて、後述の仮想平板生成処理を行い（ステップＳ２２）、算出された仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）および仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙをベクターデータ変換手段１８に入力する。
【０１３８】
次に、ベクターデータ変換手段１８が、ベクターデータＶＤ１および仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）から、３次元座標系で表現されたベクターデータＶＤ２および座標データＶｐｌａｔｅｋｈ（ｋ＝０，１，２，３）とを生成する（ステップＳ２３）。
【０１３９】
そして、ベクターデータ変換手段１８は、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙと、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙとを用いて、式（３１）および式（３２）に従って、第１のスケーリング値ｓｃａｌｅｘおよび第２のスケーリング値ｓｃａｌｅｙを算出し、式（３３）に示すスケーリング行列Ｓを生成する（ステップＳ２４）。
【０１４０】
続いて、ベクターデータ変換手段１８は、ベクターデータＶＤ２および仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｉｈ（ｉ＝０，１，２，３）に対して、式（２４）乃至式（２６）に示す演算を行い、頂点データＶｉｔ（ｉ＝０，１・・・，４４）および制御点データＳｉｔ（ｉ＝０，１・・・，４２）から構成されるベクターデータＶＤ３と、座標Ｖｐｌａｔｅｋｔ（ｋ＝０，１，２，３）とを生成し（ステップＳ２５）、テクスチャ生成手段１９に入力する。
【０１４１】
その後、テクスチャ生成手段１９が、ベクターデータＶＤ３と仮想平板Ｐｌａｔｅの頂点を表す座標データＶｐｌａｔｅｋｔ（ｋ＝０，１，２，３）とを用いてラスタライズ処理を行い、テクスチャデータＴＤを生成し（ステップＳ２６）、当該テクスチャデータＴＤをテクスチャバッファ２１に書き込む（ステップＳ２７）。
【０１４２】
次に、テクスチャマッピング手段２０が、テクスチャバッファ２１に保持されているテクスチャデータＴＤに基づいて、ポリゴンＰＧのラスタ画像を構成する各画素のカラー値を決定（マッピング）する（ステップＳ２８）。
＜３−２−１＞仮想平板生成処理
仮想平板生成処理における動作のフローチャートを図２０に示す。
【０１４３】
まず、仮想平板生成手段１７は、ベクターデータ入力受付手段１６より入力された頂点データの集合を包含するバウンディングボックスを算出するバウンディングボックス算出処理を行う（ステップＳ８１）。
【０１４４】
バウンディングボックス算出処理では、仮想平板生成手段１７が、実施の形態１の＜４−３＞で図１５を用いて説明した方法と同様の方法により、以下のような処理を行い変数ｘｍｉｎ、ｘｍａｘ、ｙｍｉｎ、ｙｍａｘを算出する。
【０１４５】
まず、仮想平板生成手段１７は、メモリ（計算バッファ）上に定義された変数ｘｍｉｎおよび変数ｘｍａｘに変換後のベクターデータＶＤ１を構成する頂点データＶ０ｔのｘ成分を示す値であるＶ０ｔｘを格納し、変数ｙｍｉｎおよび変数ｙｍａｘに頂点データＶ０ｔのｙ成分を示す値であるＶ０ｔｙを格納することにより、初期化する（図１５のステップＳ３３４１）。
【０１４６】
次に、計算バッファ上に定義された変数ｉに“１”を格納し、その後、変数ｉに“４４”が格納されるまで、以下の処理を繰り返す（図１５のステップＳ３３４２乃至ステップＳ３３５１）。
【０１４７】
まず、変数ｘｍｉｎと数値Ｖｉｔｘとを比較して（図１５のステップＳ３３４３）、変数ｘｍｉｎが数値Ｖｉｔｘより大きい場合は、変数ｘｍｉｎに数値Ｖｉｔｘを格納する（図１５のステップＳ３３４４）。
【０１４８】
次に、変数ｘｍａｘと数値Ｖｉｔｘとを比較して（図１５のステップＳ３３４５）、変数ｘｍａｘが数値Ｖｉｔｘより小さい場合は、変数ｘｍａｘに数値Ｖｉｔｘを格納する（図１５のステップＳ３３４６）。
【０１４９】
次に、変数ｙｍｉｎと数値Ｖｉｔｙとを比較して（図１５のステップＳ３３４７）、変数ｙｍｉｎが数値Ｖｉｔｙより大きい場合は、変数ｙｍｉｎに数値ｙｉを格納する（図１５のステップＳ３３４８）。
【０１５０】
次に、変数ｙｍａｘと数値ｙｉとを比較して（図１５のステップＳ３３４９）、変数ｙｍａｘが数値Ｖｉｔｙより小さい場合は、変数ｙｍａｘに数値Ｖｉｔｙを格納する（図１５のステップＳ３３５０）。
【０１５１】
次に、変数ｉをインクリメントする（図１５のステップＳ３３５１）。
以上の処理を繰り返した後、最終的に保持されている変数ｘｍｉｎ、変数ｙｍｉｎ、変数ｘｍａｘ、変数ｙｍａｘを用いて、図１７（ａ）に示すように、４つの頂点ｐ（ＶＢ０）（ｘｍｉｎ，ｙｍｉｎ）、ｐ（ＶＢ１）（ｘｍａｘ，ｙｍｉｎ）、ｐ（ＶＢ２）（ｘｍａｘ，ｙｍａｘ）、ｐ（ＶＢ３）（ｘｍｉｎ，ｙｍａｘ）によって特定される矩形状の領域（図１７（ａ）のハッチング部分）が、バウンディングボックスＶＢとなる。
【０１５２】
次に、仮想平板生成手段１７は、バウンディングボックスＶＢに対する仮想平板Ｐｌａｔｅのｘ方向のマージンｍｘをδ＊ＶＢｘ（ＶＢｘは、バウンディングボックスＶＢのｘ方向の長さ、δは、０以上１以下の定数）に設定する（ステップＳ８２）。
【０１５３】
そして、仮想平板生成手段１７は、バウンディングボックスＶＢのｘ方向の長さＶＢｘおよびｙ方向の長さＶＢｙ、ｘ方向のマージンｍｘ、およびポリゴンデータＰＤ１を用いて、矩形状の仮想平板のｘ方向およびｙ方向の長さＬｐｌａｔｅｘ，Ｌｐｌａｔｅｙを算出する（ステップＳ８３）。
【０１５４】
ここでは、仮想平板生成手段１７が、まず、ポリゴンデータＰＤ１から、ポリゴンＰＧのｘ方向の長さＬｘおよびｙ方向の長さＬｙを算出する。ここにおいて、ポリゴンデータＰＤ１は、ポリゴンデータ入力受付手段１１において、並べ替えがなされているため、仮想平板生成手段１７は、ポリゴンのｘ方向の長さＬｘとして、点ｐ（Ｐ０）と点ｐ（Ｐ１）との間の距離（または、点ｐ（Ｐ２）と点ｐ（Ｐ３）との間の距離）を算出し、ポリゴンのｙ方向の長さＬｙとして、点ｐ（Ｐ１）と点ｐ（Ｐ２）と間の距離（または、点ｐ（Ｐ０）と点ｐ（Ｐ３）との間の距離）を算出する。つまり、仮想平板生成手段１７は、ポリゴンのｘ方向の長さＬｘおよびポリゴンのｙ方向の長さＬｙを式（３７）および式（３８）により算出する。
【０１５５】
【数３７】
0005432258.tif 000038
【０１５６】
【数３８】
0005432258.tif 000039
次に、仮想平板生成手段１７は、図１７（ｂ）に示すように、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘ、ｙ方向の長さＬｐｌａｔｅｙを式（３９）および式（４０）の関係式が成り立つように設定する。
【０１５７】
【数３９】
0005432258.tif 000040
【０１５８】
【数４０】
0005432258.tif 000041
そして、仮想平板生成手段１７は、仮想平板Ｐｌａｔｅのｙ方向の長さＬｐｌａｔｅｙに比べて、バウンディングボックスＶＢのｙ方向の長さＶＢｙ（＝ｙｍａｘ−ｙｍｉｎ）が長いか否かを判定する（ステップＳ８４）。ここでは、仮想平板ＰｌａｔｅがベクターデータＶＤ１で表されるベクター図形を包含する大きさであるか否かを判定していることになる。
【０１５９】
ステップＳ８４において、仮想平板生成手段１７が、仮想平板Ｐｌａｔｅのｙ方向の長さＬｐｌａｔｅｙに比べて、バウンディングボックスＶＢのｙ方向の長さＶＢｙ（＝ｙｍａｘ−ｙｍｉｎ）が短いと判定すると（ステップＳ８４：Ｙｅｓ）、仮想平板生成手段１７は、仮想平板Ｐｌａｔｅの４つの頂点ｐ（Ｖｐｌａｔｅｉ）（ｉ＝０，１，２，３）それぞれに対応する頂点データＶｐｌａｔｅ０（ｘｍｉｎ−ｍｘ／２，ｙｍｉｎ−ｍｙ／２）、Ｖｐｌａｔｅ１（ｘｍａｘ＋ｍｘ／２，ｙｍｉｎ−ｍｙ／２）、Ｖｐｌａｔｅ２（ｘｍａｘ＋ｍｘ／２，ｙｍａｘ＋ｍｙ／２）、Ｖｐｌａｔｅ３（ｘｍｉｎ−ｍｘ／２，ｙｍａｘ＋ｍｙ／２）を生成する（ステップＳ８７）。
【０１６０】
一方、ステップＳ８４において、仮想平板生成手段１７が、図１７（ｄ）に示すように、仮想平板のｙ方向の長さＬｐｌａｔｅｙに比べて、バウンディングボックスのｙ方向の長さＶＢｙ（＝ｙｍａｘ−ｙｍｉｎ）が長いと判定すると（ステップＳ８４：Ｙｅｓ）、仮想平板生成手段１７は、バウンディングボックスＶＢに対する仮想平板Ｐｌａｔｅのｙ方向のマージンｍｙをρ＊ＶＢｙ（ＶＢｙは、バウンディングボックスＶＢのｘ方向の長さ、ρは、０以上１以下の定数）に設定する（ステップＳ８５）。
【０１６１】
そして、仮想平板生成手段１７は、図１７（ｄ）に示すように、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘ、ｙ方向の長さＬｐｌａｔｅｙを式（４１）および式（４２）の関係式が成り立つように設定する（ステップＳ８６）。
【０１６２】
【数４１】
0005432258.tif 000042
【０１６３】
【数４２】
0005432258.tif 000043
最後に、仮想平板生成手段１７は、仮想平板Ｐｌａｔｅの４つの頂点ｐ（Ｖｐｌａｔｅｉ）それぞれに対応する頂点データＶｐｌａｔｅ０（ｘｍｉｎ−ｍｘ／２，ｙｍｉｎ−ｍｙ／２）、Ｖｐｌａｔｅ１（ｘｍａｘ＋ｍｘ／２，ｙｍｉｎ−ｍｙ／２）、Ｖｐｌａｔｅ２（ｘｍａｘ＋ｍｘ／２，ｙｍａｘ＋ｍｙ／２）、Ｖｐｌａｔｅ３（ｘｍｉｎ−ｍｘ／２，ｙｍａｘ＋ｍｙ／２）を生成する（ステップＳ８７）。
＜実施の形態３＞
＜１＞データ
＜１−１＞ポリゴンデータ
本実施の形態で使用するポリゴンデータＰＤ１は、図２１（ａ）に示すように１１個の頂点ｐ（Ｐｉ）（ｉ＝０，１，・・・，１０）を有する多角形状のポリゴンを表す１１個の座標データＰｉ（ｉ＝０，１，・・・，１０）から構成される（図２２参照）。
＜１−２＞ベクターデータ
ベクターデータ（第１のベクターデータ）ＶＤ１は、実施の形態１と同様に、図３（ａ）に示すような二次元平面に描画された文字の形状を定義するデータであって、図３（ｂ）に示すように文字の輪郭線上に位置する複数（図３（ｂ）の例では４５個）の頂点ｐ（Ｖｉ）の座標データ（以下、「頂点データ」と称す。）Ｖｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）と、輪郭線に沿って隣接する２つの頂点ｐ（Ｖｉ），ｐ（Ｖｉ＋１）の間を結ぶ曲線を定義する複数の制御点ｐ（Ｓｉ）の座標データ（以下、「制御点データ」と称す。）Ｓｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４２）とから構成される（図４参照）。
＜２＞構成
本実施の形態に係るグラフィックス描画装置３０は、図２３に示すように、実施の形態２と略同じであり、ポリゴンデータ入力手段２１０より入力されるポリゴンデータＰＤ１を処理する３次元画像処理装置１０ａの構成が相違する。なお、実施の形態２と同様の構成については同一の符号を付して説明を省略する。
＜２−１＞３次元画像処理装置
３次元画像処理装置１０ａは、実施の形態２と略同様の構成であり、プロセッサ（図示せず）が適宜プログラムをメモリ（図示せず）に読み込んで実行することにより、バウンディングボックス生成手段３１、３次元座標変換手段１２、スケーリング係数決定手段１３および投影変換手段１４等が実現されている。なお、実施の形態２と同様の構成については適宜説明を省略する。
＜２−１−１＞バウンディングボックス生成手段
バウンディングボックス生成手段３１は、図２１（ｂ）に示すように、ポリゴンデータＰＤ１で表される１１個の頂点を有する多角形のポリゴンを包含する矩形状のバウンディングボックスＰＢの頂点ｐ（ＰＢｉ）を表すバウンディングボックスデータＰＢｉ（ｉ＝０，１，２，３）を生成する（図２２参照）。
＜２−１−２＞３次元画像変換手段
３次元座標変換手段１２では、ポリゴンデータＰＤ１に加えて、バウンディングボックスデータＰＢｉを４次元座標に変換してバウンディングボックスデータＰＢｉｍ（ｉ＝０，１，２，３）を生成し、当該バウンディングボックスデータＢｉｍに対してモデルビュー変換を行いバウンディングボックスデータＰＢｉｅ（ｉ＝０，１，２，３）（図２２参照）を生成する。また、３次元座標変換手段１２は、バウンディングボックスデータＰＢｉｅをスケーリング係数決定手段１３に入力する。
＜２−１−３＞スケーリング係数決定手段
スケーリング係数決定手段１３は、３次元座標変換手段１２から入力される第３のバウンディングボックスデータＰＢｉｅを用いて、実施の形態１と同様の方法でスケーリング係数を決定する。また、スケーリング係数決定手段１３は、ベクターデータ変換手段１８に第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを入力する。
＜２−１−４＞投影変換手段
投影変換手段１４では、ポリゴンデータＰＤ３に加えて、バウンディングボックスデータＰＢｉｅに対しても座標変換を適用し、スクリーン座標系における頂点ｐ（ＰＢｉｗ）（ｉ＝０，１，２，３）の座標データを算出して、ポリゴンラスタライズ手段１５に入力する。
＜２−２＞２次元画像処理装置
２次元画像処理装置１０ｂは、実施の形態２と略同様の構成であって、プロセッサ（図示せず）が適宜プログラムをメモリ（図示せず）に読み込んで実行することにより、仮想平板生成手段１７やテクスチャマッピング手段２０等を実現している。なお、実施の形態２と同様の構成については適宜説明を省略する。
＜２−２−１＞仮想平板生成手段
仮想平板生成手段１７は、バウンディングボックスデータＰＢｉを用いて、実施の形態２と同様の手順で仮想平板を生成する。また、仮想平板生成手段１７は、仮想平板データを２次元座標変換手段１８に入力する。
＜２−２−２＞テクスチャマッピング手段
テクスチャマッピング手段２０は、テクスチャバッファ２１に格納されているテクスチャデータに基づいて、テクスチャが貼り付けられるポリゴンＰＧの各画素のカラー値を決定する。例えば、図２４に示すように、テクスチャデータが表すテクスチャの左下端の画素を原点（０，０）として、Ｘ方向の画素数をＴＥＸＷ、Ｙ方向の画素数をＴＥＸＨとすると、バウンディングボックスＰＢの頂点ｐ（ＰＢ０ｗ）に、座標（０，０）に位置する画素、頂点ｐ（ＰＢ１ｗ）に座標（ＴＥＸＷ−１，０）に位置する画素、頂点ｐ（ＰＢ２ｗ）に座標（ＴＥＸＷ−１，ＴＥＸＨ−１）に位置する画素、頂点ｐ（ＰＢ３ｗ）に座標（０，ＴＥＸＨ−１）に位置する画素のカラー値がマッピングされる形で、ポリゴンＰＧのラスタ画像を構成する各画素のカラー値を決定する。
＜３＞動作
本実施の形態のグラフィックス描画装置３０の動作は、実施の形態２のグラフィックス描画装置の動作と略同様であり、３次元画像処理装置１０ａの動作が相違する。
＜３−１＞３次元画像処理装置の動作
本実施の形態の３次元画像処理装置１０ａの動作のフローチャートを図２５に示す。
【０１６４】
まず、ポリゴンデータ入力受付手段１１が、ポリゴンデータＰＤ１を取得すると（ステップＳ３１１）と、バウンディングボックス生成手段３１が、ポリゴンデータＰＤ１が表すポリゴンＰＧを包含するバウンディングボックスＰＢを表すバウンディングボックスデータＰＢｉ（ｉ＝０，１，２，３）を算出する（ステップＳ３１２）。バウンディングボックス生成手段３１によるバウンディングボックスデータＰＢｉの算出処理の詳細については、＜３−２＞で詳しく述べる。
【０１６５】
次に、３次元座標変換手段１２が、図２２に示すように、バウンディングボックスデータＰＢｉを４次元座標系に変換してバウンディングボックスデータＰＢｉｍ（ｉ＝０，１，２，３）を生成し（ステップＳ３１２）、更に、モデルビュー変換を施すことでバウンディングボックスデータＰＢｉｅ（ｉ＝０，１，２，３）を生成する（ステップＳ３１３）。
【０１６６】
次に、スケーリング係数決定手段１３が、バウンディングボックスデータＰＢｉｅおよび投影変換行列設定手段１４ａから入力される投影変換行列Ｐに関する情報を用いて、第１のスケーリング係数ｓｃｘおよび第２のスケーリング係数ｓｃｙを決定し（ステップＳ３１４）、ベクターデータ変換手段１８に入力する。
【０１６７】
その後、投影変換手段１４が、バウンディングボックスデータＰＢｉｅに対して投影変換等を行って、バウンディングボックスデータＰＢｉｄ（ｉ＝０，１，２，３）（図２２参照）を生成し（ステップＳ３１５）、続いて、バウンディングボックスデータＰＢｉｄに対してビューポート変換を行い、バウンディングボックスデータＰＢｉｗ（ｉ＝０，１，２，３）（図２２参照）を生成し（ステップＳ３１６）、ポリゴンラスタライズ手段１５に入力する。
【０１６８】
最後に、ポリゴンラスタライズ手段１５が、ポリゴンデータＰＤ６とテクスチャマッピング手段２０から入力されるテクスチャデータＴＤとを用いて、フレームデータＦＤを生成し（ステップＳ３１７）、フレームバッファ２２に書き込む（ステップ３１８）。
＜３−２＞バウンディングボックス算出
本実施の形態のグラフィックス描画装置３０のバウンディングボックス算出の処理における動作を図２６に示すフローチャートに従って説明する。
【０１６９】
まず、ポリゴンデータ入力受付手段１１が、ユーザーが入力するポリゴンデータＰＤ１を取得し、ポリゴンデータＰＤ１をバウンディングボックス生成手段３１に入力する。
バウンディングボックス生成手段３１は、計算バッファ上に定義された変数ｘｍｉｎおよび変数ｘｍａｘに数値ｘ０を格納し、変数ｙｍｉｎおよび変数ｙｍａｘに数値ｙ０を格納し、変数ｉに“１”を格納することにより、初期化する（ステップＳ８１１）。
【０１７０】
次に、バウンディングボックス生成手段３１が、変数ｉに、頂点ｐ（Ｐｉ）の総数“１１”が格納されているか否かを判定する（ステップＳ８１２）。
ステップＳ８１２において、バウンディングボックス生成手段３１が、変数ｉに整数“１０”が格納されている（矩形状のバウンディングボックスＰＢの４つの頂点を決める処理が終了している）と判定すると（ステップＳ８１２：Ｙｅｓ）、バウンディングボックス算出処理を終了する。
【０１７１】
一方、ステップＳ８１２において、変数ｉに整数“１０”が格納されていない（矩形状のバウンディングボックスの４つの頂点を決める処理が終了していない）と判定すると（ステップＳ８１２：Ｎｏ）、バウンディングボックス生成手段３１は、変数ｘｍｉｎの値と数値ｘｉとを比較して（ステップＳ８１３）、変数ｘｍｉｎの値に比べて数値ｘｉが小さい場合（ステップＳ８１３：Ｙｅｓ）、変数ｘｍｉｎの値をｘｉで更新する（ステップＳ８１４）。一方、変数ｘｍｉｎの値に比べて数値ｘｉが小さくない場合（ステップＳ８１３：Ｎｏ）、バウンディングボックス生成手段３１は、変数ｘｍｉｎの値は更新しない。
【０１７２】
次に、バウンディングボックス生成手段３１は、変数ｘｍａｘの値と数値ｘｉとを比較して（ステップＳ８１５）、変数ｘｍａｘの値に比べて数値ｘｉが大きい場合（ステップＳ８１５：Ｙｅｓ）、変数ｘｍａｘの値を数値ｘｉで更新する（ステップＳ８１６）。一方、変数ｘｍａｘの値に比べて数値ｘｉが大きくない場合（ステップＳ８１５：Ｎｏ）、バウンディングボックス生成手段３１は、変数ｘｍａｘの値は更新しない。
【０１７３】
次に、バウンディングボックス生成手段３１は、ステップＳ８１７乃至ステップＳ８２０において、変数ｘｍｉｎ、変数ｘｍａｘおよび数値ｘｉを、それぞれ変数ｙｍｉｎ、変数ｙｍａｘおよび数値ｙｉに置き換えて、ステップＳ８１３乃至ステップＳ８１６で行った処理と同様の処理を行う。
【０１７４】
次に、バウンディングボックス生成手段３１は、変数ｉの値をインクリメントする（ステップＳ８２１）。
以上の処理を繰り返した後、最終的に保持されている変数ｘｍｉｎ、変数ｙｍｉｎ、変数ｘｍａｘ、変数ｙｍａｘを用いて、バウンディングボックス生成手段３１は、変数ｉの値が整数“１０”に設定されるまで、ステップＳ８１２乃至ステップＳ８２１の処理を繰り返すことにより、バウンディングボックスを構成する４個の頂点ｐ（ＰＢｉ）（ｉ＝０，１，２，３）それぞれの座標データＰＢ０（ｘｍｉｎ，ｙｍｉｎ）、ＰＢ１（ｘｍａｘ，ｙｍｉｎ）、ＰＢ２（ｘｍａｘ，ｙｍａｘ）、ＰＢ３（ｘｍｉｎ，ｙｍａｘ）を算出する。また、バウンディングボックス生成手段３１は、算出した４個の頂点ｐ（ＰＢｉ）（ｉ＝０，１，２，３）の座標データＢｉ（ｉ＝０，１，２，３）を３次元座標変換手段１２および仮想平板生成手段１７に入力する。
【０１７５】
次に、仮想平板生成手段１７は、ポリゴンデータ２３の頂点データＰｉ（ｉ＝０，１，２，３）の代わりにバウンディングデータＰＢｉ（ｉ＝０，１，２，３）を用いて、実施の形態１と同様の方法で仮想平板Ｐｌａｔｅを生成する（＜実施の形態１＞の＜３−２−１＞および図２０参照）。
＜実施の形態４＞
＜１＞データ
＜１−１＞ポリゴンデータ
本実施の形態では、実施の形態１と同様に、図１に示すように、矩形状のポリゴンＰＧの形状を表すポリゴンデータＰＤ１（図２参照）を用いる。
＜１−２＞ベクターデータ
ベクターデータ（第１のベクターデータ）ＶＤ１）は、実施の形態１と同様に、図３（ａ）に示すような二次元平面に描画された文字の形状を定義するデータであって、図３（ｂ）に示すように文字の輪郭線上に位置する複数（図３（ｂ）の例では４５個）の頂点ｐ（Ｖｉ）の頂点データＶｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４４）と、輪郭線に沿って隣接する２つの頂点ｐ（Ｖｉ），ｐ（Ｖｉ＋１）の間を結ぶ曲線を定義する複数の制御点ｐ（Ｓｉ）の制御点データＳｉ（ｘｉ，ｙｉ）（ｉ＝０，１，・・・，４２）とから構成される（図４参照）。
＜２＞構成
本実施の形態に係るグラフィックス描画装置４０は、図２７に示すように、ポリゴンデータ入力手段２１０より入力されるポリゴンデータＰＤ１を処理する３次元画像処理装置１０ａと、ベクターデータ入力手段２２０より入力されるベクターデータ（第１のベクターデータ）ＶＤ１を処理する２次元画像処理装置１０ｂと、フレームバッファ２２と、テクスチャバッファ２１と、３次元画像処理装置１０ａで使用される投影変換行列Ｐに関するパラメータを設定する投影変換行列設定手段１４ａとを備える。なお、投影変換行列設定手段１４ａ、テクスチャバッファ２１およびフレームバッファ２２は、実施の形態１と同様の構成なので説明を省略する。
＜２−１＞３次元画像処理装置
３次元画像処理装置１０ａは、実施の形態２と略同様の構成であり、プロセッサ（図示せず）が適宜プログラムをメモリ（図示せず）に読み込んで実行することにより、ポリゴンデータ入力受付手段１１と、３次元座標変換手段１２と、スケーリング係数決定手段１３と、投影変換手段１４と、ポリゴンラスタライズ手段１５と、フレームバッファ２２に記憶されている３次元画像データに基づいて外部に接続されているディスプレイ１００に３次元画像を表示させる画像表示部１０ｃと、データ数監視手段４１と、処理方法設定手段４２とを実現している。なお、実施の形態２と同様の構成については、適宜説明を省略する。
＜２−１−１＞３次元座標変換手段
３次元座標変換手段１２は、仮想平板Ｐｌａｔｅの頂点ｐ（Ｖｐｌａｔｅ０ｍ）が原点に一致するように、仮想平板Ｐｌａｔｅを平行移動させる変換を行う行列Ｔ０と、ポリゴンＰＧの大きさに一致するように仮想平板Ｐｌａｔｅをスケーリングするスケーリング行列ＳＣと、仮想平板Ｐｌａｔｅを再びもとの位置に平行移動させる行列Ｔ１とを算出する。なお、スケーリング行列ＳＣは、式（４３）で表される。
【０１７６】
【数４３】
0005432258.tif 000044
＜２−１−２＞データ数監視手段
データ数監視手段４１は、ポリゴンデータ入力受付手段１１に入力されるポリゴンデータＰＤ１を構成するデータの数をカウントする第１のカウンタ（図示せず）と、ベクターデータ入力受付手段１６に入力される第１のベクターデータＶＤ１を構成するデータの数をカウントする第２のカウンタ（図示せず）とを備える。また、データ数監視手段４１は、第１のカウンタのカウント値ＣＰおよび第２のカウンタのカウント値ＣＶを処理方法設定手段４２に入力する。
＜２−１−３＞処理方法設定手段
処理方法設定手段４２は、データ数監視手段４１から入力されるポリゴンデータＰＤ１を構成するデータの数ＣＰと、第１のベクターデータＶＤ１を構成するデータの数ＣＶとに基づいて、処理方法を変更する。
【０１７７】
処理方法設定手段４２は、予め定められた一定時間毎にカウンタト値ＣＰ，ＣＶを読み出す。ここで、カウント値ＣＰ，ＣＶの間に、式（４４）の関係が成立するか否かに応じて２種類の処理方法のうちいずれを採用するかを決定する。
【０１７８】
【数４４】
0005432258.tif 000045
ここで、ＣＰはポリゴンデータＰＤを構成するデータの数、ＣＶは第１のベクターデータＶＤ１を構成するデータの数、βは１以上の定数を表す。処理方法の詳細については、後述の＜３＞で説明する。また、処理方法設定手段４２は、決定した処理方法を３次元画像処理装置１０ａおよび２次元画像処理装置１０ｂの各構成に通知する。
＜２−２＞２次元画像処理装置
２次元画像処理装置１０ｂは、実施の形態２と略同様の構成であり、プロセッサ（図示せず）が適宜プログラムをメモリ（図示せず）に読み込んで実行することにより、ベクターデータ入力受付手段１６と、仮想平板生成手段１７と、ベクターデータ変換手段１８と、テクスチャ生成手段１９と、テクスチャマッピング手段２０とを実現している。なお、実施の形態２と同様の構成については適宜説明を省略する。
＜３＞動作
＜３−１＞３次元画像処理装置の動作
本実施の形態の３次元画像処理装置１０ａの動作のフローチャートを図２８に示す。
【０１７９】
まず、ポリゴンデータ入力受付手段１１が、ユーザーがポリゴンデータ入力手段２１０により入力するポリゴンデータＰＤ１を取得する（ステップＳ１１）。
次に、処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）に示す関係が成立するか否かを判断する（ステップＳ４１）。
【０１８０】
処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）の関係が成立しないと判断すると（ステップＳ４１：Ｎｏ）、ポリゴンデータＰＤ１に対する４次元座標系への変換を行う（ステップＳ１２）。ステップＳ１２以降、ステップＳ１３乃至ステップＳ１８の処理は、実施の形態１と同様なので、説明を省略する。
【０１８１】
一方、処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）に示す関係が成立すると判断すると（ステップＳ４１：Ｙｅｓ）、３次元座標変換手段１２は、ポリゴンデータＰＤ１を４次元座標系に変換してポリゴンデータＰＤ２を生成する。
【０１８２】
このとき、３次元座標変換手段１２は、ベクターデータＶＤ１を構成する頂点データＶｉおよび制御点データＳｉ（図４、図２９参照）と、仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）（図３０参照）とについて、４次元座標系への変換を行い、頂点データＶｉｍ（ｉ＝０，１，・・・，４４）および制御点データＳｉｍ（ｉ＝０，１，・・・，４２）から構成されるベクターデータＶＤ２２（図２９参照）と、座標データＶｐｌａｔｅｋｍ（ｋ＝０，１，２，３）（図３０参照）とを生成する（ステップＳ４２）。
【０１８３】
次に、３次元座標変換手段１２は、仮想平板Ｐｌａｔｅの頂点Ｖｐｌａｔｅｋｍ（ｋ＝０，１，２，３）をポリゴンＰＧの頂点Ｐｉｍ（ｉ＝０，１，２，３）に重ね合わせる変換を行うために用いる行列Ｔ０，ＳＣ，Ｔ１を算出する（ステップＳ４３）。
【０１８４】
そして、３次元座標変換手段１２は、ポリゴンデータＰＤ２にモデルビュー変換およびｘ，ｙ，ｚ成分それぞれをｗ成分により除する演算（式（１７）参照）を行うことポリゴンデータＰＤ５を生成するとともに、座標データＶｐｌａｔｅｋｍ（ｋ＝０，１，２，３）とベクターデータＶＤ２とに対して、各行列Ｔ０、ＳＣ、Ｔ１を順に乗ずることによりベクターデータ変換を行った後（ステップＳ４４）、モデルビュー変換を行い（ステップＳ４５）、続いて、ｘ，ｙ，ｚ成分それぞれをｗ成分により除する演算（式（１７）参照）を行うことで、頂点データＶｉｅ（ｉ＝０，１，・・・，４４）および制御点データＳｉｅ（ｉ＝０，１，・・・，４２）から構成されるベクターデータＶＤ２３（図２９参照）と、座標データＶｐｌａｔｅｉｅ（ｉ＝０，１，２，３）（図３０参照）とを生成する（ステップＳ４６）。
【０１８５】
その後、投影変換手段１４が、ポリゴンデータＰＤ５とともに、ベクターデータＶＤ３と仮想平板データＶｐｌａｔｅｉｅについてビューポート変換を行い、ポリゴンデータＰＤ６を生成するとともに、頂点データＶｉｗ（ｉ＝０，１，・・・，４４）および制御点データＳｉｗ（ｉ＝０，１，・・・，４２）から構成されるベクターデータＶＤ２４（図２９参照）と、スクリーン座標系における座標データＶｐｌａｔｅｉｗ（ｉ＝０，１，２，３）（図３０参照）とを生成する（ステップＳ４６）。
【０１８６】
そして、投影変換手段１４は、ベクターデータＶＤ４および座標データＶｐｌａｔｅｉｗ（ｉ＝０，１，２，３）それぞれについて、ｘ成分とｙ成分とを抽出することにより、頂点データＶｉｗｖ（ｘｉｗ，ｙｉｗ）（ｉ＝０，１，・・・，４４）およびＳｉｗｖ（ｘｉｗ，ｙｉｗ）（ｉ＝０，１，・・・，４２）から構成されるベクターデータＶＤ２５（図２９参照）と、座標データＶｐｌａｔｅｉｗｖ（ｘｐｌａｔｅｉｗ，ｙｐｌａｔｅｉｗ）（ｉ＝０，１，２，３）（図３０参照）とを生成して、テクスチャ生成手段１９に入力する（ステップＳ４８）。
【０１８７】
最後に、ポリゴンラスタライズ手段１５が、ポリゴンデータＰＤ６とテクスチャマッピング手段２０から入力されるテクスチャデータＴＤとを用いて、フレームデータＦＤを生成し（ステップＳ１７）、フレームバッファ２２に書き込む（ステップ１８）。
＜３−２＞２次元画像処理装置の動作
本実施の形態の２次元画像処理装置の動作のフローチャートを図３１に示す。
【０１８８】
まず、ベクターデータ入力受付手段１６が、ベクターデータＶＤ１を取得すると（ステップＳ２１）、仮想平板生成手段１７が、ベクターデータＶＤ１およびポリゴンデータＰＤ１を用いて、仮想平板生成処理を行い（ステップＳ２２）、仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｋ（ｋ＝０，１，２，３）と、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙを算出する。仮想平板生成処理の内容は実施の形態１と同様なので説明を省略する。
【０１８９】
そして、処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）に示す関係が成立するか否かを判断する（ステップＳ４１）。
処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）の関係が成立しないと判断すると（ステップＳ４１：Ｎｏ）、ベクターデータＶＤ１に対する３次元座標系への変換を行う（ステップＳ２３）。ステップＳ２３以降、ステップＳ２４乃至ステップＳ２７の処理は、実施の形態１と同様なので、説明を省略する。
【０１９０】
一方、処理方法設定手段４２が、カウント値ＣＰ，ＣＶの間に式（４４）に示す関係が成立すると判断すると（ステップＳ４１：Ｙｅｓ）、仮想平板生成手段１７が、３次元座標変換手段１２に対して、仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｉ（ｉ＝０，１，２，３）、仮想平板Ｐｌａｔｅのｘ方向の長さＬｐｌａｔｅｘおよびｙ方向の長さＬｐｌａｔｅｙ、ポリゴンＰＧのｘ方向の長さＬｘおよびｙ方向の長さＬｙを入力する（ステップＳ５１）。
【０１９１】
その後、投影変換手段１４から仮想平板Ｐｌａｔｅの頂点の座標データＶｐｌａｔｅｉｗｖ（ｘｐｌａｔｅｉｗｖ，ｙｐｌａｔｅｉｗｖ）（ｉ＝０，１，２，３）およびベクターデータＶＤ５が入力されると、これらのデータを用いてテクスチャデータを生成し（ステップＳ５２）、テクスチャバッファ２１に書き込む（ステップＳ２７）。
＜変形例＞
（１）前述の実施の形態１乃至４では、ポリゴンデータ入力受付手段１１に２次元座標系で表現されたポリゴンデータＰＤ１が入力される例について説明したが、これに限定されるものではなく、ポリゴンデータ入力受付手段１１に４次元座標系における座標データからなるポリゴンデータＰＤ２が直接入力されるものであってもよい。
【０１９２】
本変形例では、ポリゴンデータ入力受付手段１１が、ポリゴンデータＰＤ２を構成する各座標データＰｉｅからｘ成分およびｙ成分のみを抽出して仮想平板生成手段１７に入力する。
【０１９３】
本変形例によれば、３次元座標変換手段１２が、２次元座標系で表現されたポリゴンデータＰＤ１を４次元座標で表現されたポリゴンデータＰＤ２に変換する処理を行う必要がなくなる。
（２）前述の実施の形態２乃至４では、ベクターデータ入力受付手段１６に２次元座標系で表現されたベクターデータＶＤ１が入力される例について説明したが、これに限定されるものではなく、ベクターデータ入力受付手段１６に３次元座標系における座標データからなるベクターデータＶＤ２が直接入力されるものであってもよい。
【０１９４】
本変形例では、ベクターデータ入力受付手段１１が、ベクターデータＶＤ２を構成する各頂点データＶｉｈからｘ成分およびｙ成分のみを抽出して仮想平板生成手段１７に入力する。
【０１９５】
本変形例によれば、ベクターデータ変換手段１８が、２次元座標系で表現されたベクターデータＶＤ１を３次元座標で表現されたベクターデータＶＤ２に変換する処理を行う必要がなくなる。
（３）前述の実施の形態１乃至４では、Ｚｒｅｐとして、ポリゴンＰＧの頂点ｐ（Ｐ０ｅ）のＺ成分であるＺ０ｅを採用する例について説明したが、これに限定されるものではなく、Ｚｒｅｐとして、ポリゴンＰＧを構成する４つの頂点のうち、Ｚ軸方向における視点からの距離が最も近い頂点ｐ（Ｐｉｅ）に対応する座標データＰｉｅのＺ成分の値を採用してもよい。
【０１９６】
また、本変形例では、Ｚｒｅｐとして、ポリゴンＰＧを構成する４つの頂点それぞれに対応する座標データＰｉｅ（ｉ＝０，１，２，３）のＺ成分の平均値を採用してもよい。この場合、
【０１９７】
【数４５】
0005432258.tif 000046
となる。
【０１９８】
更に、本変形例では、ポリゴンＰＧが矩形状である場合について説明したが、これに限定されるものではなく、例えば、ポリゴンＰＧがＫ個の頂点を有するとすれば、
【０１９９】
【数４６】
0005432258.tif 000047
とすればよい。
（４）前述の実施の形態２では、仮想平板生成手段１７が、１つのベクターデータＶＤ１からバウンディングボックスＶＢを求める例について説明したが、これに限定されるものではなく、複数のベクターデータから１個のバウンディングボックスを求めるようにしてもよい。
（５）前述の実施の形態２では、仮想平板生成手段１７が、ｘ方向のマージンｍｘをδ＊ＰＢｘ（ＰＢｘ：バウンディングボックスのｘ方向の長さ）に設定する例について説明したが、これに限定されるものではなく、例えば、マージンｍｘを、バウンディングボックスのｘ方向の長さＰＢｘに関係なく固定の値ε１に設定されるものであってもよいし、他の方法を適宜用いてもよい。
また、ｙ方向のマージンｍｙについてもバウンディングボックスのｙ方向の長さＰＢｙに関係なく固定の値ε２に設定されるものであってもよい。
（６）前述の実施の形態２では、ベクターデータＶＤ１に基づいて、バウンディングボックスを算出する例について説明したが、これに限定されるものではなく、例えば、ベクターデータＶＤ１の中にフォントの属性情報として実施の形態２でいうところのバウンディングボックスに相当する情報があらかじめ含まれている場合には、そのデータをそのままバウンディングボックスとして用いるようにしてもよい。
【０２００】
これによれば、仮想平板生成処理におけるバウンディングボックス算出処理を省略することができるので、処理効率の向上を図ることができる。
（７）前述の実施の形態２では、１つの文字を表すベクターデータＶＤ１に基づいて、バウンディングボックスを算出する例について説明したが、これに限定されるものではなく、例えば、図３２に示すように、文字列を表す複数のベクターデータそれぞれに対して、バウンディングボックスを生成し、生成した複数のバウンディングボックスを包含するような仮想平板Ｐｌａｔｅを生成するようにしてもよい。
【０２０１】
本変形例では、個々の文字を表すベクターデータそれぞれに対してバウンディングボックスのｘ方向の長さＬｘおよびｙ方向の長さＬｙを算出し、その後、これら複数のバウンディングボックスのｘ方向の長さの和ＬｘＡおよびｙ方向の長さの和ＬｙＡを算出して、ｘ方向の長さがＬｘＡ、ｙ方向の長さがＬｙＡの矩形状の仮想平板をバウンディングボックスとしてもよい。
【０２０２】
ここで、文字列を構成する各ベクターデータが、隣接する文字間のオフセット長（Ｅｓｃａｐｅｍｅｎｔ、またはＡｄｖａｎｃｅｄ  Ｗｉｄｔｈ）に関する属性情報を含む場合があるが、この場合には、各ベクターデータに含まれるＥｓｃａｐｅｍｅｎｔの和をバウンディングボックスのｘ方向の長さＬｘＡまたはｙ方向の長さＬｙＡに加算すればよい。
（８）前述の実施の形態３では、ポリゴンデータＰＤ１が、図２１に示すような１１個の頂点ｐ（Ｐｉ）（ｉ＝０，１，・・・，１０）から構成される多角形状のポリゴンを表す例について説明したが、これに限定されるものではなく、例えば、ポリゴンデータＰＤ１が、円形状のポリゴンなど複数の頂点により構成されるポリゴンを表すものであってもよく、頂点の数が１０個未満、或いは頂点の数が１１個を超える多角形のポリゴンを表すものであってもよい。
（９）前述の実施の形態１は、離散的な拡大縮小率（スケーリング値）αをスケーリング値記憶手段５１に記憶させておき、最適なスケーリング値を決定する例について説明したが、これに限定されるものではなく、例えば、式（４７）に示すような目的関数を設定し、スケーリング値を連続的に変化させて、目的関数が最小値をとるときのスケーリング値αに決定するようにしてもよい。
【０２０３】
【数４７】
0005432258.tif 000048
ここで、ｏｂｊ（α）は目的関数を示す。ｆ（α）は、図３３に示すように、スケーリングを行った後のベクターデータＶＤ２が表すベクター図形を包含する矩形状のバウンディングボックスＶＢＡの面積の関数を示す。ここで、スケーリングは、第１のスケーリング値ｓｃａｌｅｘおよび第２のスケーリング値ｓｃａｌｅｙの値を共にαとして行う。
【０２０４】
Ｐｅｎａｌｔｙは、図３３に示すように、バウンディングボックスＶＢＡと、ｘ方向の長さが第１のスケーリング係数ｓｃｘに等しく、ｙ方向の長さが第２のスケーリング係数ｓｃｙに等しい矩形状の領域Ｐｌａｔｅとを、中心が一致する形で重ね合わせたときに、互いに重ならない領域の面積（ハッチング部分）に比例する関数（ペナルティ関数）を示す。
【０２０５】
ベクターデータ変換手段１８は、実施の形態１で説明したように、まず、頂点データＶｉ（ｉ＝０，１，・・・，４４）の重心座標Ｇが、視点（原点）に重なるように平行移動変換をして頂点データＶｉｈ（ｉ＝０，１，・・・，４４）を生成し、当該頂点データＶｉｈから構成されるベクターデータと値αを用いて、式（４７）の関係式に従って目的関数ｏｂｊ（α）の値を算出する。
【０２０６】
そして、値αを所定の範囲内（例えば、α＝０．５とα＝１００との間の範囲内）で連続的に変化させたときにｏｂｊ（α）が最小値をとるときの値αを最適値として決定する。
【０２０７】
なお、ｏｂｊ（α）の最小値の算出には、例えば、最急降下法などを用いればよい。
（１０）前述の実施の形態４では、処理方法設定手段４２が、データ数監視手段４１から入力される情報に基づいて処理方法を変更する例について説明したが、これに限定されるものではない。
＜補足＞
（１）なお、本実施例のグラフィックス描画装置は、典型的には半導体集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部またはすべてを含むように１チップ化されても良い。ここではＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２０８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２０９】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
【０２１０】
さらに加えて、本実施例のグラフィックス描画装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【産業上の利用可能性】
【０２１１】
本構成のグラフィックス描画装置は、様々な用途に利用可能である。例えば、携帯電話や携帯音楽プレーヤー、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダー、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やＷｅｂブラウザ、エディタ、ＥＰＧ、地図表示等における情報表示手段として利用価値が高い。
【符号の説明】
【０２１２】
１０，３０，４０，５０    グラフィックス描画装置
１０ａ  ３次元画像処理装置
１０ｂ  ２次元画像処理装置
１０ｃ  画像表示部
１１    ポリゴンデータ入力受付手段
１２    ３次元座標変換手段
１３    スケーリング係数決定手段
１４    投影変換手段
１５    ポリゴンラスタライズ手段
１６    ベクターデータ入力受付手段
１７    仮想平板生成手段
１８    ベクターデータ変換手段
１９    テクスチャ生成手段
２０    テクスチャマッピング手段
２１    テクスチャバッファ
２２    フレームバッファ
３１    バウンディングボックス生成手段
４１    データ数監視手段
４２    処理方法設定手段
５１    スケーリング値記憶手段
ＰＤ１，ＰＤ２，ＰＤ３，ＰＤ４，ＰＤ５，ＰＤ６    ポリゴンデータ
Ｔ      スケーリング値テーブル
ＶＤ１，ＶＤ２，ＶＤ３，ＶＤ４，ＶＤ５    ベクターデータ
【図１】
0005432258.tif 000059
【図２】
0005432258.tif 000060
【図３】
0005432258.tif 000061
【図４】
0005432258.tif 000062
【図５】
0005432258.tif 000063
【図６】
0005432258.tif 000064
【図７】
0005432258.tif 000065
【図８】
0005432258.tif 000066
【図９】
0005432258.tif 000067
【図１０】
0005432258.tif 000068
【図１１】
0005432258.tif 000069
【図１２】
0005432258.tif 000070
【図１３】
0005432258.tif 000071
【図１４】
0005432258.tif 000072
【図１５】
0005432258.tif 000073
【図１６】
0005432258.tif 000074
【図１７】
0005432258.tif 000075
【図１８】
0005432258.tif 000076
【図１９】
0005432258.tif 000077
【図２０】
0005432258.tif 000078
【図２１】
0005432258.tif 000079
【図２２】
0005432258.tif 000080
【図２３】
0005432258.tif 000081
【図２４】
0005432258.tif 000082
【図２５】
0005432258.tif 000083
【図２６】
0005432258.tif 000084
【図２７】
0005432258.tif 000085
【図２８】
0005432258.tif 000086
【図２９】
0005432258.tif 000087
【図３０】
0005432258.tif 000088
【図３１】
0005432258.tif 000089
【図３２】
0005432258.tif 000090
【図３３】
0005432258.tif 000091
【図３４】
0005432258.tif 000092
【図３５】
0005432258.tif 000093
【図３６】
0005432258.tif 000094