JP2013025376A - Image drawing device - Google Patents

Image drawing device Download PDF

Info

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
Application number
JP2011156729A
Other languages
Japanese (ja)
Inventor
Masayuki Nakamura
雅之 中村
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2011156729A priority Critical patent/JP2013025376A/en
Publication of JP2013025376A publication Critical patent/JP2013025376A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image drawing device for efficiently performing rasterization processing while suppressing costs.SOLUTION: The image drawing device comprises: a drawing primitive identification information generation part for reading a primitive parameter of a vertex of a primitive drawn in a pertinent block from a first memory by a block unit, generating identification information of the primitive drawn on a front surface for respective pixels within the block, and writing it in a primitive number memory of a second memory; and a pixel data generation part for reading the primitive parameter of an object parameter from the first memory in an input order of a drawing instruction of the primitive by the block unit, and generating and writing pixel data for the pixels having the identification information of the object primitive in the primitive number memory. The drawing primitive identification generation part holds the identification information of the primitive which is drawn in the block and has the earliest input order as leading identification information during generation of the identification information, and the pixel data generation part reads the primitive parameter in the input order from the primitive of the leading identification information.

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.

特開平5−135147号公報JP-A-5-135147

しかしながら、上述したプリミティブの描画処理において、対象タイルに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.

本実施の形態例における画像描画装置の構成の一例を示す図である。It is a figure which shows an example of a structure of the image drawing apparatus in this Embodiment. GPUのブロック図の一例を表す図である。It is a figure showing an example of the block diagram of GPU. プリミティブの頂点パラメータの一例を示す図である。It is a figure which shows an example of the vertex parameter of a primitive. フレームが分割されたブロックの一例を表す図である。It is a figure showing an example of the block into which the frame was divided. レンダリング処理部、ラスタライズ処理部のブロック図例を表す図である。It is a figure showing the example of a block diagram of a rendering process part and a rasterization process part. 第1の実施の形態例における描画対象プリミティブの一例を表す図である。It is a figure showing an example of the primitive for drawing in the example of a 1st embodiment. レンダリング処理部の処理の流れを表すフローチャート図である。It is a flowchart figure showing the flow of processing of a rendering processing part. 図6の具体例に基づくソート前後のシーンデータの一例を表す図である。It is a figure showing an example of the scene data before and behind sorting based on the specific example of FIG. プリミティブ処理を説明するフローチャート図である。It is a flowchart figure explaining a primitive process. 第1の実施の形態例の深度テストを説明するフローチャート図である。It is a flowchart figure explaining the depth test of the example of a 1st embodiment. 第1の実施の形態例における深度テスト処理部のハードウェア構成例図である。It is a hardware block diagram of the depth test processing unit in the first embodiment. 深度メモリ、プリミティブ番号メモリ、レジスタのデフォルト値を表す図である。It is a figure showing the default value of a depth memory, a primitive number memory, and a register. プリミティブP2の深度テスト後の各メモリを表す図である。It is a figure showing each memory after the depth test of primitive P2. プリミティブP4の深度テスト後の各メモリを表す図である。It is a figure showing each memory after the depth test of primitive P4. プリミティブP5の深度テスト後の各メモリを表す図である。It is a figure showing each memory after the depth test of primitive P5. 第1の実施の形態例の描画処理を説明するフローチャート図である。It is a flowchart figure explaining the drawing process of the example of 1st Embodiment. 第1の実施の形態例における描画処理部のハードウェア構成例図である。FIG. 3 is a hardware configuration example diagram of a drawing processing unit in the first embodiment. 検索プリミティブ番号PN=2の時の描画処理を説明する図である。It is a figure explaining the drawing process in case search primitive number PN = 2. 検索プリミティブ番号PN=2の時の描画処理を説明する第2図である。FIG. 10 is a second diagram illustrating a drawing process when a search primitive number PN = 2. 検索プリミティブ番号PN=2、4の時の描画処理を説明する図である。It is a figure explaining the drawing process at the time of search primitive number PN = 2,4. 検索プリミティブ番号PN=4、5の時の描画処理を説明する図である。It is a figure explaining the drawing process at the time of search primitive number PN = 4,5. 第2の実施の形態例の深度テストの処理を表すフローチャート図である。It is a flowchart figure showing the process of the depth test of the example of a 2nd embodiment. 第2の実施の形態例における深度テスト処理部のハードウェア構成例図である。It is a hardware structural example figure of the depth test process part in the example of a 2nd embodiment. 第2の実施の形態例の描画処理を説明するフローチャート図である。It is a flowchart figure explaining the drawing process of 2nd Example. 第2の実施の形態例における描画処理部のハードウェア構成例図である。It is a hardware structural example figure of the drawing process part in a 2nd embodiment. レジスタに識別番号2を有する区分領域の描画処理を説明する図である。It is a figure explaining the drawing process of the division area which has the identification number 2 in a register. レジスタに識別番号4、5を有する区分領域の描画処理を説明する図である。It is a figure explaining the drawing process of the division area which has the identification numbers 4 and 5 in a register.

以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。   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 external memory 102. The external memory 102 is composed of, for example, a DRAM (Dynamic Random Access Memory), and stores a frame buffer and the like. In the figure, an application (not shown) passes three-dimensional data of a three-dimensional object composed of a plurality of primitives and a drawing command to the GPU 100. The GPU 100 generates pixel data of a two-dimensional image when the stereoscopic object is viewed from a predetermined viewpoint based on the three-dimensional data, and writes the pixel data in the frame buffer.

図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 GPU 100. The GPU 100 includes a command interpretation unit 10, a geometry processing unit 11, and a rendering processing unit 12. In the figure, for example, the command interpreter 10 of the GPU 100 reads a drawing command list from the external memory 102 and interprets the drawing command. In general, a three-dimensional object is expressed as a collection of a large number of primitives. Based on the drawing command, the geometry processing unit 11 generates a vertex parameter and setting information of a primitive that is a two-dimensional coordinate on the display screen, and passes it to the rendering processing unit 12.

図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 geometry processing unit 11. The vertex parameters of the primitive Pm are coordinates of each vertex (pk1, y1), (x2, y2), (x3, y3) of the vertices pk1 to pk3 on the display screen DIS and RGB color levels which are image parameters at each vertex coordinate. It has tone values (hereinafter, color values) rgb1 to rgb3, and distances in the depth direction (hereinafter, depth values) z1 to z3. In the example of the figure, color values and depth values are illustrated as image parameters, but the image parameters may further include texture coordinate values for texture display and the like. Further, the setting information includes, for example, settings such as primitive transparency settings and whether or not to draw primitives (not shown).

図2に戻り、続いて、レンダリング処理部12は、頂点パラメータ及び設定情報に基づいて、プリミティブの頂点パラメータで画定される領域内の各画素について、色値を有する画素データを生成する。本実施の形態例において、レンダリング処理部12は、フレームを例えば「8画素×8画素」に分割したタイル(以下、ブロック)単位に、X、Y方向に走査して当該ブロックに含まれるプリミティブを画定する画素の画素データを生成する。   Returning to FIG. 2, subsequently, the rendering processing unit 12 generates pixel data having a color value for each pixel in the region defined by the vertex parameter of the primitive, based on the vertex parameter and the setting information. In the present embodiment, the rendering processing unit 12 scans in the X and Y directions in units of tiles (hereinafter referred to as blocks) obtained by dividing a frame into “8 pixels × 8 pixels”, for example, and displays primitives included in the blocks. Pixel data of the pixel to be defined is generated.

図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 rendering processing unit 12 and the rasterization processing unit 24 will be described.

図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 rendering processing unit 12. The rendering processing unit 12 includes a setup unit 21, a tiling processing unit 22, a sort processing unit 23, and a rasterization processing unit 24. The setup unit 21 processes the vertex parameters of the primitive received from the geometry processing unit 11 for subsequent processing as necessary. The subsequent tiling processing unit 22 determines in which block each primitive is included based on the vertex parameter. As a result, for each primitive, scene data having vertex parameters and setting information and block information in which the primitive is drawn is generated. Since the scene data has a large capacity, it is stored in the external memory 102, for example.

続いて、ソート処理部23は、シーンデータをソートし、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータと設定情報とを有するシーンデータを生成する。そして、ラスタライズ処理部24は、シーンデータに基づいて、ブロック単位にラスタライズ処理を行う。   Subsequently, the sort processing unit 23 sorts the scene data, and generates scene data having the vertex parameters and setting information of the primitive drawn in the block for each block. Then, the rasterization processing unit 24 performs rasterization processing on a block basis based on the scene data.

図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 rasterization processing unit 24. The primitive parameter reading unit 41 reads a vertex parameter including coordinate information and depth information of a primitive drawn in the processing target block from the external memory 102. Then, the depth test processing unit 42 performs a depth test based on the vertex parameter. Although details will be described later, at this time, the depth test processing unit 42 generates an identification number indicating a rendering target primitive for each pixel of the processing target block and writes the identification number in the primitive number memory PM. Since the primitive number memory PM does not require a large memory capacity, it is held in a high-speed internal memory such as an SRAM.

続いて、プリミティブ番号メモリ検索部43は、プリミティブ番号メモリPMから描画対象のプリミティブを示す識別番号を検索することにより、対象プリミティブが描画される画素を検出する。そして、プリミティブ描画処理部45は、プリミティブパラメータ読み出し部44によって読み出された対象プリミティブの頂点パラメータ及び設定情報に基づいて、検出した画素の画素データを生成する。   Subsequently, the primitive number memory search unit 43 searches the primitive number memory PM for an identification number indicating the primitive to be drawn, thereby detecting a pixel on which the target primitive is drawn. Then, the primitive drawing processing unit 45 generates pixel data of the detected pixel based on the vertex parameter and setting information of the target primitive read by the primitive parameter reading unit 44.

[第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 rendering processing unit 12 sequentially receives the vertex parameters and setting information of the primitive from the geometry processing unit 11, and if necessary, the subsequent tiling processing unit 22 and rasterization processing unit 24. Then, it is processed into a state that can be easily processed (S11). In addition, the setup processing unit 21 adds identification numbers to the primitives in the order in which drawing commands are input. For example, in the specific example of FIG. 6, the identification numbers such as primitive P0 “0”, primitive P1 “1”, primitive P2 “2”, primitive P3 “3”, primitive P4 “4”, and primitive P5 “5” Is added.

次に、レンダリング処理部12のタイリング処理部22は、各プリミティブが描画される画素が、フレーム内のいずれのブロックb0〜b11に含まれるのかを演算によって判定する(S12)。また、タイリング処理部22は、プリミティブ毎に、頂点パラメータ及び設定情報、当該プリミティブが描画されるブロック情報を有するシーンデータを生成し、外部メモリ102に格納する(S13、S14)。ただし、プリミティブの頂点パラメータはデータ容量が大きいため、本実施の形態例における頂点パラメータは、シーンデータとは別の外部メモリ102内のプリミティブデータバッファに格納される。この場合、シーンデータには、各プリミティブの頂点パラメータのプリミティブデータバッファにおけるアドレス情報が格納される。   Next, the tiling processing unit 22 of the rendering processing unit 12 determines by calculation which of the blocks b0 to b11 in the frame the pixel on which each primitive is drawn is included (S12). Further, the tiling processing unit 22 generates scene data having vertex parameters and setting information and block information on which the primitive is drawn for each primitive, and stores the scene data in the external memory 102 (S13, S14). However, since the vertex parameter of the primitive has a large data capacity, the vertex parameter in the present embodiment is stored in a primitive data buffer in the external memory 102 different from the scene data. In this case, address information in the primitive data buffer of vertex parameters of each primitive is stored in the scene data.

続いて、レンダリング処理部12のソート処理部23は、外部メモリ102から読み出したシーンデータをブロック単位にソートする(S15、S16)。ソート後のシーンデータは、ブロック毎に、当該ブロックに描画されるプリミティブの頂点パラメータ及び設定情報を有する。前述したとおり、本実施の形態例におけるシーンデータには、プリミティブデータバッファにおける各プリミティブの頂点パラメータの格納アドレスが格納される。このため、ソート対象のデータ容量が抑えられ、ソート処理の速度が向上する。   Subsequently, the sort processing unit 23 of the rendering processing unit 12 sorts the scene data read from the external memory 102 in units of blocks (S15 and S16). The sorted scene data includes, for each block, primitive vertex parameters and setting information drawn in the block. As described above, the scene data in the present embodiment stores the vertex parameter storage address of each primitive in the primitive data buffer. For this reason, the data capacity to be sorted is suppressed, and the speed of the sorting process is improved.

図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 rasterization processing unit 24 of the rendering processing unit 12 performs primitive processing on each primitive drawn in the processing target block in the order of input of the drawing command (S18). And a drawing process (S19). First, the primitive processing (S18) will be described based on the flowchart of FIG.

図9は、プリミティブ処理を説明するフローチャート図である。ラスタライズ処理部24は、プリミティブ処理として、処理対象ブロックの各画素について、前面に描画されるプリミティブを示す識別番号を生成し、プリミティブ番号メモリPMに書き込む。   FIG. 9 is a flowchart for explaining the primitive processing. As the primitive processing, the rasterization processing unit 24 generates an identification number indicating the primitive drawn on the front surface for each pixel of the processing target block, and writes the identification number in the primitive number memory PM.

まず、ラスタライズ処理部24は、処理対象ブロックに描画されるプリミティブリストを外部メモリ102のシーンデータから読み出す(S21)。続いて、ラスタライズ処理部24は、処理対象ブロックに描画される全プリミティブについて、描画命令の入力順に処理S22、S23を行う。処理S22として、ラスタライズ処理部24は、処理対象のプリミティブ(対象プリミティブ)の頂点パラメータのうち座標情報と深度情報とを外部メモリ102から読み出す。そして、ラスタライズ処理部24は、処理対象ブロック内の対象プリミティブが描画される各画素について深度テストを行う(S23)。次に、深度テスト(S23)について、図10のフローチャート図に基づいて説明する。   First, the rasterization processing unit 24 reads a primitive list drawn in the processing target block from the scene data in the external memory 102 (S21). Subsequently, the rasterization processing unit 24 performs the processes S22 and S23 in the input order of the drawing command for all primitives drawn in the processing target block. As processing S <b> 22, the rasterization processing unit 24 reads out coordinate information and depth information from the vertex parameters of the primitive to be processed (target primitive) from the external memory 102. Then, the rasterization processing unit 24 performs a depth test on each pixel on which the target primitive in the processing target block is drawn (S23). Next, the depth test (S23) will be described based on the flowchart of FIG.

図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 rasterization processing unit 24 reads the depth value Dm of a certain pixel (target pixel) among the pixels in which the target primitive is drawn from the depth memory ZB (S31). Subsequently, the rasterization processing unit 24 calculates and acquires the depth value D of the target pixel based on the coordinate information and the depth value of the vertex of the target primitive (S32), and compares it with the depth value Dm (S33).

注目画素の深度値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 rasterization processing unit 24 writes the depth value D to the address corresponding to the target pixel in the depth memory ZB (S34). Subsequently, the rasterization processing unit 24 writes an identification number indicating the target primitive to an address corresponding to the target pixel in the primitive number memory PM (S35). Then, in the case of the first writing to the primitive number memory PM of the processing target block (YES in S35), the rasterization processing unit 24 in the present embodiment holds the identification number in the register R1 (S36). . Accordingly, the register R1 is not updated in the second and subsequent writes to the primitive number memory PM of the block to be processed (NO in S35).

一方、注目画素の深度値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 rasterization processing unit 24 does not write to the depth memory ZB and the primitive number memory PM, and performs a depth test on the next pixel of interest (S31 to S37).

処理対象ブロック内の対象プリミティブが描画される全画素について深度テストが行われると、プリミティブ番号メモリ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 test processing unit 42 according to the present embodiment. The depth test processing unit 42 in the present embodiment includes a depth calculation unit 51, memory address conversion units 52 and 54, a depth test unit 53, a write determination unit 55, a primitive number memory PM, a depth memory ZB, a register R1, and timing adjustment. Registers t1 to t5. Timing adjustment registers t1 to t5 are provided to match the processing timing. The depth calculation unit 51 calculates and acquires the depth value D of the target pixel based on the vertex parameter, and also sends the coordinate information (x, y) of the target pixel to the memory address conversion unit 52 and the coordinate information (x, y). And the depth value D is passed to the timing adjustment register t1. The memory address conversion unit 52 converts the coordinate information (x, y) into the address of the depth memory ZB, reads the depth value Dm of the target pixel from the depth memory ZB, and passes it to the depth test unit 53.

そして、深度テスト部53は、深度値Dと深度メモリZBから読み出した深度値Dmとを比較する。深度値Dが深度値Dmよりも小さい場合、深度テスト部53は、タイミング調整用レジスタt3から出力された注目画素の座標情報(x,y)をメモリアドレス変換部54に出力する。深度テスト部53は、タイミング調整用レジスタt4に深度値Dを、タイミング調整用レジスタt5に対象のプリミティブの識別番号を出力する。そして、深度値Dが注目画素に対応する深度メモリZBのアドレスに書き込まれると共に、識別番号がメモリアドレス変換部54から出力された注目画素に対応するプリミティブ番号メモリPMのアドレスに書き込まれる。また、書き込み判定部55は、プリミティブ番号メモリPMへの初回の書き込みである場合、レジスタR1に識別番号を書き込む。   Then, the depth test unit 53 compares the depth value D with the depth value Dm read from the depth memory ZB. When the depth value D is smaller than the depth value Dm, the depth test unit 53 outputs the coordinate information (x, y) of the target pixel output from the timing adjustment register t3 to the memory address conversion unit 54. The depth test unit 53 outputs the depth value D to the timing adjustment register t4 and the identification number of the target primitive to the timing adjustment register t5. Then, the depth value D is written to the address of the depth memory ZB corresponding to the target pixel, and the identification number is written to the address of the primitive number memory PM corresponding to the target pixel output from the memory address conversion unit 54. Further, the write determination unit 55 writes the identification number in the register R1 when it is the first write to the primitive number memory PM.

なお、本実施の形態例において、深度テストは、区分領域が有する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 rasterization processing unit 24 first performs a depth test on the primitive P2.

図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 rasterization processing unit 24 reads the depth value Dm “1.0 (default value)” of the target pixel g1 from the depth memory ZB (S31 in FIG. 10). Subsequently, the rasterization processing unit 24 calculates and acquires the depth value 0.1 of the target pixel g1 based on the vertex coordinate information and the depth value of the primitive P2 (S32).

注目画素の深度値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 rasterization processing unit 24 writes the depth value 0.1 to the address corresponding to the target pixel of the depth memory ZB (S34), and the identification number indicating the primitive P2 at the address corresponding to the target pixel of the primitive number memory PM. “2” is written (S35). In this case, since this is the first writing in the primitive number memory PM (YES in S36), the rasterization processing unit 24 holds the identification number “2” in the register R1 (S37).

ラスタライズ処理部24は、ブロックb8におけるプリミティブP2が描画される他の画素についても同様に深度値を比較し(S33)、その結果に応じて深度メモリZB及びプリミティブ番号メモリPMを更新する(S34、S35)。また、この時、プリミティブ番号メモリPMの最初の書き込みではないことから(S36のNO)、ラスタライズ処理部24は、レジスタR1を更新しない。この結果、図13のように、プリミティブP2が描画される画素に対応する深度メモリZBのアドレスには0.1が、プリミティブ番号メモリPMのアドレスには識別番号「2」が書き込まれる。プリミティブP2の深度テストが終わると、ラスタライズ処理部24は、次に入力順の早いプリミティブP4について、同様に深度テストを行う。   The rasterization processing unit 24 similarly compares the depth values for other pixels on which the primitive P2 in the block b8 is drawn (S33), and updates the depth memory ZB and the primitive number memory PM according to the result (S34, S35). At this time, since it is not the first writing of the primitive number memory PM (NO in S36), the rasterization processing unit 24 does not update the register R1. As a result, as shown in FIG. 13, 0.1 is written in the address of the depth memory ZB corresponding to the pixel on which the primitive P2 is drawn, and the identification number “2” is written in the address of the primitive number memory PM. When the depth test of the primitive P2 is completed, the rasterization processing unit 24 similarly performs the depth test on the primitive P4 having the next highest input order.

図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 rasterization processing unit 24 similarly performs the depth test on the primitive P5 having the next highest input order.

図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 rasterization processing unit 24 performs the depth test (FIG. 10) in the order of input of the rendering command for all primitives rendered in the processing target block as all primitive processing (S18 in FIGS. 9 and 7). As a result, the primitive number memory PM stores an identification number indicating the primitive drawn on the front surface for each pixel of the processing target block. The register R1 holds an identification number indicating a primitive drawn in the processing target block and having the earliest input order. After all primitive processing, the rasterization processing unit 24 performs drawing processing of the processing target block (S19 in FIG. 7).

図16は、プリミティブの描画処理を説明するフローチャート図である。本実施の形態例におけるラスタライズ処理部24は、処理対象ブロックをさらに分割したN個の区分領域毎に完了フラグfl0〜flfを有する。また、本実施の形態例におけるラスタライズ処理部24は、区分領域が有するM個の各画素の処理を並列に行う。   FIG. 16 is a flowchart for explaining a primitive drawing process. The rasterization processing unit 24 in the present embodiment has completion flags fl0 to flf for each of N divided areas obtained by further dividing the processing target block. In addition, the rasterization processing unit 24 in the present embodiment performs processing of each of the M pixels included in the segmented region in parallel.

初め、ラスタライズ処理部24は、検索プリミティブ番号PNに、図10の深度テストでレジスタR1に保持させた識別番号をセットする(S41)。これにより、入力順は初め(0番目)のプリミティブではなく、処理対象ブロックに描画されるプリミティブであって入力順の最も早いプリミティブから、プリミティブ番号メモリPMの検索処理が行われる。また、ラスタライズ処理部24は、N個の区分領域n0〜nfにそれぞれ対応する完了フラグfl0〜flfに初期値0をセットしておく(S42)。続いて、ラスタライズ処理部24は、次回候補の検索プリミティブ番号(次回検索プリミティブ番号nPN)に、初期値としてフレームに描画されプリミティブの総数(Max値)をセットする(S43)。   First, the rasterization processing unit 24 sets the identification number held in the register R1 in the depth test of FIG. 10 to the search primitive number PN (S41). As a result, the primitive number memory PM is searched for not from the first (0th) primitive in the input order but from the primitive drawn in the processing target block and having the earliest input order. The rasterization processing unit 24 sets an initial value 0 to the completion flags fl0 to flf corresponding to the N segment areas n0 to nf, respectively (S42). Subsequently, the rasterization processing unit 24 sets the total number (Max value) of primitives drawn in the frame as an initial value to the next candidate search primitive number (next search primitive number nPN) (S43).

続いて、ラスタライズ処理部24は、区分領域毎に順次、処理S44〜S55を行う。まず、ラスタライズ処理部24は、注目画素の座標情報(x,y)に基づいて、注目画素が属する区分領域(注目区分領域)の番号(以下、領域番号ar)を取得する(S44)。そして、注目区分領域の完了フラグflが0か否かを判定する(S45)。完了フラグflが1である場合(S45のNO)、注目区分領域内の全ての画素の画素データが生成済みであることを意味する。その場合、ラスタライズ処理部24は、注目区分領域内の処理を終了し、次の注目区分領域について処理S44から処理を続行する。   Subsequently, the rasterization processing unit 24 sequentially performs processes S44 to S55 for each divided area. First, the rasterization processing unit 24 acquires the number (hereinafter, region number ar) of the segmented region (target segmented region) to which the target pixel belongs based on the coordinate information (x, y) of the target pixel (S44). Then, it is determined whether or not the completion flag fl of the noticed segment area is 0 (S45). When the completion flag fl is 1 (NO in S45), it means that the pixel data of all the pixels in the target segment area have been generated. In this case, the rasterization processing unit 24 ends the process in the attention segment area, and continues the process from process S44 for the next attention segment area.

一方、完了フラグ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 rasterization processing unit 24 sets 1 to the completion flag fl (S46), and performs processes S47 to S55 in parallel for each of the M pixels (hereinafter referred to as each pixel of interest) included in the region of interest.

まず、ラスタライズ処理部24は、各注目画素について、注目画素に対応するプリミティブ番号メモリPMが有する識別番号(PM[mn][ar])が、処理S41でセットされた検索プリミティブ番号PNと一致するか否かを判定する(S47)。一致する場合(S47のYES)、注目画素に検索プリミティブ番号PNの示すプリミティブが描画されることを意味する。そこで、ラスタライズ処理部24は、検索プリミティブ番号PNが示すプリミティブの頂点パラメータ及び設定情報を外部メモリ102から読み出す(S48)。なお、検索プリミティブ番号PNの頂点パラメータ及び設定情報が既に読み出し済みである場合、新たな読み出し処理は行われない。そして、ラスタライズ処理部24は、注目画素の座標情報を取得し(S49)、頂点パラメータに基づいて注目画素の画素データを取得して(S50)、内部メモリに格納する(S51)。   First, the rasterization processing unit 24, for each target pixel, the identification number (PM [mn] [ar]) of the primitive number memory PM corresponding to the target pixel matches the search primitive number PN set in step S41. It is determined whether or not (S47). If they match (YES in S47), it means that the primitive indicated by the search primitive number PN is drawn on the target pixel. Therefore, the rasterization processing unit 24 reads the primitive vertex parameter and setting information indicated by the search primitive number PN from the external memory 102 (S48). If the vertex parameter and setting information of the search primitive number PN have already been read, no new reading process is performed. The rasterization processing unit 24 acquires coordinate information of the target pixel (S49), acquires pixel data of the target pixel based on the vertex parameter (S50), and stores it in the internal memory (S51).

一方、一致しない場合(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 rasterization processing unit 24 determines whether or not the search primitive number PN is smaller than the identification number (PM [mn] [ar]) of the target pixel included in the primitive number memory PM (S52). When the search primitive number PN is equal to or greater than the identification number (NO in S52), the primitive drawn in the target pixel is in the input order before the primitive indicated by the search primitive number PN, and the generation of the pixel data is finished. Means that. Therefore, the rasterization processing unit 24 does not perform the processes S53 to S55.

一方、検索プリミティブ番号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 rasterization processing unit 24 updates the completion flag fl of the noticed segment area with 0 indicating that pixel data has not been generated (S53). Subsequently, the rasterization processing unit 24 determines whether or not the next retrieval primitive number nPN is larger than the identification number (PM [mn] [ar]) (S54).

次回検索プリミティブ番号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 rasterization processing unit 24 does not update the next search primitive number nPN. On the other hand, when the next search primitive number nPN is larger than the identification number (YES in S54), the primitive indicated by the next search primitive number nPN means that the input order is later than the primitive drawn in the target pixel. Therefore, the rasterization processing unit 24 updates the next retrieval primitive number nPN with the identification number (S55).

処理対象ブロック内の全ての区分領域について、検索プリミティブ番号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 rasterization processing unit 24 subsequently determines whether or not the next search primitive number nPN and the Max value match (S56). If they do not match (NO in S56), this means that the next retrieval primitive number nPN has been updated, that is, there is a primitive for which drawing processing has not been completed. Therefore, the rasterization processing unit 24 sets the next retrieval primitive number nPN to the retrieval primitive number PN (S57), initializes the next retrieval primitive number nPN with the Max value (S43), and sets all the divided areas whose completion flag fl is 0. Processes S44 to S55 are performed on the target.

一方、次回検索プリミティブ番号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 rasterization processing unit 24 writes the pixel data of the processing target block stored in the internal memory to the frame buffer of the external memory 102 (S58), and ends the drawing process. When the drawing process of the processing target block in FIG. 16 (S19 in FIG. 7) ends, the rendering processing unit 12 performs the rasterization process (S18, S19 in FIG. 7) with the next block as the processing target block. When rasterization processing is performed for all blocks, the rasterization processing unit 24 ends the frame rendering processing.

図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 drawing processing unit 44 in this embodiment includes a coordinate generation unit 61, a memory address conversion unit 62, a primitive number memory PM, a comparison unit 63, a next search primitive number acquisition unit 64, a register R1, a completion flag fl, and timing adjustment. Registers t11 to t14.

座標生成部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 address conversion unit 62 and the timing adjustment register t11. The memory address conversion unit 62 converts the coordinate information (x, y) into the address of the primitive number memory PM, reads the identification number of the primitive number memory PM corresponding to the pixel of interest, and compares the comparison unit 63 and the next search primitive number. The data is output to the acquisition unit 64. Then, the comparison unit 63 compares the identification number (search primitive number PN) held in the register R1 with the identification number, and instructs to acquire pixel data if they match. At this time, in addition to the instruction to acquire pixel data, the identification number indicating the target primitive from the register R1 via the timing adjustment register t14 and the coordinate information (x, y) of the target pixel from the timing adjustment register t13. Is output.

また、次回検索プリミティブ番号取得部64は、区分領域に対応するプリミティブ番号メモリPM領域に、検索プリミティブ番号PNより大きい識別番号が格納されていない場合、完了フラグflに1をセットする。そして、座標生成部61は、完了フラグflに1を有する区分領域については、座標を生成しない。また、次回検索プリミティブ番号取得部64は、以降に描画されるプリミティブのうち、最も入力順の早いプリミティブを示す識別番号を次回検索プリミティブ番号nPNとして取得し、レジスタR1に更新すると共に、次回検索プリミティブ番号nPNがMax値と一致すると検索処理を終了する。続いて、図6の具体例に基づいて描画処理を説明する。   The next retrieval primitive number acquisition unit 64 sets 1 to the completion flag fl when an identification number larger than the retrieval primitive number PN is not stored in the primitive number memory PM area corresponding to the divided area. Then, the coordinate generation unit 61 does not generate coordinates for a segmented area having 1 in the completion flag fl. The next search primitive number acquisition unit 64 acquires the next search primitive number nPN as the next search primitive number nPN from among the primitives to be drawn thereafter, and acquires the identification number indicating the next search primitive number nPN. When the number nPN matches the Max value, the search process is terminated. Next, the drawing process will be described based on the specific example of FIG.

図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. Numbers 0 to 3 assigned to the pixels in the divided areas n0 to nf represent pixel positions in the divided areas corresponding to four (M) parallel units. In the present embodiment, the rasterization processing unit 24 performs the processing of the divided areas in the order indicated by the arrow ya, for example.

初めに、ラスタライズ処理部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 rasterization processing unit 24 sets the identification number “2” held in the register R1 to the search primitive number PN (S41), and sets 0 to completion flags fl0 to flf corresponding to each segmented area (S41). S42). In addition, the rasterization processing unit 24 initializes the next retrieval primitive number nPN by setting the Max value “6” (S43), and obtains the region number 0 of the attention divided region n0 (S44). Then, the rasterization processing unit 24 compares each identification number in the primitive number memory pm0 corresponding to each pixel (target pixel) in the target segmented region n0 in FIG. 18 with the search primitive number PN “2”. Thus, the pixel having the identification number “2” is searched for in the primitive number memory pm0.

図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 rasterization processing unit 24 according to the present embodiment performs the search processing in order from the search primitive number PN “2”, not from the search primitive number PN “0”. As a result, in the case of the block in which the 0th primitive is not drawn, such as the block b8, unnecessary search processing (search processing of the search primitive number PN “0”) is omitted, and the search processing of the primitive number memory PM becomes efficient. Is done.

図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 rasterization processing unit 24 searches the corresponding primitive number memory pm1 for the pixel having the identification number “2” in the same manner using the divided region n1 as the target divided region. In the figure, identification numbers “4” and “5” are stored in the primitive number memory pm1 (NO in S47). Since the identification numbers “4” and “5” are larger than the search primitive number PN “2” (YES in S52), the completion flag fl1 is set to 0 (S53). Since the identification number “4” is smaller than the next retrieval primitive number nPN “5” (YES in S54), “4” is set in the next retrieval primitive number nPN (S55).

図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 rasterization processing unit 24 searches for the pixel having the identification number “2” from the corresponding primitive number memory pm9. As shown in the drawing, the identification number “2” is stored in the primitive number memory pm9 at addresses corresponding to all the pixels in the segmented region n9 (YES in S47). For this reason, pixel data of all the pixels in the attention segmented region pm9 is generated (S48 to S51), and 1 is set to the completion flag fl9. At this time, the next retrieval primitive number nPN is not updated.

図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 rasterization processing unit 24 performs the same processing using the next search primitive number nPN “4” as the search primitive number PN. At this time, since the generation of the pixel data of all the pixels is completed in the divided areas n9 to nb having 1 in the completion flag, it is excluded from the search area for the pixel having the identification number “4” in the primitive number memory PM. Become. This eliminates unnecessary search processing and improves the search efficiency of the primitive number memory PM.

図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 rasterization processing unit 24 sequentially searches for the pixel having the identification number “4” from the corresponding primitive number memories pm0 to pmf for the segmented areas whose completion flags fl0 to flf are 0, and the pixel data of the detected pixels Is generated. As a result, for example, for the segmented region n1, a pixel having the identification number “4” is detected from the corresponding primitive number memory pm1, and pixel data of the pixel is generated (S48 to S51). Further, 0 is set in the completion flag fl1 (YES in S52, S53), and the next retrieval primitive number nPN remains “5” updated during the processing of the segmented area n0 (NO in S54).

図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 rasterization processing unit 24 considers that the rendering processing of all primitives rendered in the processing target block has been completed, and writes the pixel data stored in the internal memory to the frame buffer of the external memory 102 (S56).

このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ(プリミティブパラメータ)を第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 rasterization processing unit 24 in the second embodiment is a partitioned region including the pixel of interest. Is the first write to the primitive number memory PM corresponding to (YES in S66), the identification number is held in the register R2 [area number] corresponding to the partition area (S67).

そして、処理対象ブロックに描画される全てのプリミティブについて深度テストが行われると、処理対象ブロックの各画素について、前面に描画されるプリミティブの識別番号がプリミティブ番号メモリ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 test processing unit 42 according to the present embodiment. Except for the register R2 and the write determination unit 75, the second embodiment is the same as the first embodiment. In the present embodiment, when the depth value D of the target pixel is smaller than the depth value Dm read from the depth memory ZB, the writing determination unit 75 determines whether or not the writing is the first time in the segmented region including the target pixel. Determine whether. In the case of the first writing, an identification number indicating the target primitive is written in the register R2 corresponding to the divided area. Here, the depth test process in the present embodiment will be described based on a specific example of FIG.

図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 rasterization processing unit 24 efficiently performs subsequent primitive drawing processing based on the registers R20 to R2f based on the depth test. Next, the primitive drawing process will be described with reference to a flowchart.

図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 rasterization processing unit 24 first sets and initializes the Max value to the search primitive number PN and the next search primitive number nPN (S71). Then, when the identification number of the corresponding register R20 to R2f is smaller than the search primitive number PN (S72, YES in S73), the rasterization processing unit 24 sets the identification number to the search primitive number PN for each divided region. At the same time, the area number ar of the segmented area is held as the attention area number Sar (S74).

全ての区分領域について、処理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 rasterization processing unit 24 compares the search primitive number PN with the Max value (S75). If they do not match (YES in S75), the rasterization processing unit 24 sets the partitioned area indicated by the focused area number Sar as the focused partitioned area. Then, as in the first embodiment, the rasterization processing unit 24 matches the search primitive number PN with the corresponding primitive number memory in parallel for each of the M pixels (hereinafter referred to as the target pixel) of the target segment area. The target pixel having the identification number is searched (YES in S76), and pixel data is generated (S76 to S80).

また、検索プリミティブ番号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 rasterization processing unit 24 assigns the identification number to the next search primitive number nPN. Set (S83). As a result, the next retrieval primitive number nPN holds an identification number indicating a primitive drawn in the attention segment area and next to the retrieval primitive number PN in the input order earlier.

注目区分領域の処理(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 rasterization processing unit 24 writes the next retrieval primitive number nPN in the register R2 [Sar] corresponding to the attention classification area (S84). As a result, the register R2 [Sar] corresponding to the attention segment area is updated with an identification number indicating a primitive drawn in the attention segment area and having the next primitive in the input order. Then, returning to the process S71, similarly, the rasterizing process sets the identification number having the smallest value (fastest input order) among the identification numbers of the registers R20 to R2f to the search primitive number PN, and the identification number The segmented area corresponding to the registers R20 to R2f having the is set as the attention area.

そして、ラスタライズ処理部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 rasterization processing unit 24 performs the same process on the attention segment area (S75 to S84). On the other hand, when the search primitive number PN matches the Max value (NO in S75), it means that the drawing processing of all the primitives drawn in the processing block is completed. Therefore, the rasterization processing unit 24 writes the pixel data of the processing target block stored in the internal memory to the frame buffer of the external memory 102 (S85), and ends the drawing process.

図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 drawing processing unit 44 does not have the completion flag fl, but has a register R2 for each segmented area. Further, in the present embodiment example, unlike the first embodiment example, the coordinate generation unit 81 detects the smallest identification number from the register R2 (R20 to R2f) for each divided region, and the identification number is obtained. The coordinate information (x, y) of the divided areas is sequentially generated and output to the memory address conversion unit 62. Further, the next retrieval primitive number acquisition unit 84 updates the register R2 corresponding to the attention segment area with an identification number indicating the primitive with the earliest input order among the primitives drawn thereafter in the attention segment area. Next, the drawing process will be described based on the specific example of FIG.

図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 rasterization processing unit 24 sets the identification number having the smallest value among the identification numbers held in the registers R20 to R2f, that is, the identification number “2” indicating the primitive with the earliest input order to the search primitive number PN. Then, the partitioned area n4 holding the identification number in the registers R20 to R2f is set as the focused partitioned area. Then, the rasterization processing unit 24 searches for the pixel having the identification number “2” from the primitive number memory pm4 corresponding to the attention division area n4 (YES in S76), and generates pixel data of the pixel (S77 to S80). ).

この場合、識別番号「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 rasterization processing unit 24 always performs a search process for a pixel in which the identification number “2” is stored in the primitive number memory PM area, targeting the primitive number memory PM area having the identification number “2”. Thereby, the search efficiency of the primitive number memory PM is improved.

また、ラスタライズ処理部24は、画素データの生成処理を行うと共に、レジスタR24〜R2fに、対応する区分領域n4〜nf内に描画されるプリミティブであって、次に入力順の早いプリミティブを示す識別番号「4」を書き込んで更新する(S84)。これにより、レジスタR20〜R2fには、対応する区分領域に描画されるプリミティブであって、最も入力順の早いプリミティブを示す識別番号が常に保持されることになる。   The rasterization processing unit 24 performs pixel data generation processing, and identifies primitives that are drawn in the corresponding divided areas n4 to nf in the registers R24 to R2f and have the next highest input order. The number “4” is written and updated (S84). As a result, the registers R20 to R2f always hold an identification number indicating a primitive drawn in the corresponding segmented area and having the earliest input order.

図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 rasterization processing unit 24 similarly uses the identification number “4” indicating the primitive with the earliest input order among the identification numbers held in the registers R20 to R2f as the search primitive number PN, and stores it in the primitive number memory PM. Perform search processing. At this time, the rasterization processing unit 24 performs a search process on the primitive number memory PM area corresponding to the divided area of the register R2 holding the identification number “4”. Similarly, search processing is performed on the primitive number memory PM area corresponding to the divided area having the pixel on which the primitive P4 is drawn, and the search efficiency of the primitive number memory PM is improved.

図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 rasterization processing unit 24 searches the primitive number memory PM using the identification number “5” indicating the primitive in the input order that is the earliest among the identification numbers held in the registers R20 to R2f as the search primitive number PN. . Similarly, at this time, the rasterization processing unit 24 performs a search process for the primitive number memory PM area corresponding to the partitioned area of the register R2 holding the identification number “5”.

図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 rasterization processing unit 24 writes the pixel data of each pixel of the processing target block stored in the internal memory to the frame buffer of the external memory 102 (S85). ).

このように、本実施の形態例における画像描画装置は、ブロック単位に、ブロックに描画されるプリミティブの頂点の座標情報と奥行きを示す深度情報とを含む頂点パラメータ(プリミティブパラメータ)を第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 Appendix 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.

(付記3)
付記1において、
前記第2のメモリは、前記第1のメモリよりもアクセス速度が速い画像描画装置。
(Appendix 3)
In Appendix 1,
The second memory is an image drawing apparatus having an access speed higher than that of the first memory.

(付記4)
付記1において、
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。
(Appendix 4)
In Appendix 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.

(付記5)
付記4において、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
(Appendix 5)
In Appendix 4,
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 Appendix 6,
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 Appendix 6,
The second memory is an image drawing apparatus having an access speed higher than that of the first memory.

(付記9)
付記6おいて、
前記画素データ生成部は、前記区分領域内の複数の画素について並列に処理を行う画像描画装置。
(Appendix 9)
In Appendix 6,
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のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第2のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第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.
請求項1において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記プリミティブ番号メモリに初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
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.
請求項1において、
前記ブロックはそれぞれ複数の区分領域に分割され、
前記画素データ生成部は、前記プリミティブ番号メモリを検索して前記対象プリミティブの識別情報を有する画素を検出し、当該検出処理において、全ての画素の画素データが生成済みの区分領域に対応するプリミティブ番号メモリ領域については検索の範囲対象外とする画像描画装置。
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のメモリから読み出し、当該プリミティブパラメータに基づいて、前記ブロック内の各画素について、前面に描画される前記プリミティブの識別情報を生成し第2のメモリのプリミティブ番号メモリに書き込む描画プリミティブ識別情報生成部と、
前記ブロック単位に、前記プリミティブの描画命令の入力順に、対象プリミティブの前記頂点の座標情報と色情報とを含むプリミティブパラメータを前記第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.
請求項4において、
前記描画プリミティブ識別情報生成部は、前記入力順に前記プリミティブのプリミティブパラメータを読み出し、前記区分領域に対応するプリミティブ番号メモリ領域に初めに書き込む識別情報を前記先頭識別情報として保持する画像描画装置。
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.
JP2011156729A 2011-07-15 2011-07-15 Image drawing device Pending JP2013025376A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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