JP2006285372A - Z-sorting processing circuit and three-dimensional image drawing device using the same - Google Patents

Z-sorting processing circuit and three-dimensional image drawing device using the same Download PDF

Info

Publication number
JP2006285372A
JP2006285372A JP2005101129A JP2005101129A JP2006285372A JP 2006285372 A JP2006285372 A JP 2006285372A JP 2005101129 A JP2005101129 A JP 2005101129A JP 2005101129 A JP2005101129 A JP 2005101129A JP 2006285372 A JP2006285372 A JP 2006285372A
Authority
JP
Japan
Prior art keywords
data
read
sort
reading
sorting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005101129A
Other languages
Japanese (ja)
Other versions
JP4610394B2 (en
Inventor
Seiichi Kajiwara
誠一 梶原
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.)
S I ELECTRON KK
Original Assignee
S I ELECTRON KK
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 S I ELECTRON KK filed Critical S I ELECTRON KK
Priority to JP2005101129A priority Critical patent/JP4610394B2/en
Publication of JP2006285372A publication Critical patent/JP2006285372A/en
Application granted granted Critical
Publication of JP4610394B2 publication Critical patent/JP4610394B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a three-dimensional image drawing device which can quickly sort polygons, and also provide a sorting-processing method. <P>SOLUTION: The three-dimensional image drawing device is provided with; a memory 30 which stores sorting data including depth values which are the functions of the depths on a screen of polygons; a sorting-data reading control circuit 100 which reads out the sorting data from the memory 30 according to a starting address stored in a buffer 140 for a reading-start address value and an end address stored in a buffer 150 for a reading-end address value; a depth value comparison circuit 120 which compares the depth value of the sorting data thus read out with a reference depth value; and reading-start address determination circuit 160 and reading-end address determination circuit 170 which each control a reading-start address and a reading-end address, respectively, in accordance with the sorting data having image-drawing order determined, when the sorting data are repeatedly read out from the memory 30. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、3次元画像を描画する3次元画像描画装置に関し、特に、半透明描画データ(半透明ポリゴン)をZ方向にソートするZソート処理技術に関する。   The present invention relates to a three-dimensional image drawing apparatus for drawing a three-dimensional image, and more particularly to a Z sort processing technique for sorting semi-transparent drawing data (semi-transparent polygon) in the Z direction.

3Dグラフィックスで使用される「モデル」と呼ばれる立体物は、ポリゴンと呼ばれる複数の三角形で構成され、各頂点の3次元座標値(x,y,z)により立体物と表される。一般に、図8に示すように、このモデルデータを構成する頂点の座標空間を「モデル座標」、モデルを配置する座標空間を「ワールド座標」、モニタに表示される絵を写すためのカメラを基準にした座標空間を「カメラ座標」、最終的なモニタ画面での座標空間を「スクリーン座標」と呼ぶ。   A three-dimensional object called “model” used in 3D graphics is composed of a plurality of triangles called polygons, and is represented as a three-dimensional object by three-dimensional coordinate values (x, y, z) of each vertex. In general, as shown in FIG. 8, the coordinate space of vertices constituting this model data is “model coordinates”, the coordinate space where the model is arranged is “world coordinates”, and the camera for copying the picture displayed on the monitor is used as a reference This coordinate space is called “camera coordinates”, and the final coordinate space on the monitor screen is called “screen coordinates”.

3次元空間上に配置されたモデルデータを、モニタ等の2次元画面に表示する際の基本的な3Dグラフィックス処理は、次のような順番で行われる。
1)モデルとカメラをワールド座標空間に配置する。
2)モデルデータの各頂点データ(モデル座標)をワールド座標に変換し、更にそれをカメラ座標に変換して、各頂点座標値がカメラから見た際の座標値になるようにする。
3)ワールド座標空間に設定された「ライト(光源)」の方向や色などにしたがって、モデル各頂点のライティング計算(明るさや色味の計算)を行う。
4)カメラ座標での各頂点座標をスクリーン座標に透視変換して、その座標値を描画回路に入力して描画処理を行う。
Basic 3D graphics processing when displaying model data arranged in a three-dimensional space on a two-dimensional screen such as a monitor is performed in the following order.
1) Place the model and camera in the world coordinate space.
2) Each vertex data (model coordinates) of the model data is converted into world coordinates, and further converted into camera coordinates so that each vertex coordinate value becomes a coordinate value when viewed from the camera.
3) Perform lighting calculation (brightness and color calculation) for each vertex of the model according to the direction and color of the “light (light source)” set in the world coordinate space.
4) Each vertex coordinate in camera coordinates is perspective-transformed into screen coordinates, and the coordinate value is input to a drawing circuit to perform drawing processing.

また、3次元グラフィックスでは、色付きガラスなどの向こう側が透けて見えるような物体を描画することがある。これを一般に、半透明描画と呼んでいる。半透明描画処理は、ガラスを描画する位置に、既にフレームバッファに格納されている背景の各ピクセルカラーデータを読み出し、その背景カラーとガラスカラーとを演算し、演算したカラーデータをフレームバッファに格納すれば良い。半透明の描画処理では、例えば、加算結果を1/2倍にする。ちなみに、半透明と呼ぶのは言葉的に判りやすいからで、実際のカラー演算割合は自由に指定することが可能であり、グラフィックス用語としては、「αブレンディング」(カラー演算割合パラメータをα値と呼ぶことから)と呼ばれる。   In three-dimensional graphics, an object such as colored glass that can be seen through the other side may be drawn. This is generally called translucent drawing. The translucent rendering process reads each pixel color data of the background that is already stored in the frame buffer at the drawing position of the glass, calculates the background color and glass color, and stores the calculated color data in the frame buffer. Just do it. In the translucent drawing process, for example, the addition result is halved. By the way, translucent is easy to understand in terms of words, so the actual color calculation ratio can be freely specified, and the graphics terminology is “α blending” (the color calculation ratio parameter is an α value). Is called).

1つの画面の中で、背景のような「不透明描画」とガラスのような「半透明描画」を混合して行う場合は、最初に不透明なものだけを全て描画し、その描画終了後に半透明なものを画面奥側にあるものから順番に半透明処理しながら描画することになる。例えば、図9(a)に示すように、最初に山や太陽などの全ての不透明な背景を描画し、次に、図9(b)、(c)に示すように、画面の奥側から半透明ガラスをA、C、Bの順番で描画する。   If you mix "opaque drawing" like background and "semi-transparent drawing" like glass in one screen, draw only the opaque thing first, and after that drawing is semi-transparent The drawing is performed while translucent processing is performed in order from the object on the back side of the screen. For example, as shown in FIG. 9A, first, all opaque backgrounds such as mountains and the sun are drawn, and then, as shown in FIGS. 9B and 9C, from the back side of the screen. The translucent glass is drawn in the order of A, C, and B.

上記のように、半透明描画処理では画面奥側にある描画オブジェクトから画面手前側に向かって順番に描画する必要があるため、描画処理する前に半透明描画オブジェクトを画面奥側から順番に並べ替えておく必要がある。上記の例では、半透明ガラスをA→C→Bの順に並べる。この処理は、画面に垂直な座標軸に当たるZ座標値でソートすることから、通常「Zソート処理」と呼ばれている。   As described above, in the semi-transparent drawing process, it is necessary to draw in order from the drawing object on the back side of the screen toward the front side of the screen, so the semi-transparent drawing objects are arranged in order from the back side of the screen before the drawing process. It is necessary to change. In the above example, the translucent glasses are arranged in the order of A → C → B. This process is generally called “Z sort process” because it sorts by the Z coordinate value corresponding to the coordinate axis perpendicular to the screen.

3Dグラフィックスにおける半透明オブジェクトは、上記のガラスのような平面物に限らず、図10のような立体物となる。この立方体を半透明描画する場合は、ポリゴン単位でZソート処理を行い、画面奥側のポリゴンから順番に半透明描画処理を行うことになる。   The translucent object in 3D graphics is not limited to the above-described planar object such as glass, but is a three-dimensional object as shown in FIG. When rendering this cube translucently, Z sort processing is performed in units of polygons, and translucent rendering processing is performed in order from the polygons at the back of the screen.

Zソート処理について、いくつかの技術が報告されている。特許文献1は、ポリゴン識別部で不透明ポリゴンデータと半透明ポリゴンデータとの識別を行い、Zソートされた半透明ポリゴンデータの描画に要する描画予想時間を演算し、描画予想時間から不透明ポリゴンと半透明ポリゴンとの描画の切り換え時間を演算し、不透明ポリゴンデータから透明ポリゴンデータへの切り替えを可能にしている。これにより、プログラム開発時間の短縮化を期し、1フレーム期間中で描画すべき半透明ポリゴンデータを欠落なく描画できる半透明描画生成装置を提供している。   Several techniques have been reported for the Z sort process. In Patent Document 1, opaque polygon data and semi-transparent polygon data are identified by a polygon identification unit, an estimated drawing time required for drawing Z-sorted semi-transparent polygon data is calculated, and opaque polygons and semi-transparent data are calculated from the estimated drawing time. The switching time of drawing with transparent polygons is calculated, and switching from opaque polygon data to transparent polygon data is enabled. Accordingly, a translucent drawing generation apparatus is provided which can shorten the program development time and can draw the translucent polygon data to be drawn in one frame period without omission.

特許文献2は、画像を構成するポリゴンを半透明なものと不透明なものとに区別し、不透明なポリゴンすべての描画が終了すると、半透明なポリゴンが奥方向から手前方向に向かう順番でZバッファを使用して描画される。これにより、不透明なポリゴンと半透明なポリゴンとを含む画像の描画を高速化している。   Patent Document 2 distinguishes polygons constituting an image from translucent ones and opaque ones, and when drawing of all opaque polygons is completed, the semi-transparent polygons are moved in the order from the back to the front in the Z buffer. Rendered using. This speeds up drawing of an image including an opaque polygon and a translucent polygon.

特許文献3は、物陰に隠れて見えなくなるポリゴンを描画する無駄を省くために、各視点別に複数のポリゴンそれぞれについて見えるか否かを示した情報を用意し、描画処理時に、この情報を利用して、見えるポリゴンについてのみ描画するようにしている。   Patent Document 3 prepares information indicating whether or not each of a plurality of polygons can be seen for each viewpoint in order to eliminate the waste of drawing a polygon that is hidden behind the object and cannot be seen, and uses this information at the time of drawing processing. Only the visible polygons are drawn.

特許文献4は、オブジェクトデータから、視点位置を基準として定められる視界内に位置するオブジェクトデータを選定し、選定したオブジェクトデータをスクリーン上の投影画像となる画像データに透視変換し、変換された画像データをZソートし、Zソートされた画像データ中、視点位置から所定距離以上離れた画像データを抽出し、数ドットずらした半透明な画像をテクスチャとする半透明ダミーポリゴンを生成し、半透明ダミーポリゴンを含む画像データにしたがって不鮮明なぼやけた状態の画像を描画する。これにより、3次元画像データを現実感のある画像として表示している。   Patent Document 4 selects object data located within a field of view defined with reference to a viewpoint position from object data, and perspective-converts the selected object data into image data to be a projected image on a screen, and the converted image Data is Z-sorted, image data that is more than a predetermined distance away from the viewpoint position is extracted from the Z-sorted image data, and a semi-transparent dummy polygon with a translucent image shifted by several dots as a texture is generated. A blurry and blurred image is drawn according to the image data including the dummy polygon. Thereby, the three-dimensional image data is displayed as a realistic image.

特許文献5は、画像を構成しているオブジェクト毎に割り当てたメモインメモリ上の複数の順序テーブルに画像を複数に分割した各ブロックのZ方向の情報をアドレスとして各ブロックの処理順序を示す順序データを書き込み、DMAコントローラにより複数の順序テーブル同士を段階的にZソートすることによって描画データを作成する。これにより、物理的に分かれたオブジェクトが近い深さにあった場合にも、ポリゴン単位の干渉を排除して、画質の良好な描画データを生成することを可能にしている。   Japanese Patent Application Laid-Open No. 2004-151867 shows an order indicating the processing order of each block by using, as an address, information in the Z direction of each block obtained by dividing the image into a plurality of order tables on the memo-in memory allocated for each object constituting the image Data is written and drawing data is created by Z-sorting a plurality of order tables step by step by the DMA controller. As a result, even when physically separated objects are close in depth, it is possible to eliminate the polygon unit interference and generate drawing data with good image quality.

特開2000−268190号JP 2000-268190 A 特開平10−11610号JP-A-10-11610 特開平9−44697号JP 9-44697 A 特開2000−93654号JP 2000-93654 A 特開平7−114654号JP-A-7-114654

従来の3次元画像描画装置では、ソフトウエアまたはハードウエアを用いてZソート処理を行っている。ソフトウエアによりZソートを行う場合、描画内容に最も適したZソート処理方法を提供できる自由度があるが、その反面、処理の最適化を図るアルゴリズムの設計には大きなコストを要する。また、演算結果を格納する比較的大きなメモリ容量を必要とし、かつメモリへのアクセス頻度も増加するため、Zソート処理時間の高速化には限界がある。   In a conventional three-dimensional image drawing apparatus, Z sort processing is performed using software or hardware. When performing Z sort by software, there is a degree of freedom that can provide a Z sort processing method most suitable for the content to be drawn, but on the other hand, designing an algorithm for optimizing the processing requires a large cost. Further, since a relatively large memory capacity for storing the calculation result is required and the frequency of access to the memory is increased, there is a limit to speeding up the Z sort processing time.

一方、ハードウエアによるZソート専用回路を搭載した場合、頂点座標演算から描画処理までの処理を全てハードウエア処理で実行できるため、シンプルな構成を実現することが可能であり、かつCPU負荷を軽減することができ、システムの処理性能が向上する。しかし、ポリゴン毎のZ座標値を1つずつ比較してソートする方法のZソート回路とした場合、どのような描画内容にも対応可能であり、かつソート回路規模を小さくできる利点がある一方で、ソートするポリゴン数が増加すると、その二乗の回数でZ座標値比較を行うこととなり、ソート処理に多くの時間を要してしまい、Zソート処理を高速化することが難しいという課題がある。   On the other hand, when a hardware dedicated Z sort circuit is installed, all processing from vertex coordinate calculation to drawing processing can be executed by hardware processing, so a simple configuration can be realized and the CPU load is reduced. Can improve the processing performance of the system. However, when the Z sort circuit of the method of comparing and sorting the Z coordinate values for each polygon one by one, it is possible to deal with any drawing content and has the advantage of reducing the sort circuit scale. If the number of polygons to be sorted increases, Z coordinate value comparison is performed by the squared number of times, so that a lot of time is required for the sorting process, and it is difficult to speed up the Z sorting process.

本発明は、上記従来の課題を解決するために成されたもので、ポリゴンのソートを高速に行うことができる3次元画像描画装置およびソート処理方法を提供することを目的とする。
さらに本発明は、ハードウエアによるZソート処理回路を設けることで、頂点座標演算から描画処理までをハードウエアにより処理することができる3次元画像描画装置を提供することを目的とする。
さらに本発明は、Zソート処理回路を設けることで、他のハードウエア資源への負担を軽減し、3次元グラフィックスの高速描画を可能とする3次元画像描画装置を提供することを目的とする。
The present invention has been made to solve the above-described conventional problems, and an object of the present invention is to provide a three-dimensional image drawing apparatus and a sort processing method that can perform polygon sorting at high speed.
A further object of the present invention is to provide a three-dimensional image drawing apparatus capable of processing from vertex coordinate calculation to drawing processing by hardware by providing a hardware Z sort processing circuit.
A further object of the present invention is to provide a three-dimensional image drawing apparatus that reduces the burden on other hardware resources by providing a Z sort processing circuit and enables high-speed drawing of three-dimensional graphics. .

本発明に係る3次元画像描画装置は、ポリゴンを画面奥側から画面手前または画面手前から画面奥側に向けてソートする機能を備えた、以下の構成を含む。ポリゴンについて画面奥行きの関数であるデプス値を含むソート用データを記憶する記憶手段と、記憶手段からソート用データを読み出す読み出し手段と、読み出し手段により読み出されたソート用データのデプス値を基準デプス値と比較して描画順序を決定する比較手段と、読み出し手段により繰り返しソート用データが読み出されるとき、描画順序が決定されたソート用データに応じて、ソート用データの読出しを制御する読み出し制御手段とを含む。   The three-dimensional image drawing apparatus according to the present invention includes the following configuration including a function of sorting polygons from the back of the screen toward the front of the screen or from the front of the screen toward the back of the screen. Storage means for storing sort data including depth values that are functions of the screen depth for polygons, read means for reading sort data from the storage means, and the depth value of the sort data read by the read means as a reference depth Comparing means for determining the drawing order by comparing with the value, and reading control means for controlling reading of the sorting data in accordance with the sorting data for which the drawing order is determined when the reading data is repeatedly read by the reading means Including.

好ましくは読み出し制御手段は、ソート用データの描画順序が決定されたソート用データを読み出し対象から除外するように読み出し手段を制御する。好ましくは読み出し制御手段は、ソート用データの読み出し開始アドレスおよび読み出し終了アドレスを読み出し手段に供給し、描画順序が決定されたソート用データに応じて、読み出し開始アドレスおよび読み出し終了アドレスの少なくとも一方を更新する。   Preferably, the reading control unit controls the reading unit so as to exclude the sorting data for which the drawing order of the sorting data has been determined from being read. Preferably, the read control unit supplies the read start address and the read end address of the sort data to the read unit, and updates at least one of the read start address and the read end address according to the sort data for which the drawing order is determined. To do.

さらに読み出し手段は、ソート用データをブロック単位で読み出し、読み出し制御手段は、ブロック内に含まれるすべてのソート用データの描画順序が決定された場合に、当該ブロックを読み出し対象から除外するように読み出し手段を制御する。また読み出し制御手段は、ブロックに含まれるすべてのソート用データの描画順序が決定されたか否かを判別するためのフラグ情報を保持し、当該フラグ情報に基づき読み出し手段の読み出しアドレスを制御するようにしてもよい。   Further, the reading unit reads the sorting data in units of blocks, and the reading control unit reads out the block to be excluded from the reading target when the drawing order of all the sorting data included in the block is determined. Control means. The read control unit holds flag information for determining whether or not the drawing order of all sort data included in the block has been determined, and controls the read address of the read unit based on the flag information. May be.

好ましくは、ソートされるポリゴンは、半透明ポリゴンである。また、ソートをより高速に行うために、記憶手段には同期型メモリ、例えばDDR−SDRAMが用い、バーストリードによりソート用データブロックの読み出しが行われる。また、ポリゴンのデプス値は、ポリゴンの頂点座標のZ軸方向の平均値、最小値または最大値などを用いることができ、基準デプス値は、比較される複数のポリゴンの中から選択されたポリゴンのデプス値である。   Preferably, the polygon to be sorted is a translucent polygon. In order to perform sorting at a higher speed, a synchronous memory such as DDR-SDRAM is used as the storage means, and the sorting data block is read by burst read. The polygon depth value may be an average value, minimum value or maximum value in the Z-axis direction of the vertex coordinates of the polygon, and the reference depth value is a polygon selected from a plurality of polygons to be compared. Is the depth value of.

さらに本発明に係るポリゴンを画面奥側から画面手前または画面手前から画面奥側に向けてソートするポリゴンのソート処理方法は、描画オブジェクトであるポリゴンについての画面奥行きの関数であるデプス値を含むソート用データを記憶装置に記憶するステップと、記憶装置からソート用データを読み出すステップと、読み出されたソート用データのデプス値を基準デプス値と比較して描画順序を決定するステップと、記憶装置からソート用データを繰り返し読み出すとき、描画順序が決定されたソート用データに応じて、ソート用データの読み出しを制御するステップとを有する。   Furthermore, a polygon sorting method for sorting polygons according to the present invention from the back side of the screen toward the near side of the screen or from the near side of the screen toward the far side of the screen is a sort that includes a depth value that is a function of the screen depth for a polygon that is a drawing object. Storing data for storage in a storage device, reading out data for sorting from the storage device, comparing a depth value of the read data for sorting with a reference depth value, and determining a drawing order; When the sorting data is repeatedly read out from, the step of controlling the reading of the sorting data according to the sorting data for which the drawing order is determined is included.

好ましくは、ソート用データはブロック単位で読み出され、ブロック内のすべてのソート用データの描画順序が決定されている場合には、当該ブロックが読み出し対象から除外されるように読み出しを制御する。さらに好ましくは読み出すステップは、開始アドレスから終了アドレスに従いソート用データを読み出し、制御するステップは、開始アドレスおよび終了アドレスの少なくとも一方を制御する。   Preferably, the sort data is read in units of blocks, and when the drawing order of all sort data in the block is determined, the reading is controlled so that the block is excluded from the read target. More preferably, the step of reading reads out the data for sorting according to the end address from the start address, and the step of controlling controls at least one of the start address and the end address.

本発明に係る3次元画像描画装置によれば、記憶手段に記憶されたソート用データを繰り返し読み出すとき、描画順序が決定されたソート用データに応じて、ソート用データを読み出すアドレスを制御するようにしたので、効率よくソート用データを読み出し、ソート用データの比較および描画順序を決定することが可能となり、ポリゴンのソート処理の高速化を図ることができる。   According to the 3D image drawing apparatus of the present invention, when the sorting data stored in the storage unit is repeatedly read, the address for reading the sorting data is controlled according to the sorting data for which the drawing order is determined. As a result, sorting data can be read efficiently, sorting data can be compared and the drawing order can be determined, and the polygon sorting process can be speeded up.

本発明に係る3次元画像描画装置について図面を参照して詳細に説明する。   A three-dimensional image drawing apparatus according to the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施例に係る3次元画像描画装置のシステム構成を示すブロック図である。3次元画像描画装置1は、システム全体を制御するCPU10、2次元または3次元のグラフィック描画を制御する描画用回路20、プログラムや画像データ等を格納するメモリ30、メモリ30へのアクセスを制御するメモリコントローラ40、メモリに格納された画像データをモニタに出力する画像表示用回路50、外部ポートに接続されプログラム等のデータを格納する外部メモリ60、内部バスや外部ポート(シリアルI/F)の制御を行う周辺制御回路70、画像表示用回路50から出力された画像データを表示するモニタ80を含んで構成される。   FIG. 1 is a block diagram showing a system configuration of a three-dimensional image drawing apparatus according to an embodiment of the present invention. The three-dimensional image drawing apparatus 1 controls a CPU 10 that controls the entire system, a drawing circuit 20 that controls two-dimensional or three-dimensional graphic drawing, a memory 30 that stores programs and image data, and access to the memory 30. A memory controller 40, an image display circuit 50 for outputting image data stored in the memory to a monitor, an external memory 60 connected to an external port for storing data such as a program, an internal bus and an external port (serial I / F) A peripheral control circuit 70 that performs control and a monitor 80 that displays image data output from the image display circuit 50 are configured.

描画用回路20はさらに、モデルの各頂点座標値の3次元演算(回転、拡張、移動など)や光源計算などを行って、スクリーン座標空間での頂点データを求めるジオメトリ回路22と、描画最小単位である三角形や四角形のポリゴンデータのZソート処理やクリッピング処理を行うZソート処理回路24と、描画リストにしたがってグラフィック描画を行うレンダリング回路26を含んでいる。本実施例では、描画用回路20をハードウエアにより構成することで、モデルの座標演算、Zソート処理、および描画処理をハードウエアにより実現することができる。   The drawing circuit 20 further performs a three-dimensional calculation (rotation, expansion, movement, etc.) of each vertex coordinate value of the model, light source calculation, and the like, a geometry circuit 22 for obtaining vertex data in the screen coordinate space, and a drawing minimum unit. A Z sort processing circuit 24 that performs Z sort processing and clipping processing of triangular or quadrilateral polygon data, and a rendering circuit 26 that performs graphic drawing according to a drawing list. In this embodiment, by configuring the drawing circuit 20 with hardware, model coordinate operations, Z sort processing, and drawing processing can be realized with hardware.

図2は、3次元画像描画装置における描画処理の基本的なフローを示す図である。CPU10は、メモリ30内のプログラムデータ31および3次元モデルデータ32等にしたがって、モデルの回転や移動などの基となる各パラメータを計算する(ステップa)。CPU10は、計算したモデルデータの各パラメータにしたがって、ジオメトリ回路22が受け付ける形式のジオメトリ回路用描画リストデータ33を生成し、これをメモリ内に格納する(ステップb)。   FIG. 2 is a diagram illustrating a basic flow of a drawing process in the three-dimensional image drawing apparatus. The CPU 10 calculates each parameter serving as a basis for rotation and movement of the model in accordance with the program data 31 and the three-dimensional model data 32 in the memory 30 (step a). The CPU 10 generates geometry circuit drawing list data 33 in a format accepted by the geometry circuit 22 according to each parameter of the calculated model data, and stores it in the memory (step b).

ジオメトリ回路22は、メモリ内のジオメトリ回路用描画リストデータ33を読み込みながら決められた頂点演算処理を行い、その結果をソート処理回路24に送る(ステップc)。   The geometry circuit 22 performs the determined vertex calculation process while reading the geometry circuit drawing list data 33 in the memory, and sends the result to the sort processing circuit 24 (step c).

ソート処理回路24は、ジオメトリ回路22から受け取った頂点演算された描画リストデータ33にしたがって、Zソート処理やクリッピング処理を行い、そしてレンダリング回路26が受け付ける形式のレンダリング回路用描画リストデータ34を生成し、これをメモリ内に格納する(ステップd)。   The sort processing circuit 24 performs Z sort processing and clipping processing in accordance with the drawing list data 33 subjected to the vertex calculation received from the geometry circuit 22, and generates rendering circuit drawing list data 34 in a format accepted by the rendering circuit 26. This is stored in the memory (step d).

レンダリング回路26は、メモリ内のレンダリング回路用描画リストデータ34を読み込みながら描画処理用ピクセルパラメータを計算する(ステップe)。描画処理用ピクセルパラメータとは、描画ピクセルのテクスチャ座標値、描画ピクセルのデプス値(すなわち画面奥行き方向座標値:Z値)、および描画ピクセルのフレームバッファ座標値などのピクセル描画に必要なパラメータである。   The rendering circuit 26 calculates the rendering process pixel parameters while reading the rendering circuit rendering list data 34 in the memory (step e). The pixel parameter for drawing processing is a parameter necessary for pixel drawing, such as a texture coordinate value of the drawing pixel, a depth value of the drawing pixel (that is, a screen depth direction coordinate value: Z value), and a frame buffer coordinate value of the drawing pixel. .

レンダリング回路26は、描画ピクセルのテクスチャ座標値にしたがって各ピクセルに対応したテクスチャデータ35をメモリから読み込んで処理し、描画ピクセルのカラーデータを求め(ステップf)、さらに、描画ピクセルのデプス値とデプスバッファ36から読み込んだデプス値の比較結果にしたがってピクセル描画を行うかどうか判断する(ステップg)。   The rendering circuit 26 reads the texture data 35 corresponding to each pixel from the memory according to the texture coordinate value of the drawing pixel and processes it to obtain the color data of the drawing pixel (step f), and further, the depth value and the depth of the drawing pixel. It is determined whether to perform pixel drawing according to the comparison result of the depth values read from the buffer 36 (step g).

レンダリング回路26はさらに、αブレンディング処理指定にしたがって描画ピクセルのカラーデータを計算し、描画ピクセルのフレームバッファ37の座標位置にデータを格納する(ステップh)。   The rendering circuit 26 further calculates the color data of the drawing pixel in accordance with the α blending processing specification, and stores the data at the coordinate position of the drawing pixel frame buffer 37 (step h).

次に、本実施例のソート処理回路24の詳細について説明する。立体物を構成するポリゴンをZソートする際に比較するZ座標値は、ポリゴン各頂点(三角形の場合は3頂点)のZ座標値の「平均値」を用いることができる。但し、ポリゴンのZ座標値の最小値または最大値を用いてもよい。   Next, details of the sort processing circuit 24 of this embodiment will be described. As the Z coordinate value to be compared when the polygons constituting the three-dimensional object are Z-sorted, the “average value” of the Z coordinate values of the respective vertexes (three vertices in the case of a triangle) of the polygon can be used. However, the minimum value or the maximum value of the Z coordinate value of the polygon may be used.

比較に使用する値は、画面に垂直な座標軸に関連する奥行き方向の値であれば良く、「Z座標値」には限らない。そこで、本明細書では、以降の説明において、比較に使用する値を総称として「デプス値」と呼ぶことにする。   The value used for the comparison may be a value in the depth direction related to the coordinate axis perpendicular to the screen, and is not limited to the “Z coordinate value”. Therefore, in this specification, in the following description, values used for comparison are collectively referred to as “depth values”.

ソート処理回路24におけるZソート処理の概要は、次の通りである。
1)入力された半透明描画オブジェクトをポリゴン単位に分割し、各ポリゴンのデプス平均値を求める。
2)各ポリゴンのデプス平均値を大小比較して、画面奥側から順番に並べ替える。デプス平均値が等しい場合は、予め決められた法則に則って順番を決める。通常は、処理する順番が早い方を画面奥側となるようにする。
The outline of the Z sort processing in the sort processing circuit 24 is as follows.
1) The input translucent drawing object is divided into polygons, and a depth average value of each polygon is obtained.
2) The depth average values of the polygons are compared in size and rearranged sequentially from the back of the screen. When the depth average values are equal, the order is determined according to a predetermined rule. Normally, the earlier processing order is set to the back side of the screen.

一般に、頂点xyz座標値やデプス値は、「16bit/32bit固定小数点数」または「32bit浮動小数点数」を用いて表される。最近の3次元コンピュータグラフィックスでは、数値としての表現可能範囲が大きい32ビット浮動小数点数が使用されることが多い。以下の表は、IEEEによる国際標準規格により定められた32ビット浮動小数点数のデータ構成を示している。   In general, the vertex xyz coordinate value and the depth value are expressed using “16-bit / 32-bit fixed-point number” or “32-bit floating-point number”. In recent three-dimensional computer graphics, a 32-bit floating point number having a large expressible range as a numerical value is often used. The following table shows the data structure of a 32-bit floating point number defined by the international standard by IEEE.

Figure 2006285372
Figure 2006285372

図3は、Zソート処理のフローを示す図である。ここでは、デプス値を画面手前より画面奥側の方が小さい値とする。始めに、ソート処理回路24は、最小保持デプス値に予め定められた最大数の値をセットする(ステップS101)。最小保持デプス値とは、全ての半透明描画ポリゴンの中で最も画面奥側(言い換えれば、デプス値が最小値)となるポリゴンのデプス平均値である。最小保持デプス値は、例えばメモリ30またはレジスタ等に記憶される。   FIG. 3 is a diagram illustrating a flow of the Z sort process. Here, it is assumed that the depth value is smaller on the back side of the screen than on the near side of the screen. First, the sort processing circuit 24 sets a predetermined maximum number of values as the minimum holding depth value (step S101). The minimum retained depth value is the average depth value of the polygons that are on the farthest screen side (in other words, the depth value is the minimum value) among all the translucent drawn polygons. The minimum hold depth value is stored in, for example, the memory 30 or a register.

ソート処理回路24は、入力された順に、3次元演算後の頂点座標を持つ、スクリーン座標投影処理後の半透明描画オブジェクトを三角形ポリゴン単位に分割し、これをポリゴンデータとしてメモリ30に格納する(ステップS102)。   The sort processing circuit 24 divides the semi-transparent drawing object after the screen coordinate projection processing having the vertex coordinates after the three-dimensional calculation in the order of input, into triangle polygon units, and stores this in the memory 30 as polygon data ( Step S102).

ソート処理回路24は、入力された順に三角形ポリゴンの3頂点分のデプス平均値を計算し、この平均値は、メモリ30に格納されたポリゴンデータの先頭アドレスと一緒にソート用データとしてメモリ30に格納される(ステップS103)。   The sort processing circuit 24 calculates the depth average value of the three vertices of the triangular polygon in the order of input, and this average value is stored in the memory 30 as sort data together with the head address of the polygon data stored in the memory 30. Stored (step S103).

図4は、ポリゴンデータとソート用データのメモリ30への格納状態を示している。同図に示すように、ソート処理回路24は、入力された順に、ポリゴンデータ0、1、2・・・をメモリ30に格納する。各ポリゴンデータは、3頂点分のxyz座標値、テクスチャ座標値およびシェーディングカラー等を含んでいる。またソート処理回路24は、ポリゴンデータ0、1、2・・・に対応するソート用データ0、1、2・・・をメモリ30に格納する。各ソート用データは、対応するポリゴンデータの先頭アドレスとデプス平均値とを含んでいる。例えば、ソート用データ0は、ポリゴンデータ0の先頭アドレスとそのデプス平均値を含んでいる。   FIG. 4 shows a state in which polygon data and sorting data are stored in the memory 30. As shown in the figure, the sort processing circuit 24 stores the polygon data 0, 1, 2,... In the memory 30 in the input order. Each polygon data includes xyz coordinate values, texture coordinate values, shading colors, and the like for three vertices. The sort processing circuit 24 stores sort data 0, 1, 2,... Corresponding to polygon data 0, 1, 2,. Each sort data includes the head address of the corresponding polygon data and the depth average value. For example, the sort data 0 includes the top address of the polygon data 0 and its depth average value.

ソート処理回路24は、ポリゴンのデプス平均値と最小保持デプス値を比較し、値の小さい方を最小保持デプス値としてレジスタに保持する(ステップS104)。全ての半透明描画オブジェクトのポリゴンデータとソート用データをメモリ30に格納し終えるまで、上記ステップS102からS104までの処理が繰り返される。   The sort processing circuit 24 compares the polygon depth average value and the minimum hold depth value, and holds the smaller one in the register as the minimum hold depth value (step S104). Until the polygon data and sort data of all the translucent drawing objects are stored in the memory 30, the processes from step S102 to step S104 are repeated.

次に、ソート処理が開始される。ソート処理回路24は、最初のソート用データ(図4のソート用データ“0”)のデプス平均値を一時保持デプス値としてレジスタにセットする(ステップS106)。ソート処理回路24は、メモリ30からソート用データを順番に読出し、デプス平均値と最小保持デプス値を大小比較する(ステップS107)。   Next, the sort process is started. The sort processing circuit 24 sets the depth average value of the first sort data (sort data “0” in FIG. 4) as a temporary holding depth value in the register (step S106). The sort processing circuit 24 sequentially reads the sort data from the memory 30, and compares the depth average value with the minimum hold depth value (step S107).

デプス値の比較を行った結果(ステップS108)、ソート用データのデプス平均値が最小保持デプス値よりも大きい場合には、さらにソート用データのデプス平均値と一時保持デプス値とを比較する。ソート用データのデプス平均値が一時保持デプス値よりも小さいとき(デプス平均値<一次保持デプス値)、一時保持デプス値をソート用データのデプス平均値に更新する(ステップS109)。   As a result of the depth value comparison (step S108), when the depth average value of the sorting data is larger than the minimum holding depth value, the depth average value of the sorting data is further compared with the temporary holding depth value. When the depth average value of the sorting data is smaller than the temporary holding depth value (depth average value <primary holding depth value), the temporary holding depth value is updated to the depth average value of the sorting data (step S109).

ソート用データのデプス平均値と最小保持デプス値とが等しい場合には、ソート用データ内のポリゴンデータ先頭アドレス値を「ポリゴン描画順番用データ」としてメモリ30に格納する(ステップS110)。   If the depth average value of the sort data is equal to the minimum hold depth value, the polygon data head address value in the sort data is stored in the memory 30 as “polygon drawing order data” (step S110).

デプス平均値が最小保持デプス値よりも小さい場合には、その比較結果に対する処理は行われない。こうして、全てのソート用データについての比較処理が行われると、画面奥側の最初に描画すべき半透明描画オブジェクトの半透明ポリゴンが検出されたことになる(ステップS111)。また、一時保持デプス値には、最小保持デプス値の次に大きいデプス値(2番目のデプス値)が格納されることになるので、最小保持デプス値を一時保持デプス値に更新する(ステップS112)。次のソート処理では、2番目に小さなデプス平均値をもつ半透明ポリゴンが検出される。   When the depth average value is smaller than the minimum holding depth value, the comparison result is not processed. In this way, when comparison processing has been performed for all sort data, a translucent polygon of a translucent drawing object to be drawn first on the back side of the screen is detected (step S111). In addition, since the depth value (second depth value) next to the minimum holding depth value is stored in the temporary holding depth value, the minimum holding depth value is updated to the temporary holding depth value (step S112). ). In the next sorting process, a semi-transparent polygon having the second smallest depth average value is detected.

以上の処理を、全てのポリゴン分の「ポリゴン描画順番用データ」が完成するまで繰り返すことで(ステップS113)、Zソート処理が終了する(ステップS114)。ポリゴン描画順番用データは、描画リストデータ34としてメモリ30に格納される。   The above process is repeated until “polygon drawing order data” for all polygons is completed (step S113), and the Z sort process is completed (step S114). The polygon drawing order data is stored in the memory 30 as the drawing list data 34.

図5は、ポリゴン描画順番用データの格納状態を示す図である。同図に示すように、ソート処理を行った結果、ポリゴン描画順番用データの先頭アドレス(ポリゴン先頭アドレス“0”)には、1番目に描画するポリゴンデータの先頭アドレス値が格納され、次のアドレスには、2番目に描画するポリゴンデータの先頭アドレス値が格納される。ポリゴン描画順番用データの先頭アドレスから順にその内容を参照することで、半透明ポリゴンデータを読み出すことができる。   FIG. 5 is a diagram illustrating a storage state of polygon drawing order data. As shown in the figure, as a result of the sorting process, the head address value of the polygon data to be drawn first is stored in the head address of the polygon drawing order data (polygon head address “0”). The address stores the start address value of the polygon data to be drawn second. By referring to the contents in order from the top address of the polygon drawing order data, the translucent polygon data can be read.

ポリゴンデータのデプス平均値を比較することによって、ポリゴンの描画順番を決定する場合、全て異なるデプス平均値を持ったN個の三角形ポリゴンがあれば、N個×N回の比較処理を実行することになる。つまり、最大で半透明描画ポリゴン数の2乗もの回数のデプス値比較処理を行わなければならない。   When the drawing order of polygons is determined by comparing the depth average values of polygon data, if there are N triangular polygons having different depth average values, N × N comparison processes are executed. become. That is, the depth value comparison processing must be performed as many times as the square of the number of semitransparent drawing polygons.

本実施例では、ポリゴン描画順番用データを作成するために、メモリ30からソート用データを読み出す際において、既にソート処理されたポリゴンのソート用データの読み出しを制御することでZソート処理を高速化させている。   In this embodiment, when the sorting data is read from the memory 30 in order to create the polygon drawing order data, the Z sorting process is speeded up by controlling the reading of the sorting data of the already sorted polygons. I am letting.

図6は、ソート処理回路の内部構成を示すブロック図である。ソート処理回路24は、ソート用データの読出しを制御するソート用データリード制御回路100と、メモリコントローラ40を介してメモリ30から読み出したソート用データを一時記憶するソート用データバッファ110と、ソート用データのデプス平均値を比較する浮動小数点デプス値比較回路120と、比較回路120による比較結果に基づき最小保持デプス値と一致したポリゴンの描画順番を書き込む描画順番用データライト制御回路130と、ソート用データのリード開始アドレスを記憶し、これをソート用データリード制御回路100へ供給するリード開始アドレス値用バッファ140と、ソート用データのリード終了アドレスを記憶し、これをソート用データリード制御回路100へ供給するリード終了アドレス値用バッファ150と、リード開始アドレス値用バッファ140の内容を更新するリード開始アドレス判断回路160と、リードアドレス一時バッファ180の内容を更新するリード終了アドレス判断回路170を含んでいる。   FIG. 6 is a block diagram showing the internal configuration of the sort processing circuit. The sort processing circuit 24 includes a sort data read control circuit 100 that controls reading of sort data, a sort data buffer 110 that temporarily stores sort data read from the memory 30 via the memory controller 40, and a sort Floating-point depth value comparison circuit 120 that compares depth average values of data, drawing order data write control circuit 130 that writes the drawing order of polygons that match the minimum holding depth value based on the comparison result by comparison circuit 120, and for sorting The read start address of the data is stored, the read start address value buffer 140 that supplies the read start address of the data to the sort data read control circuit 100, and the read end address of the sort data are stored, and this is stored as the sort data read control circuit 100. Read end address value buffer supplied to 150 includes a read start address judging circuit 160 to update the contents of the read start address value buffer 140, the read end address determination circuit 170 to update the contents of the read address temporary buffer 180.

好ましくは、ポリゴンデータおよびソート用データを格納するメモリ30は、バーストリードおよびバーストライトが可能なDDR−SDRAM(Double Data Rate Synchronous Dynamic RAM)を用いる。あるいは、SDRAM、DRAM、同期型SRAMであってもよい。バーストリードによって、例えば8個単位または16個単位のブロックでソート用データの読み出しを可能とする。   Preferably, the memory 30 for storing polygon data and sort data uses DDR-SDRAM (Double Data Rate Synchronous Dynamic RAM) capable of burst read and burst write. Alternatively, it may be SDRAM, DRAM, or synchronous SRAM. By burst read, for example, sorting data can be read out in blocks of 8 or 16 units.

ソート用データリード制御回路100は、リード開始アドレス値用バッファ140に保持されたリード開始アドレスに従いバーストモードにより、ソート用データブロックを読み出し、リード終了アドレス値用バッファ150に保持されたリード終了アドレスに従いソート用データブロックのリードを終了する。   The sort data read control circuit 100 reads the sort data block in the burst mode according to the read start address held in the read start address value buffer 140, and follows the read end address held in the read end address value buffer 150. Finish reading the sort data block.

リード開始アドレス値用バッファ140には、Zソート処理開始時に、ソート用データの格納先頭アドレス値がセットされる。また、リード終了アドレス値用バッファ150には、Zソート処理開始時に、ブロック単位での最終ソート用データ格納アドレス値がセットされる。これらのバッファのアドレス値は、ポリゴンデータおよびソート用データをメモリ30に格納するときに保持される。   The read start address value buffer 140 is set with the storage start address value of the sort data when the Z sort process is started. The read end address value buffer 150 is set with the final sort data storage address value for each block when the Z sort process is started. These buffer address values are held when polygon data and sort data are stored in the memory 30.

リード開始アドレス判断回路160は、読み出したブロック内のソート用データによるデプス値比較結果が、一度も「デプス平均値>最小保持デプス値」とならなかった場合に、言い換えれば、ブロック内のソート用データのすべてが既に最小保持デプス値と一致し、かつ描画順序が決定されている場合に、リード開始アドレスを更新する必要があると判断し、その次のブロックの先頭アドレス値をリード開始アドレス値にセットする。   The read start address determination circuit 160 determines that the depth value comparison result based on the sorting data in the read block never becomes “depth average value> minimum holding depth value”, in other words, for sorting in the block. When all of the data already matches the minimum hold depth value and the drawing order has been determined, it is determined that the read start address needs to be updated, and the start address value of the next block is read start address value. Set to.

リードアドレス一時バッファ180は、読み出されたブロックの先頭アドレス値を格納し、このアドレス値は、リード最終アドレス判断回路170によって更新される。リード最終アドレス判断回路170は、ブロック内のソート用データによるデプス値比較結果が、一度も「デプス平均値>最小保持デプス値」とならなかった場合は、その値を保持し続け、一度でも「デプス平均値>最小保持デプス値」となった場合は、次のソート用データリードにより読み出されたブロックの先頭アドレス値に更新する。   The read address temporary buffer 180 stores the head address value of the read block, and this address value is updated by the read final address determination circuit 170. When the depth value comparison result based on the sorting data in the block has never been “depth average value> minimum holding depth value”, the read final address determination circuit 170 continues to hold the value, and even once, “ When “depth average value> minimum holding depth value” is satisfied, the data is updated to the head address value of the block read by the next sort data read.

また、リード最終アドレス判断回路170は、読み出したブロックのリードアドレス値がリード最終アドレス値に一致する場合は、そのブロック内に最終ソート用データがあると判断し、最終ソート用データによるデプス値比較処理を終了したら、リードアドレス一時バッファ180に保持していたアドレス値をリード終了アドレス値にセットする。   Further, when the read address value of the read block matches the read final address value, the read final address determination circuit 170 determines that there is final sort data in the block, and compares the depth value with the final sort data. When the processing is completed, the address value held in the read address temporary buffer 180 is set as the read end address value.

次に、ソート処理回路の動作を、図7の例を参照して説明する。図7のソート用データは、データ0〜データ21と2つの無効データ(図中、灰色で示す)を含んでいる。無効データは、例えばデータ内にフラグを設けることで識別される。ソート用データの括弧内の値は、デプス平均値である。ソート処理として、バーストリードにより8個のソート用データがブロック単位で読み出されるものとする。   Next, the operation of the sort processing circuit will be described with reference to the example of FIG. The sort data in FIG. 7 includes data 0 to data 21 and two invalid data (shown in gray in the figure). Invalid data is identified, for example, by providing a flag in the data. The value in parentheses of the sort data is the depth average value. As sort processing, eight sort data are read out in block units by burst read.

ソート用データリード制御回路100は、図3のフローチャートのステップS107で示されるように、Zソート処理を開始する。リード開始アドレス値用バッファ140には、データ0に相当するアドレスが保持され、リード終了アドレス値用バッファ150には、データ21に相当するアドレスが保持される。ソート用データリード制御回路100は、リード開始アドレスに基づき、最初のブロック、すなわちデータ0〜データ7までのソート用データブロックを読み出す。   The sort data read control circuit 100 starts the Z sort process as shown in step S107 in the flowchart of FIG. The read start address value buffer 140 holds an address corresponding to data 0, and the read end address value buffer 150 holds an address corresponding to data 21. The sort data read control circuit 100 reads the first block, that is, the sort data blocks from data 0 to data 7, based on the read start address.

ソート用データリード制御回路100は、ブロックのリードに伴い、ブロックの先頭アドレス(「データ0」のアドレス)をリードアドレス一時バッファ180に保持する。また、読み出されたソート用データブロックは、ソート用データバッファ110に一旦格納された後、デプス値比較回路120において最小保持デプス値と比較される。   The sort data read control circuit 100 holds the head address of the block (the address of “data 0”) in the read address temporary buffer 180 as the block is read. The read sort data block is temporarily stored in the sort data buffer 110 and then compared with the minimum hold depth value in the depth value comparison circuit 120.

1回目のZソート処理において、最小保持デプス値は「0.2」である。このデプス値比較処理において、「データ0」と「データ3」のデプス平均値が「0.2」であり、「データ0」と「データ3」に対応するポリゴンの描画順序が決定される。「データ0」と「データ3」のいずれかを最初に描画するかは、例えば、ポリゴンデータが入力された順にすることができる。その場合、「データ0」、「データ3」の順序となる、この結果に基づき、描画順番用データライト制御回路130は、描画順序データを書き込む。   In the first Z sort process, the minimum holding depth value is “0.2”. In this depth value comparison processing, the depth average value of “data 0” and “data 3” is “0.2”, and the drawing order of polygons corresponding to “data 0” and “data 3” is determined. Whether “data 0” or “data 3” is drawn first can be determined, for example, in the order in which polygon data is input. In this case, the order is “data 0” and “data 3”. Based on this result, the drawing order data write control circuit 130 writes the drawing order data.

リード開始アドレス判断回路160は、デプス平均値>最小保持デプス値が存在するので、リード開始アドレス値用バッファ140の更新は行わない。また、リード終了アドレス判断回路170は、デプス平均値>最小保持デプス値が存在するので、次のブロックの読み出しのときにリードアドレス一時バッファ180を、次のブロックの先頭アドレス、つまり「データ8」のアドレスに更新する。   The read start address determination circuit 160 does not update the read start address value buffer 140 because the average depth value> the minimum retained depth value exists. Further, since the average depth value> minimum holding depth value exists, the read end address determination circuit 170 stores the read address temporary buffer 180 in the next block read head address, that is, “data 8”. Update to the address.

最初のブロックのソート処理が終了すると、ソート用データリード制御回路100は、2番目のブロックのソート用データ(「データ8」〜「データ15」)のリードを行う。2番目のブロックにおいて、最小保持デプス値と等しいソート用データは存在せず、すなわちデプス平均値>最小保持デプス値が存在するため、リード開始アドレス値用バッファ140は更新されない。また、リードアドレス一時バッファ180は、次のブロックの読み出しのときに当該ブロックの先頭アドレス、すなわち「データ16」のアドレスに更新される。   When the sorting process of the first block is completed, the sorting data read control circuit 100 reads the sorting data (“data 8” to “data 15”) of the second block. In the second block, there is no sort data equal to the minimum holding depth value, that is, since there is a depth average value> minimum holding depth value, the read start address value buffer 140 is not updated. The read address temporary buffer 180 is updated to the head address of the block, that is, the address of “data 16” when the next block is read.

2番目のブロックのソート処理が終了すると、ソート用データリード制御回路100は、3番目のブロックのソート用データ(「データ16」〜「データ21」)のリードを行う。3番目のブロックにおいて、「データ21」のアドレスが、リード終了アドレス値用バッファ150に保持されたアドレスと一致するため、ソート用データリード制御回路100は、このブロックが最後の読み出しブロックであると判断し、リードアドレス一時バッファ180に保持されたアドレス値をリード終了アドレス値用バッファ150にセットする。すなわち、3番目のブロックの先頭アドレスである「データ16」のアドレスがセットされる。   When the sorting process of the second block is completed, the sorting data read control circuit 100 reads the sorting data (“data 16” to “data 21”) of the third block. In the third block, since the address of “data 21” matches the address held in the read end address value buffer 150, the sort data read control circuit 100 determines that this block is the last read block. The address value held in the read address temporary buffer 180 is set in the read end address value buffer 150. That is, the address of “data 16” that is the head address of the third block is set.

2回目のソート処理において、最小保持デプス値が「0.3」に更新される。最初のブロックにおいて、「データ1」、「データ5」、および「データ6」が最小保持デプス値に一致し、これらの描画順序が決定される。2番目のブロック(「データ8」〜「データ15」)において、最小保持デプス値に一致するソート用データはなく、3番目のブロックにおいて、「データ18」と「データ20」が最小保持デプス値に一致し、これらの描画順序が決定される。   In the second sort process, the minimum hold depth value is updated to “0.3”. In the first block, “data 1”, “data 5”, and “data 6” coincide with the minimum holding depth value, and the drawing order of these is determined. In the second block (“data 8” to “data 15”), there is no sorting data that matches the minimum holding depth value, and in the third block, “data 18” and “data 20” are the minimum holding depth values. These drawing orders are determined.

リード開始アドレス判断回路160は、2回目のソートにおいて、デプス平均値>最小保持デプス値が存在するので、リード開始アドレス値用バッファ140に保持された開始アドレスを更新しない。また、リード終了アドレス値用バッファ150の終了アドレスも更新されない。   In the second sort, the read start address determination circuit 160 does not update the start address held in the read start address value buffer 140 because the depth average value> the minimum hold depth value exists. Also, the end address of the read end address value buffer 150 is not updated.

第3回目のソートにおいて、最小保持デプス値が「0.4」に更新される。最初のブロックにおいて、「データ2」、「データ4」および「データ7」が最小保持デプス値と一致し、これらの描画順序が決定される。2番目のブロックでは、「データ10」が最小保持デプス値と一致し、3番目のブロックでは、「データ16」が最小保持デプス値と一致し、これらの描画順序が決定される。   In the third sort, the minimum hold depth value is updated to “0.4”. In the first block, “data 2”, “data 4”, and “data 7” coincide with the minimum holding depth value, and the drawing order of these is determined. In the second block, “data 10” matches the minimum holding depth value, and in the third block, “data 16” matches the minimum holding depth value, and the drawing order thereof is determined.

リード開始アドレス判断回路160は、最初のブロックに含まれるすべてのソート用データにおいて、デプス値比較結果が一度も、デプス平均値>最小保持デプス値とならないと判断し、リード開始アドレス値用バッファ140の開始アドレスを2番目のブロックの先頭アドレス値にセットする。すなわち、「データ8」のアドレス値がリード開始アドレス値にセットされる。   The read start address determination circuit 160 determines that the depth value comparison result is never the depth average value> minimum holding depth value in all sort data included in the first block, and the read start address value buffer 140. Is set to the start address value of the second block. That is, the address value of “data 8” is set to the read start address value.

4回目のソートにおいて、ソート用データリード制御回路100は、リード開始アドレス値用バッファ140の開始アドレスに従い、「データ8」を先頭アドレスにもつブロックをバーストリードする。4回目のソートでは、最小保持デプス値は、「0.5」に更新され、最初のブロックにおいて、「データ9」が最小保持デプス値に一致し、2番目のブロックにおいて「データ17」、「データ19」が最小保持デプス値に一致し、これらの描画順序が決定される。   In the fourth sort, the sort data read control circuit 100 performs burst read on the block having “data 8” at the head address in accordance with the start address of the read start address value buffer 140. In the fourth sorting, the minimum holding depth value is updated to “0.5”, and “data 9” matches the minimum holding depth value in the first block, and “data 17”, “ Data 19 "matches the minimum hold depth value, and the drawing order of these is determined.

5回目のソートにおいて、最小保持デプス値が「0.6」に更新される。最初のブロックにおいて、「データ8」と「データ11」が最小保持デプス値と一致し、2番目のブロックにおいて「データ21」が最小保持デプス値と一致し、これらの描画順序が決定される。   In the fifth sort, the minimum hold depth value is updated to “0.6”. In the first block, “data 8” and “data 11” match the minimum holding depth value, and in the second block, “data 21” matches the minimum holding depth value, and the drawing order is determined.

リード終了アドレス判断回路170は、2番目のブロックにおいて、デプス値>最小保持デプス値が一度も発生しないと判断し、リードアドレス一時バッファ180を前のブロックの先頭アドレスに更新し、リード終了アドレス値用バッファ150をその先頭アドレスに更新する。   The read end address determination circuit 170 determines that the depth value> minimum holding depth value never occurs in the second block, updates the read address temporary buffer 180 to the head address of the previous block, and reads the read end address value. The buffer 150 is updated to the head address.

6回目のソートでは、最小保持デプス値が「0.7」に更新され、ソート用データリード制御回路100は、「データ8」から「データ15」を含むブロックのみを読み出し、これらのデプス値比較処理を行う。   In the sixth sort, the minimum holding depth value is updated to “0.7”, and the sorting data read control circuit 100 reads only the blocks including “data 8” to “data 15”, and compares these depth values. Process.

こうして、ポリゴン描画順番用データが完成されるまで、言い換えれば、デプス値比較結果が一度も「デプス平均値>最小保持デプス値」とならなくなるまで、ソート用データの読み出しおよびデプス値比較処理が繰り返される。この複数回繰り返されるソート用データ読み出し時に、既にブロック内の全てのポリゴンのソート処理が終了した(ブロック内のデプス値比較結果が一度も「デプス平均値>最小保持デプス値」とならなかった)ソート用データは、再び読み出されないように制御されるので、Zソート処理終了時までに読み出されるソート用データ数が低減され、Zソート処理を高速化させることができる。   In this way, until the polygon drawing order data is completed, in other words, until the depth value comparison result never becomes “depth average value> minimum holding depth value”, the reading of the sorting data and the depth value comparison processing are repeated. It is. At the time of reading the sorting data repeated several times, all the polygons in the block have already been sorted (the depth value comparison result in the block has never been “depth average value> minimum holding depth value”). Since the sort data is controlled so as not to be read again, the number of sort data read before the end of the Z sort process is reduced, and the Z sort process can be speeded up.

本実施例によるソート処理回路では、リード開始アドレスおよび終了アドレス値を制御することで、ソート用データの読み出しが複数回繰り返される間に、ソート用データのリード数が少しずつ減少される。図6に示す構成において、リード開始アドレス判断回路160、リード終了アドレス判断回路170、およびリードアドレス一時バッファ180の3つ以外は、通常のデプス値比較処理において必要な回路であり、この3つの簡単な回路を付加することで、Zソート処理を高速化させることができる。   In the sort processing circuit according to the present embodiment, by controlling the read start address and the end address value, the number of read sort data is gradually reduced while the sort data is read a plurality of times. In the configuration shown in FIG. 6, except for the read start address determination circuit 160, the read end address determination circuit 170, and the read address temporary buffer 180, these three circuits are necessary for normal depth value comparison processing. By adding a simple circuit, the Z sort process can be speeded up.

勿論、最初のソート用データブロック内に、最も画面手前となるポリゴンがあった場合は、リード開始アドレス値によるリード数を低減することができない。また、最後のソート用データブロック内に最も画面奥側となるポリゴンがあった場合も、リード終了アドレス値によるリード数を低減することができない。しかしこれらは、半透明描画オブジェクト単位などで画面奥行き方向のソート処理をソフトウエアで行うなどして、ソートアクセラレータへのオブジェクト入力を画面奥側オブジェクトから順番に行うようにする(つまり、ソート用データは画面奥側から順番に格納される)ことで回避でき、確実にソート用データリード数を低減することができる。   Of course, if there is a polygon closest to the screen in the first sorting data block, the number of reads based on the read start address value cannot be reduced. In addition, even when the last sorting data block includes a polygon that is at the back of the screen, the number of reads based on the read end address value cannot be reduced. However, in this case, sort processing in the depth direction of the screen is performed by software in units of translucent drawing objects, etc., so that object input to the sort accelerator is performed in order from the object at the back of the screen (that is, the sort data) Are stored in order from the back side of the screen), and the number of sorting data reads can be reliably reduced.

さらに上記実施例の方法では、リード開始アドレス値とリード終了アドレス値の間にあるブロックは、既にブロック内全てのポリゴンのソート処理が終了していてもリードされてしまうことになる。これを回避するためには、ソート用データブロックの最大数分のブロック処理終了フラグ回路(ブロック最大数×1bit分)を追加し、そのフラグ値に従ってリードするブロックを制御すれば良い。この場合のブロック処理終了フラグ制御は、次のように行うことができる。   Furthermore, in the method of the above embodiment, the block between the read start address value and the read end address value is read even if the sorting processing of all the polygons in the block has already been completed. In order to avoid this, block processing end flag circuits (maximum number of blocks × 1 bit) corresponding to the maximum number of sort data blocks may be added, and the block to be read may be controlled according to the flag value. The block process end flag control in this case can be performed as follows.

1)Zソート処理開始時は、ブロック処理終了フラグを全て”0”にクリアする。
2)読み出したブロック内のソート用データによるデプス値比較結果が、一度も「デプス平均値>最小保持デプス値」とならなかった場合、そのブロックに対応したブロック処理終了フラグを”1”にする。
3)リード開始アドレス値とリード終了アドレス値の間にあるブロックに対応したブロック処理終了フラグが”1”のブロックは、リード処理しないようにする。こうすることで、さらに効率のよいソート用データブロックのリード制御を行うことができる。
1) When the Z sort process is started, all the block process end flags are cleared to “0”.
2) If the depth value comparison result based on the sorting data in the read block has never become “depth average value> minimum holding depth value”, the block processing end flag corresponding to the block is set to “1”. .
3) A block whose block processing end flag corresponding to a block between the read start address value and the read end address value is “1” is not read-processed. By doing so, it is possible to perform the read control of the sorting data block more efficiently.

さらに上記実施例では、リード開始アドレス値と終了アドレス値をブロック単位の先頭アドレス値としているが、もちろん1データ単位アドレス値でもって制御しても構わない。さらに、ソート用データは、メモリ内に全てが連続して格納されていなくても構わない。例えば、ソート用データをメモリ格納する際、ブロック単位の最後のデータに、次のブロックデータを格納するアドレス値を入れておき、ソート用データを読み出す際には、そのアドレス値に従って順番にブロック単位でリードすることも可能である。   Further, in the above embodiment, the read start address value and the end address value are used as the head address value in block units, but it is of course possible to control with one data unit address value. Further, all the sort data may not be stored continuously in the memory. For example, when storing the sort data in the memory, the address value for storing the next block data is put in the last data of the block unit, and when reading the sort data, the block unit is sequentially ordered according to the address value. It is also possible to lead by.

さらに上記実施例に係るZソート処理回路は、半透明ポリゴンについてのZソートの例を示したが、これに限らず、不透明描画オブジェクトのポリゴンのZソートを行うことができる。特に、Zバッファを用いずに、不透明ポリゴンを画面奥側から画面手前または画面手前から画面奥側にZソートして描画する場合に、本発明を適用することができる。   Furthermore, the Z sort processing circuit according to the above embodiment has shown an example of Z sort for a semi-transparent polygon. However, the present invention is not limited to this, and it is possible to perform Z sort of polygons of an opaque drawing object. In particular, the present invention can be applied to a case where opaque polygons are Z-sorted and drawn from the back side of the screen to the near side of the screen or from the near side of the screen to the far side of the screen without using the Z buffer.

本発明の好ましい実施の形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。   Although the preferred embodiment of the present invention has been described in detail, the present invention is not limited to the specific embodiment, and various modifications, within the scope of the gist of the present invention described in the claims, It can be changed.

本発明に係る3次元画像描画装置およびZソート処理方法は、3次元グラフィックスコンピュータ、ビデオゲーム機、遊技機、およびその他の映像装置などにおいて利用される。   The three-dimensional image drawing apparatus and the Z sort processing method according to the present invention are used in a three-dimensional graphics computer, a video game machine, a game machine, and other video apparatuses.

本発明の実施例に係る三次元画像描画装置のシステム構成を示すブロック図である。It is a block diagram which shows the system configuration | structure of the three-dimensional image drawing apparatus which concerns on the Example of this invention. 描画用回路の基本的な処理を示す図である。It is a figure which shows the basic process of the circuit for drawing. Zソート処理のフローを示す図である。It is a figure which shows the flow of Z sort process. ポリゴンデータとソート用データの格納状態を示す図である。It is a figure which shows the storage state of the polygon data and the data for sorting. ポリゴン描画順番用データの格納状態を示す図である。It is a figure which shows the storage state of the data for polygon drawing order. 本実施例のソート処理回路の構成を示すブロック図である。It is a block diagram which shows the structure of the sort processing circuit of a present Example. 本実施例のソート処理例を示す図である。It is a figure which shows the example of a sort process of a present Example. モデルデータの座標空間を示す図である。It is a figure which shows the coordinate space of model data. 半透明描画を説明する図である。It is a figure explaining translucent drawing. 立体物の半透明オブジェクトの例を示す図である。It is a figure which shows the example of the semi-transparent object of a solid object.

符号の説明Explanation of symbols

1:3次元画像描画装置
10:CPU
20:描画用回路
30:メモリ
40:メモリコントローラ
50:画像表示用回路
100:ソート用データリード制御回路
110:ソート用データバッファ
120:デプス値比較回路
130:描画順番用データライト制御回路
140:リード開始アドレス値用バッファ
150:リード終了アドレス値用バッファ
160:リード開始アドレス判断回路
170:リード終了アドレス判断回路
180:リードアドレス一時バッファ
1: 3D image drawing apparatus 10: CPU
20: Drawing circuit 30: Memory 40: Memory controller 50: Image display circuit 100: Sort data read control circuit 110: Sort data buffer 120: Depth value comparison circuit 130: Drawing order data write control circuit 140: Read Start address value buffer 150: Read end address value buffer 160: Read start address determination circuit 170: Read end address determination circuit 180: Read address temporary buffer

Claims (12)

ポリゴンを画面奥側から画面手前または画面手前から画面奥側に向けてソートする機能を備えた3次元画像描画装置であって、
ポリゴンについて画面奥行きの関数であるデプス値を含むソート用データを記憶する記憶手段と、
記憶手段からソート用データを読み出す読み出し手段と、
読み出し手段により読み出されたソート用データのデプス値を基準デプス値と比較して描画順序を決定する比較手段と、
読み出し手段により繰り返しソート用データが読み出されるとき、描画順序が決定されたソート用データに応じて、ソート用データの読出しを制御する読み出し制御手段と、
を有する3次元画像描画装置。
A 3D image drawing apparatus having a function of sorting polygons from the back of the screen toward the front of the screen or from the front of the screen toward the back of the screen,
Storage means for storing sorting data including depth values that are functions of screen depth for polygons;
Reading means for reading data for sorting from the storage means;
Comparing means for determining the drawing order by comparing the depth value of the sorting data read by the reading means with the reference depth value;
A read control means for controlling the reading of the sort data according to the sort data for which the drawing order has been determined when the sort data is repeatedly read by the read means;
A three-dimensional image drawing apparatus.
読み出し制御手段は、ソート用データの描画順序が決定されたソート用データを読み出し対象から除外するように読み出し手段を制御する、請求項1に記載の3次元画像描画装置。 The three-dimensional image drawing apparatus according to claim 1, wherein the reading control means controls the reading means so as to exclude the sorting data for which the drawing order of the sorting data has been determined from being read. 読み出し制御手段は、ソート用データの読み出し開始アドレスおよび読み出し終了アドレスを読み出し手段に供給する、請求項1または2に記載の3次元画像描画装置。 The three-dimensional image drawing apparatus according to claim 1, wherein the read control unit supplies the read start address and the read end address of the sort data to the read unit. 読み出し制御手段は、描画順序が決定されたソート用データに応じて、読み出し開始アドレスおよび読み出し終了アドレスの少なくとも一方を更新する、請求項3に記載の3次元画像描画装置。 The three-dimensional image drawing apparatus according to claim 3, wherein the read control unit updates at least one of the read start address and the read end address in accordance with the sorting data for which the drawing order is determined. 読み出し手段は、ソート用データをブロック単位で読み出し、読み出し制御手段は、ブロック内に含まれるすべてのソート用データの描画順序が決定された場合に、当該ブロックを読み出し対象から除外するように読み出し手段を制御する、請求項1ないし4いずれか1つに記載の3次元画像描画装置。 The reading unit reads the sorting data in units of blocks, and the reading control unit reads out the block from the reading target when the drawing order of all the sorting data included in the block is determined. The three-dimensional image drawing apparatus according to any one of claims 1 to 4, wherein the three-dimensional image drawing apparatus is controlled. 読み出し制御手段は、ブロックに含まれるすべてのソート用データの描画順序が決定されたか否かを判別するためのフラグ情報を保持し、当該フラグ情報に基づき読み出し手段の読み出しアドレスを制御する、請求項5に記載の3次元画像描画装置。 The read control means holds flag information for determining whether or not the drawing order of all sort data included in the block has been determined, and controls the read address of the read means based on the flag information. The three-dimensional image drawing apparatus according to 5. 記憶手段は、バースト読み出しが可能なメモリを含む、請求項1ないし6いずれか1つに記載の3次元画像描画装置。 The three-dimensional image drawing device according to claim 1, wherein the storage unit includes a memory capable of burst reading. ポリゴンは、半透明ポリゴンである、請求項1ないし7いずれか1つに記載の3次元画像描画装置。 The three-dimensional image drawing apparatus according to any one of claims 1 to 7, wherein the polygon is a translucent polygon. ポリゴンを画面奥側から画面手前または画面手前から画面奥側に向けてソートするポリゴンのソート処理方法であって、
描画オブジェクトであるポリゴンについての画面奥行きの関数であるデプス値を含むソート用データを記憶装置に記憶するステップと、
記憶装置からソート用データを読み出すステップと、
読み出されたソート用データのデプス値を基準デプス値と比較して描画順序を決定するステップと、
記憶装置からソート用データを繰り返し読み出すとき、描画順序が決定されたソート用データに応じて、ソート用データの読み出しを制御するステップと、
を有するソート処理方法。
A polygon sorting method for sorting polygons from the back of the screen toward the front of the screen or from the front of the screen toward the back of the screen,
Storing sort data in a storage device including a depth value that is a function of a screen depth for a polygon that is a drawing object;
Reading the sort data from the storage device;
Comparing the depth value of the read sort data with the reference depth value to determine the drawing order;
When repeatedly reading the sorting data from the storage device, the step of controlling the reading of the sorting data according to the sorting data for which the drawing order is determined;
Sort processing method having
制御するステップは、記憶装置の読み出しアドレスを更新する、請求項9に記載のソート処理方法。 The sort processing method according to claim 9, wherein the controlling step updates the read address of the storage device. ソート用データはブロック単位で読み出され、ブロック内のすべてのソート用データの描画順序が決定されている場合には、当該ブロックが読み出し対象から除外されるように読み出しを制御する、請求項9に記載のソート処理方法。 The sorting data is read in units of blocks, and when the drawing order of all the sorting data in the block is determined, the reading is controlled so that the block is excluded from the reading target. Sort processing method described in 1. 読み出すステップは、読み出し開始アドレスから読み出し終了アドレスに従いソート用データを読み出し、制御するステップは、開始アドレスおよび終了アドレスの少なくとも一方を更新する、請求項10ないし11いずれか1つに記載のソート処理方法。 12. The sort processing method according to claim 10, wherein the reading step reads the sort data from the read start address according to the read end address, and the controlling step updates at least one of the start address and the end address. .
JP2005101129A 2005-03-31 2005-03-31 Z sort processing circuit and three-dimensional image drawing apparatus using the same Expired - Fee Related JP4610394B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005101129A JP4610394B2 (en) 2005-03-31 2005-03-31 Z sort processing circuit and three-dimensional image drawing apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005101129A JP4610394B2 (en) 2005-03-31 2005-03-31 Z sort processing circuit and three-dimensional image drawing apparatus using the same

Publications (2)

Publication Number Publication Date
JP2006285372A true JP2006285372A (en) 2006-10-19
JP4610394B2 JP4610394B2 (en) 2011-01-12

Family

ID=37407273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005101129A Expired - Fee Related JP4610394B2 (en) 2005-03-31 2005-03-31 Z sort processing circuit and three-dimensional image drawing apparatus using the same

Country Status (1)

Country Link
JP (1) JP4610394B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06295343A (en) * 1993-04-07 1994-10-21 Fujitsu Ltd Graphic processor
JPH09114994A (en) * 1995-10-19 1997-05-02 Sony Corp Device and method for forming image
JPH09245194A (en) * 1996-03-07 1997-09-19 Sony Computer Entertainment:Kk Image processor
JPH1011610A (en) * 1996-06-19 1998-01-16 Sony Computer Entertainment:Kk Device and method for plotting
JPH10134204A (en) * 1996-10-28 1998-05-22 Hitachi Ltd Graphics display device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06295343A (en) * 1993-04-07 1994-10-21 Fujitsu Ltd Graphic processor
JPH09114994A (en) * 1995-10-19 1997-05-02 Sony Corp Device and method for forming image
JPH09245194A (en) * 1996-03-07 1997-09-19 Sony Computer Entertainment:Kk Image processor
JPH1011610A (en) * 1996-06-19 1998-01-16 Sony Computer Entertainment:Kk Device and method for plotting
JPH10134204A (en) * 1996-10-28 1998-05-22 Hitachi Ltd Graphics display device

Also Published As

Publication number Publication date
JP4610394B2 (en) 2011-01-12

Similar Documents

Publication Publication Date Title
JP4579262B2 (en) Early Z-test method and system for rendering three-dimensional images
US6038031A (en) 3D graphics object copying with reduced edge artifacts
US8223149B2 (en) Cone-culled soft shadows
US7161603B2 (en) Image rendering device and image rendering method
US6424345B1 (en) Binsorter triangle insertion optimization
KR20150039495A (en) Apparatus and Method for rendering a current frame using an image of previous tile
US8917281B2 (en) Image rendering method and system
US6271848B1 (en) Image processing device, image processing method and storage medium for storing image processing programs
KR100277803B1 (en) 3D graphic display
US20210287418A1 (en) Graphics processing unit render mode selection system
RU2680355C1 (en) Method and system of removing invisible surfaces of a three-dimensional scene
US8068120B2 (en) Guard band clipping systems and methods
JP2006195882A (en) Program, information storage medium and image generation system
JP3350473B2 (en) Three-dimensional graphics drawing apparatus and method for performing occlusion culling
EP2728551A1 (en) Image rendering method and system
US20020051016A1 (en) Graphics drawing device of processing drawing data including rotation target object and non-rotation target object
JP4610394B2 (en) Z sort processing circuit and three-dimensional image drawing apparatus using the same
US6518969B2 (en) Three dimensional graphics drawing apparatus for drawing polygons by adding an offset value to vertex data and method thereof
JP2006293470A (en) Drawing system, method therefor, and drawing program
JP2014219739A (en) Image processing apparatus which processes graphics by dividing space, and image processing method
JP4617187B2 (en) Z sort processing circuit and three-dimensional image drawing apparatus using the same
US20060061573A1 (en) Method and apparatus for rendering a quadrangle primitive
JP2006113909A (en) Image processor, image processing method and image processing program
JP4188463B2 (en) Image generating apparatus, image generating method, and storage medium
JPH1131236A (en) Sorting method of polygon data and picture processor using the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101012

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees