JP2009134620A - 描画装置、描画プログラムおよび描画方法 - Google Patents

描画装置、描画プログラムおよび描画方法 Download PDF

Info

Publication number
JP2009134620A
JP2009134620A JP2007311185A JP2007311185A JP2009134620A JP 2009134620 A JP2009134620 A JP 2009134620A JP 2007311185 A JP2007311185 A JP 2007311185A JP 2007311185 A JP2007311185 A JP 2007311185A JP 2009134620 A JP2009134620 A JP 2009134620A
Authority
JP
Japan
Prior art keywords
rectangle
partial
determination
triangle
tile
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
Application number
JP2007311185A
Other languages
English (en)
Other versions
JP4568750B2 (ja
Inventor
Yasushi Sukama
康 洲鎌
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007311185A priority Critical patent/JP4568750B2/ja
Priority to US12/268,796 priority patent/US8212815B2/en
Publication of JP2009134620A publication Critical patent/JP2009134620A/ja
Application granted granted Critical
Publication of JP4568750B2 publication Critical patent/JP4568750B2/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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

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

Abstract

【課題】最小限の処理で三角形の描画をおこなうこと。
【解決手段】描画装置は、表示画面に表示する三角形111の内側を描画領域とすると、三角形の頂点に外接した矩形110を同一形状の複数の部分矩形に分割し、複数の部分矩形の中から三角形の各部を含んだ部分矩形を抽出し、開始矩形に設定する。そして、開始矩形から順番に、所定の方向に隣接する部分矩形が三角形の描画領域と重複しているかの判定を三角形の描画領域と重複しないと判定されるまで実行させる。同時に、開始矩形から順番に、所定の方向の直行した直交方向に隣接する部分矩形が、三角形の描画領域と重複しているかを三角形の描画領域と重複すると判定されるまでおこなわせる。この判定処理により最初に三角形の描画領域と重複すると判定された直交方向の部分矩形を次回の開始矩形に設定する。
【選択図】図1−1

Description

この発明は、複数の三角形からなるポリゴンによって3次元画像を描画する描画装置、描画プログラムおよび描画方法に関する。
従来、ポリゴンを利用して形成した多角形によって3次元の立体図を描画するような3次元の描画処理では、まず、表示画面を複数の部分矩形(タイル)に分割し、このタイルごとにラスタライズ処理をおこなう手法が用いられている。ラスタライズ処理とは、立体図を構成する三角形の各頂点の内側を塗りつぶして立体図を描画する処理である。
また、表示画面を複数のタイルに分割する際には、三角形の頂点情報から、三角形に外接した矩形を設定し、その矩形内に存在するタイル毎に描画処理をおこなっていた。このため、実際には三角形の画素が存在しない領域においても描画処理が実行され、無駄な処理となっていた。そこで、事前に各タイルに描画しようとしている三角形が含まれるか否かを判定する工程をはさみ、この判断結果を参照して三角形が含まれているタイルのみで描画処理をおこなうような描画装置が開示されている(たとえば、下記特許文献1参照。)。
特開2001−283242号公報
しかしながら、上記特許文献1のように、描画対象となるタイルに限定して描画処理をおこなう場合であっても、描画対象となるタイルを限定するには、まず、すべてのタイルに対して事前に描画対象となるか否かの判定処理をおこなう必要がある。したがって、実際には描画をおこなわないタイルに対しても事前判定処理をおこなわなければならない。したがって、依然として、描画をおこなわないタイルに対する処理が発生し、結果として、実際の描画に反映されない非効率な処理が発生してしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、無用な処理を防ぎ、最小限の処理で描画をおこなうことのできる描画装置、描画プログラムおよび描画方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この描画装置、描画プログラムおよび描画方法は、三角形の頂点に外接した矩形を複数の部分矩形に分割する分割し、分割した複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる部分矩形が、三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行させ、判定結果が重複から非重複に変化した場合に判定処理を終了し、判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する処理を備えることを要件とする。
この描画装置、描画プログラムおよび描画方法によれば、連続する一連の部分矩形のうち、三角形の描画領域と重複している可能性がある部分矩形に限定して判定処理がおこなわれ、重複している可能性のない部分矩形への判定処理に移行すると、自動的に判定処理を終了させることができる。また、この判定処理の結果を利用して、描画処理が必要な部分矩形に限定した効率的な描画処理を実行させることができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出すると、抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定し、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、判定処理によって重複していると判定された前記部分矩形に対して前記描画処理を実行してもよい。
この描画装置、描画プログラムおよび描画方法によれば、三角形に外接した矩形の角部(頂点部分の部分矩形)のうち、三角形の頂点を含む部分矩形から判定処理を開始させることにより、三角形の描画領域の最端部分から順番に効率的な判定処理を実行することができる。
また、上記の描画装置、描画プログラムおよび描画方法は、上述した判定処理のほか、
描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を実行してもよい。
させてもよい。
この描画装置、描画プログラムおよび描画方法によれば、所定の方向に連続する部分矩形の判定処理と平行して、この部分矩形と直交方向に隣接する部分矩形に対しても、三角形の描画領域と重複している可能性のある部分矩形までに限定して判定処理をおこなうことができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定してもよい。
この描画装置、描画プログラムおよび描画方法によれば、上述した処理によって設定された開始矩形の位置を基準として、次回の開始矩形を設定するため三角形の描画領域に合わせた必要最低限の部分矩形のみを判定処理の対象に設定することができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から所定方向の判定処理を開始させてもよい。
この描画装置、描画プログラムおよび描画方法によれば、開始矩形と同じ列の部分矩形に対して必要最低限の判定処理が終了すると、判定処理が終了していない隣接するつぎの列を構成する部分矩形の判定処理に移行することができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記分割の際に、前記表示画面の画素ブロック単位で部分矩形群に分割してもよい。
この描画装置、描画プログラムおよび描画方法によれば、表示画面の走査方向を考慮して部分矩形を設定するため、描画処理時には描画対象の部分矩形内の描画を必要最低数の走査線で描画させることができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記分割の際に前記表示画面の走査方向と平行な辺をもった矩形を部分矩形群に分割し、前記走査方向を前記所定の方向とし、前記走査方向と直交する非走査方向を前記所定の方向と直交する方向にしてもよい。
この描画装置、描画プログラムおよび描画方法によれば、表示画面の走査方向に基づいて描画対象の三角形が外接した矩形を設定し、走査方向に応じた部分矩形に分割するため、表示画面に対する描画座標設定を効率的におこなうことができる。
また、上記の描画装置、描画プログラムおよび描画方法は、前記三角形の頂点座標を取得し、取得した頂点座標のxおよびyの値が前記頂点座標のうち最大もしくは最小となる頂点を検出し、この頂点を含む部分矩形を開始矩形と設定してもよい。
この描画装置、描画プログラムおよび描画方法によれば、三角形の頂点座標の値を比較することによって容易に開始矩形を特定することができる。
この描画装置、描画プログラムおよび描画方法によれば、無用な処理を防ぎ、最小限の処理によって描画をおこなうことができるという効果を奏する。
以下に添付図面を参照して、この描画装置、描画プログラムおよび描画方法の好適な実施の形態を詳細に説明する。
(描画処理の概要)
まず、本実施の形態にかかる描画処理の概要について説明する。本実施の形態にかかる描画処理では、まず、描画処理の前に描画対象となる部分を判定し、この判定結果によって描画対象と判定された部分に限定して描画処理をおこなう。このとき、描画対象となるか否かの判定処理も、三角形の形状を考慮することによって、必要最低限の部分に限定し実行することができる。したがって、以下に、判定処理の基本的な手順について図を用いて説明する。
図1−1は、本実施の形態にかかる描画処理の概要を示す説明図である。図1−1のように、本実施の形態にかかる描画処理では、従来の三角形描画処理と同様に、まず、表示画面に描画させたい三角形111が指定されると、この三角形111に外接する矩形領域110が設定され、さらに同一形状の部分矩形に分割される。ここでは、一例として、縦6×横5の合計30枚の部分矩形に分割される。
また、図1−2は、従来の描画処理の一例を示す説明図である。図1−2のような従来の描画処理では、三角形に外接した矩形120が同一形状の部分矩形に分割された後は、すべての部分矩形に対して順番に描画対象であるか否かの判定がおこなわれる。矩形120の場合は、左上頂点の部分矩形1から判定処理を開始し、部分矩形2、3、4、5と同一列に隣接する部分矩形の判定処理をおこなう。また、同一列の判定が終了すると、隣接する一段下の列の部分矩形に対して順番に判定処理をおこなう。
したがって、どの部分矩形から判定処理をおこなうかといった順番にかかわらず、矩形120の描画処理をおこなうには、少なくとも、30枚の部分矩形の判定処理が必要となる。しかしながら、実際の描画処理がおこなわれるのは、部分矩形のうち、斜線で示した部分矩形以外の16枚の部分矩形(点描を施した部分矩形)に過ぎない。
一方、本実施の形態にかかる描画処理の場合、三角形に外接する矩形110の四つ角に位置する部分矩形のうち、三角形の頂点を含む部分矩形1を開始矩形に設定して判定処理を開始する。開始矩形(部分矩形1)が設定されると、部分矩形1からx方向(水平方向)を進行方向に隣接する部分矩形について順番に判定処理をおこなう。このとき、進行方向として、xの正の方向(右方向)と負の方向(左方向)とが想定されるが、ここでは、隣接する部分矩形2が存在する方向を進行方向とする。
上述のように、x方向に部分矩形2、3と順番に判定処理をおこない、判定した部分矩形に三角形111が重複していなかった場合、x方向についてはそれ以上の判定処理をおこなわない。したがって、x方向については、部分矩形3まで判定処理がおこなわれる。
一方、開始矩形(部分矩形1)からy方向(x方向との直交方向)を進行方向とした場合に隣接する部分矩形4に対しても、三角形111が重複するか否かの判定処理がおこなわれる。なお、ここでも、yの正の方向(上方向)と負の方向(下方向)とが想定されるが、隣接する部分矩形4が存在する正の方向を進行方向とする。そして、部分矩形4のように三角形111が重複している場合には、部分矩形4を次回の開始矩形に設定する。
次回の開始矩形が設定されると、この開始矩形を基準にして、上述したようなx方向の判定処理と、y方向の判定処理とがそれぞれおこなわれる。x方向に関しては、部分矩形7までの判定処理がおこなわれる。そしてy方向に関しては、部分矩形1の場合と異なり、部分矩形4に隣接する部分矩形は三角形111と重複していない。
y方向に隣接する部分矩形が三角形111と重複していない場合、これ以上、開始矩形(部分矩形4)のy方向の判定処理はおこなわない。かわって、開始矩形(部分矩形4)のx方向に隣接する部分矩形5のy方向に隣接する部分矩形のうち最初に三角形と重複する部分矩形を次回の開始矩形に設定する。したがって、矩形110の場合、部分矩形8が次回の開始矩形となる。
以上説明した処理を次回の開始矩形が設定されなくなるまでおこなう。次回の開始矩形が設定されないとは、すなわち、y方向に隣接する部分矩形が存在しないことを意味し、矩形110の判定処理が完了したことをあらわす。判定処理が終了すると、この判定結果を参照して部分矩形ごとに描画処理を施す。なお、描画処理を開始するタイミングは、判定処理がすべて終了した場合に限らず、三角形と重複すると判定された部分矩形から順次描画処理を開始させ、判定処理と並列しておこなわせてもよい。
このような判定処理を描画処理に含ませることにより、描画処理が施されることの無い部分矩形のうち、大部分の部分矩形については、判定処理自体が省略されるため、描画処理全体の処理速度が向上する。したがって、つぎに、上述のような描画処理を実現する描画装置の構成および処理手順について説明する。
(描画装置のハードウェア構成)
まず、この発明の実施の形態にかかる描画装置のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる描画装置のハードウェア構成を示す説明図である。
図2において、描画装置200は、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク240に接続可能である。
コンピュータ本体210は、CPU、メモリ、インターフェースを有する。CPUは、描画装置200の全体の制御を司る。メモリは、ROM、RAM、HD、光ディスク211、フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。各種プログラムとして具体的には、コンピュータ本体210の入出力を制御する入出力プログラムや、後述する描画処理をCPUによって実行させる描画プログラムが格納されている。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インターフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク240に対する送受信の制御をおこなう。
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示し、上述したような描画プログラムが立ち上げられている場合には、描画プログラムによって描画された3次元図形を表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データ(描画プログラムによって描画された3次元画像など)や文書データを印刷する。
(描画装置の機能的構成)
つぎに、描画装置200の機能的構成について説明する。図3は、本実施の形態にかかる描画装置の機能的構成を示すブロック図である。図3のように、描画装置200は、分割部301と、抽出部302と、設定部303と、判定部304と、制御部305と、描画部306と、を備えている。これら各機能301〜306は、描画装置200の記憶部に記憶された当該機能301〜306に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。
まず、分割部301は、三角形の頂点に外接した矩形を部分矩形群に分割する。部分矩形群とは、三角形の頂点に外接した矩形を複数個の小さな矩形に分割した場合の、各矩形を指す。このとき、分割部301は、ディスプレイ231の画素ブロック単位で部分矩形群を設定し、このような部分矩形に分割をおこなってもよいし、さらに、ディスプレイ231の走査方向と平行な辺をもった矩形を設定し、この矩形を部分矩形群に分割してもよい。
抽出部302は、分割部301によって分割された部分矩形の中から三角形の頂点を含んだ部分矩形を抽出する。三角形の頂点の抽出手法としては様々なものが挙げられるが、たとえば、まず、三角形の頂点座標を取得し、この頂点座標のxおよびyの値のうち最大もしくは最小となる頂点を検出し、検出した頂点を含む部分矩形を、三角形の頂点を含んだ部分矩形として抽出してもよい。
設定部303は、抽出部302によって抽出された部分矩形のうち、三角形に外接した矩形の頂点部分を含む部分矩形を描画開始の基準となる部分矩形(開始矩形)に設定する。また、設定部303は、後述する判定部304によって、開始矩形から順番に所定方向と直交する方向に連続する一連の部分矩形に対して隣接する部分矩形が、三角形の描画領域と重複しているか否かの判定処理をおこない、はじめて重複していると判定された部分矩形を、次回の開始矩形に設定する。
判定部304は、指定された部分矩形群のうち所定方向に連続する一連の部分矩形に対して所定方向に隣接する部分矩形が三角形の描画領域と重複しているか否かの判定処理を実行する。この指定された部分矩形群とは、たとえば、設定部303によって開始矩形に設定された部分矩形を先頭とする部分矩形群である。すなわち、開始矩形をスタート地点として順番に判定処理をおこなう。
制御部305は、判定部304を制御して、判定処理によって判定された判定結果が重複から非重複に変化した場合、一連の部分矩形に対する判定処理を終了させる。また、制御部305は、判定部304を制御して、三角形の描画領域と重複していると判定された部分矩形から所定方向と直交する方向に連続する一連の部分矩形に対して隣接する部分矩形が、三角形の描画領域と重複しているか否かの判定処理を実行させる。このような判定処理の場合も、判定結果が重複から非重複に変化した場合、一連の部分矩形に対する判定処理を終了させる。
すなわち、所定の方向をx方向とした場合、所定の方向と直交する方向はy方向となる。上述したように制御部305は、x方向に連続した部分矩形に対する判定処理を判定結果が重複から非重複に変化した箇所で終了させる。そして、制御部305は、y方向に関しても、先ほどのx方向の部分矩形に対する判定処理によって重複と判定された部分矩形からy方向に連続する部分矩形に対して順番に判定処理をおこなう。ここでも、制御部305は、判定結果が重複から非重複に変化した場合に、y方向の一連の部分矩形に対する判定処理を終了させる。
なお、制御部305は、たとえば、所定の方向を表示画面の走査方向(上述の例ではxの方向)とした場合、所定の方向と交差する方向を走査方向と直交する非走査方向(上述の例ではy方向)として部分矩形に判定処理をおこなわせる。
また、制御部305は、開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理を終了させると、設定部303によって設定された次回の開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理を開始させる。さらに、制御部305は、設定部303によって次回の開始矩形が設定されなかった場合、開始矩形から所定の方向に連続する一連の部分矩形に対する判定処理が終了すると、今回描画処理をおこなう矩形に対する判定処理を終了させる。
描画部306は、設定部303によって設定された開始矩形と、制御部305によって三角形の描画領域と重複していると判定された部分矩形とに限定して描画処理をおこなう。ここでおこなわれる描画処理は、一般的なラスタライズ処理であるが、他の描画処理を適用してもよい。
(描画処理の手順)
つぎに、上述した描画装置200による描画処理の手順について説明する。図4は、本実施の形態にかかる描画装置の判定処理の手順を示すフローチャートである。このフローチャートでは、三角形に外接した矩形を構成する部分矩形に対して開始矩形を設定し、描画対象であるか否かの判定をおこなうとともに、次回の開始矩形を設定するまでの一連の処理について説明する。
図4のフローチャートにおいて、まず、分割部301によって矩形を部分矩形に分割する(ステップS401)。つぎに、抽出部302によって三角形の頂点を含んだ部分矩形を抽出し(ステップS402)、設定部303によって、抽出した部分矩形から開始矩形を設定する(ステップS403)。開始矩形が設定されると、以下、制御部305による開始矩形を基準とした部分矩形の判定処理に移行する。
まず、判定部304によって開始矩形に隣接するx方向の部分矩形と三角形との重複判定をおこなう(ステップS404)。このステップS404の判定において部分矩形と三角形とが重複するか否かを判断する(ステップS405)。ここで、重複すると判定されると(ステップS405:Yes)、ステップS404において判定対象であった部分矩形に隣接する部分矩形の重複判定をおこない(ステップS406)、ステップS405に戻り、ステップS406の重複判定において重複しているか否かを判断する。このステップS406の処理は、部分矩形と三角形とが重複していないと判断されるまでおこなわれる(ステップS405:Yesのループ)。
ステップS405において部分矩形と三角形とが重複していないと判断されると(ステップS405:No)、つぎに、開始矩形に隣接するy方向の部分矩形と三角形との重複判定をおこなう(ステップS407)。このステップS407の判定においても、部分矩形と三角形とが重複するか否かを判断し(ステップS408)、重複していると判断されると(ステップS408:Yes)、設定部303は、判定対象の部分矩形を次回の開始矩形に設定し(ステップS409)、一連の処理を終了する。
一方、ステップS408において、重複していないと判断されると(ステップS408:No)、判定対象の部分矩形に隣接するx方向に隣接する部分矩形の重複判定をおこない(ステップS410)、ステップS408において重複すると判断されるまで、順番に隣接する部分矩形の重複判定をおこなう(ステップS408:Noのループ)。そして、ステップS408によって重複すると判断されると、判定対象となった部分矩形を次回の開始矩形に設定し(ステップS409)、一連の処理を終了する。
つぎに、上述した描画処理のより具体的な実施例について説明する。以下実施例では、一般的な3次元描画をおこなう際の描画対象となる三角形に外接した矩形からなる描画領域に切り取り、この描画領域を同一形状のタイルに分割して走査処理をおこなういわゆるラスタライズ処理をおこなう場合について説明する。
(タイル判定動作の概要)
まず、本実施の形態にかかる描画処理を利用して効率的に描画をおこなうため具体的なタイル判定動作の概要について説明する。タイル判定動作とは、三角形に外接した矩形を構成するタイルのうち、走査処理を必要とするタイルか否かを判定する処理である。
図5−1〜図5−6は、タイル走査処理におけるタイル判定動作を示す説明図である。図5−1のような矩形110の三角形111について、まず、タイル判定をおこなうための開始タイルを設定しなればならない。開始タイルは(1)〜(4)の4つ角のいずれかであり、この4つ角のうち、三角形の頂点を含んだ角が開始タイルとなる。したがって、図5−1では(2)が開始タイルとなる。
また、4つ角のうち、どのタイルが開始タイルに設定されるか否かに応じてタイル判定動作をおこなう際の進行方向が決定する。すなわち、(1)の場合、進行方向はx正方向、かつ、y負方向、(2)の場合、進行方向はx正方向、かつ、y正方向、(3)の場合、進行方向はx負方向、かつ、y負方向、(4)の場合、進行方向はx負方向、かつ、y正方向となる。
つぎに、図5−2のように、開始タイル1からx正方向に対して描画対象となるかの判定をおこなう。ここでは、開始タイル1の右上角P1を判定点として、P1の右側のタイル2が三角形111の描画領域に含まれているか否かの判断をおこなう。図5−2のように、P1の右側のタイル2には描画領域が含まれているため、タイル2に判定処理を移行する。
一方、図5−2のように、タイル判定動作では、P1に対してy正方向に上側のタイルが三角形111の描画領域に含まれているか否かの判断をおこなう。ここでは、P1の上側のタイルには描画領域が含まれているため、タイル502は、上段のタイル列の開始タイルに設定される。
続いて、図5−3では、図5−2にて説明したように、タイル2に判定処理が移行しているため、x正方向のタイル3に対して三角形111の描画領域に含まれているか否かの判断をおこなう。ここでは、タイル3は描画領域外であるため、1列目のタイル列(タイル1、2、3)のタイル判定動作は終了となる。
そして、図5−4では、図5−2によって設定された上段のタイル列の開始タイル、すなわちタイル4を基準として、x正方向に対して描画対象となるかの判定をおこなう。開始タイルとなるタイル4は判定処理済みであるため、タイル5に対して判定処理をおこなう。このとき、タイル4の右下角P1が三角形111の描画領域に含まれているか否かの判断をおこない、描画領域に含まれているためタイル5は、描画対象と判断される。
そして、図5−5では、上述した図5−3のように、タイル5に対しても判定処理をおこなう。そして、タイル5は、描画対象となるため、タイル6に判定処理を移行する。また、タイル4では、図5−2にて説明したようなy正方向の判定処理がおこなわれる。ここで、タイル4のy正方向には描画領域が無いため、タイル5のy正方向に判定処理が移行する。このタイル5の右上角P5が描画領域に含まれるため、タイル5のy正方向に隣接するタイル505が、上段のタイル列の開始タイルに設定される。
そして、図5−6では、タイル6の判定処理からタイル7は描画領域に含まれないと判定され、矩形110の2列目のタイル列(タイル4、5、6、7)のタイル判定動作は終了となる。そして、判定処理は、あらたに開始タイルに設定されたタイル506を基準として再開される。以上説明した処理が6列目のタイル列まで繰り返される。
つぎに、上述したタイル判定動作を含んだ描画処理をおこなうための描画装置の機能的構成について説明する。図6は、本実施例における描画装置の機能的構成を示すブロック図である。
図6の描画装置600は、エッジ関数算出部610と、判断部620と、タイル内描画処理部630とを含んで構成される。また、描画装置600は、従来の描画装置に図5−1〜図5−6に示したタイル判定動作をおこなうために、判断部620を追加した構成になっている。
判断部620は、頂点ソート部621と、開始タイル・走査方向決定部622と、開始タイル保持レジスタ部623と、タイル位置判別部624と、タイル列処理打ち切り判定部625と、次タイル列開始タイル決定部626と、によって構成されている。
頂点ソート部621は、三角形の角頂点座標情報を受け付けると、頂点座標から角頂点情報をソートして開始タイル・走査方向決定部622に出力する。開始タイル・走査方向決定部622は、頂点情報から開始タイルと開始タイルに応じた走査方向を決定し、開始タイル保持レジスタ部623に出力する。
開始タイル保持レジスタ部623は、開始タイル・走査方向決定部622から出力された開始タイル情報および走査方向の情報を所定のレジスタに保持する。ここで、開始タイル保持レジスタ部623に格納された情報は、タイル位置判別部624に出力される。タイル位置判別部624は、開始タイル保持レジスタ部623から入力された開始タイルの情報を処理対象タイルの位置情報としてタイル内描画処理部630に出力して開始タイル内を描画させる。タイル位置判別部624によって判別された開始タイルの情報は、タイル列処理打ち切り判定部625と、次タイル列開始タイル決定部626とにもそれぞれ入力される。
タイル列処理打ち切り判定部625には、開始タイル情報とともにエッジ関数算出部610によって算出された三角形の各辺をあらわす方程式(エッジ関数)が入力されている。したがって、タイル列処理打ち切り判定部625は、現在判定処理対象に指定されているタイル列のタイルに対して順に判定処理をおこなう。そして、タイル列処理打ち切り判定部625は、描画領域と重複しないと判定がなされたタイルを、判定処理が打ち切りとなるタイルとして判定する。タイル列処理打ち切り判定部625によって判定処理が打ち切りとなるタイルが判定されると、タイル位置判別部624に対して、判定処理の次タイル列への移動要求を出力する。
次タイル列開始タイル決定部626にも、開始タイル情報とともにエッジ関数算出部610によって算出されたエッジ関数が入力されている。したがって、次タイル列開始タイル決定部626は、現在判定処理対象に指定されているタイル列のタイルを基準に次タイル列の開始タイルを決定する。次タイル列開始タイル決定部626によって決定された次タイル列の開始タイル情報は、開始タイル保持レジスタ部623に出力される。開始タイル保持レジスタ部623では、次タイル列開始タイル決定部626から入力された開始タイル情報によって、開始タイル位置情報が更新される。
そして、タイル内描画処理部640は、三角形パラメータ(色、テクスチャ情報など)と、エッジ関数と、描画対象となるタイルの位置情報とを用いて三角形の描画をおこなう。描画された三角形は、画素情報として各種出力装置(ディスプレイやプリンタ)に出力される。
つぎに、図5−1〜図5−6によって説明したタイル判定動作を含んだ本実施例における描画処理の手順について説明する。図7は、本実施例における描画処理の手順を示すフローチャートである。図7のフローチャートにおいて、まず、頂点ソート部621において、三角形の各頂点のx、y方向それぞれの最大値、最小値を算出する(ステップS701)。
つぎに、開始タイル・走査方向決定部622において、x方向の最大値または最小値かつ、y方向の最大値または最小値になっている頂点を含むタイルを開始タイルに設定する(ステップS702)。このステップS702によって設定されるx方向の最大値または最小値かつ、y方向の最大値または最小値になっている頂点を含むタイルがすなわち、図5−1のタイル(2)のような三角形の頂点を含んだ4つ角タイルとなる。
そして、ステップS702によって設定した開始タイルの位置にしたがって、タイルの走査順序を決定する(ステップS703)。走査順序とは、図5−1にて説明したような、開始タイル位置に応じて一意的に決定する走査処理の方向である。
そして、ステップS703によって決定した開始タイルの角の4点のうちxの走査方向2点をx判定点とする(ステップS704)。ここでは、図5−1と同様に左下のタイルが開始タイルに設定されたとすると、走査方向2点とは開始タイルの右上と右下の2点を意味する。さらに、開始タイルの4点のうち、yの走査方向の2点をy判定点とする(ステップS705)。yの走査方向の2点とは、開始タイルの左上と右上の2点を意味する。以上ステップS702からステップS705までの処理が開始タイル・走査方向決定部622によっておこなわれる。
最後に、ステップS604によって設定したx判定点とステップS705によって設定したy判定点とを利用してタイル走査処理をおこない(ステップS706)、一連の描画処理を終了する。
つぎに、図7のフローチャートにおけるタイル走査処理の詳細な内容について説明する。図8は、3次元描画処理におけるタイル走査処理の手順を示すフローチャートである。図8のフローチャートにおいて、まず、走査処理中のタイル内の描画処理をおこなう(ステップS801)。
つぎに、次タイル列開始タイル決定部626によって、y判定点の一方が対象ライン中で初めて三角形領域になったか否かを判断する(ステップS802)。図7にて説明したように、y判定点とは、開始タイルの4点のうち、yの走査方向の2点の角に相当する点である。このステップS802において、いずれかのy判定点が三角形領域になったと判断された場合には(ステップS802:Yes)、ステップS802によって判断基準となったy判定点から、つぎのラインの開始タイルを決定する(ステップS803)。
一方、ステップS802において、いずれのy判定点も三角形領域にならなかった場合(ステップS802:No)、y判定点2点で作られた線分と三角形の3辺のいずれかが交差するか否かを判断する(ステップS804)。ここで、いずれかが交差すると判断された場合は(ステップS804:Yes)、ステップS803の処理に移行して開始タイルを決定する。また、ステップS804においても、y判定点がいずれも交差しない場合には(ステップS804:No)、開始タイルを決定せずにそのままステップS805の処理に移行する。以上説明したステップS802からステップS804までの処理が次タイル列開始タイル決定部626によっておこなわれる。
ここで、ステップS804にておこなった、y判定点2点で作られた線分と三角形の3辺のいずれかが交差するか否かの判断処理について説明する。三角形の各辺との交差判定をおこなうには、まず、三角形の頂点座標のうちの各2点の座標V(x0,y0)とV’(x1,y1)の情報を取得し、この座標値から、三角形のある一辺をあらわすエッジ関数E=ax+by+cを作成する。そして、このエッジ関数とy判定点(xj0,yj),(xj1,yj)が下記(1)および(2)式の条件を満たす場合に、交差すると判定される。
・y0<yj<y1(y0<y1とした場合) …(1)
・E=a*x0+b*y0+cE’=a*x1+b*y1+cについて、
E*E’=<0 …(2)
図8のフローチャートの説明に戻り、タイル列処理打ち切り判定部625によって、タイルのx判定点の少なくとも一方は三角形領域の中か否かを判断する(ステップS805)。このステップS805において判断対象となっているタイルはステップS802のタイルと同一のタイルである。
ステップS805において、少なくとも一方のx判定点が三角形領域の中であった場合(ステップS805:Yes)、x方向のつぎのタイルが存在するか否かを判断し(ステップS806)、存在する場合には(ステップS806:Yes)、タイル位置判別部624によって、x方向のつぎのタイルに処理を移行する(ステップS808)。また、以上説明したステップS805からステップS807までの処理がタイル列処理打ち切り判定部625によっておこなわれる。
一方、ステップS805において、いずれのx判定点も三角形領域外であった場合(ステップS805:No)、x判定点2点で作られた線分と三角形の3辺のいずれかが交差するか否かを判断する(ステップS807)。ここで、いずれかが交差すると判断された場合は(ステップS807:Yes)、ステップS806の処理に移行する。また、ステップS807においても、x判定点がいずれも交差しない場合には(ステップS807:No)、ステップS809の処理に移行し、y方向のつぎのラインが存在するか否かを判断する(ステップS809)。
ここでも、ステップS807にておこなった、x判定点2点で作られた線分と三角形の3辺のいずれかが交差するか否かの判断処理について説明する。三角形の各辺との交差判定をおこなうには、ここでも、y判定点の場合と同様に、三角形の頂点座標のうちの各2点の座標の情報を取得し、この座標値から、エッジ関数Eを作成する。そして、このエッジ関数Eとx判定点(xj,yj0),(xj,yj1)が下記(3)および(4)式の条件を満たす場合に、交差すると判定される。
・x0<xj<x1(x0<x1とした場合) …(3)
・E=a*x0+b*y0+cE’=a*x1+b*y1+cについて、
E*E’=<0 …(4)
図8のフローチャートの説明に戻り、ステップS809において、y方向のつぎのラインが存在しないと判断された場合は(ステップS809:No)、そのまま一連のタイル走査処理を終了する。一方、ステップS808の処理が終了した場合、もしくは、ステップS810の処理が終了した場合には、ステップS801の処理に戻り、つぎの開始タイルを基準としてタイル走査処理を開始する。以上説明したステップS808からステップS810までの処理がタイル位置判別部624によっておこなわれる。
上述したような描画処理の場合、実際には描画がおこなわれないタイルに対しては、描画対象となるタイルに隣接したタイルに限定して事前判定処理をおこなっている。したがって、一意的にすべてのタイルに対して事前判定処理をおこなっていた従来の描画処理と比較して、描画をおこなわないタイルに対する処理が格段に削減される。結果として、描画される三角形に反映されない無駄な処理を防ぎ効率な描画処理がおこなわれる。したがって、本実施の形態によれば、無用な処理の実行を防ぎ、最小限の処理によって効率的な描画処理を実現することができる。
なお、本実施の形態では、一つの三角形を描画する場合につて説明したが、複数の三角形に分割可能な多角形であれば、分割後の三角形に対して本実施の形態にかかる描画処理をおこなうことによって、三角形を描画する場合と同等の効果をえることができる。
なお、本実施の形態で説明した描画方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明した描画装置200は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した描画装置200の機能(機能ブロックの各符号を入れる)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、描画装置200を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画装置であって、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段と、
前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段と、
前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段と、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段と、
を備えることを特徴とする描画装置。
(付記2)前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段と、
前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段と、を備え、
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記1に記載の描画装置。
(付記3)前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を前記判定手段に実行させることを特徴とする付記1または2に記載の描画装置。
(付記4)前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記3に記載の描画装置。
(付記5)前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記4に記載の描画装置。
(付記6)前記分割手段は、前記表示画面の画素ブロック単位で前記複数の部分矩形に分割することを特徴とする付記1〜5のいずれか一つに記載の描画装置。
(付記7)前記分割手段は、前記表示画面の走査方向と平行な辺をもった前記矩形を前記複数の部分矩形に分割し、
前記制御手段は、前記走査方向を前記所定方向とし、前記走査方向と直交する非走査方向を前記所定方向と直交する方向にすることを特徴とする付記2〜6のいずれか一つに記載の描画装置。
(付記8)前記三角形の頂点座標を取得する取得手段と、
前記頂点座標のxおよびyの値が前記頂点座標のうち最大もしくは最小となる頂点を検出する検出手段と、を備え、
前記設定手段は、前記頂点を含む前記部分矩形を前記開始矩形に設定することを特徴とする付記2〜7のいずれか一つに記載の描画装置。
(付記9)表示画面に表示する三角形の内側を描画領域としてコンピュータに描画処理を実行させる描画プログラムであって、
前記コンピュータを、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段、
前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段、
前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段、
前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段、
として機能させることを特徴とする描画プログラム。
(付記10)前記コンピュータを
前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段、
前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段、として機能させ、
前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記9に記載の描画プログラム。
(付記11)前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を前記判定手段に実行させることを特徴とする付記9または10に記載の描画プログラム。
(付記12)前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記11に記載の描画プログラム。
(付記13)前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記12に記載の描画プログラム。
(付記14)前記分割手段は、前記表示画面の画素ブロック単位で前記複数の部分矩形に分割することを特徴とする付記9〜13のいずれか一つに記載の描画プログラム。
(付記15)表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画方法であって、
前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割工程と、
前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に開始させる判定開始工程と、
前記判定処理開始後、前記判定処理の判定結果が重複から非重複に変化した場合、前記判定処理を終了する判定終了工程と、
前記判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する描画工程と、
を含むことを特徴とする描画方法。
(付記16)前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出工程と、
前記抽出工程によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始矩形に設定する設定工程と、を含み、
前記判定開始工程では、前記開始矩形から順次、前記所定方向の判定処理を開始し、
前記描画工程では、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする付記15に記載の描画方法。
(付記17)前記判定開始工程では、前記描画領域と重複していると判定された部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を開始し、
前記判定終了工程は、前記第2部分矩形群に対する判定処理開始後、判定結果が重複から非重複に変化した場合、前記第2部分矩形群に対する判定処理を終了することを特徴とする付記15または16に記載の描画方法。
(付記18)前記判定開始工程は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
前記設定工程では、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする付記17に記載の描画方法。
(付記19)判定開始工程は、前記判定終了工程によって前記所定方向の判定処理を終了した後、前記設定工程によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする付記18に記載の描画方法。
(付記20)前記分割工程では、前記表示画面の画素ブロック単位で前記部分矩形群に分割することを特徴とする付記15〜19のいずれか一つに記載の描画方法。
本実施の形態にかかる描画処理の概要を示す説明図である。 従来の描画処理の一例を示す説明図である。 本実施の形態にかかる描画装置のハードウェア構成を示す説明図である。 本実施の形態にかかる描画装置の機能的構成を示すブロック図である。 本実施の形態にかかる描画装置の描画処理の手順を示すフローチャートである。 タイル走査処理におけるタイル判定動作を示す説明図(その1)である。 タイル走査処理におけるタイル判定動作を示す説明図(その2)である。 タイル走査処理におけるタイル判定動作を示す説明図(その3)である。 タイル走査処理におけるタイル判定動作を示す説明図(その4)である。 タイル走査処理におけるタイル判定動作を示す説明図(その5)である。 タイル走査処理におけるタイル判定動作を示す説明図(その6)である。 本実施例における描画装置の機能的構成を示すブロック図である。 本実施例における描画処理の手順を示すフローチャートである。 描画処理におけるタイル走査処理の手順を示すフローチャートである。
符号の説明
200 描画装置
301 分割部
302 抽出部
303 設定部
304 判定部
305 制御部
306 描画部

Claims (10)

  1. 表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画装置であって、
    前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段と、
    前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段と、
    前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段と、
    前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段と、
    を備えることを特徴とする描画装置。
  2. 前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段と、
    前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段と、を備え、
    前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
    前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項1に記載の描画装置。
  3. 前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を前記判定手段に実行させることを特徴とする請求項1または2に記載の描画装置。
  4. 前記制御手段は、前記開始矩形から順次、前記所定方向の判定処理に追従して前記直交方向の判定処理を実行させ、
    前記設定手段は、前記直交方向の判定処理により最初に重複であると判定された部分矩形を、あらたに開始矩形に設定することを特徴とする請求項3に記載の描画装置。
  5. 前記制御手段は、前記所定方向の判定処理の終了後、前記設定手段によってあらたに開始矩形に設定された部分矩形から前記所定方向の判定処理を開始させることを特徴とする請求項4に記載の描画装置。
  6. 表示画面に表示する三角形の内側を描画領域としてコンピュータに描画処理を実行させる描画プログラムであって、
    前記コンピュータを、
    前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割手段、
    前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に実行する判定手段、
    前記判定手段によって判定された判定結果が重複から非重複に変化した場合、前記判定処理を終了させる制御手段、
    前記判定手段によって重複していると判定された前記部分矩形に対して描画処理を実行する描画手段、
    として機能させることを特徴とする描画プログラム。
  7. 前記コンピュータを
    前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出手段、
    前記抽出手段によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始する開始矩形に設定する設定手段、として機能させ、
    前記制御手段は、前記開始矩形から順次、前記所定方向への前記判定処理を実行させ、
    前記描画手段は、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項6に記載の描画プログラム。
  8. 前記制御手段は、前記描画領域と重複していると判定された前記部分矩形から前記所定方向と直交する方向に連続する一連の第2部分矩形群に対して、前記描画領域と重複しているか否かの判定処理(以下、「直交方向の判定処理」という)を前記判定手段に実行させることを特徴とする請求項6または7に記載の描画プログラム。
  9. 表示画面に表示する三角形の内側を描画領域として描画処理を実行する描画方法であって、
    前記三角形の頂点に外接した矩形を複数の部分矩形に分割する分割工程と、
    前記複数の部分矩形のうち所定方向に連続する一連の第1部分矩形群に含まれる前記部分矩形が、前記三角形の描画領域と重複しているか否かの判定処理を、前記所定方向に沿って順に開始させる判定開始工程と、
    前記判定処理開始後、前記判定処理の判定結果が重複から非重複に変化した場合、前記判定処理を終了する判定終了工程と、
    前記判定処理によって重複していると判定された前記部分矩形に対して描画処理を実行する描画工程と、
    を含むことを特徴とする描画方法。
  10. 前記複数の部分矩形の中から前記頂点を含んだ前記部分矩形を抽出する抽出工程と、
    前記抽出工程によって抽出された前記部分矩形のうち、前記矩形の角部に位置する前記部分矩形を、前記判定処理を開始矩形に設定する設定工程と、を含み、
    前記判定開始工程では、前記開始矩形から順次、前記所定方向の判定処理を開始し、
    前記描画工程では、前記開始矩形に対する前記描画処理を実行するとともに、前記判定手段によって重複していると判定された前記部分矩形に対して前記描画処理を実行することを特徴とする請求項9に記載の描画方法。
JP2007311185A 2007-11-30 2007-11-30 描画装置、描画プログラムおよび描画方法 Expired - Fee Related JP4568750B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007311185A JP4568750B2 (ja) 2007-11-30 2007-11-30 描画装置、描画プログラムおよび描画方法
US12/268,796 US8212815B2 (en) 2007-11-30 2008-11-11 Drawing apparatus, drawing program, and drawing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007311185A JP4568750B2 (ja) 2007-11-30 2007-11-30 描画装置、描画プログラムおよび描画方法

Publications (2)

Publication Number Publication Date
JP2009134620A true JP2009134620A (ja) 2009-06-18
JP4568750B2 JP4568750B2 (ja) 2010-10-27

Family

ID=40675231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311185A Expired - Fee Related JP4568750B2 (ja) 2007-11-30 2007-11-30 描画装置、描画プログラムおよび描画方法

Country Status (2)

Country Link
US (1) US8212815B2 (ja)
JP (1) JP4568750B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129074A1 (ja) * 2010-04-13 2011-10-20 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
WO2011135841A1 (ja) * 2010-04-29 2011-11-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US8736871B2 (en) 2009-07-29 2014-05-27 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US8989796B2 (en) 2010-04-26 2015-03-24 Kyocera Corporation Method for adjusting parameter of radio communication system and radio communication system
JP2015210730A (ja) * 2014-04-28 2015-11-24 ヤマハ株式会社 画像処理装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014185900A1 (en) * 2013-05-15 2014-11-20 Intel Corporation Variable rasterization order for motion blur and depth of field
US9922449B2 (en) 2015-06-01 2018-03-20 Intel Corporation Apparatus and method for dynamic polygon or primitive sorting for improved culling
US9959643B2 (en) 2015-10-29 2018-05-01 Intel Corporation Variable rasterization order for motion blur and depth of field
CN113495663B (zh) * 2021-07-05 2022-03-11 北京华大九天科技股份有限公司 绘制矩形版图的方法、装置、存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004029864A (ja) * 2002-06-03 2004-01-29 Mitsubishi Electric Corp 三角形ポリゴン描画装置および三角形ポリゴン描画方法
JP2005182547A (ja) * 2003-12-19 2005-07-07 Toshiba Corp 描画処理装置、描画処理方法および描画処理プログラム
US20060044317A1 (en) * 2004-08-30 2006-03-02 Bourd Alexei V Cache efficient rasterization of graphics data
JP2006510973A (ja) * 2002-12-20 2006-03-30 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 最小奥行遮蔽カリングおよびジグザグトラバーサルを利用するグラフィック処理装置、方法およびコンピュータプログラム製品
JP2006209651A (ja) * 2005-01-31 2006-08-10 Mitsubishi Electric Corp グラフィクスハードウェア

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6518974B2 (en) * 1999-07-16 2003-02-11 Intel Corporation Pixel engine
JP3367506B2 (ja) 2000-03-30 2003-01-14 日本電気株式会社 画像処理装置および画像処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004029864A (ja) * 2002-06-03 2004-01-29 Mitsubishi Electric Corp 三角形ポリゴン描画装置および三角形ポリゴン描画方法
JP2006510973A (ja) * 2002-12-20 2006-03-30 テレフォンアクチーボラゲット エル エム エリクソン(パブル) 最小奥行遮蔽カリングおよびジグザグトラバーサルを利用するグラフィック処理装置、方法およびコンピュータプログラム製品
JP2005182547A (ja) * 2003-12-19 2005-07-07 Toshiba Corp 描画処理装置、描画処理方法および描画処理プログラム
US20060044317A1 (en) * 2004-08-30 2006-03-02 Bourd Alexei V Cache efficient rasterization of graphics data
JP2006209651A (ja) * 2005-01-31 2006-08-10 Mitsubishi Electric Corp グラフィクスハードウェア

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8736871B2 (en) 2009-07-29 2014-05-27 Canon Kabushiki Kaisha Image processing apparatus and image processing method
WO2011129074A1 (ja) * 2010-04-13 2011-10-20 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
US8989796B2 (en) 2010-04-26 2015-03-24 Kyocera Corporation Method for adjusting parameter of radio communication system and radio communication system
WO2011135841A1 (ja) * 2010-04-29 2011-11-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
JP2015210730A (ja) * 2014-04-28 2015-11-24 ヤマハ株式会社 画像処理装置

Also Published As

Publication number Publication date
US20090141025A1 (en) 2009-06-04
US8212815B2 (en) 2012-07-03
JP4568750B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
JP4568750B2 (ja) 描画装置、描画プログラムおよび描画方法
JP4621618B2 (ja) 図形描画装置、図形描画方法、およびプログラム
JP5956770B2 (ja) タイルベースのグラフィックスシステム及びこのようなシステムの動作方法
US9202302B2 (en) Graphic processing method and apparatus for processing an image using tile-based rendering
JPH0445874B2 (ja)
RU2430421C2 (ru) Применение эффектов к объединенной текстовой дорожке
US8723884B2 (en) Scan converting a set of vector edges to a set of pixel aligned edges
TWI538760B (zh) 雷射切割機之評估方法及雷射切割機
KR102018699B1 (ko) 타일 비닝 장치 및 방법
US20130027402A1 (en) 2d region rendering
JP2681367B2 (ja) 図形処理方法及びその装置
US8605112B2 (en) Graphics drawing apparatus, method, and program and recording medium on which the program is recorded
JP2005050336A (ja) 隠線を消去したベクトルイメージを提供する方法
JP2010039680A (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP2001184373A (ja) 図面生成方法およびシステムおよび3次元モデルデータから2次元図面を生成する図面生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0668270A (ja) 画像処理方法および画像処理装置
US11341383B2 (en) Methods and apparatus to detect effective tiling area and fill tiles efficiently
JPH1131236A (ja) ポリゴンデータのソート方法及びこれを用いた画像処理装置
JP7407787B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2773127B2 (ja) 画像編集方法
JP4066103B2 (ja) 図形クリッピング装置および図形クリッピング方法
JP2006048172A (ja) クリップ処理システム及びクリップ処理方法
JP2002056403A (ja) 描画指示装置及び描画指示方法及びコンピュータ読み取り可能な記憶媒体
JPH08185542A (ja) 図形処理装置
JP2001307115A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

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: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees