JP5432258B2 - グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路 - Google Patents

グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路 Download PDF

Info

Publication number
JP5432258B2
JP5432258B2 JP2011519604A JP2011519604A JP5432258B2 JP 5432258 B2 JP5432258 B2 JP 5432258B2 JP 2011519604 A JP2011519604 A JP 2011519604A JP 2011519604 A JP2011519604 A JP 2011519604A JP 5432258 B2 JP5432258 B2 JP 5432258B2
Authority
JP
Japan
Prior art keywords
data
polygon
vector data
texture
scaling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011519604A
Other languages
English (en)
Other versions
JPWO2010150545A1 (ja
Inventor
亮 上崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011519604A priority Critical patent/JP5432258B2/ja
Publication of JPWO2010150545A1 publication Critical patent/JPWO2010150545A1/ja
Application granted granted Critical
Publication of JP5432258B2 publication Critical patent/JP5432258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

本発明は、ポリゴンデータとベクターデータとを使用したグラフィックス描画の技術に関する。
パーソナルコンピュータのOS向けに開発されたグラフィカルユーザーインターフェース(以下、「GUI」と称す。)は、今やデジタルテレビや携帯電話などにも搭載されており、広く普及している。
また、近年では、特許文献1に示すように3次元画像を表示するGUI(以下、「3D−GUI」と称す。)も多く見られるようになってきている。
特許文献1に記載された3D−GUIは、図34に示すように、立方体CBを画面に表示するとともに、アイコンIC1や文字IC2などにより構成されるメニュー画面(ウィンドウまたはワークスペースとも言う。)MENUを立方体CBの各面(ポリゴン)PGに貼り付けた形で表示する。
この類の3D−GUIには、例えば、図35に示すように、複数の立方体CB1,CB2,・・・,CB7を表示し、その中からユーザが選択した立方体CB1を拡大して表示し、他の立方体CB2,CB3,・・・,CB7は選択した立方体CB1の周囲に縮小して表示するものが考えられている。
ところで、このような3D−GUIは、一般的にメニュー画面の文字フォント等をベクターデータ(アウトラインデータ)として保持するグラフィックス描画装置を使用する。
従来から多く用いられているこの類のグラフィックス描画装置は、凡そ以下のフローで処理を行う。
まず、ベクターデータからある適当な大きさの文字テクスチャを生成し(図36のPG1)、次に、当該文字テクスチャをポリゴンPGの大きさに合わせてスケーリングし(図36のPG2,PG3)、その後、スケーリングされた文字テクスチャをポリゴンPGにマッピングする。
米国特許第5678015号明細書
しかしながら、従来のグラフィックス描画装置では、例えば、立方体CB1,CB2,・・・,CB7が縮小されると、文字テクスチャがマッピングされたポリゴンPGも縮小され、図36のPG3に示すように文字テクスチャがつぶれて可読性を失ってしまうことがあった。一方、立方体CB1,CB2,・・・,CB7が拡大されると、文字テクスチャがマッピングされたポリゴンPGも拡大され、図36のPG2に示すように、文字の輪郭部分に現れるエイリアシングが発生することがあった。つまり、ポリゴンPGを含む3次元画像の拡大、縮小に伴い、当該3次元画像の品質が劣化するおそれがあった。
本発明は、上記事由に鑑みてなされたものであり、高品質の3次元画像を表示できるグラフィックス描画装置を提供することを目的とする。
上記目的を達成するために、本発明に係るグラフィックス描画装置は、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、第1のベクターデータをスケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換手段と、第2のベクターデータに基づいてテクスチャを生成するテクスチャ生成手段と、テクスチャをポリゴンにマッピングするテクスチャマッピング手段とを備える。
本構成によれば、第1のベクターデータをスケーリング係数に基づいてスケーリングを行い、その後に、第1のベクターデータをスケーリングしてなる第2のベクターデータを用いて生成されたテクスチャをポリゴンにマッピングするので、テクスチャのスケーリングに伴う文字テクスチャのつぶれやエイリアシングの発生を抑制することができるから、高品質の3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、ポリゴンデータと第1のベクターデータとに基づいて、第1のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成しベクターデータ変換手段に入力する仮想平板生成手段を備え、ベクターデータ変換手段が、スケーリング係数とともに仮想平板データに基づいてスケーリングするものであってもよい。
本構成によれば、ベクターデータ変換手段が、スケーリング係数とともに仮想平板データに基づいてスケーリングすることにより、ベクターデータに対して最適なスケーリングを行うことができるので、より高品質の3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、スケーリング係数決定手段が、矩形状であり且つ対向する1組の第1の辺の長さがLxであり且つ他の1組の第2の辺の長さがLyのポリゴンを表すポリゴンデータに基づいて、スケーリング係数を構成する、ポリゴンの第1の辺に沿った方向に対応する第1のスケーリング係数scxおよび第2の辺に沿った方向に対応する第2のスケーリング係数scyを
Figure 0005432258
Figure 0005432258
の関係式が成立するように決定し、仮想平板生成手段が、ポリゴンデータと第1のベクターデータとに基づいて、矩形状であり且つ対向する1組の第3の辺の長さがLplatex、他の1組の第4の辺の長さがLplateyであるとともに、第1のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成し、ベクターデータ変換手段が、第1のスケーリング係数および第2のスケーリング係数とともに仮想平板データに基づいて、仮想平板の第3の辺に沿った方向への第1の拡大縮小率scalexを
Figure 0005432258
とし、仮想平板の第4の辺に沿った方向への第2の拡大縮小率scaleyを
Figure 0005432258

としてスケーリングを行うものであってもよい。
本構成によれば、仮想平板をポリゴンの形状と完全に一致するようにスケーリングを行うことができるので、より高品質の3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、第1の辺の長さをLx、第2の辺の長さをLyとし、第1のベクターデータが表すベクター画像を包含する矩形状のバウンディングボックスの対向する1組の辺の長さをVBx、他の1組の辺の長さをVByとすると、第3の辺の長さLplatexおよび前記第4の辺の長さLplateyが、
Figure 0005432258
Figure 0005432258
のうち少なくとも一方の関係式が成立し、且つ、
Figure 0005432258

の関係式が成立するものであってもよい。
本構成によれば、ベクター画像を包含する矩形状のバウンディングボックスを包含する仮想平板の形状が、ポリゴンの相似形となるので、ポリゴンへのマッピングにより最適なスケーリングを行うことができるから、より高品質の3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、ポリゴンデータに基づいてポリゴンを包含する矩形状のバウンディングボックスを生成するバウンディングボックス生成手段を備えるものであってもよい。
本構成によれば、ポリゴンが矩形状でない場合であっても、ポリゴンへのマッピングに最適なスケーリングをベクターデータに対して行うことができるので、高品質な3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、ポリゴンを包含する矩形状のバウンディングボックスの対向する1組の辺の長さをPBx、他の1組の辺の長さをPByとすると、
第3の辺の長さLplatexおよび第4の辺の長さLplateyは、
Figure 0005432258
Figure 0005432258

のうち少なくとも一方の関係式が成立し、且つ、
Figure 0005432258
の関係式が成立するものであってもよい。
本構成によれば、仮想平板の形状が、ポリゴンを包含するバウンディングボックスの相似形となるので、ポリゴンへのマッピングにより最適なスケーリングを行うことができるから、より高品質の3次元画像の表示が可能となる。
また、本発明に係るグラフィックス描画装置は、ベクター画像を包含する矩形状のバウンディングボックスを複数含むものであってもよい。
本構成によれば、複数のベクターデータに対して一括してスケーリング処理を行うことができるので、処理効率の向上を図ることができる。
また、本発明に係るグラフィックス描画装置は、入力されるポリゴンデータを処理し且つスケーリング係数決定手段を含む3次元画像処理手段と、入力される第1のベクターデータを処理し且つベクターデータ変換手段を含む2次元画像処理手段と、3次元画像処理手段に入力されるポリゴンデータの数と2次元画像処理手段に入力されるベクターデータの数とを監視するデータ数監視手段と、データ数監視手段から入力されるポリゴンデータおよび第1のベクターデータそれぞれの数に基づきベクターデータ変換手段が行う処理を3次元画像処理手段が行うように設定する処理方法設定手段とを備えるものであってもよい。
本構成によれば、処理方法設定手段が、3次元画像処理装置の処理負荷の状況と2次元処理装置の処理負荷の状況とに応じて、ベクターデータ変換手段が行う処理を3次元処理装置および2次元処理装置間で分担させるので、処理能力の向上を図ることができる。
また、本発明に係るグラフィックス描画装置は、コンピュータにより実現させるグラフィックス描画方法であって、ポリゴンを表すポリゴンデータに基づいて第1のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第1のベクターデータをスケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換ステップと、第2のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画方法あってもよい。
また、本発明に係るグラフィックス描画装置は、グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムであって、グラフィックス描画処理が、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第1のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第1のベクターデータをスケーリング係数に基づいてスケーリングすることにより第2のベクターデータに変換するべクターデータ変換ステップと、第2のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画プログラムであってもよい。
また、本発明に係るグラフィックス描画装置は、グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムを記録した記録媒体であって、グラフィックス描画処理が、テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第1のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定ステップと、第1のベクターデータをスケーリング係数に基づいてスケーリングすることにより第2のベクターデータに変換するベクターデータ変換ステップと、第2のベクターデータに基づいてテクスチャを生成するテクスチャ生成ステップと、テクスチャをポリゴンにマッピングするテクスチャマッピングステップとを含むグラフィックス描画プログラムを記録した記録媒体であってもよい。
また、本発明に係るグラフィックス描画装置は、テクスチャをマッピングするポリゴンを表すポリゴンデータに基づいてテクスチャの基となる第1のベクターデータのスケーリングに用いるスケーリング係数を決定するスケーリング係数決定手段と、第1のベクターデータをスケーリング係数に基づいてスケーリングすることにより第2のベクターデータに変換するベクターデータ変換手段と、第2のベクターデータに基づいてテクスチャを生成するテクスチャ生成手段と、テクスチャをポリゴンにマッピングするテクスチャマッピング手段とを備えるグラフィックス描画用集積回路であってもよい。
本構成によれば、小型化を図ることができる。
実施の形態1で使用するポリゴンの平面図である。 実施の形態1で使用するポリゴンデータの説明図である。 実施の形態1で使用するベクターデータの説明図である。 実施の形態1で使用するベクターデータの説明図である。 実施の形態1のグラフィックス描画装置の構成図である。 実施の形態1におけるモデルビュー変換を説明するための図である。 実施の形態1における投影変換を説明するための図である。 実施の形態1におけるビューポート変換を説明するための図である。 実施の形態1におけるスケーリング値テーブルの概念図である。 実施の形態1におけるポリゴンへのテクスチャマッピングを説明する図である。 実施の形態1に係るグラフィックス描画装置の動作のフローチャートである。 実施の形態1におけるスケーリング係数算出処理のフローチャートである。 実施の形態1に係るグラフィックス描画装置の動作のフローチャートである。 実施の形態1におけるスケーリング係数決定処理のフローチャートである。 実施の形態1におけるスケーリング係数決定処理のフローチャートである。 実施の形態2に係るグラフィックス描画装置の構成図である。 実施の形態2で使用する仮想平板データの説明図である。 実施の形態2に係るグラフィックス描画装置の動作のフローチャートである。 実施の形態2における仮想平板生成処理のフローチャートである。 実施の形態2の仮想平板生成処理の説明図である。 実施の形態3で使用するポリゴンデータの説明図である。 実施の形態3で使用するバウンディングボックスデータの説明図である。 実施の形態3に係るグラフィックス描画装置の構成図である。 実施の形態3におけるテクスチャのマッピングを説明する図である。 実施の形態3に係るグラフィックス描画装置の動作のフローチャートである。 実施の形態3におけるバウンディングボックス算出のフローチャートである。 実施の形態4に係るグラフィックス描画装置の構成図である。 実施の形態4に係るグラフィックス描画装置の動作のフローチャートである。 実施の形態4で使用するベクターデータの説明図である。 実施の形態4で使用する仮想平板データの説明図である。 実施の形態4に係るグラフィックス描画装置の動作のフローチャートである。 変形例に係るグラフィクス描画装置の動作説明図である。 変形例に係るグラフィクス描画装置の動作説明図である。 従来例の概略説明図である。 他の従来例の概略説明図である。 他の従来例の概略説明図である。
<実施の形態1>
<1>データ
<1−1>ポリゴンデータ
本実施の形態では、図1に示すように、テクスチャをマッピングするオブジェクト(以下、ポリゴンと称す。)PGの形状を表すポリゴンデータPD1(図2参照)を用いる。
ポリゴンデータPD1は、図1に示すように2次元座標系(以下、「モデル座標系」と称す。)における4つの点を表す座標データPi(i=0,1,2,3)で構成される。座標データPi(i=0,1,2,3)は、X成分およびY成分からなり、図1に示すように、4つの点p(P0(x0,y0)),p(P1(x1,y0)),p(P2(x1,y1)),p(P4(x0,y1))を表す。この場合、ポリゴンデータPD1は、図1のハッチング部分で表されるような矩形状のポリゴンPGを表す。
また、ポリゴンデータPD1には、ポリゴンPGの色を決めるカラー値(例えば、16進数で表されたカラー値)に関する属性情報BD1およびレンダリングに必要となるポリゴンPGを含む平面の法線ベクトルN(図1参照)に関する属性情報BD2が含まれる。
なお、図2に示すポリゴンデータPD2、PD3、PD4、PD5、PD6については後述する。
<1−2>ベクターデータ
ベクターデータ(第1のベクターデータ)VD1は、図3(a)に示すような二次元平面に描画された文字の形状を定義するデータであって、図4に示すように、文字の輪郭線上に位置する複数(図3(b)の例では45個)の頂点p(Vi)を示す座標データ(以下、「頂点データ」と称す。)Vi(xi,yi)(i=0,1,・・・,44)と、輪郭線に沿って隣接する2つの頂点p(Vi),p(Vi+1)の間の曲線を定義する制御点p(Si)を示す座標データ(制御点データ)Si(xi,yi)(i=0,1,・・・,42)とから構成される。
ベクターデータが表す文字の輪郭線に沿って隣接する2つの頂点p(Vi),p(Vi+1)の間を結ぶ曲線は、ベジエ曲線で構成される。例えば、図2(c)に示すように、頂点p(V13)と頂点p(V14)との間を結ぶ曲線は、頂点p(V13),頂点p(V14)および制御点p(S13)を頂点とする三角形の2辺に内接する曲線になる。
また、ベクターデータVD1には、図4に示すように、ベクターデータVD1に基づいて生成した文字テクスチャの内部を塗り潰す色を指定するカラー値に関する属性情報BD21が含まれる。
なお、図4に示すベクターデータVD2、VD3については後述する。
<2>構成
本実施の形態に係るグラフィックス描画装置10は、図5に示すように、ポリゴンデータ入力手段210より入力されるポリゴンデータPD1を処理する3次元画像処理装置10aと、ベクターデータ入力手段220より入力されるベクターデータ(第1のベクターデータ)VD1を処理する2次元画像処理装置10bと、フレームバッファ22と、テクスチャバッファ21と、3次元画像処理装置10aで使用される投影変換行列Pに関するパラメータを設定する投影変換行列設定手段14aとを備える。
<2−1>3次元画像処理装置
3次元画像処理装置10aは、プロセッサ(図示せず)とメモリ(図示せず)とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ポリゴンデータ入力受付手段11と、3次元座標変換手段12と、スケーリング係数決定手段13と、投影変換手段14と、ポリゴンラスタライズ手段15と、画像表示部10cとを実現している。
<2−1−1>ポリゴンデータ入力受付手段
ポリゴンデータ入力受付手段11は、ユーザーがポリゴンデータ入力手段210により入力するポリゴンデータPD1を受け付ける。
ここで、ポリゴンデータ入力受付手段11は、X座標及びY座標が最小の頂点を示す座標データがP0であり、座標データP1、P2、P3が示す頂点がポリゴンPGの輪郭線を反時計回りの方向で並ぶように受け付けたデータを並び替える。なお、図2のポリゴンデータPD1は、並び替えた後を示している。
<2−1−2>3次元画像変換手段
3次元座標変換手段12は、ポリゴンデータ入力受付手段11からポリゴンデータPD1が入力されると、ポリゴンデータPD1を構成する座標データPi(i=0,1,2,3)に対して、z成分として0、w成分として1を追加する演算を行い、4次元座標系で表現された4つの座標データP0m(x0,y0,0,1)、P1m(x1,y0,0,1)、P2m(x1,y1,0,1)、P3m(x0,y1,0,1)(ポリゴンデータPD2)(図2参照)に変換する。
このように、ポリゴンデータPD1を4次元座標系で表されたポリゴンデータPD2に変換されることにより、ポリゴンPGの平行移動に伴う座標変換、ポリゴンPGのスケーリング(拡大や縮小)に伴う座標変換、およびポリゴンPGの回転に伴う座標変換のすべてを、ポリゴンデータPD2に対する行列の乗算で表現できるようになる。
3次元座標変換手段12は、ポリゴンデータPD2を構成する座標データPim(i=0,1,2,3)に対して、式(11)の演算を行って、平行移動変換、スケーリング変換または回転変換(以下、これらの変換の組み合わせをモデルビュー変換と称す。)を適宜行うことにより、視点を原点とする3次元空間(以下、視点座標系と称する。)上にポリゴンPGを図6に示すように配置したときのポリゴンPGの4つの頂点を表す座標データPie(i=0,1,2,3)(ポリゴンデータPD3)(図2参照)を生成する。
Figure 0005432258
ここで、Pim(i=0,1,2,3)は、ポリゴンデータPD2を構成する座標データ、Pie(i=0,1,2,3)は、ポリゴンデータPD3を構成する座標データ、Mは、平行移動変換、スケーリング変換および回転変換或いはこれらを組み合わせた変換を行う行列(モデルビュー行列)、*は行列とベクトルの乗算を表す。
そして、3次元座標変換手段12は、生成したポリゴンデータPD3をスケーリング係数決定手段13に入力する。
<2−1−3>スケーリング係数決定手段
スケーリング係数決定手段13は、ベクターデータVD1の拡大縮小率(スケーリング値)を算出するために必要な第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する。
ここで、スケーリング係数決定手段13は、投影変換行列設定手段14aから入力される投影変換行列P(後述)に関する情報に基づいて、投影変換行列Pが透視投影変換を行うものであるか、或いは、平行投影変換を行うものであるかを判別し、その結果に応じて第1のスケーリング係数scxおよび第2のスケーリング係数scyの算出方法を変更する。なお、スケーリング係数決定手段13は、投影変換行列Pの第4行が(0001)であるか否かにより、投影変換行列Pの種類を判別する(後述の式(16)、式(17)参照)。
<2−1−3−1>投影変換行列Pが透視投影変換を行うものである場合
スケーリング係数決定手段13は、ポリゴンPGのX方向の長さ(第1の辺の長さ)LxおよびY方向の長さ(第2の辺の長さ)Lyを算出する。
ここで、スケーリング係数決定手段13に入力されるポリゴンデータPD3は、ポリゴン入力受付手段11により図1に示すようにデータの並べ替えが行われたポリゴンデータPD1から生成されている。従って、ポリゴンPGのX方向の長さLxは、頂点p(P0e)と頂点p(P1e)との間(または、頂点p(P2e)と頂点p(P3e)との間)の距離であり、ポリゴンのY方向の長さLyは、頂点p(P1e)と頂点p(P2e)との間(または、頂点p(P0e)と頂点p(P3e)との間)の距離となる。
そこで、スケーリング係数決定手段13は、式(12)および式(13)を用いて、ポリゴンPGのX方向の長さLxおよびY方向の長さLyを算出する。
Figure 0005432258
Figure 0005432258
ここで、xie,yie,zie(i=0,1,2,3)は、各頂点p(Pie)(i=0,1,2,3)のX,Y,Z各成分を示す。
そして、スケーリング係数決定手段13は、算出したポリゴンPGのX方向の長さLxおよびY方向の長さLyを用いて、式(14)および式(15)に示す演算を行うことにより、第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する。
Figure 0005432258
Figure 0005432258
ここで、Aはビューポート変換する際のポリゴンPGのX方向のスケーリング値、Bはビューポート変換する際のポリゴンPGのY方向のスケーリング値、Zrepは、所定の係数を示す。
また、本実施の形態では、Zrepとして、ポリゴンPGの1つの頂点p(P0e)のZ成分の絶対値である|Z0|を採用している。
<2−1−3−2>投影変換行列Pが平行投影変換を行うものである場合
スケーリング係数決定手段13は、ポリゴンPGのX方向の長さLxおよびY方向の長さLyを算出し、式(16)および式(17)に示す演算を行うことにより、第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する。
Figure 0005432258
Figure 0005432258
ここで、Aはビューポート変換する際のポリゴンPGのX方向のスケーリング値、Bはビューポート変換する際のポリゴンPGのY方向のスケーリング値を示す。
なお、スケーリング値A、Bは、スケーリング係数決定手段13が保持している。
<2−1−4>投影変換手段
投影変換手段14は、ポリゴンデータPD3を構成する座標データPieに対して投影変換を行う。
ここで、投影変換手段14は、投影変換行列設定手段14aから入力される投影変換行列Pに関する情報に基づいて、投影変換行列Pが透視投影変換を行うものであるか、或いは、平行投影変換を行うものであるかを判別し、その結果に応じてポリゴンデータPD3に対する演算方法を変更する。なお、投影変換手段14は、投影変換行列Pの第4行が(0001)であるか否かにより、投影変換行列Pの種類を判別する(式(16)、式(17)参照)。
<2−1−4−1>投影変換行列Pが透視投影変換を行うものである場合
投影変換手段14は、視点座標系上に配置されたポリゴンPGを、図7に示すように、視点からdだけ離間した位置に配置され且つz軸に直交する投影面SCに投影したときの投影面SC上に現れるポリゴンPGの頂点を表す座標データ(ポリゴンデータPD4)を算出する(図2参照)。
ここにおいて、投影変換手段14は、ポリゴンデータPD3と投影変換行列Pを用いて式(18)に示す演算を行うことによりポリゴンデータPD4を算出する。
Figure 0005432258
ここで、Picは、ポリゴンデータPD4を構成する座標データ、Pieは、ポリゴンデータPD3を構成する座標データ、Pは、透視投影変換を行う投影変換行列、*は行列とベクトルの乗算を示す。
そして、投影変換手段14は、更に、ポリゴンデータPD4を用いて式(19)に示す演算を行うことによりポリゴンデータPD5(図2参照)を算出する。
Figure 0005432258
ここで、Pieは、ポリゴンデータPD3を構成する座標データ、Pidは、ポリゴンデータPD5を構成する座標データ、dは、視点から投影面SCまでの距離、*は行列とベクトルの乗算を示す。
式(19)に示すように、座標データPidは、Z成分Zieを含むので、視点からポリゴンPGまでの距離に依存して変化することになる。
<2−1−4−2>投影変換行列Pが平行投影変換を行うものである場合
投影変換手段14は、ポリゴンデータPD3と投影変換行列Pを用いて式(20)に示す演算を行うことによりポリゴンデータPD5(図2参照)を算出する。
Figure 0005432258
ここで、Pidは、ポリゴンデータPD5を構成する座標データ、Pieは、ポリゴンデータPD3を構成する座標データ、Zrepは、視点から投影面SCまでの距離、Pは、平行投影変換を行う投影変換行列、*は行列とベクトルの乗算を示す。
式(20)に示すように、座標データPidは、Z成分を含まないので、視点からポリゴンPGまでの距離Zrefに依存しない。
また、投影変換手段14は、ポリゴンデータPD5を生成すると、当該ポリゴンデータPD5に対してビューポート変換を行うことにより、ポリゴンデータPD6を生成する。
このポリゴンデータPD6は、ポリゴンデータPD5を構成する座標データPid(i=0,1,2,3)を、図8に示すような実際のディスプレイ画面上での座標系(スクリーン座標系)に変換してなる座標データPiw(i=0,1,2,3)から構成される。
また、投影変換手段14は、ポリゴンデータPD5に含まれる法線ベクトルに関する属性情報BD2を用いて、LambertのモデルやPhongのモデル等の下、ポリゴンPGの各頂点p(Pid)における輝度を算出する。
そして、投影変換手段14は、各頂点p(Pid)の輝度に関する属性情報BD3情報を含むポリゴンデータPD6をポリゴンラスタライズ手段15に入力する。
<3−1−5>ポリゴンラスタライズ手段
ポリゴンラスタライズ手段15は、投影変換手段14から入力されるポリゴンデータPD6を用いて、DDA(Digital Differential Analyzer)手法によりポリゴンPGの輪郭線のラスタライズを行うとともに、カラー値に関する属性情報BD1、輝度に関する属性情報BD3およびテクスチャデータTDとを用いて、ポリゴンPGのラスタ画像を表すフレームデータFDを生成する。なお、フレームデータFDは、ポリゴンPGのラスタ画像を構成する各画素のカラー値データから構成される。
そして、ポリゴンラスタライズ手段15は、生成したフレームデータFDをフレームバッファ22に書き込む。
<2−1−6>画像表示部
画像表示部10cは、フレームバッファ22に記憶されているフレームデータFDに基づいて外部に接続されているディスプレイ100に3次元画像を表示させる。
<2−2>投影変換行列設定手段
投影変換行列設定手段14aは、タッチパネル等により構成され、投影変換行列Pとして、透視投影変換を行う行列を使用するか、或いは、平行投影変換を行う行列を使用するかをユーザが選択できるようになっている。そして、投影変換行列設定手段14aは、ユーザにより選択された投影変換行列Pに関する情報をスケーリング係数決定手段13および投影変換手段14に入力する。
<2−3>2次元画像処理装置
2次元画像処理装置10bは、プロセッサ(図示せず)とメモリ(図示せず)とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ベクターデータ入力受付手段16と、ベクターデータ変換手段18と、テクスチャ生成手段19と、テクスチャマッピング手段20とを実現している。
<3−3−1>ベクターデータ入力受付手段
ベクターデータ入力受付手段16は、ユーザーがベクターデータ入力手段220により入力するベクターデータVDの入力を受け付ける。
<2−3−3>ベクターデータ変換手段
ベクターデータ変換手段18は、ベクターデータ入力受付手段16からベクターデータVD1が入力されると、ベクターデータVD1を構成する頂点データVi(xi,yi)(i=0,1,・・・,44)および制御点データSi(xi,yi)(i=0,1,・・・,42)に対して、z成分として1を追加する演算を行い、3次元座標系で表現された頂点データVih(xi,yi,1)(i=0,1,・・・,44)および制御点データSih(xi,yi,1)(i=0,1,・・・,42)から構成されるべクターデータVD2に変換する(図4参照)。
また、ベクターデータ変換手段18は、スケーリング値記憶手段51から取得した値αをベクターデータVD2のX方向およびY方向の拡大縮小率(スケーリング値)scalex,scaleyとして、式(21)で表されるスケーリング行列Sを生成する。
Figure 0005432258
このスケーリング値決定処理では、スケーリング値記憶手段51に記憶されているスケーリング値テーブルTの中から最適なスケーリング値を決定する。
また、ベクターデータ変換手段18は、スケーリング係数の決定が不可能であった場合に“1”に設定される決定不可フラグFを保持している。そして、スケーリング値決定処理の結果、スケーリングテーブルTの中に最適なスケーリング値αが存在しないと判別された場合に、ベクターデータ変換手段18が、決定不可フラグFを“1”に設定する。
ベクターデータ変換手段18は、ベクターデータVD2およびスケーリング行列Sを用いて、式(22)および式(23)の演算(スケーリング)を行うことにより、ベクターデータ(第2のベクターデータ)VD3(図4参照)を生成する。
Figure 0005432258
Figure 0005432258
ここで、Vih(i=0,1,・・・,44)は、ベクターデータVD2を構成する頂点データ、Sih(i=0,1,・・・,42)は、ベクターデータVD2を構成する制御点データ、Vit(i=0,1,・・・,44)は、ベクターデータVD3を構成する頂点データ、Sit(i=0,1,・・・,42)は、ベクターデータVD3を構成する制御点データ、Sは、スケーリング行列、*は行列とベクトルの乗算を表す。
また、ベクターデータ変換手段18は、スケーリング係数決定手段13から入力される第1のスケーリング係数scxおよび第2のスケーリング係数scyに基づいて、スケーリング値記憶手段51に格納されているスケーリング値テーブルT(図9参照)の中から最適なスケーリング値αを決定するスケーリング値決定処理も行う。スケーリング値決定処理の内容については後述する。
<2−3−4>テクスチャ生成手段
テクスチャ生成手段19は、ベクターデータVD3のラスタライズ処理を実行し、ポリゴンに貼り付けるテクスチャを生成する。
テクスチャ生成手段19は、ベクターデータVD3を構成する頂点データVitおよび制御点データSitを取得すると、当該頂点データVitおよび制御点データSitで表現されるベジエ曲線を微小直線の集合で近似し、当該微小直線を表す線分データの集合からなるアウトラインデータを生成する。
その後、テクスチャ生成手段19は、アウトラインデータと、ベクターデータVD1に含まれるカラー値に関する属性情報BD21に基づいて、テクスチャを構成する各画素のカラー値データからなるテクスチャデータTDを生成し、テクスチャバッファ21に格納する。
<2−3−5>テクスチャマッピング手段
テクスチャマッピング手段20は、テクスチャバッファ21に格納されているテクスチャデータに基づいて、テクスチャが貼り付けられるポリゴンPGの各画素のカラー値を決定する。例えば、図10に示すように、テクスチャデータが表すテクスチャの左下端の画素を原点(0,0)として、X方向の画素数をTEXW、Y方向の画素数をTEXHとすると、ポリゴンPGの頂点p(P0w)に、座標(0,0)に位置する画素、頂点p(P1w)に座標(TEXW−1,0)に位置する画素、頂点p(P2w)に座標(TEXW−1,TEXH−1)に位置する画素、頂点p(P3w)に座標(0,TEXH−1)に位置する画素のカラー値がマッピングされる形で、ポリゴンPGのラスタ画像を構成する各画素のカラー値を決定する。
ここで、テクスチャマッピング手段20は、投影変換手段14から入力されるポリゴンデータPD6とテクスチャデータとに基づいて、テクスチャの各画素のカラー値に対してパースペクティブ補正を行う。また、ポリゴンPGのラスタ画像の解像度が、テクスチャの解像度よりも低い場合には、適宜平均化処理を行うことでポリゴンPGのラスタ画像を構成する各画素のカラー値を決定する。
<3−4>テクスチャバッファ、フレームバッファ、スケーリング値記憶手段
テクスチャバッファ21及びフレームバッファ22は、例えば、DRAM(Dynamic Random Access Memory)等により構成される。
テクスチャバッファ21は、テクスチャ生成手段19により生成されたテクスチャを保持するためのバッファである。
また、フレームバッファ22は、ポリゴンラスタライズ手段15により生成された各画素のカラーデータを書き込むバッファである。
スケーリング値記憶手段51は、図9に示すような、スケーリング値テーブルTが記憶されている。
ラスタ画像からなる文字テクスチャをスケーリングすると、何らかのフィルタ処理が適用されるため、エイリアシングや文字潰れが発生し易い。一方、ベクターデータのまま処理すると、文字データが元々持っている形状情報を損なうことなくスケーリングすることが可能である。従って、ベクターデータを用いることによりスケーリングを施した場合でも高品位な文字テクスチャを生成することができる。
<3>動作
次に、本実施の形態のグラフィックス描画装置50の動作について3次元画像処理装置の動作と2次元画像処理装置の動作とに分けて説明する。
<3−1>3次元画像処理装置の動作
本実施の形態の3次元画像処理装置の動作のフローチャートを図11に示す。
まず、ポリゴンデータ入力受付手段11が、ポリゴンデータPD1を取得すると(ステップS11)と、3次元座標変換手段12が、ポリゴンデータPD1を4次元座標系に変換してポリゴンデータPD2を生成し(ステップS12)、更に、ポリゴンデータPD2にモデルビュー変換を施すことでポリゴンデータPD3を生成する(ステップS13)。
次に、スケーリング係数決定手段13が、ポリゴンデータPD3および投影変換行列設定手段14aから入力される投影変換行列Pに関する情報を用いて、第1のスケーリング係数scxおよび第2のスケーリング係数scyを決定し(ステップS14)、2次元画像処理装置10bのベクターデータ変換手段18に入力する。
その後、投影変換手段14が、ポリゴンデータPD3に対して投影変換を施して、座標データPid(i=0,1,2,3)から構成されるポリゴンデータPD5を生成し(ステップS15)、続いて、ポリゴンデータPD5に対してビューポート変換を行い、座標データPiw(i=0,1,2,3)から構成されるポリゴンデータPD6を生成し(ステップS16)、ポリゴンラスタライズ手段15に入力する。
最後に、ポリゴンラスタライズ手段15が、ポリゴンデータPD6とテクスチャマッピング手段20から入力されるテクスチャデータTDとを用いて、フレームデータFDを生成し(ステップS17)、フレームバッファ22に書き込む(ステップ18)。
ここにおいて、スケーリング係数決定手段13は、投影変換手段14による投影変換(ステップS15)の前の段階で、第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出するので、投影変換手段14による投影変換後にポリゴンデータPD5を用いて第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する場合に比べて、2次元画像処理装置との処理並列度を高めることができ、描画処理全体の性能が向上する。
<3−1−1>スケーリング係数算出
スケーリング係数算出処理における動作のフローチャートを図12に示す。
まず、スケーリング係数決定手段13は、ポリゴンPGのX方向の長さLxおよびY方向の長さLyを算出する(ステップS41)。
次に、スケーリング係数決定手段13は、投影変換行列設定手段14aから入力された投影変換行列Pに関する情報が、透視投影変換を行う投影変換行列(透視投影変換行列)に関するものであるか否かを判定する(ステップS42)。ここで、スケーリング係数決定手段13は、入力された投影変換行列Pの第4行を構成する4つの成分がそれぞれ(0,0,0,1)であるかどうかを検査し、該当する場合には平行投影変換を行うと判断し、そうでなければ透視投影変換を行うと判断する。
ステップS42において、スケーリング係数決定手段13が、透視投影変換であると判断すると(ステップS42:Yes)、スケーリング係数決定手段13は、ポリゴンデータPD3を構成する座標データPieに基づいて、係数Zrepを算出する(ステップS43)。ここで、スケーリング係数決定手段13は、ポリゴンデータPD2を構成する座標データPieの中から、座標データP0eを選択し、そのZ成分の値Z0eを係数Zrepに採用する。
そして、スケーリング係数決定手段13は、式(14)および式(15)に従って、係数Zrepの逆数をポリゴンPGのX方向およびY方向の長さLpx、Lpyに乗算を行い(ステップS44)、更に、係数A、B(A,B>0)を乗算することにより、第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する(ステップS45)。
一方、ステップS42において、スケーリング係数決定手段13が、透視投影変換でないと判断すると(ステップS42:No)、スケーリング係数決定手段13は、式(16)および式(17)に従って、ポリゴンPGのX方向およびY方向の長さLpx、Lpyに係数A、Bを乗算することにより、第1のスケーリング係数scxおよび第2のスケーリング係数scyを算出する(ステップS45)。
<3−2>2次元画像処理装置の動作
本実施の形態の2次元画像処理装置の動作のフローチャートを図13に示す。
まず、ベクターデータ入力受付手段16が、ユーザーがベクターデータ入力手段220により入力するべクターデータVD1を取得し(ステップS31)、ベクターデータ変換手段18に入力する。
次に、ベクターデータ変換手段18は、ベクターデータVD1を3次元座標系で表現されたベクターデータVD2に変換する(ステップS32)。
そして、ベクターデータ変換手段18が、スケーリング値記憶手段51から取得した値α(第1のスケーリング値scalex、第2のスケーリング値scaleyの候補)と第1のスケーリング係数scxおよび第2のスケーリング係数scyとを用いて、後述のスケーリング値決定処理を行う(ステップS33)。そして、スケーリング値決定処理の結果、決定不可フラグFが“1”に設定されているか否かを判断し(ステップS34)、決定不可フラグFが“1”に設定されている場合(ステップS34:Yes)には、処理を終了する。
一方、決定不可フラグFが“1”に設定されていない場合(ステップS34:No)は、ベクターデータ変換手段18は、決定されたスケーリング値scalex,scaleyを用いて式(31)で表されるスケーリング行列Sを生成する(ステップS35)。
そして、ベクターデータ変換手段18が、ベクターデータVD2に対して、式(22)および式(23)で表される演算を行うことにより、ベクターデータVD2を変換してベクターデータVD3を生成する(ステップS36)。
その後、テクスチャ生成手段19が、ベクターデータVD3を用いてラスタライズ処理を行い、テクスチャデータを生成し(ステップS37)、当該テクスチャデータをテクスチャバッファ21に格納する(ステップS38)。
次に、テクスチャマッピング手段20が、テクスチャバッファ21に保持されているテクスチャデータに基づいて、ポリゴンPGのラスタ画像を構成する各画素のカラー値を決定(マッピング)する(ステップS39)。
本実施の形態では、3次元処理装置10aにおける処理が開始されてから比較的早い段階で、2次元画像処理装置10bに第1のスケーリング係数scxおよび第2のスケーリング係数scyが入力され、2次元画像処理装置10bでのスケーリング係数決定処理以降の処理を進めることが可能となるので、3次元画像処理装置10aでの処理と2次元画像処理装置10bでの処理との並列度を高め、グラフィックス描画装置50全体の処理効率を向上させることができる。
<3−2−1>スケーリング値決定処理
図14にスケーリング値決定処理における動作のフローチャートを示す。
まず、ベクターデータ変換手段18が、ベクターデータVD1を構成する45個の頂点データVi(xi,yi)(i=0,1,・・・,44)から、重心座標データG(xg,yg)を生成する(ステップS331)。このとき、
Figure 0005432258
Figure 0005432258
の関係が成立する。
次に、ベクターデータ変換手段18は、頂点データVihに対して、重心座標G(xg,yg)が原点に重なるように平行移動変換を行う(ステップS332)。このとき、Vih=(xi−xg,yi−yg,1)(i=0,・・・,44)となる。
その後、スケーリング値テーブルT(図9参照)におけるID“1”に対応する値(α=0.5)を取得して、式(19)に示す演算を行い、頂点データVitを生成する(ステップS333)。
そして、頂点データVitのX座標が取りうる値の最大値xmax、X座標の最小値xminと、頂点データVitのY座標が取りうる値の最大値ymax、最小値yminを後述<3−3>の方法で算出する(ステップS334)。
続いて、ベクターデータ変換手段18は、後述<4−3>の方法で算出したxmax、xmin、ymax、yminの値と、スケーリング係数決定手段13から取得した第1のスケーリング係数scxおよび第2のスケーリング係数scyとの間に、以下の式(26)乃至式(29)に示すいずれかの条件に該当するか否かを判断する(ステップS335)。
Figure 0005432258
Figure 0005432258
Figure 0005432258
Figure 0005432258
ここで、ベクターデータ変換手段18が、式(26)乃至式(29)のいずれかの条件に該当すると判断した場合には(ステップS336:Yes)、スケーリング値決定処理を終了する。このとき、判定を行ったスケーリング値αに対応するIDよりも1だけ値の小さいID(例えば、ID=6(α=3.0)のときに式(26)乃至式(29)に該当した場合には、ID=5(α=2.5))に対応するスケーリング値αを最適値とする。
一方、ベクターデータ変換手段18が、式(26)乃至式(29)のいずれの条件にも該当しないと判断した場合には(ステップS336:No)、IDの値がIDがとりうる最大値である“12”(図9参照)よりも小さいか否かを判断する(ステップS337)。
ステップS337において、ベクタデータ変換手段18が、IDの値が“12”よりも小さいと判定すると(ステップS337:Yes)、IDが“2”に対応するスケーリング値(α=1.0)を取得して(ステップS338)、ステップS334に移行する。
以降、スケーリング値テーブルT(図9参照)のID(ID=“3,4,・・・,12”)に対応する値αを取得して、式(19)に示す演算を行い、頂点データVitおよび制御点データSitを生成し(ステップS334)、頂点データVitsのX座標が取りうる値の最大値xmax、X座標の最小値xminと、頂点データVitsのY座標が取りうる値の最大値ymax、最小値yminを後述<4−3>の方法で算出する(ステップS335)。
続いて、ベクターデータ変換手段18は、後述<4−3>の方法で算出したxmax、xmin、ymax、yminの値と、スケーリング係数決定手段13から取得した第1のスケーリング係数scxおよび第2のスケーリング係数scyとの間に、式(45)乃至式(48)に示すいずれかの条件に該当するか否かを判断し(ステップS336)、いずれの条件にも該当しないと判断した場合には(ステップS336:No)、IDの値が“12”よりも小さいか否かを判断する(ステップS337)。IDの値が“12”よりも小さいと判断した場合には(ステップS337:Yes)、ID+1に対応するスケーリング値αを取得してステップS334に移行する。
一方、IDの値が“12”以上と判断した場合には(ステップS337:No)、決定不可フラグFを“1”に設定して処理を終了する。
<3−3>xmax、xmin、ymax、yminの算出
xmax、xmin、ymax、yminの算出処理のフローチャートを図15に示す。ここで、Vitxは、頂点データVitのx成分を表し、Vityは、頂点データVitのy成分を表す。
xmax、xmin、ymax、yminの算出処理では、ベクターデータ変換手段18が、以下のような処理を行う。
まず、ベクターデータ変換手段18は、メモリ(計算バッファ)上に定義された変数xminおよび変数xmaxに変換後のベクターデータVD1を構成する頂点データV0tのx成分を示す値であるV0txを格納し、変数yminおよび変数ymaxに頂点データV0tのy成分を示す値であるV0tyを格納することにより、初期化する(ステップS3341)。
次に、計算バッファ上に定義された変数iに“1”を格納し、その後、変数iに“44”が格納されるまで、以下の処理を繰り返す(ステップS3342乃至ステップS3351)。
まず、変数xminと数値Vitxとを比較して(ステップS3343)、変数xminが数値Vitxより大きい場合は、変数xminに数値Vitxを格納する(ステップS3344)。
次に、変数xmaxと数値Vitxとを比較して(ステップS3345)、変数xmaxが数値Vitxより小さい場合は、変数xmaxに数値Vitxを格納する(ステップS3346)。
次に、変数yminと数値Vityとを比較して(ステップS3347)、変数yminが数値Vityより大きい場合は、変数yminに数値yiを格納する(ステップS3348)。
次に、変数ymaxと数値Vityとを比較して(ステップS3349)、変数ymaxが数値Vityより小さい場合は、変数ymaxに数値Vityを格納する(ステップS3350)。
次に、変数iをインクリメントする(ステップS3351)。
以上の処理を繰り返した後、最終的に保持されている変数xmin、変数ymin、変数xmax、変数ymaxで、ステップS336に移行する。
<実施の形態2>
<1>データ
<1−1>ポリゴンデータ
本実施の形態では、実施の形態1と同様に、図1に示すように、テクスチャをマッピングする矩形状のポリゴンPGの形状を表すポリゴンデータPD1を用いる。
<1−2>ベクターデータ
ベクターデータ(第1のベクターデータ)VD1は、実施の形態1と同様に、図2(a)に示すような二次元平面に描画された文字の形状を定義するデータであって、図2(b)に示すように文字の輪郭線上に位置する複数(図3(b)の例では45個)の頂点p(Vi)の座標データ(以下、「頂点データ」と称す。)Vi(xi,yi)(i=0,1,・・・,44)と、輪郭線に沿って隣接する2つの頂点p(Vi),p(Vi+1)の間を結ぶ曲線を定義する複数の制御点p(Si)の座標データ(以下、「制御点データ」と称す。)Si(xi,yi)(i=0,1,・・・,42)とから構成される(図4参照)。
<2>構成
本実施の形態に係るグラフィックス描画装置10は、図16に示すように、ポリゴンデータ入力手段210より入力されるポリゴンデータPD1を処理する3次元画像処理装置10aと、ベクターデータ入力手段220より入力されるベクターデータ(第1のベクターデータ)VD1を処理する2次元画像処理装置10bと、フレームバッファ22と、テクスチャバッファ21と、3次元画像処理装置10aで使用される投影変換行列Pに関するパラメータを設定する投影変換行列設定手段14aとを備える。なお、投影変換行列設定手段14a、テクスチャバッファ21およびフレームバッファ22は、実施の形態1と同様の構成なので説明を省略する。
<2−1>3次元画像処理装置
3次元画像処理装置10aは、プロセッサ(図示せず)とメモリ(図示せず)とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ポリゴンデータ入力受付手段11と、3次元座標変換手段12と、スケーリング係数決定手段13と、投影変換手段14と、ポリゴンラスタライズ手段15と、フレームバッファ22に記憶されている3次元画像データに基づいて外部に接続されているディスプレイ100に3次元画像を表示させる画像表示部10cとを実現している。なお、3次元座標変換手段12、投影変換手段14、スケーリング係数決定手段13およびポリゴンラスタライズ手段15は、実施の形態1と同様なので説明を省略する。
ポリゴンデータ入力受付手段11は、実施の形態1で説明したポリゴンデータ入力手段11と略同様であり、ポリゴンデータPD1を3次元座標変換手段12に入力するとともに、後述の仮想平板生成手段17にも入力する。
<2−2>2次元画像処理装置
2次元画像処理装置10bは、プロセッサ(図示せず)とメモリ(図示せず)とを備え、プロセッサが適宜プログラムを読み込んで実行することにより、ベクターデータ入力受付手段16と、仮想平板生成手段17と、ベクターデータ変換手段18と、テクスチャ生成手段19と、テクスチャマッピング手段20とを実現している。なお、ベクターデータ入力受付手段16、テクスチャ生成手段19およびテクスチャマッピング手段20は、実施の形態1と同様なので説明を省略する。
<2−2−1>仮想平板生成手段
仮想平板生成手段17は、ベクターデータVD1およびポリゴンデータPD1に基づいて、矩形状の仮想平板Plate(図17(b)参照)のx方向の長さ(第3の辺の長さ)Lplatexおよびy方向の長さ(第4の辺の長さ)Lplateyと、仮想平板Plateの頂点p(Vplatei)(i=0,1,2,3)の座標データVplatei(i=0,1,2,3)とから構成される仮想平板データ(図18参照)を生成する。
ここで、仮想平板Plateは、ベクターデータVD1で表されたベクター画像を包含し、且つ、仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplateyと、ポリゴンPGのx方向の長さLxおよびy方向の長さLyとの間に
Figure 0005432258
の関係式が成立するように形成される。
また、仮想平板生成手段17は、算出した矩形状の仮想平板Plateの4つの頂点の座標データVplatek(k=0,1,2,3)および仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplateyをベクターデータ変換手段18に入力する。
<2−2−2>ベクターデータ変換手段
ベクターデータ変換手段18は、ベクターデータVD1を構成する頂点データVi(i=0,1,・・・,44)および制御点データSi(i=0,1,・・・,42)と、仮想平板Plateの頂点の座標データVplatek(k=0,1,2,3)を、3次元座標系に変換をして、頂点データVih(i=0,1,・・・,44)および制御点データSih(i=0,1,・・・,42)から構成されるベクターデータVD2(図4参照)と、座標データVplatekh(k=0,1,2,3)(図18参照)とを生成する
また、ベクターデータ変換手段18は、仮想平板生成手段17から入力される仮想平板Plateのx方向の長さLplatex、y方向の長さLplateyと、スケーリング係数決定手段13から入力される第1のスケーリング係数scxおよび第2のスケーリング係数scyとを用いて、式(31)および式(32)の関係式から第1の拡大縮小率(第1のスケーリング値)scalexおよび第2の拡大縮小率(第2のスケーリング値)scaleyを算出する。
Figure 0005432258
Figure 0005432258
そして、ベクターデータ変換手段18は、算出されたスケーリング値scalex,scaleyを用いて式(33)で表されるスケーリング行列Sを生成する。
Figure 0005432258
ベクターデータ変換手段18は、ベクターデータVD2を構成する頂点データVih(i=0,1,・・・,44)および制御点データSih(i=0,1,・・・,42)と、仮想平板Plateの4つの頂点の座標データVplatekh(k=0,1,2,3)について、式(34)、式(35)および式(36)で示す演算(スケーリング)を行うことにより、頂点データVit(i=0,1,・・・,44)および制御点データSit(i=0,1,・・・,42)から構成されるベクターデータ(第2のベクターデータ)VD3と、座標データVplatektとを生成する(図4,図18参照)。
Figure 0005432258
Figure 0005432258
Figure 0005432258
ここで*は行列とベクトルの乗算を表す。
<3>動作
次に、本実施の形態のグラフィックス描画装置の動作について説明する。なお、3次元画像処理装置10aの動作は実施の形態1と同様なので説明を省略する。
<3−1>2次元画像処理装置の動作
本実施の形態の2次元画像処理装置の動作のフローチャートを図19に示す。
まず、ベクターデータ入力受付手段16が、べクターデータVD1を取得すると(ステップS21)、仮想平板生成手段17が、ベクターデータVD1およびポリゴンデータ入力受付手段11から入力されるポリゴンデータPD1を用いて、後述の仮想平板生成処理を行い(ステップS22)、算出された仮想平板Plateの頂点の座標データVplatek(k=0,1,2,3)および仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplateyをベクターデータ変換手段18に入力する。
次に、ベクターデータ変換手段18が、ベクターデータVD1および仮想平板Plateの頂点の座標データVplatek(k=0,1,2,3)から、3次元座標系で表現されたベクターデータVD2および座標データVplatekh(k=0,1,2,3)とを生成する(ステップS23)。
そして、ベクターデータ変換手段18は、仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplateyと、第1のスケーリング係数scxおよび第2のスケーリング係数scyとを用いて、式(31)および式(32)に従って、第1のスケーリング値scalexおよび第2のスケーリング値scaleyを算出し、式(33)に示すスケーリング行列Sを生成する(ステップS24)。
続いて、ベクターデータ変換手段18は、ベクターデータVD2および仮想平板Plateの頂点の座標データVplateih(i=0,1,2,3)に対して、式(24)乃至式(26)に示す演算を行い、頂点データVit(i=0,1・・・,44)および制御点データSit(i=0,1・・・,42)から構成されるベクターデータVD3と、座標Vplatekt(k=0,1,2,3)とを生成し(ステップS25)、テクスチャ生成手段19に入力する。
その後、テクスチャ生成手段19が、ベクターデータVD3と仮想平板Plateの頂点を表す座標データVplatekt(k=0,1,2,3)とを用いてラスタライズ処理を行い、テクスチャデータTDを生成し(ステップS26)、当該テクスチャデータTDをテクスチャバッファ21に書き込む(ステップS27)。
次に、テクスチャマッピング手段20が、テクスチャバッファ21に保持されているテクスチャデータTDに基づいて、ポリゴンPGのラスタ画像を構成する各画素のカラー値を決定(マッピング)する(ステップS28)。
<3−2−1>仮想平板生成処理
仮想平板生成処理における動作のフローチャートを図20に示す。
まず、仮想平板生成手段17は、ベクターデータ入力受付手段16より入力された頂点データの集合を包含するバウンディングボックスを算出するバウンディングボックス算出処理を行う(ステップS81)。
バウンディングボックス算出処理では、仮想平板生成手段17が、実施の形態1の<4−3>で図15を用いて説明した方法と同様の方法により、以下のような処理を行い変数xmin、xmax、ymin、ymaxを算出する。
まず、仮想平板生成手段17は、メモリ(計算バッファ)上に定義された変数xminおよび変数xmaxに変換後のベクターデータVD1を構成する頂点データV0tのx成分を示す値であるV0txを格納し、変数yminおよび変数ymaxに頂点データV0tのy成分を示す値であるV0tyを格納することにより、初期化する(図15のステップS3341)。
次に、計算バッファ上に定義された変数iに“1”を格納し、その後、変数iに“44”が格納されるまで、以下の処理を繰り返す(図15のステップS3342乃至ステップS3351)。
まず、変数xminと数値Vitxとを比較して(図15のステップS3343)、変数xminが数値Vitxより大きい場合は、変数xminに数値Vitxを格納する(図15のステップS3344)。
次に、変数xmaxと数値Vitxとを比較して(図15のステップS3345)、変数xmaxが数値Vitxより小さい場合は、変数xmaxに数値Vitxを格納する(図15のステップS3346)。
次に、変数yminと数値Vityとを比較して(図15のステップS3347)、変数yminが数値Vityより大きい場合は、変数yminに数値yiを格納する(図15のステップS3348)。
次に、変数ymaxと数値yiとを比較して(図15のステップS3349)、変数ymaxが数値Vityより小さい場合は、変数ymaxに数値Vityを格納する(図15のステップS3350)。
次に、変数iをインクリメントする(図15のステップS3351)。
以上の処理を繰り返した後、最終的に保持されている変数xmin、変数ymin、変数xmax、変数ymaxを用いて、図17(a)に示すように、4つの頂点p(VB0)(xmin,ymin)、p(VB1)(xmax,ymin)、p(VB2)(xmax,ymax)、p(VB3)(xmin,ymax)によって特定される矩形状の領域(図17(a)のハッチング部分)が、バウンディングボックスVBとなる。
次に、仮想平板生成手段17は、バウンディングボックスVBに対する仮想平板Plateのx方向のマージンmxをδ*VBx(VBxは、バウンディングボックスVBのx方向の長さ、δは、0以上1以下の定数)に設定する(ステップS82)。
そして、仮想平板生成手段17は、バウンディングボックスVBのx方向の長さVBxおよびy方向の長さVBy、x方向のマージンmx、およびポリゴンデータPD1を用いて、矩形状の仮想平板のx方向およびy方向の長さLplatex,Lplateyを算出する(ステップS83)。
ここでは、仮想平板生成手段17が、まず、ポリゴンデータPD1から、ポリゴンPGのx方向の長さLxおよびy方向の長さLyを算出する。ここにおいて、ポリゴンデータPD1は、ポリゴンデータ入力受付手段11において、並べ替えがなされているため、仮想平板生成手段17は、ポリゴンのx方向の長さLxとして、点p(P0)と点p(P1)との間の距離(または、点p(P2)と点p(P3)との間の距離)を算出し、ポリゴンのy方向の長さLyとして、点p(P1)と点p(P2)と間の距離(または、点p(P0)と点p(P3)との間の距離)を算出する。つまり、仮想平板生成手段17は、ポリゴンのx方向の長さLxおよびポリゴンのy方向の長さLyを式(37)および式(38)により算出する。
Figure 0005432258
Figure 0005432258
次に、仮想平板生成手段17は、図17(b)に示すように、仮想平板Plateのx方向の長さLplatex、y方向の長さLplateyを式(39)および式(40)の関係式が成り立つように設定する。
Figure 0005432258
Figure 0005432258
そして、仮想平板生成手段17は、仮想平板Plateのy方向の長さLplateyに比べて、バウンディングボックスVBのy方向の長さVBy(=ymax−ymin)が長いか否かを判定する(ステップS84)。ここでは、仮想平板PlateがベクターデータVD1で表されるベクター図形を包含する大きさであるか否かを判定していることになる。
ステップS84において、仮想平板生成手段17が、仮想平板Plateのy方向の長さLplateyに比べて、バウンディングボックスVBのy方向の長さVBy(=ymax−ymin)が短いと判定すると(ステップS84:Yes)、仮想平板生成手段17は、仮想平板Plateの4つの頂点p(Vplatei)(i=0,1,2,3)それぞれに対応する頂点データVplate0(xmin−mx/2,ymin−my/2)、Vplate1(xmax+mx/2,ymin−my/2)、Vplate2(xmax+mx/2,ymax+my/2)、Vplate3(xmin−mx/2,ymax+my/2)を生成する(ステップS87)。
一方、ステップS84において、仮想平板生成手段17が、図17(d)に示すように、仮想平板のy方向の長さLplateyに比べて、バウンディングボックスのy方向の長さVBy(=ymax−ymin)が長いと判定すると(ステップS84:Yes)、仮想平板生成手段17は、バウンディングボックスVBに対する仮想平板Plateのy方向のマージンmyをρ*VBy(VByは、バウンディングボックスVBのx方向の長さ、ρは、0以上1以下の定数)に設定する(ステップS85)。
そして、仮想平板生成手段17は、図17(d)に示すように、仮想平板Plateのx方向の長さLplatex、y方向の長さLplateyを式(41)および式(42)の関係式が成り立つように設定する(ステップS86)。
Figure 0005432258
Figure 0005432258
最後に、仮想平板生成手段17は、仮想平板Plateの4つの頂点p(Vplatei)それぞれに対応する頂点データVplate0(xmin−mx/2,ymin−my/2)、Vplate1(xmax+mx/2,ymin−my/2)、Vplate2(xmax+mx/2,ymax+my/2)、Vplate3(xmin−mx/2,ymax+my/2)を生成する(ステップS87)。
<実施の形態3>
<1>データ
<1−1>ポリゴンデータ
本実施の形態で使用するポリゴンデータPD1は、図21(a)に示すように11個の頂点p(Pi)(i=0,1,・・・,10)を有する多角形状のポリゴンを表す11個の座標データPi(i=0,1,・・・,10)から構成される(図22参照)。
<1−2>ベクターデータ
ベクターデータ(第1のベクターデータ)VD1は、実施の形態1と同様に、図3(a)に示すような二次元平面に描画された文字の形状を定義するデータであって、図3(b)に示すように文字の輪郭線上に位置する複数(図3(b)の例では45個)の頂点p(Vi)の座標データ(以下、「頂点データ」と称す。)Vi(xi,yi)(i=0,1,・・・,44)と、輪郭線に沿って隣接する2つの頂点p(Vi),p(Vi+1)の間を結ぶ曲線を定義する複数の制御点p(Si)の座標データ(以下、「制御点データ」と称す。)Si(xi,yi)(i=0,1,・・・,42)とから構成される(図4参照)。
<2>構成
本実施の形態に係るグラフィックス描画装置30は、図23に示すように、実施の形態2と略同じであり、ポリゴンデータ入力手段210より入力されるポリゴンデータPD1を処理する3次元画像処理装置10aの構成が相違する。なお、実施の形態2と同様の構成については同一の符号を付して説明を省略する。
<2−1>3次元画像処理装置
3次元画像処理装置10aは、実施の形態2と略同様の構成であり、プロセッサ(図示せず)が適宜プログラムをメモリ(図示せず)に読み込んで実行することにより、バウンディングボックス生成手段31、3次元座標変換手段12、スケーリング係数決定手段13および投影変換手段14等が実現されている。なお、実施の形態2と同様の構成については適宜説明を省略する。
<2−1−1>バウンディングボックス生成手段
バウンディングボックス生成手段31は、図21(b)に示すように、ポリゴンデータPD1で表される11個の頂点を有する多角形のポリゴンを包含する矩形状のバウンディングボックスPBの頂点p(PBi)を表すバウンディングボックスデータPBi(i=0,1,2,3)を生成する(図22参照)。
<2−1−2>3次元画像変換手段
3次元座標変換手段12では、ポリゴンデータPD1に加えて、バウンディングボックスデータPBiを4次元座標に変換してバウンディングボックスデータPBim(i=0,1,2,3)を生成し、当該バウンディングボックスデータBimに対してモデルビュー変換を行いバウンディングボックスデータPBie(i=0,1,2,3)(図22参照)を生成する。また、3次元座標変換手段12は、バウンディングボックスデータPBieをスケーリング係数決定手段13に入力する。
<2−1−3>スケーリング係数決定手段
スケーリング係数決定手段13は、3次元座標変換手段12から入力される第3のバウンディングボックスデータPBieを用いて、実施の形態1と同様の方法でスケーリング係数を決定する。また、スケーリング係数決定手段13は、ベクターデータ変換手段18に第1のスケーリング係数scxおよび第2のスケーリング係数scyを入力する。
<2−1−4>投影変換手段
投影変換手段14では、ポリゴンデータPD3に加えて、バウンディングボックスデータPBieに対しても座標変換を適用し、スクリーン座標系における頂点p(PBiw)(i=0,1,2,3)の座標データを算出して、ポリゴンラスタライズ手段15に入力する。
<2−2>2次元画像処理装置
2次元画像処理装置10bは、実施の形態2と略同様の構成であって、プロセッサ(図示せず)が適宜プログラムをメモリ(図示せず)に読み込んで実行することにより、仮想平板生成手段17やテクスチャマッピング手段20等を実現している。なお、実施の形態2と同様の構成については適宜説明を省略する。
<2−2−1>仮想平板生成手段
仮想平板生成手段17は、バウンディングボックスデータPBiを用いて、実施の形態2と同様の手順で仮想平板を生成する。また、仮想平板生成手段17は、仮想平板データを2次元座標変換手段18に入力する。
<2−2−2>テクスチャマッピング手段
テクスチャマッピング手段20は、テクスチャバッファ21に格納されているテクスチャデータに基づいて、テクスチャが貼り付けられるポリゴンPGの各画素のカラー値を決定する。例えば、図24に示すように、テクスチャデータが表すテクスチャの左下端の画素を原点(0,0)として、X方向の画素数をTEXW、Y方向の画素数をTEXHとすると、バウンディングボックスPBの頂点p(PB0w)に、座標(0,0)に位置する画素、頂点p(PB1w)に座標(TEXW−1,0)に位置する画素、頂点p(PB2w)に座標(TEXW−1,TEXH−1)に位置する画素、頂点p(PB3w)に座標(0,TEXH−1)に位置する画素のカラー値がマッピングされる形で、ポリゴンPGのラスタ画像を構成する各画素のカラー値を決定する。
<3>動作
本実施の形態のグラフィックス描画装置30の動作は、実施の形態2のグラフィックス描画装置の動作と略同様であり、3次元画像処理装置10aの動作が相違する。
<3−1>3次元画像処理装置の動作
本実施の形態の3次元画像処理装置10aの動作のフローチャートを図25に示す。
まず、ポリゴンデータ入力受付手段11が、ポリゴンデータPD1を取得すると(ステップS311)と、バウンディングボックス生成手段31が、ポリゴンデータPD1が表すポリゴンPGを包含するバウンディングボックスPBを表すバウンディングボックスデータPBi(i=0,1,2,3)を算出する(ステップS312)。バウンディングボックス生成手段31によるバウンディングボックスデータPBiの算出処理の詳細については、<3−2>で詳しく述べる。
次に、3次元座標変換手段12が、図22に示すように、バウンディングボックスデータPBiを4次元座標系に変換してバウンディングボックスデータPBim(i=0,1,2,3)を生成し(ステップS312)、更に、モデルビュー変換を施すことでバウンディングボックスデータPBie(i=0,1,2,3)を生成する(ステップS313)。
次に、スケーリング係数決定手段13が、バウンディングボックスデータPBieおよび投影変換行列設定手段14aから入力される投影変換行列Pに関する情報を用いて、第1のスケーリング係数scxおよび第2のスケーリング係数scyを決定し(ステップS314)、ベクターデータ変換手段18に入力する。
その後、投影変換手段14が、バウンディングボックスデータPBieに対して投影変換等を行って、バウンディングボックスデータPBid(i=0,1,2,3)(図22参照)を生成し(ステップS315)、続いて、バウンディングボックスデータPBidに対してビューポート変換を行い、バウンディングボックスデータPBiw(i=0,1,2,3)(図22参照)を生成し(ステップS316)、ポリゴンラスタライズ手段15に入力する。
最後に、ポリゴンラスタライズ手段15が、ポリゴンデータPD6とテクスチャマッピング手段20から入力されるテクスチャデータTDとを用いて、フレームデータFDを生成し(ステップS317)、フレームバッファ22に書き込む(ステップ318)。
<3−2>バウンディングボックス算出
本実施の形態のグラフィックス描画装置30のバウンディングボックス算出の処理における動作を図26に示すフローチャートに従って説明する。
まず、ポリゴンデータ入力受付手段11が、ユーザーが入力するポリゴンデータPD1を取得し、ポリゴンデータPD1をバウンディングボックス生成手段31に入力する。
バウンディングボックス生成手段31は、計算バッファ上に定義された変数xminおよび変数xmaxに数値x0を格納し、変数yminおよび変数ymaxに数値y0を格納し、変数iに“1”を格納することにより、初期化する(ステップS811)。
次に、バウンディングボックス生成手段31が、変数iに、頂点p(Pi)の総数“11”が格納されているか否かを判定する(ステップS812)。
ステップS812において、バウンディングボックス生成手段31が、変数iに整数“10”が格納されている(矩形状のバウンディングボックスPBの4つの頂点を決める処理が終了している)と判定すると(ステップS812:Yes)、バウンディングボックス算出処理を終了する。
一方、ステップS812において、変数iに整数“10”が格納されていない(矩形状のバウンディングボックスの4つの頂点を決める処理が終了していない)と判定すると(ステップS812:No)、バウンディングボックス生成手段31は、変数xminの値と数値xiとを比較して(ステップS813)、変数xminの値に比べて数値xiが小さい場合(ステップS813:Yes)、変数xminの値をxiで更新する(ステップS814)。一方、変数xminの値に比べて数値xiが小さくない場合(ステップS813:No)、バウンディングボックス生成手段31は、変数xminの値は更新しない。
次に、バウンディングボックス生成手段31は、変数xmaxの値と数値xiとを比較して(ステップS815)、変数xmaxの値に比べて数値xiが大きい場合(ステップS815:Yes)、変数xmaxの値を数値xiで更新する(ステップS816)。一方、変数xmaxの値に比べて数値xiが大きくない場合(ステップS815:No)、バウンディングボックス生成手段31は、変数xmaxの値は更新しない。
次に、バウンディングボックス生成手段31は、ステップS817乃至ステップS820において、変数xmin、変数xmaxおよび数値xiを、それぞれ変数ymin、変数ymaxおよび数値yiに置き換えて、ステップS813乃至ステップS816で行った処理と同様の処理を行う。
次に、バウンディングボックス生成手段31は、変数iの値をインクリメントする(ステップS821)。
以上の処理を繰り返した後、最終的に保持されている変数xmin、変数ymin、変数xmax、変数ymaxを用いて、バウンディングボックス生成手段31は、変数iの値が整数“10”に設定されるまで、ステップS812乃至ステップS821の処理を繰り返すことにより、バウンディングボックスを構成する4個の頂点p(PBi)(i=0,1,2,3)それぞれの座標データPB0(xmin,ymin)、PB1(xmax,ymin)、PB2(xmax,ymax)、PB3(xmin,ymax)を算出する。また、バウンディングボックス生成手段31は、算出した4個の頂点p(PBi)(i=0,1,2,3)の座標データBi(i=0,1,2,3)を3次元座標変換手段12および仮想平板生成手段17に入力する。
次に、仮想平板生成手段17は、ポリゴンデータ23の頂点データPi(i=0,1,2,3)の代わりにバウンディングデータPBi(i=0,1,2,3)を用いて、実施の形態1と同様の方法で仮想平板Plateを生成する(<実施の形態1>の<3−2−1>および図20参照)。
<実施の形態4>
<1>データ
<1−1>ポリゴンデータ
本実施の形態では、実施の形態1と同様に、図1に示すように、矩形状のポリゴンPGの形状を表すポリゴンデータPD1(図2参照)を用いる。
<1−2>ベクターデータ
ベクターデータ(第1のベクターデータ)VD1)は、実施の形態1と同様に、図3(a)に示すような二次元平面に描画された文字の形状を定義するデータであって、図3(b)に示すように文字の輪郭線上に位置する複数(図3(b)の例では45個)の頂点p(Vi)の頂点データVi(xi,yi)(i=0,1,・・・,44)と、輪郭線に沿って隣接する2つの頂点p(Vi),p(Vi+1)の間を結ぶ曲線を定義する複数の制御点p(Si)の制御点データSi(xi,yi)(i=0,1,・・・,42)とから構成される(図4参照)。
<2>構成
本実施の形態に係るグラフィックス描画装置40は、図27に示すように、ポリゴンデータ入力手段210より入力されるポリゴンデータPD1を処理する3次元画像処理装置10aと、ベクターデータ入力手段220より入力されるベクターデータ(第1のベクターデータ)VD1を処理する2次元画像処理装置10bと、フレームバッファ22と、テクスチャバッファ21と、3次元画像処理装置10aで使用される投影変換行列Pに関するパラメータを設定する投影変換行列設定手段14aとを備える。なお、投影変換行列設定手段14a、テクスチャバッファ21およびフレームバッファ22は、実施の形態1と同様の構成なので説明を省略する。
<2−1>3次元画像処理装置
3次元画像処理装置10aは、実施の形態2と略同様の構成であり、プロセッサ(図示せず)が適宜プログラムをメモリ(図示せず)に読み込んで実行することにより、ポリゴンデータ入力受付手段11と、3次元座標変換手段12と、スケーリング係数決定手段13と、投影変換手段14と、ポリゴンラスタライズ手段15と、フレームバッファ22に記憶されている3次元画像データに基づいて外部に接続されているディスプレイ100に3次元画像を表示させる画像表示部10cと、データ数監視手段41と、処理方法設定手段42とを実現している。なお、実施の形態2と同様の構成については、適宜説明を省略する。
<2−1−1>3次元座標変換手段
3次元座標変換手段12は、仮想平板Plateの頂点p(Vplate0m)が原点に一致するように、仮想平板Plateを平行移動させる変換を行う行列T0と、ポリゴンPGの大きさに一致するように仮想平板Plateをスケーリングするスケーリング行列SCと、仮想平板Plateを再びもとの位置に平行移動させる行列T1とを算出する。なお、スケーリング行列SCは、式(43)で表される。
Figure 0005432258
<2−1−2>データ数監視手段
データ数監視手段41は、ポリゴンデータ入力受付手段11に入力されるポリゴンデータPD1を構成するデータの数をカウントする第1のカウンタ(図示せず)と、ベクターデータ入力受付手段16に入力される第1のベクターデータVD1を構成するデータの数をカウントする第2のカウンタ(図示せず)とを備える。また、データ数監視手段41は、第1のカウンタのカウント値CPおよび第2のカウンタのカウント値CVを処理方法設定手段42に入力する。
<2−1−3>処理方法設定手段
処理方法設定手段42は、データ数監視手段41から入力されるポリゴンデータPD1を構成するデータの数CPと、第1のベクターデータVD1を構成するデータの数CVとに基づいて、処理方法を変更する。
処理方法設定手段42は、予め定められた一定時間毎にカウンタト値CP,CVを読み出す。ここで、カウント値CP,CVの間に、式(44)の関係が成立するか否かに応じて2種類の処理方法のうちいずれを採用するかを決定する。
Figure 0005432258
ここで、CPはポリゴンデータPDを構成するデータの数、CVは第1のベクターデータVD1を構成するデータの数、βは1以上の定数を表す。処理方法の詳細については、後述の<3>で説明する。また、処理方法設定手段42は、決定した処理方法を3次元画像処理装置10aおよび2次元画像処理装置10bの各構成に通知する。
<2−2>2次元画像処理装置
2次元画像処理装置10bは、実施の形態2と略同様の構成であり、プロセッサ(図示せず)が適宜プログラムをメモリ(図示せず)に読み込んで実行することにより、ベクターデータ入力受付手段16と、仮想平板生成手段17と、ベクターデータ変換手段18と、テクスチャ生成手段19と、テクスチャマッピング手段20とを実現している。なお、実施の形態2と同様の構成については適宜説明を省略する。
<3>動作
<3−1>3次元画像処理装置の動作
本実施の形態の3次元画像処理装置10aの動作のフローチャートを図28に示す。
まず、ポリゴンデータ入力受付手段11が、ユーザーがポリゴンデータ入力手段210により入力するポリゴンデータPD1を取得する(ステップS11)。
次に、処理方法設定手段42が、カウント値CP,CVの間に式(44)に示す関係が成立するか否かを判断する(ステップS41)。
処理方法設定手段42が、カウント値CP,CVの間に式(44)の関係が成立しないと判断すると(ステップS41:No)、ポリゴンデータPD1に対する4次元座標系への変換を行う(ステップS12)。ステップS12以降、ステップS13乃至ステップS18の処理は、実施の形態1と同様なので、説明を省略する。
一方、処理方法設定手段42が、カウント値CP,CVの間に式(44)に示す関係が成立すると判断すると(ステップS41:Yes)、3次元座標変換手段12は、ポリゴンデータPD1を4次元座標系に変換してポリゴンデータPD2を生成する。
このとき、3次元座標変換手段12は、ベクターデータVD1を構成する頂点データViおよび制御点データSi(図4、図29参照)と、仮想平板Plateの頂点の座標データVplatek(k=0,1,2,3)(図30参照)とについて、4次元座標系への変換を行い、頂点データVim(i=0,1,・・・,44)および制御点データSim(i=0,1,・・・,42)から構成されるベクターデータVD22(図29参照)と、座標データVplatekm(k=0,1,2,3)(図30参照)とを生成する(ステップS42)。
次に、3次元座標変換手段12は、仮想平板Plateの頂点Vplatekm(k=0,1,2,3)をポリゴンPGの頂点Pim(i=0,1,2,3)に重ね合わせる変換を行うために用いる行列T0,SC,T1を算出する(ステップS43)。
そして、3次元座標変換手段12は、ポリゴンデータPD2にモデルビュー変換およびx,y,z成分それぞれをw成分により除する演算(式(17)参照)を行うことポリゴンデータPD5を生成するとともに、座標データVplatekm(k=0,1,2,3)とベクターデータVD2とに対して、各行列T0、SC、T1を順に乗ずることによりベクターデータ変換を行った後(ステップS44)、モデルビュー変換を行い(ステップS45)、続いて、x,y,z成分それぞれをw成分により除する演算(式(17)参照)を行うことで、頂点データVie(i=0,1,・・・,44)および制御点データSie(i=0,1,・・・,42)から構成されるベクターデータVD23(図29参照)と、座標データVplateie(i=0,1,2,3)(図30参照)とを生成する(ステップS46)。
その後、投影変換手段14が、ポリゴンデータPD5とともに、ベクターデータVD3と仮想平板データVplateieについてビューポート変換を行い、ポリゴンデータPD6を生成するとともに、頂点データViw(i=0,1,・・・,44)および制御点データSiw(i=0,1,・・・,42)から構成されるベクターデータVD24(図29参照)と、スクリーン座標系における座標データVplateiw(i=0,1,2,3)(図30参照)とを生成する(ステップS46)。
そして、投影変換手段14は、ベクターデータVD4および座標データVplateiw(i=0,1,2,3)それぞれについて、x成分とy成分とを抽出することにより、頂点データViwv(xiw,yiw)(i=0,1,・・・,44)およびSiwv(xiw,yiw)(i=0,1,・・・,42)から構成されるベクターデータVD25(図29参照)と、座標データVplateiwv(xplateiw,yplateiw)(i=0,1,2,3)(図30参照)とを生成して、テクスチャ生成手段19に入力する(ステップS48)。
最後に、ポリゴンラスタライズ手段15が、ポリゴンデータPD6とテクスチャマッピング手段20から入力されるテクスチャデータTDとを用いて、フレームデータFDを生成し(ステップS17)、フレームバッファ22に書き込む(ステップ18)。
<3−2>2次元画像処理装置の動作
本実施の形態の2次元画像処理装置の動作のフローチャートを図31に示す。
まず、ベクターデータ入力受付手段16が、ベクターデータVD1を取得すると(ステップS21)、仮想平板生成手段17が、ベクターデータVD1およびポリゴンデータPD1を用いて、仮想平板生成処理を行い(ステップS22)、仮想平板Plateの頂点の座標データVplatek(k=0,1,2,3)と、仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplateyを算出する。仮想平板生成処理の内容は実施の形態1と同様なので説明を省略する。
そして、処理方法設定手段42が、カウント値CP,CVの間に式(44)に示す関係が成立するか否かを判断する(ステップS41)。
処理方法設定手段42が、カウント値CP,CVの間に式(44)の関係が成立しないと判断すると(ステップS41:No)、ベクターデータVD1に対する3次元座標系への変換を行う(ステップS23)。ステップS23以降、ステップS24乃至ステップS27の処理は、実施の形態1と同様なので、説明を省略する。
一方、処理方法設定手段42が、カウント値CP,CVの間に式(44)に示す関係が成立すると判断すると(ステップS41:Yes)、仮想平板生成手段17が、3次元座標変換手段12に対して、仮想平板Plateの頂点の座標データVplatei(i=0,1,2,3)、仮想平板Plateのx方向の長さLplatexおよびy方向の長さLplatey、ポリゴンPGのx方向の長さLxおよびy方向の長さLyを入力する(ステップS51)。
その後、投影変換手段14から仮想平板Plateの頂点の座標データVplateiwv(xplateiwv,yplateiwv)(i=0,1,2,3)およびベクターデータVD5が入力されると、これらのデータを用いてテクスチャデータを生成し(ステップS52)、テクスチャバッファ21に書き込む(ステップS27)。
<変形例>
(1)前述の実施の形態1乃至4では、ポリゴンデータ入力受付手段11に2次元座標系で表現されたポリゴンデータPD1が入力される例について説明したが、これに限定されるものではなく、ポリゴンデータ入力受付手段11に4次元座標系における座標データからなるポリゴンデータPD2が直接入力されるものであってもよい。
本変形例では、ポリゴンデータ入力受付手段11が、ポリゴンデータPD2を構成する各座標データPieからx成分およびy成分のみを抽出して仮想平板生成手段17に入力する。
本変形例によれば、3次元座標変換手段12が、2次元座標系で表現されたポリゴンデータPD1を4次元座標で表現されたポリゴンデータPD2に変換する処理を行う必要がなくなる。
(2)前述の実施の形態2乃至4では、ベクターデータ入力受付手段16に2次元座標系で表現されたベクターデータVD1が入力される例について説明したが、これに限定されるものではなく、ベクターデータ入力受付手段16に3次元座標系における座標データからなるベクターデータVD2が直接入力されるものであってもよい。
本変形例では、ベクターデータ入力受付手段11が、ベクターデータVD2を構成する各頂点データVihからx成分およびy成分のみを抽出して仮想平板生成手段17に入力する。
本変形例によれば、ベクターデータ変換手段18が、2次元座標系で表現されたベクターデータVD1を3次元座標で表現されたベクターデータVD2に変換する処理を行う必要がなくなる。
(3)前述の実施の形態1乃至4では、Zrepとして、ポリゴンPGの頂点p(P0e)のZ成分であるZ0eを採用する例について説明したが、これに限定されるものではなく、Zrepとして、ポリゴンPGを構成する4つの頂点のうち、Z軸方向における視点からの距離が最も近い頂点p(Pie)に対応する座標データPieのZ成分の値を採用してもよい。
また、本変形例では、Zrepとして、ポリゴンPGを構成する4つの頂点それぞれに対応する座標データPie(i=0,1,2,3)のZ成分の平均値を採用してもよい。この場合、
Figure 0005432258
となる。
更に、本変形例では、ポリゴンPGが矩形状である場合について説明したが、これに限定されるものではなく、例えば、ポリゴンPGがK個の頂点を有するとすれば、
Figure 0005432258
とすればよい。
(4)前述の実施の形態2では、仮想平板生成手段17が、1つのベクターデータVD1からバウンディングボックスVBを求める例について説明したが、これに限定されるものではなく、複数のベクターデータから1個のバウンディングボックスを求めるようにしてもよい。
(5)前述の実施の形態2では、仮想平板生成手段17が、x方向のマージンmxをδ*PBx(PBx:バウンディングボックスのx方向の長さ)に設定する例について説明したが、これに限定されるものではなく、例えば、マージンmxを、バウンディングボックスのx方向の長さPBxに関係なく固定の値ε1に設定されるものであってもよいし、他の方法を適宜用いてもよい。
また、y方向のマージンmyについてもバウンディングボックスのy方向の長さPByに関係なく固定の値ε2に設定されるものであってもよい。
(6)前述の実施の形態2では、ベクターデータVD1に基づいて、バウンディングボックスを算出する例について説明したが、これに限定されるものではなく、例えば、ベクターデータVD1の中にフォントの属性情報として実施の形態2でいうところのバウンディングボックスに相当する情報があらかじめ含まれている場合には、そのデータをそのままバウンディングボックスとして用いるようにしてもよい。
これによれば、仮想平板生成処理におけるバウンディングボックス算出処理を省略することができるので、処理効率の向上を図ることができる。
(7)前述の実施の形態2では、1つの文字を表すベクターデータVD1に基づいて、バウンディングボックスを算出する例について説明したが、これに限定されるものではなく、例えば、図32に示すように、文字列を表す複数のベクターデータそれぞれに対して、バウンディングボックスを生成し、生成した複数のバウンディングボックスを包含するような仮想平板Plateを生成するようにしてもよい。
本変形例では、個々の文字を表すベクターデータそれぞれに対してバウンディングボックスのx方向の長さLxおよびy方向の長さLyを算出し、その後、これら複数のバウンディングボックスのx方向の長さの和LxAおよびy方向の長さの和LyAを算出して、x方向の長さがLxA、y方向の長さがLyAの矩形状の仮想平板をバウンディングボックスとしてもよい。
ここで、文字列を構成する各ベクターデータが、隣接する文字間のオフセット長(Escapement、またはAdvanced Width)に関する属性情報を含む場合があるが、この場合には、各ベクターデータに含まれるEscapementの和をバウンディングボックスのx方向の長さLxAまたはy方向の長さLyAに加算すればよい。
(8)前述の実施の形態3では、ポリゴンデータPD1が、図21に示すような11個の頂点p(Pi)(i=0,1,・・・,10)から構成される多角形状のポリゴンを表す例について説明したが、これに限定されるものではなく、例えば、ポリゴンデータPD1が、円形状のポリゴンなど複数の頂点により構成されるポリゴンを表すものであってもよく、頂点の数が10個未満、或いは頂点の数が11個を超える多角形のポリゴンを表すものであってもよい。
(9)前述の実施の形態1は、離散的な拡大縮小率(スケーリング値)αをスケーリング値記憶手段51に記憶させておき、最適なスケーリング値を決定する例について説明したが、これに限定されるものではなく、例えば、式(47)に示すような目的関数を設定し、スケーリング値を連続的に変化させて、目的関数が最小値をとるときのスケーリング値αに決定するようにしてもよい。
Figure 0005432258
ここで、obj(α)は目的関数を示す。f(α)は、図33に示すように、スケーリングを行った後のベクターデータVD2が表すベクター図形を包含する矩形状のバウンディングボックスVBAの面積の関数を示す。ここで、スケーリングは、第1のスケーリング値scalexおよび第2のスケーリング値scaleyの値を共にαとして行う。
Penaltyは、図33に示すように、バウンディングボックスVBAと、x方向の長さが第1のスケーリング係数scxに等しく、y方向の長さが第2のスケーリング係数scyに等しい矩形状の領域Plateとを、中心が一致する形で重ね合わせたときに、互いに重ならない領域の面積(ハッチング部分)に比例する関数(ペナルティ関数)を示す。
ベクターデータ変換手段18は、実施の形態1で説明したように、まず、頂点データVi(i=0,1,・・・,44)の重心座標Gが、視点(原点)に重なるように平行移動変換をして頂点データVih(i=0,1,・・・,44)を生成し、当該頂点データVihから構成されるベクターデータと値αを用いて、式(47)の関係式に従って目的関数obj(α)の値を算出する。
そして、値αを所定の範囲内(例えば、α=0.5とα=100との間の範囲内)で連続的に変化させたときにobj(α)が最小値をとるときの値αを最適値として決定する。
なお、obj(α)の最小値の算出には、例えば、最急降下法などを用いればよい。
(10)前述の実施の形態4では、処理方法設定手段42が、データ数監視手段41から入力される情報に基づいて処理方法を変更する例について説明したが、これに限定されるものではない。
<補足>
(1)なお、本実施例のグラフィックス描画装置は、典型的には半導体集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
さらに加えて、本実施例のグラフィックス描画装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶やPDP(プラズマディスプレイパネル)、有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
本構成のグラフィックス描画装置は、様々な用途に利用可能である。例えば、携帯電話や携帯音楽プレーヤー、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダー、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やWebブラウザ、エディタ、EPG、地図表示等における情報表示手段として利用価値が高い。
10,30,40,50 グラフィックス描画装置
10a 3次元画像処理装置
10b 2次元画像処理装置
10c 画像表示部
11 ポリゴンデータ入力受付手段
12 3次元座標変換手段
13 スケーリング係数決定手段
14 投影変換手段
15 ポリゴンラスタライズ手段
16 ベクターデータ入力受付手段
17 仮想平板生成手段
18 ベクターデータ変換手段
19 テクスチャ生成手段
20 テクスチャマッピング手段
21 テクスチャバッファ
22 フレームバッファ
31 バウンディングボックス生成手段
41 データ数監視手段
42 処理方法設定手段
51 スケーリング値記憶手段
PD1,PD2,PD3,PD4,PD5,PD6 ポリゴンデータ
T スケーリング値テーブル
VD1,VD2,VD3,VD4,VD5 ベクターデータ

Claims (12)

  1. テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、
    前記第1のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換手段と、
    前記第2のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成手段と、
    前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピング手段と
    を備えることを特徴とするグラフィックス描画装置。
  2. 前記ポリゴンデータと前記第1のベクターデータとに基づいて、前記第1のベクターデータが表すベクター画像を包含する仮想平板を表す仮想平板データを生成し前記ベクターデータ変換手段に入力する仮想平板生成手段を備え、
    前記ベクターデータ変換手段は、前記スケーリング係数とともに前記仮想平板データに基づいてスケーリングする
    ことを特徴とする請求項1記載のグラフィックス描画装置。
  3. 前記スケーリング係数決定手段は、矩形状であり且つ対向する1組の第1の辺の長さがLxであり且つ他の1組の第2の辺の長さがLyの前記ポリゴンを表す前記ポリゴンデータに基づいて、前記スケーリング係数を構成する、前記ポリゴンの前記第1の辺に沿った方向に対応する第1のスケーリング係数scxおよび前記第2の辺に沿った方向に対応する第2のスケーリング係数scyを
    Figure 0005432258
    Figure 0005432258
    の関係式が成立するように決定し、
    前記仮想平板生成手段は、前記ポリゴンデータと前記第1のベクターデータとに基づいて、矩形状であり且つ対向する1組の第3の辺の長さがLplatex、他の1組の第4の辺の長さがLplateyであるとともに、前記第1のベクターデータが表す前記ベクター画像を包含する前記仮想平板を表す仮想平板データを生成し、
    前記ベクターデータ変換手段は、前記第1のスケーリング係数および前記第2のスケーリング係数とともに前記仮想平板データに基づいて、前記仮想平板の前記第3の辺に沿った方向への第1の拡大縮小率scalexを
    Figure 0005432258
    とし、前記仮想平板の前記第4の辺に沿った方向への第2の拡大縮小率scaleyを
    Figure 0005432258
    としてスケーリングを行う
    ことを特徴とする請求項2記載のグラフィックス描画装置。
  4. 前記第1の辺の長さをLx、前記第2の辺の長さをLyとし、
    前記第1のベクターデータが表すベクター画像を包含する矩形状のバウンディングボックスの対向する1組の辺の長さをVBx、他の1組の辺の長さをVByとすると、
    前記第3の辺の長さLplatexおよび前記第4の辺の長さLplateyは、
    Figure 0005432258
    Figure 0005432258
    のうち少なくとも一方の関係式が成立し、且つ、
    Figure 0005432258
    の関係式が成立する
    ことを特徴とする請求項3記載のグラフフィックス描画装置。
  5. 前記ポリゴンデータに基づいて前記ポリゴンを包含する矩形状のバウンディングボックスを生成するバウンディングボックス生成手段を備える
    ことを特徴とする請求項3記載のグラフィックス描画装置。
  6. 前記ポリゴンを包含する矩形状のバウンディングボックスの対向する1組の辺の長さをPBx、他の1組の辺の長さをPByとすると、
    前記第3の辺の長さLplatexおよび前記第4の辺の長さLplateyは、
    Figure 0005432258
    Figure 0005432258
    のうち少なくとも一方の関係式が成立し、且つ、
    Figure 0005432258
    の関係式が成立する
    ことを特徴とする請求項5記載のグラフフィックス描画装置。
  7. 前記仮想平板は、前記ベクター画像を包含する矩形状のバウンディングボックスを複数含む
    ことを特徴とする請求項3記載のグラフィックス描画装置。
  8. 入力される前記ポリゴンデータを処理し且つ前記スケーリング係数決定手段を含む3次元画像処理手段と、
    入力される前記第1のベクターデータを処理し且つ前記ベクターデータ変換手段を含む2次元画像処理手段と、
    前記3次元画像処理手段に入力される前記ポリゴンデータの数と前記2次元画像処理手段に入力される前記第1のベクターデータの数とを監視するデータ数監視手段と、
    前記データ数監視手段から入力される前記ポリゴンデータおよび前記ベクターデータそれぞれの数に基づき前記ベクターデータ変換手段が行う処理を3次元画像処理手段が行うように設定する処理方法設定手段と
    を備えることを特徴とする請求項1記載のグラフィックス描画装置。
  9. コンピュータにより実現させるグラフィックス描画方法であって、
    テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
    前記第1のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換ステップと、
    前記第2のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
    前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
    を含むことを特徴とするグラフィックス描画方法。
  10. グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムであって、前記グラフィックス描画処理は、
    テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
    前記第1のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するべクターデータ変換ステップと、
    前記第2のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
    前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
    を含むことを特徴とするグラフィックス描画プログラム。
  11. グラフィックス描画処理をコンピュータにより実現させるグラフィックス描画プログラムを記録した記録媒体であって、前記グラフィックス描画処理は、
    テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定ステップと、
    前記第1のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換ステップと、
    前記第2のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成ステップと、
    前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピングステップと
    を含むことを特徴とするグラフィックス描画プログラムを記録した記録媒体。
  12. テクスチャがマッピングされるポリゴンを表すポリゴンデータに基づいて前記テクスチャの基となる第1のベクターデータのスケーリングの基準となるスケーリング係数を決定するスケーリング係数決定手段と、
    前記第1のベクターデータを前記スケーリング係数に基づいてスケーリングすることにより第2のベクターデータを生成するベクターデータ変換手段と、
    前記第2のベクターデータに基づいて前記テクスチャを生成するテクスチャ生成手段と、
    前記テクスチャを前記ポリゴンにマッピングするテクスチャマッピング手段と
    を備えることを特徴とするグラフィックス描画用集積回路。
JP2011519604A 2009-06-24 2010-06-24 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路 Expired - Fee Related JP5432258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519604A JP5432258B2 (ja) 2009-06-24 2010-06-24 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009149448 2009-06-24
JP2009149448 2009-06-24
JP2011519604A JP5432258B2 (ja) 2009-06-24 2010-06-24 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路
PCT/JP2010/004195 WO2010150545A1 (ja) 2009-06-24 2010-06-24 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路

Publications (2)

Publication Number Publication Date
JPWO2010150545A1 JPWO2010150545A1 (ja) 2012-12-06
JP5432258B2 true JP5432258B2 (ja) 2014-03-05

Family

ID=43386330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011519604A Expired - Fee Related JP5432258B2 (ja) 2009-06-24 2010-06-24 グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路

Country Status (4)

Country Link
US (1) US8537173B2 (ja)
JP (1) JP5432258B2 (ja)
CN (1) CN102132324A (ja)
WO (1) WO2010150545A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384897A (zh) * 2011-02-25 2013-11-06 三菱电机株式会社 地图描绘装置
CN103098118B (zh) * 2011-07-13 2015-11-25 松下电器产业株式会社 描绘装置及方法
US9905039B2 (en) 2014-02-21 2018-02-27 Qualcomm Incorporated View independent color equalized 3D scene texturing
USD795925S1 (en) * 2014-04-16 2017-08-29 Hitachi, Ltd. Display screen or portion thereof with icon
JP6536169B2 (ja) * 2015-05-21 2019-07-03 カシオ計算機株式会社 画像処理装置、画像処理方法及びプログラム
CN115268723B (zh) * 2022-07-29 2024-09-17 联想(北京)有限公司 一种控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001218979A (ja) * 2000-02-14 2001-08-14 Namco Ltd ゲームシステム及び情報記憶媒体
JP2004110519A (ja) * 2002-09-19 2004-04-08 Dainippon Ink & Chem Inc 質感表現装置及び質感表現方法並びに合成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2038412C (en) * 1990-04-26 2001-10-16 Glenn M. Courtright Polygon sort engine
JP3157015B2 (ja) 1991-08-09 2001-04-16 株式会社日立製作所 画像処理方法および画像処理装置
US5680525A (en) 1991-08-08 1997-10-21 Hitachi, Ltd. Three-dimensional graphic system with an editor for generating a textrue mapping image
EP0569758A3 (en) * 1992-05-15 1995-03-15 Eastman Kodak Co Method and device for producing and storing three-dimensional characters and for three-dimensional typesetting.
JP3332165B2 (ja) * 1992-08-08 2002-10-07 株式会社リコー 画像処理装置
US5678015A (en) 1995-09-01 1997-10-14 Silicon Graphics, Inc. Four-dimensional graphical user interface
JP2003529825A (ja) * 2000-02-14 2003-10-07 ジオフェニックス, インコーポレイテッド グラフィカルプログラミングのための方法およびシステム
US6825851B1 (en) * 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
JP4662412B2 (ja) * 2003-05-15 2011-03-30 シャープ株式会社 文字図形表示装置、文字図形表示方法、プログラムおよび記録媒体
JP2007066012A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 映像描画装置、方法およびプログラム
JP4643485B2 (ja) * 2006-03-30 2011-03-02 株式会社東芝 描画装置、方法およびプログラム
KR101145260B1 (ko) * 2007-04-05 2012-05-25 삼성전자주식회사 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치
US20100321399A1 (en) * 2009-06-18 2010-12-23 Patrik Ellren Maps from Sparse Geospatial Data Tiles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001218979A (ja) * 2000-02-14 2001-08-14 Namco Ltd ゲームシステム及び情報記憶媒体
JP2004110519A (ja) * 2002-09-19 2004-04-08 Dainippon Ink & Chem Inc 質感表現装置及び質感表現方法並びに合成方法

Also Published As

Publication number Publication date
US20110134117A1 (en) 2011-06-09
CN102132324A (zh) 2011-07-20
WO2010150545A1 (ja) 2010-12-29
US8537173B2 (en) 2013-09-17
JPWO2010150545A1 (ja) 2012-12-06

Similar Documents

Publication Publication Date Title
JP5432258B2 (ja) グラフィックス描画装置、グラフィックス描画方法、グラフィックス描画プログラム、グラフィックス描画プログラムを記録した記録媒体、集積回路
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
TWI552109B (zh) 一種使用誤差項之保守格柵化基元的方法、非暫時性電腦可讀儲存媒體及系統
CN104268922B (zh) 一种图像渲染方法及图像渲染装置
US7868885B2 (en) Direct manipulation of subdivision surfaces using a graphics processing unit
USRE44348E1 (en) Detail-in-context terrain displacement algorithm with optimizations
US8520007B2 (en) Graphic drawing device and graphic drawing method
JP2005228320A (ja) 深さ画像基盤の3次元グラフィックデータの高速視覚化方法、装置及びプログラムを記録したコンピュータ可読記録媒体
Wang et al. Adaptive image-based intersection volume
JP5443482B2 (ja) グラフィクス描画装置、グラフィクス描画方法、グラフィクス描画プログラム、グラフィクス描画プログラムを記録した記録媒体、グラフィクス描画用集積回路
CN113643414B (zh) 一种三维图像生成方法、装置、电子设备及存储介质
KR20170142089A (ko) 다면 영상 프로젝션을 위한 텍스처 맵핑 보정 방법 및 장치
US10699372B2 (en) Image generation apparatus and image display control apparatus
JP4987890B2 (ja) 立体画像描画装置、立体画像描画方法、立体画像描画プログラム
JP2000155850A (ja) テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JPH07282292A (ja) テクスチャマッピング方法及び画像処理装置
JPWO2014054068A1 (ja) デジタル画像リサンプリング装置、方法、及びプログラム
US11210840B1 (en) Transform method for rendering post-rotation panoramic images
KR100388587B1 (ko) 정점 데이터에 오프셋값을 가산하여 폴리곤을 묘화하는3차원 그래픽스 묘화 장치 및 그 방법
Paiz-Reyes et al. Geometric distortion of historical images for 3D visualization
JP2003317111A (ja) 画像処理装置およびその方法
JPH11149566A (ja) 曲面ディスプレイ用3次元cg描画装置
JP2005165283A (ja) 地図表示装置
JP3747859B2 (ja) 画像処理装置およびその方法
JPH0816822A (ja) 3次元動画像生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130315

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131205

R150 Certificate of patent or registration of utility model

Ref document number: 5432258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees