JP2005250662A - 直線描画装置、直線描画方法および直線描画プログラム - Google Patents
直線描画装置、直線描画方法および直線描画プログラム Download PDFInfo
- Publication number
- JP2005250662A JP2005250662A JP2004057707A JP2004057707A JP2005250662A JP 2005250662 A JP2005250662 A JP 2005250662A JP 2004057707 A JP2004057707 A JP 2004057707A JP 2004057707 A JP2004057707 A JP 2004057707A JP 2005250662 A JP2005250662 A JP 2005250662A
- Authority
- JP
- Japan
- Prior art keywords
- straight line
- color
- value
- pixel
- shading
- 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.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
【解決手段】 シェーディングモジュールLMにて、各画素における直線色Lcolまたは背景色Bcolを考慮した濃度値を算出するとともに、シェーディングモジュールRMにて、各画素における塗り潰し色Fcolまたは直線色Lcolを考慮した濃度値を算出し、色合成モジュールM0にて、これらの各画素の濃度値を合成することにより各画素の出力色情報Colを算出する。
【選択図】 図5
Description
図16(a)において、多角形の輪郭線の一部RLに着目し、輪郭線の一部RLの右側が塗り潰されるものとする。この場合、図16(b)に示すように、多角形内を塗り潰し部分が濃度値“8”をとるものとすると、輪郭部分のジャギーが目立たないようにするには、輪郭部分の隣接画素間の濃度値を“1”→“3”→“5”→“7”と徐々に増加させることが好ましい。
そこで、本発明の目的は、オーバーサンプリングを行うことなく、塗り潰し図形の輪郭に含まれる直線のアンチエイリアス処理を精度よく行うことが可能な直線描画装置、直線描画方法および直線描画プログラムを提供することである。
これにより、塗り潰し色または背景色および直線色に基づいて、塗り潰し図形の輪郭線の画素の色を算出することが可能となり、塗り潰し図形の輪郭線の画素の色を塗り潰し色または背景色に溶け込ませることが可能となる。このため、塗り潰し図形の輪郭線の色が塗り潰し図形内の色と異なる場合においても、オーバーサンプリングを行うことなく、塗り潰し図形の輪郭に含まれる直線のアンチエイリアス処理を精度よく行うことが可能となり、輪郭部分のジャギーの発生を抑制しつつ、図形内の塗り潰しを高速に行うことができる。
また、本発明の一態様に係る直線描画方法によれば、塗り潰し領域または背景領域のいずれか少なくとも一方が画素に占める割合に基づいて、前記画素における塗り潰し色または背景色の濃度値を算出するステップと、前記塗り潰し領域および背景領域を仕切る直線が前記画素に占める割合に基づいて、前記画素における直線色の濃度値を算出するステップと、前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値に基づいて、前記直線にかかる画素の色情報を算出するステップとを備えることを特徴とする。
また、本発明の一態様に係る直線描画方法によれば、直線の両端の座標値に基づいて前記直線の傾きを算出するステップと、前記直線の傾きに基づいて、前記直線のシェーディング部分とスキャンラインとが交わる部分のシェーディング長を算出するステップと、前記直線の幅および傾きに基づいて、前記直線の非シェーディング部分と前記スキャンラインとが交わる部分の非シェーディング長を算出するステップと、前記直線の両端の座標値および前記直線の傾きに基づいて、前記直線の中央が前記スキャンラインと交わる中央点座標値を算出するステップと、前記シェーディング長、前記非シェーディング長および前記中央点座標値に基づいて、前記直線の輪郭部が前記スキャンラインと交わる第1および第2端点座標値を算出するステップと、前記直線の傾きに基づいて前記直線のシェーディング部分における1画素当たりの濃度変化量を算出するステップと、前記濃度変化量、前記シェーディング長および前記端点座標値に基づいて、前記シェーディング部分にかかる各画素における塗り潰し色または背景色の濃度値を算出するステップと、前記濃度変化量、前記シェーディング長および前記端点座標値に基づいて、前記シェーディング部分にかかる各画素における直線色の濃度値を算出するステップと、塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報を取得するステップと、前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値、ならびに前記塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報に基づいて、前記直線にかかる画素の色情報を算出するステップとを備えることを特徴とする。
また、本発明の一態様に係る直線描画方法によれば、前記シェーディング部分にかかる各画素の濃度値を算出するステップは、前記端点座標値に基づいて始点座標値を設定するステップと、前記始点座標値の小数部および前記直線の傾きに基づいて、前記始点座標値に対応する画素の濃度値を算出するステップと、前記始点座標値と前記シェーディング長との加算結果に基づいて、前記シェーディング部分の終点座標値を算出するステップと、前記終点座標値の小数部および前記直線の傾きに基づいて、前記終点座標値に対応する画素の濃度値を算出するステップと、前記濃度変化量に基づいて、前記始点座標値に対応する画素と前記終点座標値に対応する画素との間の画素の濃度値を算出するステップとを備えることを特徴とする。
また、本発明の一態様に係る直線描画方法によれば、前記始点座標値の整数部および前記終点座標値の整数部に基づいて状態識別子を生成するステップと、前記状態識別子に基づいて、前記始点座標値に対応する画素、前記終点座標値に対応する画素、またはその間の画素の濃度値を切り替えて出力するステップとを備えることを特徴とする。
図1は、本発明の一実施形態に係る情報表示装置の概略構成を示すブロック図である。
図1において、情報表示装置には、電力を供給する電源3、電源3を制御する電源コントローラ2、CPU1を動作させるプログラムや各種データなどを記憶するメモリ4、ハードディスクなどの外部記憶装置6、外部記憶装置6を制御する外部記憶コントローラ5、ディスプレイ9に表示される描画データを記憶するVRAM7、情報を表示するディスプレイ9、ディスプレイ9を制御する表示コントローラ8、グラフィックデータを生成するグラフィックエンジン10およびこれらの全体的な制御を行うCPU1が設けられている。
ここで、VRAM7、表示コントローラ8およびグラフィックエンジンコントローラ17は、バス18を介して互いに接続されている。また、CPU1、電源コントローラ2、メモリ4および外部記憶コントローラ5は、バス19を介して互いに接続されている。
ここで、直線描画部15は、多角形描画部14から直線の描画指令を受けた場合、多角形描画部14にて描画される多角形の塗り潰しが行われるかを塗り潰し部16に問い合わせることができる。そして、多角形描画部14にて描画される多角形の塗り潰しが行われる場合、色情報算出部22は、塗り潰しおよび背景の色情報を塗り潰し部16から取得する。そして、色情報算出部22は、塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報に基づいて、その直線にかかる画素の色情報を算出し、直線描画部15は、その画素の色情報に基づいて直線を描画することができる。
ここで、直線描画部15および塗り潰し部16を別々のモジュールとすることにより、塗り潰しを伴わない図形の輪郭に含まれる直線についても、オーバーサンプリングを行うことなく、アンチエイリアス処理を精度よく行うことが可能となるとともに、多角形以外にも、扇形、星形、立体図形などを描画する他の様々なモジュールに直線描画部15を容易に組み込むことが可能となる。もちろん、直線描画部15および塗り潰し部16を1個のモジュールにまとめるようにしてもよく、これにより、さらなる高速描画が可能となる。
col=(c)FGC+(1−c)BGC ・・・(1)
図2は、図1の直線描画部15で描画される直線のパラメータを説明する図である。
dx=Ex−Sx ・・・(2)
dy=Ey−Sy ・・・(3)
ただし、Sx、Sy、Ex、Eyはそれぞれ、始点Lsのx座標値、始点Lsのy座標値、終点Leのx座標値、終点Leのy座標値である。
(a)dx<0の場合
直線Lの始点Lsと終点Leとを交換し、以下に説明する方法をそのまま利用することができる。
(b)dx<|dy|の場合
x軸とy軸とを交換すれば、以下に説明する方法をそのまま利用することができる。以下、dx≧|dy|とする。
(c)|dy|=0かつdx=0の場合
与えられた条件では直線Lを形成することができないので、直線Lを描画する必要はない。
(d)|dy|=0かつdx≠0の場合
直線Lはx軸に平行となる。この場合、描画する直線Lの幅Wと始点Lsのy座標値Syとから、以下の(4)式および(5)式に従って、直線Lの上端のy座標値Ytopと下端のy座標値Ybtmとを求める。
Ybtm=Sy−W/2 ・・・(5)
次に、以下の(6)式および(7)式に従って、直線Lの上端の濃度値Ctopと下端の濃度値Cbtmとを求める。
Ctop=Ytop−floor(Ytop) ・・・(6)
Cbtm=ceil(Ybtm)−Ybtm ・・・(7)
ただし、floor(Ytop)は、Ytopを超えない最大の整数値、ceil(Ybtm)は、Ybtmを下回らない最小の整数値である。
ただし、floor(Ybtm)=floor(Ytop)の場合、下端の濃度値Cbtmを以下の(8)式に従って求め、floor(Ybtm)のラインを濃度値Cbtmで描画する。
(e)dy≠0の場合
以下の算出過程に基づいて各定数を算出し、直線Lのかかる全てのスキャンラインに対して描画を行うことができる。
図3は、アンチエイリアス処理された直線の一例を示す図である。
ここで、直線Lの上側輪郭部LuのシェーディングSuおよび下側輪郭部LdのシェーディングSdを別個に求め、これらのシェーディングSu、Sdを合成することにより、直線Lのシェーディング処理を行うことができる。この際、直線Lの上側輪郭部LuのシェーディングSuを行うシェーディングモジュールと、直線Lの上側輪郭部LdのシェーディングSdを行うシェーディングモジュールをそれぞれ用意し、これらのシェーディングモジュールを並列動作させることにより、アンチエイリアス処理を高速化することができる。
図4において、図1のパラメータ算出部21は、(2)式および(3)式からx軸方向の増分dxおよびy軸方向の増分dyが求まると、以下の(9)式および(10)式にそれぞれ従って、直線Lの傾きkおよび直線Lの長さhを算出する。
k=dy/dx ・・・(9)
h=√(dx2+dy2) ・・・(10)
なお、直線Lの長さhの算出には、例えば、「Jon Brntley.More Programming Pearls.Addison−Wesley,1988.p.156」に記載されているアルゴリズムを用いることができる。
s=dx/dy ・・・(11)
次に、パラメータ算出部21は、以下の(12)式に従って、直線Lの非シェーディング部分とスキャンラインSLとが交わる部分の非シェーディング長fを算出する。
次に、パラメータ算出部21は、以下の(13)式に従って、直線Lの中央がスキャンラインSLと交わる中央点座標値Cを算出する。
C=Sx+(dx/dy)(y−Sy) ・・・(13)
なお、yは注目するスキャンラインSLのy座標値、中央点座標値Cは直線Lの中央点のx座標値を意味する。
A=C−s−f/2 ・・・(14)
D=A+s+f ・・・(15)
なお、端点座標値Aは、各スキャンラインSLにかかる上側シェーディング部分の始点のx座標値、端点座標値Dは、各スキャンラインSLにかかる下側シェーディング部分の始点のx座標値を意味する。
Cd=k ・・・(16)
そして、パラメータ算出部21にて濃度変化量Cdを算出されると、色情報算出部22は、濃度変化量Cdに基づいてシェーディング部分にかかる各画素の濃度値を算出することができる。
図5において、色情報算出部22には、シェーディングモジュールLM、RMおよび色合成モジュールM0が設けられている。そして、パラメータ算出部21にて算出された濃度変化量Cd(=直線Lの傾きk)、始点座標値A、シェーディング長sおよび始点座標値Dは、レジスタR1、R3〜R5にそれぞれ格納される。また、レジスタR6には、各ラインの描画処理の開始点を指定する座標初期値X0が格納され、レジスタR7には、各ラインの描画処理を開始させるリセット信号Resetが格納される。なお、座標初期値X0は、計算の開始点となるx座標値を指定するもので、シェーディングモジュールLM、RMは、座標初期値X0から計算の開始することができる。また、リセット信号Resetは、yの値を固定し、1ライン分の結果を出力した後に、次のラインの計算を開始させるためのものである。
図6は、本発明の一実施形態に係るアンチエイリアス処理を説明する図である。
図6において、シェーディングモジュールLMでは、始点座標値Aを起点としてスキャンラインSLにかかる各画素の濃度値が算出される。また、シェーディングモジュールRMでは、始点座標値Dを起点としてスキャンラインSLにかかる各画素の濃度値が算出される。そして、色合成モジュールM0にて、塗り潰し色Fcolまたは背景色Bcolおよび直線色Lcolを考慮しながら、これらの濃度値を各画素ごとに合成することにより、塗り潰し図形の輪郭線を構成する直線色Lcolが塗り潰し図形内の塗り潰し色Fcolと異なる場合においても、塗り潰し図形の輪郭に含まれる直線のアンチエイリアス処理を精度よく行うことができる。
図7において、シェーディングモジュールLM、RMには、定数計算モジュールM1、状態遷移モジュールM2、濃度値計算モジュールM3およびレジスタR21〜R28がそれぞれ設けられている。なお、シェーディングモジュールLMでは、レジスタR3´には、始点座標値Pとして始点座標値Aが格納される。また、シェーディングモジュールRMでは、レジスタR3´には、始点座標値Pとして始点座標値Dが格納される。
図8において、リセット信号Resetが1となると、図7の状態遷移モジュールM2は、状態識別子(ステータス)Statを“000”に設定するとともに、座標値Xとして座標初期値X0を出力する。そして、状態識別子Statが“000”になると、濃度値計算モジュールM3は、濃度値Cとして0を出力することにより、座標初期値X0で特定される画素の濃度値Cを0とする。そして、1画素分の濃度値Cが出力されると、状態遷移モジュールM2は、座標値Xを1だけインクリメントし、座標値Xが始点座標整数値Piと一致するかどうか比較する。そして、座標値Xが始点座標整数値Piと一致しない間は、状態識別子Statとして“000”を出力する。そして、状態識別子Statが“000”の間は、濃度値計算モジュールM3は、座標値Xで特定される画素の濃度値Cとして0を出力する。
これにより、オーバーサンプリングを行うことなく、シェーディング部分にかかる各画素の濃度値を厳密に算出することが可能となり、描画精度を劣化させることなく、アンチエイリアス処理を高速化することができる。
すなわち、図9において、色合成モジュールM0には、セレクタH101、H102、減算器G101、G101、乗算器G103、G105、加算器G104およびレジスタR101〜R108が設けられている。また、レジスタR9に格納されている色情報B/L/Fcolのうち、直線色LcolはレジスタR9´に格納され、背景色BcolはレジスタR9´´に格納され、塗り潰し色FcolはレジスタR9´´´に格納される。さらに、シェーディングモジュールLMから出力された濃度値Cは、左側濃度LとしてレジスタR12´に格納され、シェーディングモジュールRMから出力された濃度値Cは、右側濃度RとしてレジスタR12´´に格納される。そして、左側濃度Lは乗算器G103に入力されるとともに、右側濃度Rは乗算器G105に入力される。
図10(a)において、塗り潰し図形の輪郭に含まれる直線、背景領域および塗り潰し領域が一画素PX内に含まれているものとする。この場合、この一画素PX内には、塗り潰し図形の輪郭に含まれる直線の直線色Lcol、背景領域の背景色Bcolおよび塗り潰し領域の塗り潰し色Fcolが混在して存在する。
Col=Cl(1−L)+Cc(L−R)+Cr・R ・・・(31)
なお、(31)式を変形すると、以下の(32)式のようになり、レジスタR10に格納された出力色情報Colと等しいことが判る。
これにより、塗り潰し図形の輪郭に含まれる直線の直線色Lcol、背景領域の背景色Bcolおよび塗り潰し領域の塗り潰し色Fcolが一画素PX内に混在する場合においても、これらの複数色を考慮しつつ、一画素PX内を1個の色で塗ることが可能となる。このため、塗り潰し図形の輪郭線の色が塗り潰し図形内の色と異なる場合においても、オーバーサンプリングを行うことなく、塗り潰し図形の輪郭線の色を塗り潰し図形内の色に溶け込ませることが可能となり、塗り潰し図形の輪郭に含まれる直線のアンチエイリアス処理を精度よく行うことが可能となる。
Ei=[E] ・・・(21)
Ct=(1−2Pf)k/2 ・・・(22)
Cs=(1−Pf)2k/2 ・・・(23)
Ce=Ef2k/2 ・・・(24)
ただし、[X]は、Xを超えない最小の整数を示す。また、PfおよびEfは、以下の式で表すことができる。
Ef=E−[E]
すなわち、図11において、定数計算モジュールM1には、整数部小数部分離器G11、G20、シフト演算器G12、G18、減算器G13、G15、G23、乗算器G14、G16、G17、G21、G22、加算器G19およびレジスタR31〜R45が設けられている。そして、整数部小数部分離器G11には始点座標値Pが入力され、シフト演算器G18には傾きkが入力され、加算器G19には始点座標値Pおよびシェーディング長sが入力される。
また、整数部小数部分離器G11は、始点座標値Pから分離された小数部PfをレジスタR32に格納する。そして、レジスタR32に格納された始点座標値Pの小数部Pfは、シフト演算器G12に出力される。そして、シフト演算器G12にて、始点座標値Pの小数部Pfのシフト演算が行われることにより、始点座標値Pの小数部Pfが2倍され、そのシフト演算結果2PfがレジスタR33に格納される。
そして、レジスタR34に格納された減算結果(1−2Pf)は、乗算器G14に出力される。そして、乗算器G14にて、レジスタR34から出力された減算結果(1−2Pf)とレジスタR39から出力されたシフト演算結果k/2とが乗算され、その乗算結果((1−2Pf)*k/2が)レジスタR35に格納される。そして、レジスタR35に格納された乗算結果((1−2Pf)*k/2)は、濃度開始値CtとしてレジスタR21に格納される。
そして、レジスタR36に格納された減算結果(1−Pf)は、乗算器G16に出力される。そして、乗算器G16にて、レジスタR36から出力された減算結果(1−Pf)が自乗され、その乗算結果(1−Pf)2がレジスタR37に格納される。
そして、レジスタR42に格納された乗算結果Ef2は、乗算器G22に出力される。そして、乗算器G22にて、レジスタR42から出力された乗算結果Ef2とレジスタR39から出力されたシフト演算結果k/2とが乗算され、その乗算結果(Ef2*k/2)がレジスタR43に格納される。
これにより、濃度値Cの計算に用いられる始点座標整数値Pi、濃度開始値Ct、始点濃度値Cs、終点濃度値Ceおよび終点座標整数値Eiをハードウェアにて算出させることが可能となるとともに、これらの算出処理を並列に行うことが可能となり、アンチエイリアス処理を高速化することができる。
そして、レジスタR62に格納された状態識別子Statの下位1ビットはシフト演算器G33に入力される。そして、シフト演算器G33にて、状態識別子Statの下位1ビットのシフト演算が行われ、そのシフト演算結果が加算器G32に出力される。また、レジスタR61に格納された状態識別子Statの上位2ビットは加算器G32に出力される。
そして、セレクタH1は、リセット信号Resetが1の場合、レジスタR63に格納されている“000”を選択し、“000”を論理和演算器G34に出力する。一方、リセット信号Resetが0の場合、レジスタR67に格納されている加算結果を選択し、レジスタR67に格納されている加算結果を論理和演算器G34に出力する。
そして、加算器G41にはフィードバック値Cpおよび濃度変化量Cdが入力され、セレクタH12には濃度開始値Ctが入力され、セレクタH11には始点濃度値Csおよび終点濃度値Ceが入力され、下位2ビット目選択器G42には状態識別子Statが入力される。また、レジスタR71に格納されている“0”およびレジスタR72に格納されている“1”はセレクタH11に入力される。
また、下位2ビット目選択器G42に状態識別子Statが入力されると、下位2ビット目選択器G42にて、状態識別子Statの下位2ビット目が選択される。そして、下位2ビット目選択器G42にて選択された状態識別子Statの下位2ビット目は、レジスタR73に格納され、レジスタR73に格納された状態識別子Statの下位2ビット目はセレクタH12に出力される。
Claims (9)
- 塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報に基づいて、前記直線にかかる画素の色情報を算出する色情報算出手段を備えることを特徴とする直線描画装置。
- 前記色情報算出手段は、
塗り潰し領域または背景領域のいずれか少なくとも一方が画素に占める割合に基づいて、前記画素における塗り潰し色または背景色の濃度値を算出する第1シェーディングモジュールと、
前記塗り潰し領域および前記背景領域を仕切る直線が前記画素に占める割合に基づいて、前記画素における直線色の濃度値を算出する第2シェーディングモジュールと、
前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値に基づいて、前記直線にかかる画素の色情報を算出する色合成モジュールとを備えることを特徴とする請求項1記載の直線描画装置。 - 直線の両端の座標値に基づいて前記直線の傾きを算出する傾き算出手段と、
前記直線の傾きに基づいて、前記直線のシェーディング部分とスキャンラインとが交わる部分のシェーディング長を算出するシェーディング長算出手段と、
前記直線の幅および傾きに基づいて、前記直線の非シェーディング部分と前記スキャンラインとが交わる部分の非シェーディング長を算出する非シェーディング長算出手段と、
前記直線の両端の座標値および前記直線の傾きに基づいて、前記直線の中央が前記スキャンラインと交わる中央点座標値を算出する中央点座標値算出手段と、
前記シェーディング長、前記非シェーディング長および前記中央点座標値に基づいて、前記直線の輪郭部が前記スキャンラインと交わる第1および第2端点座標値を算出する端点座標値算出手段とをさらに備え、
前記第1シェーディングモジュールは、前記シェーディング長および前記第1端点座標値に基づいて、前記シェーディング部分にかかる各画素における塗り潰し色または背景色の濃度値を算出し、
前記第2シェーディングモジュールは、前記シェーディング長および前記第2端点座標値に基づいて、前記シェーディング部分にかかる各画素における直線色の濃度値を算出することを特徴とする請求項2記載の直線描画装置。 - 前記直線の傾きに基づいて1画素当たりの濃度変化量を算出する濃度変化量算出手段をさらに備え、
前記第1シェーディングモジュールは、前記濃度変化量に基づいて、前記シェーディング部分にかかる各画素における塗り潰し色または背景色の濃度値を算出し、
前記第2シェーディングモジュールは、前記濃度変化量に基づいて、前記シェーディング部分にかかる各画素における直線色の濃度値を算出することを特徴とする請求項3記載の直線描画装置。 - 塗り潰し領域または背景領域のいずれか少なくとも一方が画素に占める割合に基づいて、前記画素における塗り潰し色または背景色の濃度値を算出するステップと、
前記塗り潰し領域および背景領域を仕切る直線が前記画素に占める割合に基づいて、前記画素における直線色の濃度値を算出するステップと、
前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値に基づいて、前記直線にかかる画素の色情報を算出するステップとを備えることを特徴とする直線描画方法。 - 直線の両端の座標値に基づいて前記直線の傾きを算出するステップと、
前記直線の傾きに基づいて、前記直線のシェーディング部分とスキャンラインとが交わる部分のシェーディング長を算出するステップと、
前記直線の幅および傾きに基づいて、前記直線の非シェーディング部分と前記スキャンラインとが交わる部分の非シェーディング長を算出するステップと、
前記直線の両端の座標値および前記直線の傾きに基づいて、前記直線の中央が前記スキャンラインと交わる中央点座標値を算出するステップと、
前記シェーディング長、前記非シェーディング長および前記中央点座標値に基づいて、前記直線の輪郭部が前記スキャンラインと交わる第1および第2端点座標値を算出するステップと、
前記直線の傾きに基づいて前記直線のシェーディング部分における1画素当たりの濃度変化量を算出するステップと、
前記濃度変化量、前記シェーディング長および前記端点座標値に基づいて、前記シェーディング部分にかかる各画素における塗り潰し色または背景色の濃度値を算出するステップと、
前記濃度変化量、前記シェーディング長および前記端点座標値に基づいて、前記シェーディング部分にかかる各画素における直線色の濃度値を算出するステップと、
塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報を取得するステップと、
前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値、ならびに前記塗り潰しまたは背景のいずれか少なくとも一方の色情報およびそれらを仕切る直線の色情報に基づいて、前記直線にかかる画素の色情報を算出するステップとを備えることを特徴とする直線描画方法。 - 前記シェーディング部分にかかる各画素の濃度値を算出するステップは、
前記端点座標値に基づいて始点座標値を設定するステップと、
前記始点座標値の小数部および前記直線の傾きに基づいて、前記始点座標値に対応する画素の濃度値を算出するステップと、
前記始点座標値と前記シェーディング長との加算結果に基づいて、前記シェーディング部分の終点座標値を算出するステップと、
前記終点座標値の小数部および前記直線の傾きに基づいて、前記終点座標値に対応する画素の濃度値を算出するステップと、
前記濃度変化量に基づいて、前記始点座標値に対応する画素と前記終点座標値に対応する画素との間の画素の濃度値を算出するステップとを備えることを特徴とする請求項6記載の直線描画方法。 - 前記始点座標値の整数部および前記終点座標値の整数部に基づいて状態識別子を生成するステップと、
前記状態識別子に基づいて、前記始点座標値に対応する画素、前記終点座標値に対応する画素、またはその間の画素の濃度値を切り替えて出力するステップとを備えることを特徴とする請求項7記載の直線描画方法。 - 塗り潰し領域または背景領域のいずれか少なくとも一方が画素に占める割合に基づいて、前記画素における塗り潰し色または背景色の濃度値を算出するステップと、
前記塗り潰し領域および背景領域を仕切る直線が前記画素に占める割合に基づいて、前記画素における直線色の濃度値を算出するステップと、
前記塗り潰し色または背景色のいずれか少なくとも一方の濃度値および前記直線色の濃度値に基づいて、前記直線にかかる画素の色情報を算出するステップとをコンピュータに実行させることを特徴とする直線描画プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004057707A JP4301037B2 (ja) | 2004-03-02 | 2004-03-02 | 直線描画装置、直線描画方法および直線描画プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004057707A JP4301037B2 (ja) | 2004-03-02 | 2004-03-02 | 直線描画装置、直線描画方法および直線描画プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005250662A true JP2005250662A (ja) | 2005-09-15 |
JP4301037B2 JP4301037B2 (ja) | 2009-07-22 |
Family
ID=35031105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004057707A Expired - Fee Related JP4301037B2 (ja) | 2004-03-02 | 2004-03-02 | 直線描画装置、直線描画方法および直線描画プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4301037B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014186682A (ja) * | 2013-03-25 | 2014-10-02 | Mega Chips Corp | 画像処理装置、プログラムおよび集積回路 |
KR20170031479A (ko) * | 2015-09-11 | 2017-03-21 | 삼성전자주식회사 | 경로 스트로크를 수행하는 방법 및 장치 |
-
2004
- 2004-03-02 JP JP2004057707A patent/JP4301037B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014186682A (ja) * | 2013-03-25 | 2014-10-02 | Mega Chips Corp | 画像処理装置、プログラムおよび集積回路 |
KR20170031479A (ko) * | 2015-09-11 | 2017-03-21 | 삼성전자주식회사 | 경로 스트로크를 수행하는 방법 및 장치 |
US10885681B2 (en) | 2015-09-11 | 2021-01-05 | Samsung Electronics Co., Ltd. | Method and apparatus for performing path stroking |
KR102443697B1 (ko) * | 2015-09-11 | 2022-09-15 | 삼성전자주식회사 | 경로 스트로크를 수행하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP4301037B2 (ja) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100497557B1 (ko) | 묘화장치및묘화방법 | |
JP3107452B2 (ja) | テクスチャマッピング方法およびその装置 | |
JP5294313B2 (ja) | ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム | |
WO1996031844A1 (fr) | Systeme graphique | |
WO1996028794A1 (fr) | Dispositif d'affichage graphique tridimensionnel | |
WO2017217011A1 (ja) | 画像処理装置および重畳画像生成方法 | |
JP4301037B2 (ja) | 直線描画装置、直線描画方法および直線描画プログラム | |
US7015930B2 (en) | Method and apparatus for interpolating pixel parameters based on a plurality of vertex values | |
JP4239846B2 (ja) | 直線描画装置および直線描画方法 | |
US6373494B1 (en) | Signal processing apparatus and image processing apparatus | |
JP4664169B2 (ja) | 図形描画装置及び図形描画プログラム | |
JP2008052595A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
JPH03144782A (ja) | 三次元図形処理装置 | |
JP2571662B2 (ja) | 線描画方法及び装置 | |
JP2003308537A (ja) | 図形描画装置 | |
JP3556517B2 (ja) | 3次元画像処理装置 | |
JP4805094B2 (ja) | フォグ効果処理方法、グラフィックス装置、グラフィックス用半導体集積回路装置及びフォグ効果処理プログラム | |
WO2010053102A1 (ja) | 図形描画装置、アンチエイリアス処理方法および記憶媒体 | |
WO2021006160A1 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP3409987B2 (ja) | 3次元画像生成方法および装置とこの方法および装置を用いた3次元画像処理装置 | |
JP2005322959A (ja) | 画像処理装置、携帯端末、画像処理プログラム及び画像処理方法 | |
JPH11242585A (ja) | 除算回路およびグラフィック演算装置 | |
JP4669334B2 (ja) | エッジ・マルチサンプリングハイブリッドアンチエイリアス | |
JP2000099748A (ja) | 3次元グラフィックス処理装置及びその処理方法 | |
JP2001118083A (ja) | 図形データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090304 |
|
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: 20090331 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090413 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |