JP2013025376A - Image drawing device - Google Patents
Image drawing device Download PDFInfo
- Publication number
- JP2013025376A JP2013025376A JP2011156729A JP2011156729A JP2013025376A JP 2013025376 A JP2013025376 A JP 2013025376A JP 2011156729 A JP2011156729 A JP 2011156729A JP 2011156729 A JP2011156729 A JP 2011156729A JP 2013025376 A JP2013025376 A JP 2013025376A
- Authority
- JP
- Japan
- Prior art keywords
- primitive
- memory
- identification information
- block
- pixel
- 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)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
本発明は、画像描画装置に関する。 The present invention relates to an image drawing apparatus.
3次元グラフィックス等の画像描画装置では、描画対象の画像を複数のプリミティブ(例えば、三角形など多角形のポリゴン)の集合とみなし、プリミティブ毎に描画処理を行う。また、画像の描画処理では、タイリングアーキテクチャと呼ばれる方法が知られる(例えば、特許文献1)。 In an image drawing apparatus such as three-dimensional graphics, an image to be drawn is regarded as a set of a plurality of primitives (for example, polygons such as triangles), and drawing processing is performed for each primitive. Also, a method called tiling architecture is known for image drawing processing (for example, Patent Document 1).
タイリングアーキテクチャによると、画像描画装置は、フレームを所定のサイズ(例えば、8×8画素)に分割したタイル毎に、タイル内に画素を有するプリミティブについてラスタライズ処理を行う。タイルのサイズは小さいため、画像描画装置は、SRAM等の高速の内部メモリにおいてタイル単位にラスタライズ処理を行うことによって、タイル内の各画素の画素データを生成する。そして、画像描画装置は、内部メモリに生成された画素データを低速の外部メモリに書き出す。SRAMは、外部メモリに比べてアクセスが高速であるため、タイリングアーキテクチャによると、メモリのアクセスが効率化されラスタライズ処理が高速になる。 According to the tiling architecture, the image drawing apparatus performs rasterization processing on primitives having pixels in tiles for each tile obtained by dividing a frame into a predetermined size (for example, 8 × 8 pixels). Since the size of the tile is small, the image drawing apparatus generates pixel data of each pixel in the tile by performing rasterization processing in units of tiles in a high-speed internal memory such as SRAM. Then, the image drawing apparatus writes the pixel data generated in the internal memory to the low-speed external memory. Since the SRAM has a higher access speed than the external memory, the tiling architecture makes the memory access more efficient and the rasterizing process is faster.
具体的に、画像描画装置は、ラスタライズ処理として、タイル単位に、深度テスト及びプリミティブの描画処理を行う。ラスタライズ処理は、タイル毎に、描画命令の入力順に、描画対象のプリミティブの頂点パラメータ及び設定情報を有するシーンデータに基づいて行われる。頂点パラメータは、例えば、プリミティブの各頂点の座標情報や深度情報、色情報等を有し、設定情報は、例えば、プリミティブの透過設定等を有する。 Specifically, the image drawing apparatus performs a depth test and a primitive drawing process for each tile as the rasterizing process. The rasterization process is performed for each tile based on scene data having vertex parameters and setting information of a primitive to be drawn in the order of input of drawing commands. The vertex parameter includes, for example, coordinate information, depth information, color information, and the like of each vertex of the primitive, and the setting information includes, for example, a primitive transparency setting.
シーンデータは容量が大きいことから、一般的に、外部メモリに格納される。また、シーンデータにおける各プリミティブの設定情報は、描画命令の入力順が先のプリミティブの設定情報との差分情報として保持される。画像描画装置は、対象のプリミティブの設定情報を取得するとき、既に読み出した入力順が先のプリミティブの設定情報に、新たに読み出した対象のプリミティブの設定情報を加える。このため、プリミティブの設定情報は、プリミティブの描画命令の入力順に従って読み出される必要がある。 Since scene data has a large capacity, it is generally stored in an external memory. Also, the setting information of each primitive in the scene data is held as difference information with respect to the setting information of the previous primitive in the input order of the drawing command. When acquiring the setting information of the target primitive, the image drawing apparatus adds the setting information of the newly read target primitive to the setting information of the primitive whose input order has already been read. For this reason, the primitive setting information needs to be read in accordance with the input order of primitive drawing commands.
具体的に、ラスタライズ処理におけるタイル単位の深度テスト及びプリミティブの描画処理は、次のように行われる。画像描画装置は、深度テストとして、対象タイルの各画素について、シーンデータから一部読み出した深度情報を含む頂点パラメータに基づいて、前面に描画されるプリミティブか否かを判別する。このとき、画像描画装置は、対象タイルの各画素について、前面に描画されるプリミティブを示す識別情報を生成し、内部メモリのプリミティブ番号メモリに格納する。 Specifically, the tile unit depth test and the primitive rendering process in the rasterization process are performed as follows. As a depth test, the image drawing apparatus determines whether or not each pixel of the target tile is a primitive drawn on the front surface based on a vertex parameter including depth information partially read from the scene data. At this time, the image drawing apparatus generates identification information indicating the primitive drawn on the front surface for each pixel of the target tile, and stores it in the primitive number memory of the internal memory.
続いて、画像描画装置は、プリミティブの描画処理として、プリミティブ番号メモリから読み出した識別情報に基づいて、識別番号の示すプリミティブの頂点パラメータ及び設定情報をシーンデータから読み出して画素データを生成する。プリミティブの頂点パラメータ及び設定情報は外部メモリに格納されているため、読み出し処理は必要最小限に抑えられることが望ましい。ただし、前述したとおり、設定情報は入力順に基づいて差分の情報として保持されているため、画像描画装置は、プリミティブの頂点パラメータ及び設定情報を描画命令の入力順に従って読み出す必要がある。 Subsequently, as a primitive drawing process, the image drawing apparatus reads the primitive vertex parameters and setting information indicated by the identification number from the scene data based on the identification information read from the primitive number memory, and generates pixel data. Since the vertex parameters and setting information of the primitive are stored in the external memory, it is desirable that the reading process is minimized. However, as described above, since the setting information is held as difference information based on the input order, the image drawing apparatus needs to read the vertex parameters of the primitive and the setting information in accordance with the input order of the drawing command.
そこで、画像描画装置は、次のようにプリミティブの描画処理を行う。まず、画像描画装置は、入力順が初め(0番目)のプリミティブを示す識別情報によってプリミティブ番号メモリを検索する。0番目のプリミティブを示す識別情報が検出された場合、画像描画装置は、シーンデータから0番目のプリミティブの頂点パラメータ及び設定情報を読み出し、対応する画素の画素データを生成する。 Therefore, the image drawing apparatus performs primitive drawing processing as follows. First, the image drawing apparatus searches the primitive number memory based on the identification information indicating the primitive whose input order is the first (0th). When identification information indicating the 0th primitive is detected, the image drawing apparatus reads the vertex parameter and setting information of the 0th primitive from the scene data, and generates pixel data of the corresponding pixel.
しかしながら、上述したプリミティブの描画処理において、対象タイルに0番目のプリミティブが描画されない場合、プリミティブ番号メモリには0番目のプリミティブを示す識別情報が格納されていない。そのため、0番目のプリミティブを示す識別情報によるプリミティブ番号メモリの検索処理は、無駄な処理となってしまう。 However, in the above-described primitive drawing process, when the 0th primitive is not drawn on the target tile, identification information indicating the 0th primitive is not stored in the primitive number memory. Therefore, the primitive number memory search process using the identification information indicating the 0th primitive is useless.
このように、プリミティブの描画処理におけるプリミティブ番号メモリの検索処理において、非効率な検索処理が発生することがあり、描画性能の低下要因となっていた。一方、プリミティブ番号メモリの検索処理を並列化することにより、描画性能を向上させる方法がある。しかし、並列化の度合いによっては画像描画装置の回路規模が大きくなり、コストが高くなる。 As described above, in the primitive number memory search process in the primitive drawing process, an inefficient search process may occur, which causes a reduction in drawing performance. On the other hand, there is a method of improving the drawing performance by parallelizing the search processing of the primitive number memory. However, depending on the degree of parallelization, the circuit scale of the image drawing apparatus increases and the cost increases.
そこで、本発明では、コストを抑えながら効率的にラスタライズ処理を行う画像描画装置を提供する。 Therefore, the present invention provides an image drawing apparatus that efficiently performs rasterization processing while reducing costs.
第1の側面は、フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第1のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第2のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第1のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第1のメモリから読み出す。
According to a first aspect, a primitive parameter including coordinate information of a vertex of a primitive drawn in the block and depth information indicating a depth is read from the first memory in units of blocks obtained by dividing the frame into a plurality of primitive parameters. A drawing primitive identification information generating unit that generates identification information of the primitive drawn on the front surface and writes the primitive identification information in a primitive number memory of a second memory for each pixel in the block;
Primitive parameters including coordinate information and color information of the vertexes of the target primitive are read from the first memory in the input order of the rendering command of the primitive for each block, and the target primitive is identified in the primitive number memory. A pixel data generating unit that generates pixel data based on the primitive parameter and writes the pixel data to a frame buffer for the pixel having information;
The drawing primitive identification information generating unit holds the identification information of the primitive that is drawn in the block during generation of the identification information of the primitive and is the earliest in the input order as head identification information,
The pixel data generation unit reads the primitive parameters from the first memory in the input order from the primitive of the held head identification information.
第1の側面によれば、コストを抑えながら効率的にラスタライズ処理を行う。 According to the first aspect, the rasterizing process is efficiently performed while suppressing the cost.
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.
図1は、本実施の形態例における画像描画装置の構成の一例を示す図である。同図において、画像描画装置は、例えば、CPU(Central Processing Unit)101、GPU(Graphics Processing Unit)100、外部メモリ102を有する。外部メモリ102は、例えば、DRAM(Dynamic Random Access Memory)で構成され、フレームバッファ等が格納される。同図において、アプリケーション(図示せず)からGPU100に対して、複数のプリミティブから構成される立体オブジェクトの3次元データと描画命令が渡される。GPU100は、3次元データに基づいて、立体オブジェクトを所定の視点で視たときの2次元画像の画素データを生成し、フレームバッファに書き込む。
FIG. 1 is a diagram illustrating an example of a configuration of an image drawing apparatus according to the present embodiment. In FIG. 1, the image drawing apparatus includes, for example, a CPU (Central Processing Unit) 101, a GPU (Graphics Processing Unit) 100, and an
図2は、GPU100のブロック図の一例を表す図である。GPU100は、コマンド解釈部10、ジオメトリ処理部11、レンダリング処理部12を有する。同図において、例えば、GPU100のコマンド解釈部10は、外部メモリ102から描画命令リストを読み込み、描画命令を解釈する。一般に、立体オブジェクトは多数のプリミティブの集合体として表現される。ジオメトリ処理部11は、描画命令に基づいて、表示画面上の2次元座標であるプリミティブの頂点パラメータ及び設定情報を生成し、レンダリング処理部12に渡す。
FIG. 2 is a diagram illustrating an example of a block diagram of the
図3は、ジオメトリ処理部11が生成するプリミティブPmの頂点パラメータの一例を示す図である。プリミティブPmの頂点パラメータは、表示画面DIS上の各頂点pk1〜pk3の各座標(x1,y1)、(x2,y2)、(x3,y3)と各頂点座標における画像パラメータであるRGB各色の階調値(以下、色値)rgb1〜rgb3、及び、奥行き方向の距離(以下、深度値)z1〜z3を有する。同図の例では、画像パラメータとして色値と深度値を例示しているが、画像パラメータは、さらに、テクスチャ表示のためのテクスチャ座標値等を含んでいてもよい。また、設定情報は、例えば、プリミティブの透過設定や、プリミティブを描画するか否かの等の設定を有する(図示せず)。
FIG. 3 is a diagram illustrating an example of vertex parameters of the primitive Pm generated by the
図2に戻り、続いて、レンダリング処理部12は、頂点パラメータ及び設定情報に基づいて、プリミティブの頂点パラメータで画定される領域内の各画素について、色値を有する画素データを生成する。本実施の形態例において、レンダリング処理部12は、フレームを例えば「8画素×8画素」に分割したタイル(以下、ブロック)単位に、X、Y方向に走査して当該ブロックに含まれるプリミティブを画定する画素の画素データを生成する。
Returning to FIG. 2, subsequently, the
図4は、フレームFBが分割されたブロックの一例を表す図である。同図のフレームFBは、8画素×8画素サイズの12コ(縦3×横4)のブロックに分割されている。なお、ブロックは、同図のような正方形に限定されるものではなく、長方形や他の多角形等であってもよい。また、本実施の形態例では、左下のブロックb0から右隣のブロックb1に、順に描画処理が行われる。ただし、この例に限定されるものではなく、複数のブロックはいずれの順番で描画処理が行われてもよい。続いて、レンダリング処理部12、ラスタライズ処理部24について、より詳細な構成を説明する。
FIG. 4 is a diagram illustrating an example of a block obtained by dividing the frame FB. The frame FB in the figure is divided into 12 blocks (3 × 4) of 8 pixels × 8 pixels. The block is not limited to a square as shown in the figure, and may be a rectangle or another polygon. In the present embodiment, the drawing process is sequentially performed from the lower left block b0 to the right adjacent block b1. However, the present invention is not limited to this example, and a plurality of blocks may be subjected to drawing processing in any order. Next, more detailed configurations of the
図5の上図は、レンダリング処理部12のブロック図の一例を表す図である。レンダリング処理部12は、セットアップ部21、タイリング処理部22、ソート処理部23、ラスタライズ処理部24を有する。セットアップ部21は、ジオメトリ処理部11から受け取ったプリミティブの頂点パラメータを、必要に応じて後続の処理のために加工する。続くタイリング処理部22は、頂点パラメータに基づいて各プリミティブがどのブロックに含まれるのかを判定する。この結果、プリミティブ毎に、頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有するシーンデータが生成される。シーンデータは容量が大きいため、例えば外部メモリ102に格納される。
The upper diagram of FIG. 5 is a diagram illustrating an example of a block diagram of the
続いて、ソート処理部23は、シーンデータをソートし、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータと設定情報とを有するシーンデータを生成する。そして、ラスタライズ処理部24は、シーンデータに基づいて、ブロック単位にラスタライズ処理を行う。
Subsequently, the
図5の下図は、ラスタライズ処理部24のブロック図の一例を表す図である。プリミティブパラメータ読み出し部41は、外部メモリ102から処理対象ブロックに描画されるプリミティブの座標情報及び深度情報を含む頂点パラメータを読み出す。そして、深度テスト処理部42は、頂点パラメータに基づいて深度テストを行う。詳細は後述するが、このとき、深度テスト処理部42は、処理対象ブロックの各画素について、描画対象のプリミティブを示す識別番号を生成してプリミティブ番号メモリPMに書き込む。プリミティブ番号メモリPMは、多くのメモリ容量を必要としないため、例えばSRAM等の高速の内部メモリに保持される。
The lower diagram of FIG. 5 is a diagram illustrating an example of a block diagram of the
続いて、プリミティブ番号メモリ検索部43は、プリミティブ番号メモリPMから描画対象のプリミティブを示す識別番号を検索することにより、対象プリミティブが描画される画素を検出する。そして、プリミティブ描画処理部45は、プリミティブパラメータ読み出し部44によって読み出された対象プリミティブの頂点パラメータ及び設定情報に基づいて、検出した画素の画素データを生成する。
Subsequently, the primitive number
[第1の実施の形態例]
続いて、第1の実施の形態例について、フローチャート図と具体例とに基づいて、詳細に説明する。
[First Embodiment]
Next, the first embodiment will be described in detail based on a flowchart and specific examples.
図6は、第1の実施の形態例における描画対象のプリミティブP0〜P5の一例を具体例として表す図である。この具体例では、6つのプリミティブP0〜P5がフレームに、一部重複して描画される。また、この例において、プリミティブの描画命令はプリミティブP0〜P5の順に入力される。同図において、ブロックb0〜b11は、点線で囲まれた8×8画素の各領域を示す。なお、本実施の形態例において、画像描画装置は、フレームの左下のブロックt0から右上のブロックt11に順に処理を行う。 FIG. 6 is a diagram illustrating an example of the primitives P0 to P5 to be drawn in the first embodiment. In this specific example, six primitives P0 to P5 are drawn on the frame in a partially overlapping manner. In this example, primitive drawing commands are input in the order of primitives P0 to P5. In the figure, blocks b0 to b11 indicate respective areas of 8 × 8 pixels surrounded by dotted lines. In the present embodiment, the image drawing apparatus sequentially performs processing from the lower left block t0 to the upper right block t11 of the frame.
図7は、本実施の形態例における画像描画装置のレンダリング処理部12(図2、図5)の処理の流れを表すフローチャート図である。前述したとおり、まず、レンダリング処理部12のセットアップ処理部21は、ジオメトリ処理部11からプリミティブの頂点パラメータ及び設定情報を順次受け取り、必要に応じて、後続のタイリング処理部22及びラスタライズ処理部24等で処理し易い状態に加工する(S11)。また、セットアップ処理部21は、描画命令の入力順に、プリミティブに識別番号を付加する。例えば、図6の具体例では、プリミティブP0「0」、プリミティブP1「1」、プリミティブP2「2」、プリミティブP3「3」、プリミティブP4「4」、プリミティブP5「5」のように、識別番号が付加される。
FIG. 7 is a flowchart showing the processing flow of the rendering processing unit 12 (FIGS. 2 and 5) of the image drawing apparatus according to this embodiment. As described above, first, the setup processing unit 21 of the
次に、レンダリング処理部12のタイリング処理部22は、各プリミティブが描画される画素が、フレーム内のいずれのブロックb0〜b11に含まれるのかを演算によって判定する(S12)。また、タイリング処理部22は、プリミティブ毎に、頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有するシーンデータを生成し、外部メモリ102に格納する(S13、S14)。ただし、プリミティブの頂点パラメータはデータ容量が大きいため、本実施の形態例における頂点パラメータは、シーンデータとは別の外部メモリ102内のプリミティブデータバッファに格納される。この場合、シーンデータには、各プリミティブの頂点パラメータのプリミティブデータバッファにおけるアドレス情報が格納される。
Next, the
続いて、レンダリング処理部12のソート処理部23は、外部メモリ102から読み出したシーンデータをブロック単位にソートする(S15、S16)。ソート後のシーンデータは、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータ及び設定情報を有する。前述したとおり、本実施の形態例におけるシーンデータには、プリミティブデータバッファにおける各プリミティブの頂点パラメータの格納アドレスが格納される。このため、ソート対象のデータ容量が抑えられ、ソート処理の速度が向上する。
Subsequently, the
図8は、図6の具体例に基づくソート前後のシーンデータSD1、SD2の一例を表す図である。同図の上部のシーンデータSD1はソート前のシーンデータの一例である。ソート前のシーンデータSD1は、フレームへ描画されるプリミティブ毎に、描画命令の入力順(P0〜P5)に頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有する。また、設定情報は、描画命令の入力順が先のプリミティブの設定情報の総計との差分情報として保持される。 FIG. 8 is a diagram illustrating an example of scene data SD1 and SD2 before and after sorting based on the specific example of FIG. The scene data SD1 at the top of the figure is an example of scene data before sorting. The scene data SD1 before sorting has vertex parameters and setting information in the order of input of the drawing command (P0 to P5) and block information on which the primitive is drawn for each primitive drawn on the frame. The setting information is held as difference information with respect to the sum of the setting information of the previous primitive in the input order of the drawing command.
具体的に、ソート前のシーンデータSD1は、例えば、NO.4のプリミティブP4について、プリミティブデータバッファPDBにおけるプリミティブP4の頂点パラメータの格納アドレスと、プリミティブP0〜P3の設定情報の総計との差分の設定情報と、プリミティブP4が描画されるブロックの情報b4、b8、b9とを有する。 Specifically, the scene data SD1 before sorting is, for example, NO. For the primitive P4 of No. 4, the setting information of the difference between the vertex parameter storage address of the primitive P4 in the primitive data buffer PDB and the total setting information of the primitives P0 to P3, and the information b4 and b8 of the block in which the primitive P4 is drawn , B9.
図8のシーンデータSD2は、ソート後のシーンデータの一例である。ソート後のシーンデータSD2は、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータ及び設定情報を、描画命令の入力順に有する。ソート後のシーンデータSD2についても同様に、設定情報は、描画命令の入力順が先のプリミティブの設定情報の総計との差分情報として保持される。ここで、ソート後のブロックb8のシーンデータSDxを例示して具体的に説明する。 The scene data SD2 in FIG. 8 is an example of the sorted scene data. The sorted scene data SD2 has, for each block, the vertex parameters and setting information of the primitive drawn in the block in the order of input of the drawing command. Similarly, for the scene data SD2 after sorting, the setting information is held as difference information with respect to the sum of the setting information of the preceding primitives in the input order of the drawing command. Here, the scene data SDx of the block b8 after sorting is illustrated and described specifically.
図6の具体例において、ブロックb8には、プリミティブP2、P4、P5が描画され、描画命令の入力順はプリミティブP2、P4、P5である。そのため、シーンデータSDxは、まず、プリミティブP0〜P2の設定情報と、プリミティブデータバッファPDBにおけるプリミティブP2の頂点パラメータの格納アドレスを有する。そして、シーンデータSDxは、次に入力順の早いプリミティブP4について、プリミティブP3〜P4の設定情報と、プリミティブデータバッファPDBにおけるプリミティブP4の頂点パラメータの格納アドレスを有する。プリミティブP5についても同様である。 In the specific example of FIG. 6, primitives P2, P4, and P5 are drawn in the block b8, and the input order of the drawing commands is the primitives P2, P4, and P5. For this reason, the scene data SDx first has setting information of the primitives P0 to P2 and the storage address of the vertex parameter of the primitive P2 in the primitive data buffer PDB. The scene data SDx has the setting information of the primitives P3 to P4 and the storage address of the vertex parameter of the primitive P4 in the primitive data buffer PDB for the primitive P4 having the next highest input order. The same applies to the primitive P5.
そのため、画像描画装置は、プリミティブP4の設定情報を取得する時、プリミティブP0〜P3の設定情報を合計した情報に、差分の情報であるプリミティブP4の設定情報を追加する。このように、画像描画装置は、描画命令の入力順に従って、プリミティブの頂点パラメータおよび設定情報を読み出す必要がある。 Therefore, when acquiring the setting information of the primitive P4, the image drawing apparatus adds the setting information of the primitive P4, which is difference information, to the information obtained by adding the setting information of the primitives P0 to P3. As described above, the image drawing apparatus needs to read the primitive vertex parameters and the setting information in accordance with the input order of the drawing commands.
図7のフローチャート図に戻り、シーンデータのソート後、レンダリング処理部12のラスタライズ処理部24は、ブロック単位に、処理対象ブロックに描画される各プリミティブについて、描画命令の入力順にプリミティブ処理(S18)と描画処理(S19)とを行う。まず、プリミティブ処理(S18)について、図9のフローチャート図に基づいて説明する。
Returning to the flowchart of FIG. 7, after the scene data is sorted, the
図9は、プリミティブ処理を説明するフローチャート図である。ラスタライズ処理部24は、プリミティブ処理として、処理対象ブロックの各画素について、前面に描画されるプリミティブを示す識別番号を生成し、プリミティブ番号メモリPMに書き込む。
FIG. 9 is a flowchart for explaining the primitive processing. As the primitive processing, the
まず、ラスタライズ処理部24は、処理対象ブロックに描画されるプリミティブリストを外部メモリ102のシーンデータから読み出す(S21)。続いて、ラスタライズ処理部24は、処理対象ブロックに描画される全プリミティブについて、描画命令の入力順に処理S22、S23を行う。処理S22として、ラスタライズ処理部24は、処理対象のプリミティブ(対象プリミティブ)の頂点パラメータのうち座標情報と深度情報とを外部メモリ102から読み出す。そして、ラスタライズ処理部24は、処理対象ブロック内の対象プリミティブが描画される各画素について深度テストを行う(S23)。次に、深度テスト(S23)について、図10のフローチャート図に基づいて説明する。
First, the
図10は、深度テストを説明するフローチャート図である。本実施の形態例では、深度値がより小さい程、より前面に位置することを示す。そこで、初め、デフォルトの深度メモリZBは、値の大きな深度値を画素毎に有する。そして、ラスタライズ処理部24は、対象プリミティブが描画される画素のうち、ある画素(注目画素)の深度値Dmを、深度メモリZBから読み出す(S31)。続いて、ラスタライズ処理部24は、対象プリミティブの頂点の座標情報と深度値とに基づいて、注目画素の深度値Dを演算して取得し(S32)、深度値Dmと比較する(S33)。
FIG. 10 is a flowchart for explaining the depth test. In the present embodiment, the smaller the depth value, the more the front surface is located. Therefore, at first, the default depth memory ZB has a large depth value for each pixel. Then, the
注目画素の深度値Dが深度値Dmより小さい場合(S33のYES)、ラスタライズ処理部24は、深度メモリZBの注目画素に対応するアドレスに深度値Dを書き込む(S34)。続いて、ラスタライズ処理部24は、プリミティブ番号メモリPMの注目画素に対応に対応するアドレスに、対象プリミティブを示す識別番号を書き込む(S35)。そして、本実施の形態例におけるラスタライズ処理部24は、処理対象ブロックのプリミティブ番号メモリPMへの最初の書き込みである場合(S35のYES)、その識別番号をレジスタR1に保持しておく(S36)。従って、処理対象ブロックのプリミティブ番号メモリPMへの2回目以降の書き込みの場合は(S35のNO)、レジスタR1は更新されない。
When the depth value D of the target pixel is smaller than the depth value Dm (YES in S33), the
一方、注目画素の深度値Dが深度値Dmより大きい場合(S33のNO)、対象プリミティブは、注目画素の前面に描画されるプリミティブではないことを意味する。そのため、ラスタライズ処理部24は、深度メモリZB及びプリミティブ番号メモリPMへの書き込みを行わず、次の注目画素について深度テストを行う(S31〜S37)。
On the other hand, when the depth value D of the target pixel is larger than the depth value Dm (NO in S33), it means that the target primitive is not a primitive drawn in front of the target pixel. Therefore, the
処理対象ブロック内の対象プリミティブが描画される全画素について深度テストが行われると、プリミティブ番号メモリPMには、処理対象ブロックの各画素について、最前面に描画されるプリミティブの識別番号が格納される。また、レジスタR1には、プリミティブ番号メモリPMに初めに書き込まれた識別番号、即ち、処理対象ブロックに描画されるプリミティブであって最も入力順の早いプリミティブを示す識別番号が保持される。 When the depth test is performed for all pixels in which the target primitive in the processing target block is drawn, the primitive number memory PM stores the identification number of the primitive drawn in the foreground for each pixel in the processing target block. . The register R1 holds an identification number that is first written in the primitive number memory PM, that is, an identification number that indicates a primitive that is drawn in the processing target block and that has the earliest input order.
図11は、本実施の形態例の深度テスト処理部42におけるハードウェアの構成例を表す図である。本実施の形態例における深度テスト処理部42は、深度計算部51、メモリアドレス変換部52、54、深度テスト部53、書き込み判定部55、プリミティブ番号メモリPM、深度メモリZB、レジスタR1、タイミング調整用レジスタt1〜t5を有する。タイミング調整用レジスタt1〜t5は、処理タイミングを合わせるために設けられる。深度計算部51は、注目画素の深度値Dを頂点パラメータに基づいて計算して取得すると共に、注目画素の座標情報(x,y)をメモリアドレス変換部52に、座標情報(x,y)及び深度値Dをタイミング調整用レジスタt1に渡す。メモリアドレス変換部52は、座標情報(x,y)を深度メモリZBのアドレスに変換して深度メモリZBから注目画素の深度値Dmを読み出し、深度テスト部53に渡す。
FIG. 11 is a diagram illustrating a hardware configuration example of the depth
そして、深度テスト部53は、深度値Dと深度メモリZBから読み出した深度値Dmとを比較する。深度値Dが深度値Dmよりも小さい場合、深度テスト部53は、タイミング調整用レジスタt3から出力された注目画素の座標情報(x,y)をメモリアドレス変換部54に出力する。深度テスト部53は、タイミング調整用レジスタt4に深度値Dを、タイミング調整用レジスタt5に対象のプリミティブの識別番号を出力する。そして、深度値Dが注目画素に対応する深度メモリZBのアドレスに書き込まれると共に、識別番号がメモリアドレス変換部54から出力された注目画素に対応するプリミティブ番号メモリPMのアドレスに書き込まれる。また、書き込み判定部55は、プリミティブ番号メモリPMへの初回の書き込みである場合、レジスタR1に識別番号を書き込む。
Then, the
なお、本実施の形態例において、深度テストは、区分領域が有するM個(本実施の形態例では、4個)の各画素について並列に行われる。そのため、プリミティブ番号メモリPMは、対応する画素が処理される並列ユニットに対応してM個に分割される。ここで、深度テスト処理を、図6の具体例に基づいて説明する。ここでは、ブロックb0〜b11のうち、ブロックb8を処理対象ブロックとして例示して説明する。まず、処理対象ブロックの深度テスト時における各メモリの初期値について説明する。 In the present embodiment, the depth test is performed in parallel on each of the M pixels (four in the present embodiment) included in the segmented region. Therefore, the primitive number memory PM is divided into M pieces corresponding to the parallel unit in which the corresponding pixel is processed. Here, the depth test process will be described based on a specific example of FIG. Here, among the blocks b0 to b11, the block b8 will be exemplified and described as a processing target block. First, the initial value of each memory at the time of the depth test of the processing target block will be described.
図12は、深度テストにおける深度メモリZB、プリミティブ番号メモリPM、レジスタR1、R2がそれぞれデフォルト値として保持する値を表す図である。なお、同図のレジスタR2(R20〜R2f)は、第2の実施の形態例で使用されるレジスタであり、第2の実施の形態例において後述する。初め、深度メモリZBの各画素に対応するアドレスには、デフォルト値として最大の深度値「1.0」が格納される。また、初め、プリミティブ番号メモリPMの各画素に対応するアドレス及び、レジスタR1には、デフォルト値としてフレームに描画されるプリミティブ総数(Max値)である「6」が格納される。ブロックb8に描画されるプリミティブP2、P4、P5の描画命令の入力順はP2、P4、P5である。そのため、ラスタライズ処理部24は、まず、プリミティブP2について深度テストを行う。
FIG. 12 is a diagram illustrating values held as default values in the depth memory ZB, the primitive number memory PM, and the registers R1 and R2 in the depth test. Note that the register R2 (R20 to R2f) in the figure is a register used in the second embodiment, and will be described later in the second embodiment. Initially, the maximum depth value “1.0” is stored as a default value at an address corresponding to each pixel of the depth memory ZB. First, “6” which is the total number of primitives (Max value) drawn in the frame is stored as a default value in the address corresponding to each pixel of the primitive number memory PM and the register R1. The input order of the drawing commands of the primitives P2, P4, and P5 drawn in the block b8 is P2, P4, and P5. Therefore, the
図13は、ブロックb8におけるプリミティブP2の深度テスト後の深度メモリZB及びプリミティブ番号メモリPM、レジスタR1を表す図である。この例において、プリミティブP2が描画されるある画素g1を注目画素として処理を説明する。ラスタライズ処理部24は、注目画素g1の深度値Dm「1.0(デフォルト値)」を深度メモリZBから読み出す(図10のS31)。続いて、ラスタライズ処理部24は、プリミティブP2の頂点の座標情報と深度値とに基づいて、注目画素g1の深度値0.1を算出して取得する(S32)。
FIG. 13 is a diagram illustrating the depth memory ZB, the primitive number memory PM, and the register R1 after the depth test of the primitive P2 in the block b8. In this example, the processing will be described with a pixel g1 on which the primitive P2 is drawn as a target pixel. The
注目画素の深度値D「0.1」は、深度メモリZBから読み出したデフォルトの深度値Dm「1.0」より小さい(S33のYES)。従って、ラスタライズ処理部24は、深度メモリZBの注目画素に対応するアドレスに深度値0.1を書き込むと共に(S34)、プリミティブ番号メモリPMの注目画素に対応するアドレスに、プリミティブP2を示す識別番号「2」を書き込む(S35)。そして、この場合、プリミティブ番号メモリPMにおける最初の書き込みであるため(S36のYES)、ラスタライズ処理部24は、レジスタR1に識別番号「2」を保持させる(S37)。
The depth value D “0.1” of the target pixel is smaller than the default depth value Dm “1.0” read from the depth memory ZB (YES in S33). Accordingly, the
ラスタライズ処理部24は、ブロックb8におけるプリミティブP2が描画される他の画素についても同様に深度値を比較し(S33)、その結果に応じて深度メモリZB及びプリミティブ番号メモリPMを更新する(S34、S35)。また、この時、プリミティブ番号メモリPMの最初の書き込みではないことから(S36のNO)、ラスタライズ処理部24は、レジスタR1を更新しない。この結果、図13のように、プリミティブP2が描画される画素に対応する深度メモリZBのアドレスには0.1が、プリミティブ番号メモリPMのアドレスには識別番号「2」が書き込まれる。プリミティブP2の深度テストが終わると、ラスタライズ処理部24は、次に入力順の早いプリミティブP4について、同様に深度テストを行う。
The
図14は、ブロックb8におけるプリミティブP4の深度テスト後の深度メモリZB及びプリミティブ番号メモリPM、レジスタR1を表す図である。プリミティブP4の各頂点の座標情報と深度値とに基づいて取得されるプリミティブP4が描画される画素の深度値は0.3または0.4であり、深度メモリZBに書き込まれるプリミティブP2の深度値0.1より大きい(S33のNO)。これは、プリミティブP4が、プリミティブP2より背面に位置することを示す。従って、プリミティブP4が描画される画素であって、プリミティブP2が描画されない画素に対応する深度メモリZBのアドレスに深度値0.3または0.4が書き込まれ(S34)、当該画素に対応するプリミティブ番号メモリPMのアドレスにプリミティブP4を示す識別番号「4」が書き込まれる(S35)。また、レジスタR1は識別番号「2」を保持したままである(S36のNO)。プリミティブP2の深度テストが終わると、ラスタライズ処理部24は、次に入力順の早いプリミティブP5について、同様に深度テストを行う。
FIG. 14 is a diagram illustrating the depth memory ZB, the primitive number memory PM, and the register R1 after the depth test of the primitive P4 in the block b8. The depth value of the pixel on which the primitive P4 obtained based on the coordinate information and depth value of each vertex of the primitive P4 is drawn is 0.3 or 0.4, and the depth value of the primitive P2 written to the depth memory ZB Greater than 0.1 (NO in S33). This indicates that the primitive P4 is located behind the primitive P2. Accordingly, the depth value 0.3 or 0.4 is written to the address of the depth memory ZB corresponding to the pixel in which the primitive P4 is drawn and the primitive P2 is not drawn (S34), and the primitive corresponding to the pixel is drawn. The identification number “4” indicating the primitive P4 is written in the address of the number memory PM (S35). Further, the register R1 holds the identification number “2” (NO in S36). When the depth test of the primitive P2 is completed, the
図15は、ブロックb8におけるプリミティブP5の深度テスト後の深度メモリZB及びプリミティブ番号メモリPM、レジスタR1を表す図である。プリミティブP5の各頂点の座標情報と深度値とに基づいて取得される深度値は0.9であり、プリミティブP2、P4の深度値より大きい。これは、プリミティブP5は、プリミティブP2及びP4の背面に位置することを示す。従って、プリミティブP2及びP4が描画されず、プリミティブP5が描画される画素に対応する深度メモリZBのアドレスに深度値0.9が書き込まれ(S34)、当該画素に対応するプリミティブ番号メモリPMのアドレスにプリミティブP5を示す識別番号「5」が書き込まれる(S35)。また、レジスタR1は識別番号「2」を保持したままである(S36のNO)。 FIG. 15 is a diagram illustrating the depth memory ZB, the primitive number memory PM, and the register R1 after the depth test of the primitive P5 in the block b8. The depth value acquired based on the coordinate information and depth value of each vertex of the primitive P5 is 0.9, which is larger than the depth values of the primitives P2 and P4. This indicates that the primitive P5 is located behind the primitives P2 and P4. Accordingly, the primitives P2 and P4 are not drawn, the depth value 0.9 is written to the address of the depth memory ZB corresponding to the pixel on which the primitive P5 is drawn (S34), and the address of the primitive number memory PM corresponding to the pixel is written. The identification number “5” indicating the primitive P5 is written in (S35). Further, the register R1 holds the identification number “2” (NO in S36).
このように、ラスタライズ処理部24は、全プリミティブ処理(図9、図7のS18)として、処理対象ブロックに描画される全プリミティブについて描画命令の入力順に深度テスト(図10)を行う。この結果、プリミティブ番号メモリPMには、処理対象ブロックの各画素について前面に描画されるプリミティブを示す識別番号が格納される。また、レジスタR1に、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブを示す識別番号が保持される。全プリミティブ処理の後、ラスタライズ処理部24は、処理対象ブロックの描画処理を行う(図7のS19)。
As described above, the
図16は、プリミティブの描画処理を説明するフローチャート図である。本実施の形態例におけるラスタライズ処理部24は、処理対象ブロックをさらに分割したN個の区分領域毎に完了フラグfl0〜flfを有する。また、本実施の形態例におけるラスタライズ処理部24は、区分領域が有するM個の各画素の処理を並列に行う。
FIG. 16 is a flowchart for explaining a primitive drawing process. The
初め、ラスタライズ処理部24は、検索プリミティブ番号PNに、図10の深度テストでレジスタR1に保持させた識別番号をセットする(S41)。これにより、入力順は初め(0番目)のプリミティブではなく、処理対象ブロックに描画されるプリミティブであって入力順の最も早いプリミティブから、プリミティブ番号メモリPMの検索処理が行われる。また、ラスタライズ処理部24は、N個の区分領域n0〜nfにそれぞれ対応する完了フラグfl0〜flfに初期値0をセットしておく(S42)。続いて、ラスタライズ処理部24は、次回候補の検索プリミティブ番号(次回検索プリミティブ番号nPN)に、初期値としてフレームに描画されプリミティブの総数(Max値)をセットする(S43)。
First, the
続いて、ラスタライズ処理部24は、区分領域毎に順次、処理S44〜S55を行う。まず、ラスタライズ処理部24は、注目画素の座標情報(x,y)に基づいて、注目画素が属する区分領域(注目区分領域)の番号(以下、領域番号ar)を取得する(S44)。そして、注目区分領域の完了フラグflが0か否かを判定する(S45)。完了フラグflが1である場合(S45のNO)、注目区分領域内の全ての画素の画素データが生成済みであることを意味する。その場合、ラスタライズ処理部24は、注目区分領域内の処理を終了し、次の注目区分領域について処理S44から処理を続行する。
Subsequently, the
一方、完了フラグflが0の場合(S45のYES)、注目区分領域は、画素データが未生成の画素を有することを示す。そこで、ラスタライズ処理部24は完了フラグflに1をセットしておき(S46)、注目区分領域の有するM個の各画素(以下、各注目画素)について、処理S47〜S55を並列に行う。
On the other hand, when the completion flag fl is 0 (YES in S45), the attention segment area indicates that the pixel data has pixels that have not been generated. Therefore, the
まず、ラスタライズ処理部24は、各注目画素について、注目画素に対応するプリミティブ番号メモリPMが有する識別番号(PM[mn][ar])が、処理S41でセットされた検索プリミティブ番号PNと一致するか否かを判定する(S47)。一致する場合(S47のYES)、注目画素に検索プリミティブ番号PNの示すプリミティブが描画されることを意味する。そこで、ラスタライズ処理部24は、検索プリミティブ番号PNが示すプリミティブの頂点パラメータ及び設定情報を外部メモリ102から読み出す(S48)。なお、検索プリミティブ番号PNの頂点パラメータ及び設定情報が既に読み出し済みである場合、新たな読み出し処理は行われない。そして、ラスタライズ処理部24は、注目画素の座標情報を取得し(S49)、頂点パラメータに基づいて注目画素の画素データを取得して(S50)、内部メモリに格納する(S51)。
First, the
一方、一致しない場合(S47のNO)、注目画素に描画されるプリミティブが検索プリミティブ番号PNの示すプリミティブではないことを意味する。そこで、ラスタライズ処理部24は、検索プリミティブ番号PNが、プリミティブ番号メモリPMが有する注目画素の識別番号(PM[mn][ar])より小さいか否かを判定する(S52)。検索プリミティブ番号PNが識別番号以上の場合(S52のNO)、注目画素に描画されるプリミティブは、検索プリミティブ番号PNの示すプリミティブよりも入力順が先であり、画素データの生成が終了していることを意味する。そのため、ラスタライズ処理部24は、処理S53〜S55を行わない。
On the other hand, if they do not match (NO in S47), it means that the primitive drawn on the target pixel is not the primitive indicated by the search primitive number PN. Therefore, the
一方、検索プリミティブ番号PNが識別番号より小さい場合(S52のYES)、注目画素に描画されるプリミティブは、検索プリミティブ番号PNの示すプリミティブよりも入力順が後であり、画素データの未生成であることを意味する。そこで、ラスタライズ処理部24は、注目区分領域の完了フラグflを、画素データが未生成であることを示す0で更新する(S53)。続いて、ラスタライズ処理部24は、次回検索プリミティブ番号nPNが識別番号(PM[mn][ar])より大きいか否かを判定する(S54)。
On the other hand, when the search primitive number PN is smaller than the identification number (YES in S52), the primitive drawn in the target pixel is later in input order than the primitive indicated by the search primitive number PN, and the pixel data is not generated. Means that. Therefore, the
次回検索プリミティブ番号nPNが識別番号以下の場合(S54のNO)、次回検索プリミティブ番号nPNの示すプリミティブは、注目画素に描画されるプリミティブと入力順が同じか先であることを意味する。この場合、次回検索プリミティブ番号nPNには、次に入力順の早いプリミティブを示す識別番号が既に保持されているため、ラスタライズ処理部24は次回検索プリミティブ番号nPNを更新しない。一方、次回検索プリミティブ番号nPNが識別番号より大きい場合(S54のYES)、次回検索プリミティブ番号nPNの示すプリミティブは、注目画素に描画されるプリミティブよりも入力順が後であることを意味する。そこで、ラスタライズ処理部24は、次回検索プリミティブ番号nPNを識別番号で更新する(S55)。
When the next search primitive number nPN is equal to or smaller than the identification number (NO in S54), the primitive indicated by the next search primitive number nPN means that the input order is the same as or ahead of the primitive drawn on the target pixel. In this case, since the next search primitive number nPN already holds an identification number indicating the primitive with the next highest input order, the
処理対象ブロック内の全ての区分領域について、検索プリミティブ番号PNが維持されたまま、処理S44〜S55が行われると、プリミティブ番号メモリPMに検索プリミティブ番号PNと同一の識別番号を有する全ての画素が検出され(検索処理)、当該画素の画素データが生成される。そして、次回検索プリミティブ番号nPNには、処理対象ブロックに描画されるプリミティブであって、検索プリミティブ番号PNの次に入力順の早いプリミティブを示す識別番号が保持される。 When the processing S44 to S55 is performed with the search primitive number PN being maintained for all the divided areas in the processing target block, all pixels having the same identification number as the search primitive number PN are stored in the primitive number memory PM. It is detected (search process), and pixel data of the pixel is generated. The next retrieval primitive number nPN holds an identification number indicating a primitive drawn in the processing target block and indicating the primitive in the input order next to the retrieval primitive number PN.
さらに、全画素の画素データの生成が完了した区分領域の完了フラグflには1が、全画素の画素データの生成が未完了である区分領域の完了フラグflには0が保持される。完了フラグflが1の区分領域については既に画素データの生成が完了しているため、以降の検索プリミティブ番号PNと同一の識別番号を有するプリミティブ番号メモリPMの検索処理の対象外とされる。これにより、無駄な検索処理が省略され、プリミティブ番号メモリPMの検索効率が向上する。 Further, 1 is held in the completion flag fl of the segmented area where generation of pixel data of all pixels is completed, and 0 is held in the completion flag fl of the segmented area where generation of pixel data of all pixels is not completed. Since the generation of pixel data has already been completed for the segmented region with the completion flag fl set to 1, it is excluded from the search processing of the primitive number memory PM having the same identification number as the subsequent search primitive number PN. Thereby, useless search processing is omitted, and the search efficiency of the primitive number memory PM is improved.
全ての区分領域について処理S44〜S55が行われると、続いて、ラスタライズ処理部24は、次回検索プリミティブ番号nPNとMax値が一致するか否かを判定する(S56)。一致しない場合(S56のNO)、次回検索プリミティブ番号nPNが更新されたこと、即ち、描画処理が完了していないプリミティブがあることを意味する。そのため、ラスタライズ処理部24は、検索プリミティブ番号PNに次回検索プリミティブ番号nPNをセットすると共に(S57)、次回検索プリミティブ番号nPNをMax値で初期化し(S43)、完了フラグflが0の全区分領域を対象として処理S44〜S55を行う。
When the processes S44 to S55 are performed for all the divided areas, the
一方、次回検索プリミティブ番号nPNがMax値と一致する場合(S56のYES)、処理対象ブロックに描画される全てのプリミティブの描画処理が完了したことを意味する。そこで、ラスタライズ処理部24は、内部メモリに格納された処理対象ブロックの画素データを外部メモリ102のフレームバッファに書き込み(S58)、描画処理を終了する。図16の処理対象ブロックの描画処理(図7のS19)が終了すると、レンダリング処理部12は、次のブロックを処理対象ブロックとしてラスタライズ処理(図7のS18、S19)を行う。全てのブロックについてラスタライズ処理が行われると、ラスタライズ処理部24はフレームの描画処理を終了する。
On the other hand, if the next retrieval primitive number nPN matches the Max value (YES in S56), it means that the drawing processing of all primitives drawn in the processing target block has been completed. Therefore, the
図17は、本実施の形態例のプリミティブ描画処理部44(図5)におけるハードウェアの構成例を表す図である。本実施の形態例におけるプリミティブ描画処理部44は、座標生成部61、メモリアドレス変換部62、プリミティブ番号メモリPM、比較部63、次回検索プリミティブ番号取得部64、レジスタR1、完了フラグfl、タイミング調整用レジスタt11〜t14を有する。
FIG. 17 is a diagram illustrating a hardware configuration example of the primitive drawing processing unit 44 (FIG. 5) according to the present embodiment. The primitive
座標生成部61は、区分領域内の画素の座標情報(x,y)を順次生成し、メモリアドレス変換部62及びタイミング調整用レジスタt11に出力する。メモリアドレス変換部62は、座標情報(x,y)をプリミティブ番号メモリPMのアドレスに変換すると共に、注目画素に対応するプリミティブ番号メモリPMが有する識別番号を読み出し、比較部63及び次回検索プリミティブ番号取得部64に出力する。そして、比較部63は、レジスタR1に保持された識別番号(検索プリミティブ番号PN)と識別番号とを比較し、一致した場合に画素データの取得を指示する。また、この時、画素データの取得指示に加えて、レジスタR1からタイミング調整用レジスタt14を介して対象プリミティブを示す識別番号と、タイミング調整用レジスタt13から注目画素の座標情報(x,y)が出力される。
The coordinate generation unit 61 sequentially generates the coordinate information (x, y) of the pixels in the segmented region and outputs them to the memory
また、次回検索プリミティブ番号取得部64は、区分領域に対応するプリミティブ番号メモリPM領域に、検索プリミティブ番号PNより大きい識別番号が格納されていない場合、完了フラグflに1をセットする。そして、座標生成部61は、完了フラグflに1を有する区分領域については、座標を生成しない。また、次回検索プリミティブ番号取得部64は、以降に描画されるプリミティブのうち、最も入力順の早いプリミティブを示す識別番号を次回検索プリミティブ番号nPNとして取得し、レジスタR1に更新すると共に、次回検索プリミティブ番号nPNがMax値と一致すると検索処理を終了する。続いて、図6の具体例に基づいて描画処理を説明する。
The next retrieval primitive
図18は、「検索プリミティブ番号PN=2」のときの描画処理を説明する図である。同図の左下図NBには、4画素をそれぞれ有する16コ(Nコ)の区分領域n0〜nfが太線で表されている。区分領域n0〜nfの各画素に付与された番号0〜3は、4つ(Mコ)の並列ユニットに対応する区分領域内の画素位置を表す。本実施の形態例において、ラスタライズ処理部24は、例えば、矢印yaの示す順に区分領域の処理を行う。
FIG. 18 is a diagram for explaining a drawing process when “search primitive number PN = 2”. In the lower left diagram NB of the same figure, 16 (N) divided areas n0 to nf each having 4 pixels are represented by bold lines.
初めに、ラスタライズ処理部24は、レジスタR1に保持された識別番号「2」を検索プリミティブ番号PNにセットすると共に(S41)、各区分領域に対応する完了フラグfl0〜flfに0をセットする(S42)。また、ラスタライズ処理部24は、次回検索プリミティブ番号nPNにMax値「6」をセットして初期化すると共に(S43)、注目区分領域n0の領域番号0を取得する(S44)。そして、ラスタライズ処理部24は、図18における注目区分領域n0内の各画素(注目画素)に対応するプリミティブ番号メモリpm0内の各識別番号と、検索プリミティブ番号PN「2」とをそれぞれ比較することにより、プリミティブ番号メモリpm0に識別番号「2」を有する画素を検索する。
First, the
図18において、注目区分領域n0に対応するプリミティブ番号メモリpm0から、識別番号「2」を有する画素は検出されない(S47のNO)。また、識別番号「5」は、検索プリミティブ番号PN「2」より値が大きいため(S52のYES)、完了フラグfl0には0がセットされる(S53)。また、識別番号「5」は次回検索プリミティブ番号nPN「6」より値が小さいため(S54のYES)、次回検索プリミティブ番号nPNにが「5」がセットされる(S53)。 In FIG. 18, the pixel having the identification number “2” is not detected from the primitive number memory pm0 corresponding to the attention divided area n0 (NO in S47). Further, since the identification number “5” is larger than the search primitive number PN “2” (YES in S52), the completion flag fl0 is set to 0 (S53). Since the identification number “5” is smaller than the next retrieval primitive number nPN “6” (YES in S54), “5” is set to the next retrieval primitive number nPN (S53).
このように、本実施の形態例におけるラスタライズ処理部24は、検索プリミティブ番号PN「0」からではなく、検索プリミティブ番号PN「2」から順に検索処理を行う。これにより、ブロックb8のような、0番目のプリミティブが描画されないブロックの場合、不要な検索処理(検索プリミティブ番号PN「0」の検索処理)が省かれ、プリミティブ番号メモリPMの検索処理が効率化される。
As described above, the
図19の左図は、「検索プリミティブ番号PN=2」のときの区分領域n1の描画処理を説明する図である。続いて、ラスタライズ処理部24は、区分領域n1を注目区分領域として、同様にして、対応するプリミティブ番号メモリpm1から識別番号「2」を有する画素を検索する。同図において、プリミティブ番号メモリpm1には、識別番号「4」及び「5」が格納されている(S47のNO)。識別番号「4」及び「5」は、検索プリミティブ番号PN「2」より値が大きいため(S52のYES)、完了フラグfl1には0がセットされる(S53)。また、識別番号「4」は次回検索プリミティブ番号nPN「5」より値が小さいため(S54のYES)、次回検索プリミティブ番号nPNには「4」がセットされる(S55)。
The left diagram of FIG. 19 is a diagram for explaining the rendering process of the segmented region n1 when “search primitive number PN = 2”. Subsequently, the
図19の右図は、「検索プリミティブ番号PN=2」のときの区分領域n9の描画処理を説明する図である。例えば、区分領域n9が注目区分領域のとき、ラスタライズ処理部24は、対応するプリミティブ番号メモリpm9から識別番号「2」を有する画素を検索する。同図のように、プリミティブ番号メモリpm9には、区分領域n9内の全ての画素に対応するアドレスに識別番号「2」が格納されている(S47のYES)。そのため、注目区分領域pm9内の全ての画素の画素データが生成され(S48〜S51)、完了フラグfl9には1がセットされる。この時、次回検索プリミティブ番号nPNは更新されない。
The right diagram of FIG. 19 is a diagram for explaining the rendering process of the segmented region n9 when “search primitive number PN = 2”. For example, when the segmented area n9 is the focused segmented area, the
図20の左図は、「検索プリミティブ番号PN=2」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域n0〜nfが処理されると、レジスタR1には、処理対象ブロックに描画されるプリミティブであって、検索プリミティブ番号PN「2」が示すプリミティブの次に入力順の早いプリミティブを示す識別番号「4」が格納される。そして、全ての画素に対応するプリミティブ番号メモリに識別番号「2」が格納される区分領域n9〜nbについては、完了フラグfl9〜flbに1がセットされる。 The left diagram of FIG. 20 is a diagram for explaining the rendering process when the rendering process for all the divided areas is completed in “search primitive number PN = 2”. When all the divided areas n0 to nf are processed, the register R1 indicates a primitive drawn in the processing target block, which is the primitive in the input order next to the primitive indicated by the search primitive number PN “2”. The identification number “4” is stored. Then, for the divided areas n9 to nb in which the identification number “2” is stored in the primitive number memory corresponding to all the pixels, 1 is set in the completion flags fl9 to flb.
検索プリミティブ番号PN=2の処理が終了すると、ラスタライズ処理部24は、次回検索プリミティブ番号nPN「4」を、検索プリミティブ番号PNとして、同様の処理を行う。このとき、完了フラグに1を有する区分領域n9〜nbは、全画素の画素データの生成が完了しているため、プリミティブ番号メモリPMに識別番号「4」を有する画素の検索領域の対象外となる。これにより、不要な検索処理が省かれ、プリミティブ番号メモリPMの検索効率が向上する。
When the processing of the search primitive number PN = 2 is completed, the
図20の右図は、「検索プリミティブ番号PN=4」のときの描画処理を説明する図である。ラスタライズ処理部24は、完了フラグfl0〜flfが0である区分領域を対象として、順次、対応するプリミティブ番号メモリpm0〜pmfから識別番号「4」を有する画素を検索すると共に、検出画素の画素データを生成する。その結果、例えば、区分領域n1について、対応するプリミティブ番号メモリpm1から識別番号「4」を有する画素が検出され、当該画素の画素データが生成される(S48〜S51)。また、完了フラグfl1に0がセットされ(S52のYES、S53)、次回検索プリミティブ番号nPNは、区分領域n0の処理時に更新された「5」のままとなる(S54のNO)。
The right diagram of FIG. 20 is a diagram for explaining the rendering process when “search primitive number PN = 4”. The
図21の左図は、「検索プリミティブ番号PN=4」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域n0〜nfが処理されると、レジスタR1には、次に入力順の早いプリミティブの識別番号「5」が格納される。そして、全ての画素に対応するプリミティブ番号メモリに識別番号「2」または「4」のいずれかまたは両方が格納されている区分領域fl2、fl3、fl9〜flbについては、完了フラグflに1がセットされ、以降の検索処理の範囲対象外となる。 The left diagram of FIG. 21 is a diagram for explaining the rendering process when the rendering process for all the divided areas is completed in “search primitive number PN = 4”. When all the divided areas n0 to nf are processed, the register R1 stores the primitive identification number “5” in the next input order. For the divided areas fl2, fl3, fl9 to flb in which either or both of the identification numbers “2” and “4” are stored in the primitive number memory corresponding to all the pixels, 1 is set in the completion flag fl. Thus, it is excluded from the scope of subsequent search processing.
図21の右部は、「検索プリミティブ番号PN=5」における、全区分領域の描画処理が終了した場合の描画処理を説明する図である。全ての区分領域n0〜nfが処理されると、検索プリミティブ番号PN「5」を対応するプリミティブ番号メモリに有する全ての画素が検索され、画素データが生成される。これにより、処理対象ブロックに描画される全てのプリミティブの描画処理が完了するため、全区分領域の完了フラグfl0〜flfが1に更新される。 The right part of FIG. 21 is a diagram for explaining the drawing process when the drawing process for all the divided areas is finished in “search primitive number PN = 5”. When all the divided areas n0 to nf are processed, all the pixels having the search primitive number PN “5” in the corresponding primitive number memory are searched, and pixel data is generated. As a result, the drawing processing of all primitives drawn in the processing target block is completed, and the completion flags fl0 to flf of all the divided areas are updated to 1.
また、この場合、プリミティブ番号メモリpm0〜pmfは、検索プリミティブ番号PN「5」より大きい識別番号を有しないため(S52のNO)、次回検索プリミティブ番号nPNは初期値であるMax値「6」のまま更新されない。これにより、ラスタライズ処理部24は、処理対象ブロックに描画される全プリミティブの描画処理が終了したものとみなし、内部メモリに格納した画素データを外部メモリ102のフレームバッファに書き込む(S56)。
In this case, since the primitive number memories pm0 to pmf do not have an identification number larger than the retrieval primitive number PN “5” (NO in S52), the next retrieval primitive number nPN is an initial value of the Max value “6”. Not updated. Thereby, the
このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ(プリミティブパラメータ)を第1のメモリ(外部メモリ)から読み出し、頂点パラメータに基づいて対象ブロック内の各画素について、前面に描画されるプリミティブの識別番号(識別情報)を生成し第2のメモリ(内部高速メモリ)のプリミティブ番号メモリに書き込む。この時、画像描画装置は、プリミティブの識別番号の生成中に、対象ブロックに描画されるプリミティブであって、入力順の最も早いプリミティブの識別番号を先頭識別情報(先頭識別情報)として保持する。例えば、画像描画装置は、プリミティブの識別番号の生成時、描画命令の入力順にプリミティブの頂点パラメータを読み出し、プリミティブ番号メモリに初めに書き込む識別番号を先頭識別情報として保持する。 As described above, the image drawing apparatus according to the present embodiment stores, in the block unit, the vertex parameter (primitive parameter) including the coordinate information of the vertex of the primitive drawn in the block and the depth information indicating the depth in the first memory. The identification number (identification information) of the primitive drawn on the front surface is generated for each pixel in the target block based on the vertex parameter, read from (external memory), and stored in the primitive number memory of the second memory (internal high-speed memory) Write. At this time, during the generation of the primitive identification number, the image drawing apparatus holds the primitive identification number that is drawn in the target block and that has the earliest input order as head identification information (head identification information). For example, when generating the primitive identification number, the image drawing apparatus reads the vertex parameters of the primitive in the order of input of the drawing command, and holds the identification number that is initially written in the primitive number memory as the head identification information.
そして、画像描画装置は、ブロック単位に、先頭識別情報のプリミティブから入力順に、対象プリミティブの頂点の座標情報と色情報とを含む頂点パラメータを第1のメモリから読み出すと共に、プリミティブ番号メモリに対象プリミティブの識別番号を有する画素について、頂点パラメータに基づいて画素データを生成しフレームバッファに書き込む。 Then, the image drawing apparatus reads, from the first memory, the vertex parameters including the coordinate information and the color information of the vertex of the target primitive in the input order from the primitive of the head identification information, and also stores the target primitive in the primitive number memory. Pixel data is generated based on the vertex parameter and written to the frame buffer for the pixel having the identification number.
これにより、画像描画装置は、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブから、プリミティブ番号メモリに対して対象プリミティブの識別番号を有する画素を検索することができる。これにより、入力順が0番目のプリミティブが処理対象ブロックに描画されない場合、(0番目のプリミティブの)プリミティブ番号メモリの不要な検索処理を省くことができる。この結果、プリミティブ番号メモリの検索処理がより効率的に行われる。 As a result, the image drawing apparatus can search for a pixel having the identification number of the target primitive in the primitive number memory from the primitive drawn in the processing target block and having the earliest input order. As a result, when the 0th primitive in the input order is not drawn in the processing target block, unnecessary search processing of the primitive number memory (of the 0th primitive) can be omitted. As a result, the search process of the primitive number memory is performed more efficiently.
また、画像描画装置は、ブロックを複数の区分領域に分割し、プリミティブ番号メモリの対象プリミティブの識別番号を有する画素の検索時に、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索処理の範囲対象外とする。これにより、画像描画装置は、プリミティブ番号メモリの検索時の対象領域を限定することができ、検索効率を向上させることができる。また、画像描画装置は区分領域内の複数の画素について、処理を並列化する。これにより、画像描画装置は、画像描画装置の並列化の度合いを抑え回路規模を抑えながら、プリミティブ番号メモリの検索処理をより効率的にすることができる。 In addition, the image drawing apparatus divides the block into a plurality of divided areas, and when searching for a pixel having the identification number of the target primitive in the primitive number memory, the primitive number corresponding to the divided area in which pixel data of all the pixels has been generated The memory area is excluded from the scope of search processing. Thereby, the image drawing apparatus can limit the target area at the time of searching the primitive number memory, and can improve the search efficiency. Further, the image drawing apparatus parallelizes the processing for a plurality of pixels in the partitioned area. As a result, the image drawing device can make the primitive number memory search process more efficient while reducing the degree of parallelization of the image drawing devices and reducing the circuit scale.
[第2の実施の形態例]
第1の実施の形態例における画像描画装置は、処理対象ブロックに描画されるプリミティブであって入力順の最も早いプリミティブの識別番号を保持していたのに対し、第2の実施の形態例における画像描画装置は、処理対象ブロックの区分領域毎に、当該区分領域に描画されるプリミティブであって入力順の最も早いプリミティブの識別番号を保持する。これにより、画像描画装置は、プリミティブ番号メモリに検索処理をより効率的にすることができる。以下、フローチャート図に基づいて説明する。
[Second Embodiment]
The image drawing apparatus in the first embodiment holds the identification number of the primitive that is drawn in the processing target block and is the earliest in the input order, whereas in the second embodiment, The image drawing apparatus holds, for each partitioned area of the processing target block, an identification number of a primitive that is drawn in the partitioned area and that has the earliest input order. As a result, the image drawing apparatus can more efficiently search the primitive number memory. Hereinafter, description will be given based on a flowchart.
図22は、第2の実施の形態例における深度テストの処理を表すフローチャート図である。同図において、プリミティブ番号メモリへの書き込みまでの処理(S61〜S65)は、第1の実施の形態例(S31〜S35)と同様である。第2の実施の形態例におけるラスタライズ処理部24は、注目画素の深度値Dが、深度メモリZBから読み出した注目画素の深度値Dmより小さいとき(S63のYES)、注目画素が含まれる区分領域に対応するプリミティブ番号メモリPMへの最初の書き込みである場合に(S66のYES)、識別番号を当該区分領域に対応するレジスタR2[領域番号]に保持しておく(S67)。
FIG. 22 is a flowchart showing the depth test process in the second embodiment. In the figure, the processing (S61 to S65) up to writing to the primitive number memory is the same as that in the first embodiment (S31 to S35). When the depth value D of the pixel of interest is smaller than the depth value Dm of the pixel of interest read from the depth memory ZB (YES in S63), the
そして、処理対象ブロックに描画される全てのプリミティブについて深度テストが行われると、処理対象ブロックの各画素について、前面に描画されるプリミティブの識別番号がプリミティブ番号メモリPMに格納される。また、各区分領域のレジスタR2には、各区分領域に対応するプリミティブ番号メモリPM領域に、最初に書き込まれた識別番号、即ち、区分領域に描画されるプリミティブであって最も入力順の早いプリミティブを示す識別番号が保持される。 When the depth test is performed on all primitives drawn in the processing target block, the identification number of the primitive drawn on the front surface is stored in the primitive number memory PM for each pixel of the processing target block. Further, in the register R2 of each segmented area, the identification number written first in the primitive number memory PM area corresponding to each segmented area, that is, the primitive drawn in the segmented area and having the earliest input order Is stored.
図23は、本実施の形態例の深度テスト処理部42におけるハードウェアの構成例を表す図である。レジスタR2、及び書き込み判定部75以外は、第1の実施の形態例と同様である。本実施の形態例において、書き込み判定部75は、注目画素の深度値Dが深度メモリZBから読み出した深度値Dmよりも小さい場合、注目画素が含まれる区分領域内の初回の書き込みであるか否かを判定する。初回の書き込みであった場合、区分領域に対応するレジスタR2に対象プリミティブを示す識別番号が書き込まれる。ここで、本実施の形態例における深度テスト処理を、図6の具体例に基づいて説明する。
FIG. 23 is a diagram illustrating a configuration example of hardware in the depth
図13の右図には、第2の実施の形態例におけるブロックb8に係るプリミティブP2の深度テスト後のレジスタR20〜R2fが表される。深度メモリZB及びプリミティブ番号メモリPMについては、第1の実施の形態例と同様である。プリミティブP2の深度テストの結果、プリミティブP2が描画される画素が含まれる区分領域のレジスタR24〜R2fに、識別番号「2」が保持される。そして、図14の右図には、続いて行われるプリミティブP4の深度テスト後のレジスタR20〜R2fが表される。プリミティブP4の深度テストの結果、プリミティブP4が描画される画素を有する区分領域であって、対応するプリミティブ番号メモリに初めて書き込みが行われる区分領域のレジスタR21〜R23に識別番号「4」が書き込まれる。 The right diagram of FIG. 13 shows registers R20 to R2f after the depth test of the primitive P2 related to the block b8 in the second embodiment. The depth memory ZB and the primitive number memory PM are the same as those in the first embodiment. As a result of the depth test of the primitive P2, the identification number “2” is held in the registers R24 to R2f of the divided area including the pixel on which the primitive P2 is drawn. 14 shows the registers R20 to R2f after the depth test of the primitive P4 to be performed subsequently. As a result of the depth test of the primitive P4, the identification number “4” is written into the registers R21 to R23 of the partitioned area having the pixel in which the primitive P4 is drawn and first written to the corresponding primitive number memory. .
図15の右図には、続いて行われるプリミティブP5の深度テスト後のレジスタR20〜R2fが表される。プリミティブP5の深度テスト時には、ぞれぞれの区分領域に対応するプリミティブ番号メモリは既に書き込み済みである。そのため、いずれのレジスタR20〜R2fも更新されない。そして、ラスタライズ処理部24は、深度テストによるレジスタR20〜R2fに基づいて、後続のプリミティブの描画処理を効率的に行う。続いて、プリミティブの描画処理について、フローチャート図に基づいて説明する。
The right diagram of FIG. 15 shows registers R20 to R2f after the depth test of the primitive P5 to be performed subsequently. At the time of the depth test of the primitive P5, the primitive number memory corresponding to each divided area has already been written. Therefore, none of the registers R20 to R2f is updated. The
図24は、第2の実施の形態例におけるプリミティブの描画処理を説明するフローチャート図である。同図において、ラスタライズ処理部24は、まず、検索プリミティブ番号PN及び次回検索プリミティブ番号nPNに、Max値をセットして初期化する(S71)。そして、ラスタライズ処理部24は、区分領域毎に、対応するレジスタR20〜R2fの有する識別番号が検索プリミティブ番号PNより小さい場合に(S72、S73のYES)、当該識別番号を検索プリミティブ番号PNにセットすると共に、区分領域の領域番号arを注目領域番号Sarとして保持する(S74)。
FIG. 24 is a flowchart for explaining a primitive drawing process according to the second embodiment. In the figure, the
全ての区分領域について、処理S72〜S74が行われると、レジスタR20〜R2fが有する識別番号のうち、最も値の小さい(入力順の早い)識別番号が検索プリミティブ番号PNにセットされると共に、当該識別番号を有するレジスタR20〜R2fに対応する区分領域の領域番号arが注目領域番号Sarとして保持される。 When the processes S72 to S74 are performed for all the divided areas, the identification number having the smallest value (fastest input order) among the identification numbers of the registers R20 to R2f is set as the search primitive number PN. The area number ar of the divided area corresponding to the registers R20 to R2f having the identification number is held as the attention area number Sar.
続いて、ラスタライズ処理部24は、検索プリミティブ番号PNとMax値とを比較する(S75)。一致しない場合(S75のYES)、ラスタライズ処理部24は、注目領域番号Sarが示す区分領域を注目区分領域とする。そして、ラスタライズ処理部24は、第1の実施の形態例と同様に、注目区分領域のM個の各画素(以下、注目画素)について並列に、対応するプリミティブ番号メモリに検索プリミティブ番号PNと一致する識別番号を有する注目画素を検索し(S76のYES)、画素データを生成する(S76〜S80)。
Subsequently, the
また、検索プリミティブ番号PNと、注目画素に対応するプリミティブ番号メモリPMが有する識別番号(PM[mn][Sar])が一致しない場合(S76のNO)、検索プリミティブ番号PNが識別番号より小さいか否か判定する(S81)。検索プリミティブ番号PNが識別番号より小さく(S81のYES)、さらに、次回検索プリミティブ番号nPNが識別番号より大きい場合に(S82のYES)、ラスタライズ処理部24は、次回検索プリミティブ番号nPNに識別番号をセットする(S83)。これにより、次回検索プリミティブ番号nPNには、注目区分領域に描画されるプリミティブであって、検索プリミティブ番号PNの次に入力順の早いプリミティブを示す識別番号が保持される。
If the search primitive number PN and the identification number (PM [mn] [Sar]) of the primitive number memory PM corresponding to the target pixel do not match (NO in S76), is the search primitive number PN smaller than the identification number? It is determined whether or not (S81). When the search primitive number PN is smaller than the identification number (YES in S81) and the next search primitive number nPN is larger than the identification number (YES in S82), the
注目区分領域の処理(S76〜S83)が終わると、ラスタライズ処理部24は、注目区分領域に対応するレジスタR2[Sar]に次回検索プリミティブ番号nPNを書き込む(S84)。これにより、注目区分領域に対応するレジスタR2[Sar]は、注目区分領域に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号で更新される。そして、処理S71に戻り、同様にして、ラスタライズ処理は、レジスタR20〜R2fが有する識別番号のうち、最も値の小さい(入力順の早い)識別番号を検索プリミティブ番号PNにセットし、当該識別番号を有するレジスタR20〜R2fに対応する区分領域を注目領域とする。
When the processing of the attention segment area (S76 to S83) is finished, the
そして、ラスタライズ処理部24は、検索プリミティブ番号PNがMax値と一致しなければ(S75のYES)、注目区分領域に対して同様の処理を行う(S75〜S84)。一方、検索プリミティブ番号PNがMax値と一致する場合(S75のNO)、処理対処ブロックに描画される全プリミティブの描画処理が完了したことを意味する。そこで、ラスタライズ処理部24は、内部メモリに格納された処理対象ブロックの画素データを外部メモリ102のフレームバッファに書き込み(S85)、描画処理を終了する。
Then, if the search primitive number PN does not match the Max value (YES in S75), the
図25は、本実施の形態例の描画処理部44(図5)におけるハードウェアの構成例を表す図である。本実施の形態例において、描画処理部44は、完了フラグflを有さず、区分領域毎にレジスタR2を有する。また、本実施の形態例において、座標生成部81は、第1の実施の形態例と異なり、区分領域毎のレジスタR2(R20〜R2f)から一番小さい識別番号を検出し、当該識別番号を有する区分領域の座標情報(x,y)を順次生成して、メモリアドレス変換部62へ出力する。また、次回検索プリミティブ番号取得部84は、注目区分領域に対応するレジスタR2を、注目区分領域に以降に描画されるプリミティブのうち最も入力順の早いプリミティブを示す識別番号で更新する。続いて、図6の具体例に基づいて描画処理を説明する。
FIG. 25 is a diagram illustrating a hardware configuration example of the drawing processing unit 44 (FIG. 5) according to the present embodiment. In the present embodiment, the
図26は、「検索プリミティブ番号PN=2」のときの描画処理を説明する図である。ラスタライズ処理部24は、レジスタR20〜R2fに保持された識別番号のうち、最も値の小さい識別番号、即ち、最も入力順の早いプリミティブを示す識別番号「2」を検索プリミティブ番号PNにセットすると共に、レジスタR20〜R2fに当該識別番号を保持する区分領域n4を注目区分領域に設定する。そして、ラスタライズ処理部24は、注目区分領域n4に対応するプリミティブ番号メモリpm4から、識別番号「2」を有する画素を検索し(S76のYES)、当該画素の画素データを生成する(S77〜S80)。
FIG. 26 is a diagram illustrating the drawing process when “search primitive number PN = 2”. The
この場合、識別番号「2」を有するレジスタR24〜R2fに対応する区分領域n4〜nfに対応するプリミティブ番号メモリPM領域には、必ず、識別番号「2」を有する画素が含まれる。ラスタライズ処理部24は、必ず、識別番号「2」を有するプリミティブ番号メモリPM領域を対象として、プリミティブ番号メモリPM領域に識別番号「2」が格納される画素の検索処理を行う。これにより、プリミティブ番号メモリPMの検索効率が向上する。
In this case, the primitive number memory PM area corresponding to the divided areas n4 to nf corresponding to the registers R24 to R2f having the identification number “2” always includes a pixel having the identification number “2”. The
また、ラスタライズ処理部24は、画素データの生成処理を行うと共に、レジスタR24〜R2fに、対応する区分領域n4〜nf内に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号「4」を書き込んで更新する(S84)。これにより、レジスタR20〜R2fには、対応する区分領域に描画されるプリミティブであって、最も入力順の早いプリミティブを示す識別番号が常に保持されることになる。
The
図26の右図は、レジスタR20〜R2fに識別番号「2」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。このように、レジスタR20〜R2fには、当該区分領域に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号「4」及び「5」が保持される。また、プリミティブP2のみが描画される区分領域n9〜nb、即ち、全画素の画素データの生成が完了した区分領域のレジスタR29〜R2bには、Max値「6」がセットされる。 The right diagram of FIG. 26 is a diagram for explaining the drawing process when the drawing process of the segmented area having the identification number “2” in the registers R20 to R2f is completed. As described above, the registers R20 to R2f hold the identification numbers “4” and “5” indicating the primitives drawn in the divided area and indicating the next primitive in the next input order. In addition, the Max value “6” is set in the divided areas n9 to nb in which only the primitive P2 is drawn, that is, the registers R29 to R2b in the divided areas where the generation of the pixel data of all the pixels is completed.
続いて、ラスタライズ処理部24は、同様に、レジスタR20〜R2fに保持された識別番号のうち、最も入力順の早いプリミティブを示す識別番号「4」を検索プリミティブ番号PNとして、プリミティブ番号メモリPMの検索処理を行う。この時、ラスタライズ処理部24は、識別番号「4」を保持するレジスタR2の区分領域に対応するプリミティブ番号メモリPM領域を対象として、検索処理を行う。同様にして、プリミティブP4が描画される画素を有する区分領域に対応するプリミティブ番号メモリPM領域に対して検索処理が行われ、プリミティブ番号メモリPMの検索効率が向上する。
Subsequently, the
図27の左図は、レジスタR20〜R2fに識別番号「4」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。描画処理の結果、対応するプリミティブ番号メモリPMに識別番号「2」または「4」のみを有する区分領域n2、n3、n6、n9〜nbのレジスタR22、R23、R26、R29〜R2bには、Max値「6」が保持される。続いて、ラスタライズ処理部24は、レジスタR20〜R2fに保持された識別番号のうち最も入力順の早いプリミティブを示す識別番号「5」を検索プリミティブ番号PNとして、プリミティブ番号メモリPMの検索処理を行う。同様にして、この時、ラスタライズ処理部24は、識別番号「5」を保持するレジスタR2の区分領域に対応するプリミティブ番号メモリPM領域を対象として、検索処理を行う。
The left diagram of FIG. 27 is a diagram for explaining the rendering process when the rendering process for the segmented area having the identification number “4” in the registers R20 to R2f is completed. As a result of the drawing process, the registers R22, R23, R26, and R29 to R2b of the partitioned areas n2, n3, n6, and n9 to nb having only the identification number “2” or “4” in the corresponding primitive number memory PM have Max. The value “6” is held. Subsequently, the
図27の右図は、レジスタR20〜R2fに識別番号「5」を有する区分領域の描画処理が終了した場合の描画処理を説明する図である。処理対象ブロックに描画される全てのプリミティブの描画処理が終了するため、描画処理の結果、レジスタR20〜R2fには全てMax値「6」が保持される。そして、検索プリミティブ番号PNがMax値と一致するため(S75のNO)、ラスタライズ処理部24は、内部メモリに格納した処理対象ブロックの各画素の画素データを外部メモリ102のフレームバッファに書き込む(S85)。
The right diagram of FIG. 27 is a diagram for explaining the drawing process when the drawing process of the segmented area having the identification number “5” in the registers R20 to R2f is completed. Since drawing processing of all primitives drawn in the processing target block is completed, as a result of the drawing processing, the registers R20 to R2f all hold the Max value “6”. Since the search primitive number PN matches the Max value (NO in S75), the
このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ(プリミティブパラメータ)を第1のメモリ(外部メモリ)から読み出し、頂点パラメータに基づいて対象ブロック内の各画素について、前面に描画されるプリミティブの識別番号(識別情報)を生成し第2のメモリ(内部高速メモリ)のプリミティブ番号メモリに書き込む。この時、画像描画装置は、プリミティブの識別番号の生成中に、ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、入力順の最も早いプリミティブの識別番号を先頭識別情報として保持する。例えば、画像描画装置は、プリミティブの識別番号の生成時、描画命令の入力順にプリミティブの頂点パラメータを読み出し、区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別番号を先頭識別情報として保持する。 As described above, the image drawing apparatus according to the present embodiment stores, in the block unit, the vertex parameter (primitive parameter) including the coordinate information of the vertex of the primitive drawn in the block and the depth information indicating the depth in the first memory. The identification number (identification information) of the primitive drawn on the front surface is generated for each pixel in the target block based on the vertex parameter, read from (external memory), and stored in the primitive number memory of the second memory (internal high-speed memory) Write. At this time, during the generation of the identification number of the primitive, the image drawing apparatus obtains the primitive identification number that is drawn in the divided area for each divided area obtained by dividing the block into a plurality of blocks and that has the earliest input order. Stored as head identification information. For example, when generating the identification number of the primitive, the image drawing apparatus reads the vertex parameters of the primitive in the order of input of the drawing command, and holds the identification number that is initially written in the primitive number memory area corresponding to the segmented area as the head identification information.
そして、画像描画装置は、ブロック単位に、複数の先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの頂点の座標情報と色情報とを含む頂点パラメータを第1のメモリから読み出すと共に、最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に最先頭識別情報を有する画素について、頂点パラメータに基づいて画素データを生成しフレームバッファに書き込む。そして、画像描画装置は、さらに、プリミティブ番号メモリ領域における次に入力順の早い識別番号を、区分領域の新たな先頭識別情報として更新する。 Then, the image drawing apparatus reads, from the first memory, vertex parameters including the vertex coordinate information and color information of the primitive of the earliest head identification information in the input order among the plurality of head identification information in units of blocks. Pixel data is generated based on the vertex parameter and written to the frame buffer for the pixel having the top identification information in the primitive number memory area corresponding to the segment area of the top identification information. Then, the image drawing apparatus further updates the identification number in the primitive number memory area, which is next in the input order, as new head identification information in the segmented area.
これにより、画像描画装置は、処理対象ブロックに描画されるプリミティブであって、最も入力順の早いプリミティブから順次、当該プリミティブが描画される区分領域に対応するプリミティブ番号メモリ領域を対象として、対象プリミティブの識別番号を有する画素を検索することができる。これにより、入力順が0番目のプリミティブが処理対象ブロックに描画されない場合、(0番目のプリミティブの)プリミティブ番号メモリの不要な検索処理を省くことができる。 As a result, the image drawing apparatus targets the primitive number memory area corresponding to the divided area where the primitive is drawn in order from the primitive with the earliest input order that is drawn in the processing target block. It is possible to search for pixels having the identification number. As a result, when the 0th primitive in the input order is not drawn in the processing target block, unnecessary search processing of the primitive number memory (of the 0th primitive) can be omitted.
また、本実施の形態例における画像描画装置は、区分領域毎に、各区分領域内の画素に描画されるプリミティブであって次に入力順の早いプリミティブを示す識別番号を常に保持するため、処理対象ブロックに描画される次に入力順の早いプリミティブの情報に加え、当該プリミティブが描画される画素を含む区分領域を特定することができる。これにより、画像描画装置は、検索対象のプリミティブを示す識別番号を必ず有する、特定した区分領域に対応するプリミティブ番号メモリ領域を検索対象領域とすることにより、プリミティブ番号メモリの検索効率をより向上させることができる。 In addition, the image drawing apparatus according to the present embodiment always holds, for each segmented area, an identification number indicating a primitive that is rendered on a pixel in each segmented area and that is the next primitive in the input order. In addition to information on primitives that are drawn next to the target block in the next input order first, it is possible to specify a segmented region including a pixel on which the primitive is drawn. As a result, the image drawing apparatus further improves the search efficiency of the primitive number memory by setting the primitive number memory area corresponding to the specified segmented area, which always has an identification number indicating the primitive to be searched, as the search target area. be able to.
さらに、本実施の形態例における画像描画装置は、区分領域内の複数の画素について、処理を並列化する。これにより、画像描画装置は、画像描画装置の並列化の度合いを抑え回路規模を抑えながら、プリミティブ番号メモリの検索処理をより効率的にすることができる。 Furthermore, the image drawing apparatus according to the present embodiment parallelizes the processing for a plurality of pixels in the partitioned area. As a result, the image drawing device can make the primitive number memory search process more efficient while reducing the degree of parallelization of the image drawing devices and reducing the circuit scale.
以上の実施の形態をまとめると、次の付記のとおりである。 The above embodiment is summarized as follows.
(付記1)
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第1のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第2のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第1のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第1のメモリから読み出す画像描画装置。
(Appendix 1)
For each block obtained by dividing the frame into a plurality of blocks, primitive parameters including the coordinate information of the vertices of the primitive drawn in the block and the depth information indicating the depth are read from the first memory, and based on the primitive parameters, the block A drawing primitive identification information generating unit that generates identification information of the primitive drawn on the front surface and writes the primitive identification information in a primitive number memory of the second memory,
Primitive parameters including coordinate information and color information of the vertexes of the target primitive are read from the first memory in the input order of the rendering command of the primitive for each block, and the target primitive is identified in the primitive number memory. A pixel data generating unit that generates pixel data based on the primitive parameter and writes the pixel data to a frame buffer for the pixel having information;
The drawing primitive identification information generating unit holds the identification information of the primitive that is drawn in the block during generation of the identification information of the primitive and is the earliest in the input order as head identification information,
The image drawing device, wherein the pixel data generation unit reads the primitive parameters from the first memory in the input order from the primitive of the held head identification information.
(付記2)
付記1において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記プリミティブ番号メモリに初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
(Appendix 2)
In
The drawing primitive identification information generation unit reads the primitive parameters of the primitives in the order of input, and holds identification information to be initially written in the primitive number memory as the head identification information.
(付記3)
付記1において、
前記第2のメモリは、前記第1のメモリよりもアクセス速度が速い画像描画装置。
(Appendix 3)
In
The second memory is an image drawing apparatus having an access speed higher than that of the first memory.
(付記4)
付記1において、
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。
(Appendix 4)
In
Each of the blocks is divided into a plurality of partitioned regions;
The pixel data generation unit searches the primitive number memory to detect a pixel having identification information of the target primitive, and in the detection process, a primitive number corresponding to a segmented area in which pixel data of all pixels has been generated An image rendering device that excludes the memory area from the search range.
(付記5)
付記4において、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
(Appendix 5)
In
The pixel data generation unit is an image drawing device that performs processing in parallel for a plurality of pixels in the segmented region.
(付記6)
フレームを複数に分割したブロック単位に、当該ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含むプリミティブパラメータを第1のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第2のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第1のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、前記入力順の最も早いプリミティブの前記識別情報を先頭識別情報として保持し、
前記画素データ生成部は、複数の前記先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの前記プリミティブパラメータを前記第1のメモリから読み出すと共に、前記最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に前記最先頭識別情報を有する画素について画素データを生成し、さらに、前記プリミティブ番号メモリ領域における次に前記入力順の早い識別情報を前記先頭識別情報として更新する画像描画装置。
(Appendix 6)
For each block obtained by dividing the frame into a plurality of blocks, primitive parameters including the coordinate information of the vertices of the primitive drawn in the block and the depth information indicating the depth are read from the first memory, and based on the primitive parameters, the block A drawing primitive identification information generating unit that generates identification information of the primitive drawn on the front surface and writes the primitive identification information in a primitive number memory of the second memory,
Primitive parameters including coordinate information and color information of the vertexes of the target primitive are read from the first memory in the input order of the rendering command of the primitive for each block, and the target primitive is identified in the primitive number memory. A pixel data generating unit that generates pixel data based on the primitive parameter and writes the pixel data to a frame buffer for the pixel having information;
The drawing primitive identification information generation unit is a primitive drawn in the division area for each of the division areas obtained by dividing the block into a plurality of primitives during generation of the identification information of the primitive, and the primitive having the earliest input order Is held as the head identification information,
The pixel data generation unit reads out the primitive parameter of the primitive with the earliest input identification information in the input order from the first memory among the plurality of pieces of the head identification information, and corresponds to the segmented area of the head identification information An image drawing apparatus that generates pixel data for a pixel having the top identification information in the primitive number memory area to be updated, and further updates the identification information in the primitive number memory area next in the input order as the top identification information.
(付記7)
付記6において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
(Appendix 7)
In
The drawing primitive identification information generation unit reads the primitive parameters of the primitives in the order of input, and holds the identification information to be initially written in the primitive number memory area corresponding to the segmented area as the head identification information.
(付記8)
付記6において、
前記第2のメモリは、前記第1のメモリよりもアクセス速度が速い画像描画装置。
(Appendix 8)
In
The second memory is an image drawing apparatus having an access speed higher than that of the first memory.
(付記9)
付記6おいて、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
(Appendix 9)
In
The pixel data generation unit is an image drawing device that performs processing in parallel for a plurality of pixels in the segmented region.
101:CPU、100:GPU、102:外部メモリ、10:コマンド解釈部、11:ジオメトリ処理部、12:レンダリング処理部、21:セットアップ処理部、22:タイリング処理部、23:ソート処理部、24:ラスタライズ処理部 101: CPU, 100: GPU, 102: external memory, 10: command interpretation unit, 11: geometry processing unit, 12: rendering processing unit, 21: setup processing unit, 22: tiling processing unit, 23: sort processing unit, 24: Rasterization processing unit
Claims (5)
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第1のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックに描画されるプリミティブであって、前記入力順の最も早いプリミティブの識別情報を先頭識別情報として保持し、
前記画素データ生成部は、前記保持した前記先頭識別情報のプリミティブから前記入力順に、前記プリミティブパラメータを前記第1のメモリから読み出す画像描画装置。 For each block obtained by dividing the frame into a plurality of blocks, primitive parameters including the coordinate information of the vertices of the primitive drawn in the block and the depth information indicating the depth are read from the first memory, and based on the primitive parameters, the block A drawing primitive identification information generating unit that generates identification information of the primitive drawn on the front surface and writes the primitive identification information in a primitive number memory of the second memory,
Primitive parameters including coordinate information and color information of the vertexes of the target primitive are read from the first memory in the input order of the rendering command of the primitive for each block, and the target primitive is identified in the primitive number memory. A pixel data generating unit that generates pixel data based on the primitive parameter and writes the pixel data to a frame buffer for the pixel having information;
The drawing primitive identification information generating unit holds the identification information of the primitive that is drawn in the block during generation of the identification information of the primitive and is the earliest in the input order as head identification information,
The image drawing device, wherein the pixel data generation unit reads the primitive parameters from the first memory in the input order from the primitive of the held head identification information.
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記プリミティブ番号メモリに初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。 In claim 1,
The drawing primitive identification information generation unit reads the primitive parameters of the primitives in the order of input, and holds identification information to be initially written in the primitive number memory as the head identification information.
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。 In claim 1,
Each of the blocks is divided into a plurality of partitioned regions;
The pixel data generation unit searches the primitive number memory to detect a pixel having identification information of the target primitive, and in the detection process, a primitive number corresponding to a segmented area in which pixel data of all pixels has been generated An image rendering device that excludes the memory area from the search range.
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第1のメモリから読み出すと共に、前記プリミティブ番号メモリに前記対象プリミティブの識別情報を有する画素について、前記プリミティブパラメータに基づいて画素データを生成しフレームバッファに書き込む画素データ生成部とを有し、
前記描画プリミティブ識別情報生成部は、前記プリミティブの識別情報の生成中に、前記ブロックを複数に分割した区分領域毎に、当該区分領域に描画されるプリミティブであって、前記入力順の最も早いプリミティブの前記識別情報を先頭識別情報として保持し、
前記画素データ生成部は、複数の前記先頭識別情報のうち入力順の最も早い最先頭識別情報のプリミティブの前記プリミティブパラメータを前記第1のメモリから読み出すと共に、前記最先頭識別情報の区分領域に対応するプリミティブ番号メモリ領域に前記最先頭識別情報を有する画素について画素データを生成し、さらに、前記プリミティブ番号メモリ領域における次に前記入力順の早い識別情報を前記先頭識別情報として更新する画像描画装置。 For each block obtained by dividing the frame into a plurality of blocks, primitive parameters including the coordinate information of the vertices of the primitive drawn in the block and the depth information indicating the depth are read from the first memory, and based on the primitive parameters, the block A drawing primitive identification information generating unit that generates identification information of the primitive drawn on the front surface and writes the primitive identification information in a primitive number memory of the second memory,
Primitive parameters including coordinate information and color information of the vertexes of the target primitive are read from the first memory in the input order of the rendering command of the primitive for each block, and the target primitive is identified in the primitive number memory. A pixel data generating unit that generates pixel data based on the primitive parameter and writes the pixel data to a frame buffer for the pixel having information;
The drawing primitive identification information generation unit is a primitive drawn in the division area for each of the division areas obtained by dividing the block into a plurality of primitives during generation of the identification information of the primitive, and the primitive having the earliest input order Is held as the head identification information,
The pixel data generation unit reads out the primitive parameter of the primitive with the earliest input identification information in the input order from the first memory among the plurality of pieces of the head identification information, and corresponds to the segmented area of the head identification information An image drawing apparatus that generates pixel data for a pixel having the top identification information in the primitive number memory area to be updated, and further updates the identification information in the primitive number memory area next in the input order as the top identification information.
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。 In claim 4,
The drawing primitive identification information generation unit reads the primitive parameters of the primitives in the order of input, and holds the identification information to be initially written in the primitive number memory area corresponding to the segmented area as the head identification information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011156729A JP2013025376A (en) | 2011-07-15 | 2011-07-15 | Image drawing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011156729A JP2013025376A (en) | 2011-07-15 | 2011-07-15 | Image drawing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013025376A true JP2013025376A (en) | 2013-02-04 |
Family
ID=47783695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011156729A Pending JP2013025376A (en) | 2011-07-15 | 2011-07-15 | Image drawing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013025376A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182697A (en) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | Image display device |
JP2015210730A (en) * | 2014-04-28 | 2015-11-24 | ヤマハ株式会社 | Image processor |
CN111767362A (en) * | 2020-07-06 | 2020-10-13 | 河北省地矿局第二地质大队 | Intelligent drawing method of geological map legend |
US11100904B2 (en) | 2018-09-11 | 2021-08-24 | Kabushiki Kaisha Toshiba | Image drawing apparatus and display apparatus with increased memory efficiency |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135147A (en) * | 1991-05-16 | 1993-06-01 | Internatl Business Mach Corp <Ibm> | Method and apparatus for pickup in graphic system |
JPH11328441A (en) * | 1998-05-11 | 1999-11-30 | Hitachi Ltd | Graphics display control method and computer graphics |
WO2006028093A1 (en) * | 2004-09-06 | 2006-03-16 | Matsushita Electric Industrial Co., Ltd. | Video generation device and video generation method |
JP2010165357A (en) * | 2009-01-15 | 2010-07-29 | Arm Ltd | Method and apparatus for processing graphics |
-
2011
- 2011-07-15 JP JP2011156729A patent/JP2013025376A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135147A (en) * | 1991-05-16 | 1993-06-01 | Internatl Business Mach Corp <Ibm> | Method and apparatus for pickup in graphic system |
JPH11328441A (en) * | 1998-05-11 | 1999-11-30 | Hitachi Ltd | Graphics display control method and computer graphics |
WO2006028093A1 (en) * | 2004-09-06 | 2006-03-16 | Matsushita Electric Industrial Co., Ltd. | Video generation device and video generation method |
JP2010165357A (en) * | 2009-01-15 | 2010-07-29 | Arm Ltd | Method and apparatus for processing graphics |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182697A (en) * | 2013-03-21 | 2014-09-29 | Fujitsu Ltd | Image display device |
JP2015210730A (en) * | 2014-04-28 | 2015-11-24 | ヤマハ株式会社 | Image processor |
US11100904B2 (en) | 2018-09-11 | 2021-08-24 | Kabushiki Kaisha Toshiba | Image drawing apparatus and display apparatus with increased memory efficiency |
CN111767362A (en) * | 2020-07-06 | 2020-10-13 | 河北省地矿局第二地质大队 | Intelligent drawing method of geological map legend |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8482560B2 (en) | Image forming techniques | |
JP4579262B2 (en) | Early Z-test method and system for rendering three-dimensional images | |
US9013479B2 (en) | Apparatus and method for tile-based rendering | |
US20080129734A1 (en) | Apparatus and method of ray-triangle collision detection for ray-tracing | |
EP2697778B1 (en) | Pixel value compaction for graphics processing | |
KR102197067B1 (en) | Method and Apparatus for rendering same region of multi frames | |
US20120299910A1 (en) | Z-culling method, three-dimensional graphics processing method and apparatus threrof | |
US20140210819A1 (en) | Output ordering of domain coordinates for tessellation | |
KR101136737B1 (en) | Method of and appartus for processing graphics | |
KR20150039495A (en) | Apparatus and Method for rendering a current frame using an image of previous tile | |
US8743117B2 (en) | Processing of 3D computer graphics data on multiple shading engines | |
US20180174353A1 (en) | Method and apparatus for generating acceleration structure | |
US8345064B2 (en) | Method and system for tile binning using half-plane edge function | |
US20180174349A1 (en) | Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture | |
JP2006221650A (en) | Method of removing index of geometric primitive, rasterization device, computer readable medium | |
WO2016089497A1 (en) | Prediction based primitive sorting for tile based rendering | |
US7027047B2 (en) | 3D graphics rendering engine for processing an invisible fragment and a method therefor | |
JP2013025376A (en) | Image drawing device | |
JPH1166340A (en) | Device and method for processing image and recording medium recording image processing program | |
US20080117212A1 (en) | Method, medium and system rendering 3-dimensional graphics using a multi-pipeline | |
CN109493331B (en) | Method for rapidly acquiring overlapping area of two images based on parallel computing algorithm | |
US20060187229A1 (en) | Page based rendering in 3D graphics system | |
JP3629243B2 (en) | Image processing apparatus and method for rendering shading process using distance component in modeling | |
KR102537317B1 (en) | Multilevel selective rendering method and apparatus for increasing rendering performance | |
JP3979162B2 (en) | Image processing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150512 |