JP2011165062A - 描画処理装置、描画処理方法、及びプログラム - Google Patents
描画処理装置、描画処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2011165062A JP2011165062A JP2010029077A JP2010029077A JP2011165062A JP 2011165062 A JP2011165062 A JP 2011165062A JP 2010029077 A JP2010029077 A JP 2010029077A JP 2010029077 A JP2010029077 A JP 2010029077A JP 2011165062 A JP2011165062 A JP 2011165062A
- Authority
- JP
- Japan
- Prior art keywords
- closed region
- mask image
- graphic
- mask
- drawing processing
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
【課題】3次元グラフィックスのハードウェアアクセラレータを用いて、ノンゼロワインディングルールで閉領域図形を高速に描画できるようにする。
【解決手段】閉領域図形の輪郭を定めるN個の点に基づいて(N−2)個の三角形を抽出し、三角形を構成する頂点の並びが時計回りのものに関して三角形内部のマスクバッファのピクセル値を1加算し、反時計回りのものに関して三角形内部のマスクバッファのピクセル値を1減算してマスク画像を構成し、得られたマスクバッファを参照し、ピクセル値が0になっているピクセルを無効にしてカラーバッファに対する描画処理を行うようにして、マスクバッファのピクセル値が0以外の領域が塗りつぶされた閉領域図形をカラーバッファに高速に描画できるようにする。
【選択図】図2
【解決手段】閉領域図形の輪郭を定めるN個の点に基づいて(N−2)個の三角形を抽出し、三角形を構成する頂点の並びが時計回りのものに関して三角形内部のマスクバッファのピクセル値を1加算し、反時計回りのものに関して三角形内部のマスクバッファのピクセル値を1減算してマスク画像を構成し、得られたマスクバッファを参照し、ピクセル値が0になっているピクセルを無効にしてカラーバッファに対する描画処理を行うようにして、マスクバッファのピクセル値が0以外の領域が塗りつぶされた閉領域図形をカラーバッファに高速に描画できるようにする。
【選択図】図2
Description
本発明は、描画処理装置、描画処理方法、及びプログラムに関し、閉領域図形を塗りつぶすための描画技術に関する。
2次元ベクトルグラフィックスにおいて、閉領域図形の内部を塗りつぶす方式として、イーブンオッドルールとノンゼロワインディングルールとがある。従来、前記ルールに従って閉領域図形の内部を塗りつぶす第1の方法としては、走査線をたどり、閉領域の内外判定を行う方法が一般的であった。さらに、この方法においては、走査線と輪郭線との交点を走査方向にソートする処理が必要であったが、ソート処理を省くことによって高速化を図る提案がなされている(例えば特許文献1)。
一方、近年では複雑化しているユーザインタフェースを軽快に動作させるためにGPU(Graphics Processor Unit)を搭載した機器が増加している。中でもOpenGL(登録商標)ES仕様に準拠した3次元グラフィックスのハードウェアアクセラレータが普及してきている。アプリケーションからOpenGL(登録商標)ES仕様の提供する関数を呼び出すことによって、対応するハードウェアは高速に3次元グラフィックスの描画を行うことができる。具体的には、3次元座標で与えられた3点を結ぶ三角形の塗りつぶし処理を高速に行うことができる。なお、この方法で使用する関数はOpenGL(登録商標)ES仕様でも提供されており、同様に実現可能である。
閉領域図形の内部を塗りつぶす第2の方法として、上述した特徴を利用し、イーブンオッドルールで閉領域図形を高速に塗りつぶす方法が、すでに知られている(例えば非特許文献1)。また、閉領域図形の内部を塗りつぶす第3の方法として、閉領域図形の一種であるアウトラインフォントについて、塗りつぶされる部分を三角形に分割して高速に描画する方法が提案されている(例えば特許文献2)。
OpenGL Architecture Review Board, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis、"OpenGL Programming Guide Forth Edition"、Addison Wesley、2003年12月30日、600頁
しかしながら、上述した第1の方法によれば、閉領域図形を構成する辺が交差したり、サブパスによって刳り抜かれたりする図形においては走査線と輪郭線との交点が多くなり、複雑な図形になると計算コストが高くなる。また、上述した第2の方法によれば、イーブンオッドルールに対して3次元グラフィックスのハードウェアアクセラレータを用いて高速に描画する方法が提案されているが、ノンゼロワインディングルールについては考慮されていない。また、上述した第3の方法によれば、三角形に分割することで3次元グラフィックスのハードウェアアクセラレータにより高速に描画されるが、第1の方法と同様に、特に刳り抜きを有する閉領域図形では三角形に分割する処理が複雑となり、計算コストが高くなる。
本発明は、このような事情に鑑みてなされたものであり、3次元グラフィックスのハードウェアアクセラレータを用いて、ノンゼロワインディングルールで閉領域図形を高速に描画できるようにすることを目的とする。
本発明に係る描画処理装置は、閉領域図形の輪郭を定める点が規定された順に並んだ配列情報を含む閉領域図形描画処理命令を受信する命令受信手段と、受信した前記閉領域図形描画処理命令の前記配列情報に基づいて、閉領域図形の輪郭を定める点の中から3点を選択することで得られる三角形を複数抽出する抽出手段と、構成する頂点が第1の回転方向に並んだ三角形を有効にして前記抽出手段により抽出された複数の三角形を描画した結果を用いてマスク画像をマスクバッファに構成する第1のマスク画像構成手段と、構成する頂点が前記第1の回転方向とは異なる第2の回転方向に並んだ三角形を有効にして前記抽出手段により抽出された複数の三角形を描画した結果を用いてマスク画像を前記マスクバッファに構成する第2のマスク画像構成手段と、前記マスクバッファに構成されたマスク画像の情報を参照し、ノンゼロワインディングルールに従ってカラーバッファのピクセルの色を変更する図形描画手段とを備え、前記第1のマスク画像構成手段、前記第2のマスク画像構成手段、及び前記図形描画手段は、3次元グラフィックス処理装置に実装されていることを特徴とする。
本発明によれば、3次元グラフィックス処理装置を利用したノンゼロワインディングルールでの閉領域図形の高速な描画が可能となる。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における描画処理装置のハードウェア構成例を示すブロック図である。本実施形態における描画処理装置100は、バス101、CPU102、ROM103、RAM104、描画ユニット105、及びストレージ106を有する。CPU102は、ROM103等に記憶されたソフトウェア(プログラム)を実行することで、描画処理装置100が装備している各機能を実行したり、各機能を実行するための制御を行ったりする。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104は、外部装置等から供給されるプログラムやデータを一時記憶する。RAM104は、例えばSDRAM、DRAM等によって構成される。描画ユニット105は、カラーバッファ108及びマスクバッファ109を有する。描画ユニット105は、カラーバッファ108への描画命令を受信したときには、マスクバッファ109に書き込まれたデータに基づいてピクセル毎に有効であるか無効であるかの判定を行い、描画結果をモニタ107に出力する。ストレージ106は、プログラムやデータを記憶しておく記憶装置である。ストレージ106は、例えばハードディスクドライブ、フラッシュメモリ等で構成される。バス101は、システムバスであり、CPU102、ROM103、RAM104、描画ユニット105、及びストレージ106を互いに通信可能に接続する。
図1は、本発明の一実施形態における描画処理装置のハードウェア構成例を示すブロック図である。本実施形態における描画処理装置100は、バス101、CPU102、ROM103、RAM104、描画ユニット105、及びストレージ106を有する。CPU102は、ROM103等に記憶されたソフトウェア(プログラム)を実行することで、描画処理装置100が装備している各機能を実行したり、各機能を実行するための制御を行ったりする。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104は、外部装置等から供給されるプログラムやデータを一時記憶する。RAM104は、例えばSDRAM、DRAM等によって構成される。描画ユニット105は、カラーバッファ108及びマスクバッファ109を有する。描画ユニット105は、カラーバッファ108への描画命令を受信したときには、マスクバッファ109に書き込まれたデータに基づいてピクセル毎に有効であるか無効であるかの判定を行い、描画結果をモニタ107に出力する。ストレージ106は、プログラムやデータを記憶しておく記憶装置である。ストレージ106は、例えばハードディスクドライブ、フラッシュメモリ等で構成される。バス101は、システムバスであり、CPU102、ROM103、RAM104、描画ユニット105、及びストレージ106を互いに通信可能に接続する。
図2は、本実施形態における描画処理装置の機能構成例を示すブロック図である。描画処理装置100は、閉領域描画処理命令受信部201、三角形抽出部202、マスク画像構成部203、204、閉領域包含図形生成部205、閉領域色情報取得部206、閉領域包含図形描画部207、線分近似部208、及び描画ユニット105を有する。描画処理装置100の各機能部のうち、少なくともマスク画像構成部203、204、閉領域包含図形生成部205、閉領域色情報取得部206、閉領域包含図形描画部207、及び描画ユニット105は、3次元グラフィックス処理装置を用いて実現される。例えば、この3次元グラフィックス処理装置は、OpenGL(登録商標)又はOpenGL(登録商標)ES仕様に対応したハードウェア又はソフトウェアによって実装されている。なお、ハードウェアとソフトウェアとの組み合わせによって実装されていても良い。
本実施形態における描画処理装置100での描画処理の流れを、図2を参照して説明する。
まず、描画処理装置100は、閉領域描画処理命令受信部201で閉領域図形描画処理命令を受信する。閉領域図形描画処理命令には、閉領域図形内の塗りつぶし色の情報(閉領域色情報)と、閉領域図形の輪郭を定める点が規定された順に並んだ座標値の配列の情報が含まれている。なお、閉領域図形描画処理命令に、例えば2次ベジェ曲線、3次ベジェ曲線、円弧、又は楕円弧で構成される曲線の情報が含まれている場合がある。この場合には、線分近似部208において、曲線部分を複数の微小な線分に近似して曲線部分のデータを複数の線分のデータに置き換え、閉領域図形の輪郭を定める点が順に並んだ座標値の配列に変換する。
まず、描画処理装置100は、閉領域描画処理命令受信部201で閉領域図形描画処理命令を受信する。閉領域図形描画処理命令には、閉領域図形内の塗りつぶし色の情報(閉領域色情報)と、閉領域図形の輪郭を定める点が規定された順に並んだ座標値の配列の情報が含まれている。なお、閉領域図形描画処理命令に、例えば2次ベジェ曲線、3次ベジェ曲線、円弧、又は楕円弧で構成される曲線の情報が含まれている場合がある。この場合には、線分近似部208において、曲線部分を複数の微小な線分に近似して曲線部分のデータを複数の線分のデータに置き換え、閉領域図形の輪郭を定める点が順に並んだ座標値の配列に変換する。
三角形抽出部202は、閉領域図形の輪郭を定める点が順に並んだ座標値の配列の情報を閉領域描画処理命令受信部201から受け取り、閉領域図形の輪郭を定める点の中から3点を選択することで得られる三角形を複数抽出する。図3(a)は、三角形抽出部202において受け取る閉領域図形の輪郭を定める点の配列情報の一例を図示したものである。本例では、閉領域図形の輪郭を定める点として、5個の点の情報がAからEまで並んでいる。三角形抽出部202は、配列情報の先頭の点と閉領域図形を構成する各辺によって構成される三角形を抽出する。図3(a)に例示した閉領域図形であれば、三角形抽出部202は、図3(b)に示したように三角形ABC、三角形ACD、三角形ADEという3つの三角形を抽出する。なお、N個の頂点によって輪郭が規定される閉領域図形の場合には、配列情報の先頭の点と閉領域図形を構成する各辺によって構成される三角形の数は(N−2)個となる。
次に、三角形抽出部202により抽出した複数の三角形の情報に基づいて、第1のマスク画像構成部203及び第2のマスク画像構成部204は、描画するか否かを規定するマスク画像のデータをマスクバッファ109上に生成する。ここで、マスク画像の構成方法について詳述する。
第1のマスク画像構成部203は、まずマスクバッファ109の全ピクセルに関する値を0で初期化する命令を描画ユニット105に送信する。これにより、マスクバッファ109の全ピクセルに関する値が0に初期化される。次に、第1のマスク画像構成部203は、三角形を構成する頂点が第1の回転方向に並んだ三角形を有効に設定し、第1の回転方向とは異なる第2の回転方向に並んだ三角形を無効に設定する命令を描画ユニット105に送信する。本実施形態では、第1の回転方向を時計回りとし(図3に示した例によれば三角形の頂点を時計回りに辿ったときに点A→B→C→D→Eの順の関係を満足する)、第2の回転方向を反時計回りとする。すなわち、第1のマスク画像構成部203は、三角形を構成する頂点の順番が時計回りである三角形を有効に設定し、反時計回りである三角形を無効に設定する命令を描画ユニット105に送信する。続いて、第1のマスク画像構成部203は、各三角形についてマスクバッファ109の有効な三角形内部のピクセルの値を所定の規定値だけ加算する命令を描画ユニット105に送信する。本実施形態では、所定の規定値を1とする。
次に、第2のマスク画像構成部204は、三角形を構成する頂点が第2の回転方向に並んだ三角形を有効に設定し、第1の回転方向に並んだ三角形を無効に設定する命令を描画ユニット105に送信する。すなわち、第2のマスク画像構成部204は、三角形を構成する頂点の順番が反時計回りである三角形を有効に設定し、時計回りである三角形を無効に設定する命令を描画ユニット105に送信する。続いて、第2のマスク画像構成部204は、同じ三角形を順に、マスクバッファ109の有効な三角形内部のピクセルの値を所定の規定値だけ減算する命令を描画ユニット105に送信する。
描画ユニット105は、マスク画像構成部203、204からの各命令を受信するたびに、マスクバッファ109に命令の内容を反映させる。
描画ユニット105は、マスク画像構成部203、204からの各命令を受信するたびに、マスクバッファ109に命令の内容を反映させる。
図3(c)〜(e)に、各三角形内部のピクセルの値を加減算することによるマスクバッファ109の値の変化の様子を示す。三角形を構成する頂点の順番が時計回りである三角形が有効に設定されて、3つの三角形について処理が行われる。まず、三角形ABCについての処理が行われ、三角形ABCを構成する頂点の順番は時計回りであるので、三角形ABCの内部のマスクバッファ109の値が1加算される。三角形ABCについての処理を行った後のマスクバッファ109の状態を図3(c)に示す。次に、三角形ACDについての処理を試みるが、頂点の順序が反時計回りであるため、処理を行わない。次に三角形ADEについての処理が行われ、三角形ADEを構成する頂点の順番は時計回りであるため、三角形ADEの内部のマスクバッファ109の値が1加算される。三角形ADEの処理が完了した後のマスクバッファ109の状態を図3(d)に示す。続いて、三角形を構成する頂点の順番が反時計回りである三角形が有効に設定されて、同様に3つの三角形について処理が行われる。三角形ABCは頂点の順序が時計回りであるため、処理されない。三角形ACDの処理では、三角形ACDを構成する頂点の順番は反時計回りであるため、三角形ACDの内部のマスクバッファ109の値が1減算される。三角形ACDの処理が完了した後のマスクバッファ109の状態を図3(e)に示す。三角形ADEは頂点の順序が時計回りであるため、処理されない。このようにして、第1のマスク画像構成部203により三角形を構成する頂点の順番が時計回りである三角形が有効にされて三角形が描画された結果を用いてマスクバッファ109にマスク画像が構成される。また、第2のマスク画像構成部204により三角形を構成する頂点の順番が反時計回りである三角形が有効にされて三角形が描画された結果を用いてマスクバッファ109にマスク画像が構成される。以上の処理によって、マスクバッファ109上にマスク画像の構成を完了する。
次に、閉領域包含図形生成部205は、閉領域図形を包含する図形を生成する。例えば、図3(f)に示すように、閉領域図形の輪郭を定める点A、B、C、D、Eの座標値から求めた、5点を内包する最小の長方形PQRSが閉領域包含図形として生成される。次に、閉領域色情報取得部206は、閉領域図形描画処理命令に含まれる閉領域色情報を取得する。本実施形態では閉領域色情報は単色であるとする。
次に、閉領域包含図形描画部207は、マスクバッファ109の情報を参照して、0以外の値になっている領域のみカラーバッファ108の色情報が変更されるように設定する命令を描画ユニット105に送信する。次に、閉領域包含図形描画部207は、閉領域包含図形を閉領域色情報に従ってカラーバッファ108に描画する命令を描画ユニット105に送信する。すると、塗りつぶし規則をノンゼロワインディングルールとして内部が塗りつぶされた閉領域図形がカラーバッファ108上に描画される。図3に示した例では、
カラーバッファ108上に単色で塗りつぶされた、図3(g)に示したような図形が描画されることになる。以上の処理によって、閉領域図形の描画を完了する。
カラーバッファ108上に単色で塗りつぶされた、図3(g)に示したような図形が描画されることになる。以上の処理によって、閉領域図形の描画を完了する。
なお、本実施形態では、閉領域色情報が単色である場合について説明したが、例えば線形グラデーションや円形グラデーション、パターン等の指定があっても構わない。また、透明度の指定があっても構わない。また、本実施形態では、閉領域図形描画処理命令によって描画する閉領域図形が1回自己交差する多角形である場合を一例として説明したが、これに限定されるものではない。例えば、閉領域図形描画処理命令が凸多角形又は凹多角形を描画する命令であって、自己交差しない凸多角形や凹多角形を描画する場合についても同様である。さらに、例えば星型多角形のような複数回自己交差する多角形についても同様である。また、例えば閉領域図形描画処理命令がアウトラインフォントを描画する命令であって、閉領域図形としてアウトラインフォントを描画する場合であっても同様である。
ここで、複数のサブパスから構成され、塗りつぶし規則に従って刳り抜かれる閉領域図形の描画方法について説明する。図4(a)は、2つのサブパスから構成された閉領域図形を構成する点の配列情報を示したものである。図4(a)において、点A、B、Cが第1のサブパスであり、点D、E、Fが第2のサブパスである。図4(b)及び図4(c)に、第1のマスク画像構成部203及び第2のマスク画像構成部204の処理によって変化するマスクバッファ109のピクセルの値の様子を示す。第1のマスク画像構成部203の処理によって、マスクバッファ109では三角形DEFの内部のピクセルの値が1に設定される。次に、第2のマスク画像構成部204の処理によって、三角形ABCの内部のピクセルに対して値を1減算するので、三角形DEFの内部のピクセルの値は0に、三角形ABCの内部で、三角形DEFの領域を除いた部分のピクセルの値が−1になる。以上のように、複数のサブパスで構成される閉領域図形の描画に対しても本発明を適用可能である。
以上、説明したように本実施形態によれば、閉領域図形の輪郭を定めるN個の点の中から3点を選択することで(N−2)個の三角形を抽出する。そして、マスク画像構成部203、204が、三角形を構成する頂点の順番が時計回りのものに関して三角形内部のピクセルの値を1加算し、反時計回りのものに関して三角形内部のピクセルの値を1減算することでマスクバッファ109にマスク画像を構成する。このようにして描画するか否かを規定するマスク画像が生成されたマスクバッファ109を参照し、ピクセルの値が0になっているピクセルを無効にしてカラーバッファ108に対する描画処理を行う。これにより、マスクバッファ109のピクセル値が0以外の領域が塗りつぶされた閉領域図形をカラーバッファ108上に描画することができ、ノンゼロワインディングルールで塗りつぶした閉領域図形を高速に描画することができる。本実施形態にかかる描画処理装置は、ベクトルグラフィックスの高速処理に適している。
なお、上述した説明では、マスク画像を構成する処理において、第1の回転方向を時計回りとし第2の回転方向を反時計回りとしたが、第1の回転方向を反時計回りとし第2の回転方向を時計回りとしても良い。すなわち、第1のマスク画像構成部203及び第2のマスク画像構成部204の一方が、三角形を構成する頂点の順番が時計回りであるものを有効にして処理を行い、他方が、三角形を構成する頂点の順番が反時計回りであるものを有効にして処理を行えば良い。また、マスクバッファ109におけるピクセルの値の増減量である所定の規定値を1としたが、これに限定されず任意である。
(本発明の他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 描画処理装置、105 描画ユニット、108 カラーバッファ、109 マスクバッファ、201 閉領域描画処理命令受信部、202 三角形抽出部、203 第1のマスク画像構成部、204 第2のマスク画像構成部、205 閉領域包含図形生成部、206 閉領域色情報取得部、207 閉領域包含図形描画部、208 線分近似部
Claims (13)
- 閉領域図形の輪郭を定める点が規定された順に並んだ配列情報を含む閉領域図形描画処理命令を受信する命令受信手段と、
受信した前記閉領域図形描画処理命令の前記配列情報に基づいて、閉領域図形の輪郭を定める点の中から3点を選択することで得られる三角形を複数抽出する抽出手段と、
構成する頂点が第1の回転方向に並んだ三角形を有効にして前記抽出手段により抽出された複数の三角形を描画した結果を用いてマスク画像をマスクバッファに構成する第1のマスク画像構成手段と、
構成する頂点が前記第1の回転方向とは異なる第2の回転方向に並んだ三角形を有効にして前記抽出手段により抽出された複数の三角形を描画した結果を用いてマスク画像を前記マスクバッファに構成する第2のマスク画像構成手段と、
前記マスクバッファに構成されたマスク画像の情報を参照し、ノンゼロワインディングルールに従ってカラーバッファのピクセルの色を変更する図形描画手段とを備え、
前記第1のマスク画像構成手段、前記第2のマスク画像構成手段、及び前記図形描画手段は、3次元グラフィックス処理装置に実装されていることを特徴とする描画処理装置。 - 前記第1のマスク画像構成手段及び前記第2のマスク画像構成手段の一方のマスク画像構成手段は、前記マスクバッファにて有効な三角形の内部のピクセルの値に対して規定値を加算し、他方のマスク画像構成手段は、前記マスクバッファにて有効な三角形の内部のピクセルの値に対して前記規定値を減算して前記マスク画像を構成することを特徴とする請求項1記載の描画処理装置。
- 前記図形描画手段は、
前記閉領域図形を包含する閉領域包含図形を生成する包含図形生成手段と、
前記包含図形生成手段により生成された前記閉領域包含図形を、前記マスクバッファに構成された前記マスク画像に基づいて前記カラーバッファに描画する包含図形描画手段とを有することを特徴とする請求項1又は2記載の描画処理装置。 - 前記第1の回転方向及び前記第2の回転方向の一方は時計回りであり、他方は反時計回りであることを特徴とする請求項1〜3の何れか1項に記載の描画処理装置。
- 前記閉領域図形描画処理命令には、前記閉領域図形の塗りつぶし色の情報を含むことを特徴とする請求項1〜4の何れか1項に記載の描画処理装置。
- 前記塗りつぶし色の情報は、単色、線形グラデーション、円形グラデーション、及びパターンのいずれかの指定が可能であることを特徴とする請求項5記載の描画処理装置。
- 前記閉領域図形描画処理命令は、凸多角形、凹多角形、自己交差を含む多角形のいずれかを描画する命令であることを特徴とする請求項1〜6の何れか1項に記載の描画処理装置。
- 前記閉領域図形描画処理命令は、アウトラインフォントを描画する命令であることを特徴とする請求項1〜6の何れか1項に記載の描画処理装置。
- 前記閉領域図形描画処理命令が、2次ベジェ曲線、3次ベジェ曲線、円弧、又は楕円弧で構成される曲線を含む閉領域図形を描画する命令である場合に、該曲線の部分を微小な線分で近似する線分近似手段をさらに備えることを特徴とする請求項1〜6の何れか1項に記載の描画処理装置。
- 前記閉領域図形描画処理命令は、複数のサブパスから構成され、前記ノンゼロワインディングルールに従って刳り抜かれる閉領域図形を描画する命令であることを特徴とする請求項1〜6の何れか1項に記載の描画処理装置。
- 前記3次元グラフィックス処理装置は、OpenGL(登録商標)又はOpenGL(登録商標)ES仕様に対応したハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって実装されていることを特徴とする請求項1〜10の何れか1項に記載の描画処理装置。
- 閉領域図形の輪郭を定める点が規定された順に並んだ配列情報を含む閉領域図形描画処理命令を受信する命令受信工程と、
受信した前記閉領域図形描画処理命令の前記配列情報に基づいて、閉領域図形の輪郭を定める点の中から3点を選択することで得られる三角形を複数抽出する抽出工程と、
構成する頂点が第1の回転方向に並んだ三角形を有効にして前記抽出工程で抽出された複数の三角形を描画した結果を用いてマスク画像をマスクバッファに構成する第1のマスク画像構成工程と、
構成する頂点が前記第1の回転方向とは異なる第2の回転方向に並んだ三角形を有効にして前記抽出工程で抽出された複数の三角形を描画した結果を用いてマスク画像を前記マスクバッファに構成する第2のマスク画像構成工程と、
前記マスクバッファに構成されたマスク画像の情報を参照し、ノンゼロワインディングルールに従ってカラーバッファのピクセルの色を変更する図形描画工程とを有し、
前記第1のマスク画像構成工程、前記第2のマスク画像構成工程、及び前記図形描画工程は、3次元グラフィックス処理装置を用いて処理されることを特徴とする描画処理方法。 - 閉領域図形の輪郭を定める点が規定された順に並んだ配列情報を含む閉領域図形描画処理命令を受信する命令受信ステップと、
受信した前記閉領域図形描画処理命令の前記配列情報に基づいて、閉領域図形の輪郭を定める点の中から3点を選択することで得られる三角形を複数抽出する抽出ステップと、
構成する頂点が第1の回転方向に並んだ三角形を有効にして前記抽出ステップで抽出された複数の三角形を描画した結果を用いてマスク画像をマスクバッファに構成する第1のマスク画像構成ステップと、
構成する頂点が前記第1の回転方向とは異なる第2の回転方向に並んだ三角形を有効にして前記抽出ステップで抽出された複数の三角形を描画した結果を用いてマスク画像を前記マスクバッファに構成する第2のマスク画像構成工程と、
前記マスクバッファに構成されたマスク画像の情報を参照し、ノンゼロワインディングルールに従ってカラーバッファのピクセルの色を変更する図形描画ステップとをコンピュータに実行させ、
かつ前記第1のマスク画像構成ステップ、前記第2のマスク画像構成ステップ、及び前記図形描画ステップは、3次元グラフィックス処理装置を用いて処理させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010029077A JP2011165062A (ja) | 2010-02-12 | 2010-02-12 | 描画処理装置、描画処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010029077A JP2011165062A (ja) | 2010-02-12 | 2010-02-12 | 描画処理装置、描画処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011165062A true JP2011165062A (ja) | 2011-08-25 |
Family
ID=44595647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010029077A Pending JP2011165062A (ja) | 2010-02-12 | 2010-02-12 | 描画処理装置、描画処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011165062A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013102955A1 (ja) * | 2012-01-06 | 2013-07-11 | 三菱電機株式会社 | 描画装置および描画方法 |
US10134184B2 (en) | 2016-06-15 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method of rendering object including path and rendering apparatus for performing path rendering |
-
2010
- 2010-02-12 JP JP2010029077A patent/JP2011165062A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013102955A1 (ja) * | 2012-01-06 | 2013-07-11 | 三菱電機株式会社 | 描画装置および描画方法 |
US10134184B2 (en) | 2016-06-15 | 2018-11-20 | Samsung Electronics Co., Ltd. | Method of rendering object including path and rendering apparatus for performing path rendering |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9202303B2 (en) | System and method for compositing path color in path rendering | |
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US8217962B2 (en) | Single-pass bounding box calculation | |
JP4157569B2 (ja) | 描画装置、描画方法及び描画プログラム | |
CN105006010B (zh) | 执行路径渲染的方法和设备 | |
US10198785B2 (en) | Graphics processing method, apparatus, and system | |
TWI645371B (zh) | 在上游著色器內設定下游著色狀態 | |
JP2007241878A (ja) | 描画装置、描画方法及び描画プログラム | |
WO2015094647A1 (en) | Gpu-accelerated path rendering | |
JP2007264989A (ja) | 図形描画装置、図形描画方法、およびプログラム | |
KR102443697B1 (ko) | 경로 스트로크를 수행하는 방법 및 장치 | |
US9858708B2 (en) | Convex polygon clipping during rendering | |
US10262391B2 (en) | Graphics processing devices and graphics processing methods | |
KR20150093689A (ko) | 쉘 메쉬에 기초한 최적화된 다각형을 형성하기 위한 방법 | |
US20150325022A1 (en) | Technique for processing a character string for graphical representation on a man/machine interface | |
KR20180056932A (ko) | 커브 렌더링을 수행하는 방법 및 장치. | |
JP2015064858A (ja) | 画像処理装置およびその方法 | |
KR102482874B1 (ko) | 렌더링 장치 및 방법 | |
Dokter et al. | Hierarchical rasterization of curved primitives for vector graphics rendering on the GPU | |
JP2011165062A (ja) | 描画処理装置、描画処理方法、及びプログラム | |
JP2008299642A (ja) | 図形描画装置 | |
KR101654865B1 (ko) | 스트로크 기반의 이미지 렌더링 장치, 방법 및 컴퓨터 프로그램 | |
US9639982B2 (en) | On-demand transformation aware shape tessellation | |
KR101667643B1 (ko) | Gpu 기반 벡터 그래픽을 위한 이미지 렌더링 장치, 방법 및 컴퓨터 프로그램 | |
CN115761088A (zh) | 元素生成方法、渲染方法、装置、电子设备、存储介质 |