JP3479184B2 - Image generation method and image generation device - Google Patents

Image generation method and image generation device

Info

Publication number
JP3479184B2
JP3479184B2 JP13070796A JP13070796A JP3479184B2 JP 3479184 B2 JP3479184 B2 JP 3479184B2 JP 13070796 A JP13070796 A JP 13070796A JP 13070796 A JP13070796 A JP 13070796A JP 3479184 B2 JP3479184 B2 JP 3479184B2
Authority
JP
Japan
Prior art keywords
data
curved surface
image
function generator
spline function
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.)
Expired - Fee Related
Application number
JP13070796A
Other languages
Japanese (ja)
Other versions
JPH09293145A (en
Inventor
聡幸 広井
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP13070796A priority Critical patent/JP3479184B2/en
Publication of JPH09293145A publication Critical patent/JPH09293145A/en
Application granted granted Critical
Publication of JP3479184B2 publication Critical patent/JP3479184B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、例えば、3次元
コンピュータグラフィックスに適用される画像生成装置
に関し、特に、曲面の描画に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image generating apparatus applied to, for example, three-dimensional computer graphics, and more particularly to drawing a curved surface.

【0002】[0002]

【従来の技術】3次元コンピュータグラフィックスで
は、多数のポリゴン(例えば三角形や四角形などの多角
形)の集合として物体を表示している。このため、3次
元コンピュータグラフィックスに適用される画像生成装
置において、曲面を含む画像の当該曲面部分を、より自
然に表現しようとする場合には、細かい多くのポリゴン
を生成して画像を描画画像を生成するようにする必要が
ある。
2. Description of the Related Art In three-dimensional computer graphics, an object is displayed as a set of many polygons (eg, polygons such as triangles and quadrangles). For this reason, in an image generation device applied to three-dimensional computer graphics, in order to more naturally express the curved surface portion of an image including a curved surface, a large number of fine polygons are generated to draw the image. Should be generated.

【0003】しかし、この多数のポリゴンの頂点座標の
データを格納するためには、大容量のメモリが必要であ
り、ゲーム機などのようにメモリ容量に制限がある場合
には、ポリゴンの大きさが大きくなり、きめの細かい曲
面を表現することが困難である。
However, in order to store the vertex coordinate data of a large number of polygons, a large-capacity memory is required, and when the memory capacity is limited as in a game machine, the size of the polygons is large. Is large, and it is difficult to represent a finely curved surface.

【0004】そこで、従来から曲面などの形状をスプラ
イン関数等を合成して表現し、ポリゴンの頂点座標の代
わりに曲面を決定するコントロールポイントのデータの
みをメモリに格納して、メモリを節約する手法が用いら
れている。
Therefore, conventionally, a method of expressing a shape of a curved surface or the like by combining a spline function and the like, and storing only the data of the control points that determine the curved surface instead of the vertex coordinates of the polygon in the memory to save the memory. Is used.

【0005】しかしながら、この方法は、例えば3次元
等の多次元関数であるスプライン関数を高速に生成しな
ければならず、多数個の積和演算器が必要になる。この
ため、ハードウエア構成が複雑になり、LSI化したと
きに、チップ面積が大きくなり、また、高価格になって
しまう。
However, this method must generate a spline function, which is a multidimensional function such as three-dimensional, at high speed, and requires a large number of multiply-add calculators. For this reason, the hardware configuration becomes complicated, and when it is made into an LSI, the chip area becomes large and the cost becomes high.

【0006】このような問題を回避するためには、曲面
を表現するスプライン関数として、曲面を容易に分割す
ることができるベゼー曲面等の関数を用いる方法が、一
般的に使用されている。
In order to avoid such a problem, a method of using a function such as a Bezier surface which can easily divide a curved surface is generally used as a spline function for expressing the curved surface.

【0007】[0007]

【発明が解決しようとする課題】しかし、ベゼー曲面を
使用して描画を行う場合には、使用できるスプライン関
数が限定されてしまうため、表現できる曲面形状に制約
があり、少ないデータ量で表現できる曲面形状には限界
があった。
However, when drawing is performed using a Beze surface, the usable spline function is limited, so that the shape of the curved surface that can be expressed is limited and can be expressed with a small amount of data. There was a limit to the shape of the curved surface.

【0008】この発明は、以上の点にかんがみ、簡単な
ハードウエアを用いると共に、曲面を表現するために使
用するスプライン関数に制限がなく、しかも、少ないデ
ータ量で滑らかな曲面を高速に描画することができる画
像生成方法および画像生成装置を提供することを目的と
する。
In view of the above points, the present invention uses simple hardware, has no limitation on the spline function used for expressing a curved surface, and draws a smooth curved surface at a high speed with a small amount of data. An object of the present invention is to provide an image generation method and an image generation device that can perform the image generation.

【0009】[0009]

【課題を解決するための手段】上記課題を解決するため
に、この発明による画像生成方法は、n次のスプライン
関数が用いられて表現される曲面の形状を決定するため
のコントロールポイントのデータを用いて前記曲面の画
像を生成する方法において、前記コントロールポイント
のデータを加工して得られる初期値データと、前記曲面
を分割したときの分割ステップの情報とを微分解析器に
与えて、この微分解析器を初期化する第1の工程と、前
記微分解析器から前記分割ステップごとのスプライン関
数の値を得る第2の工程と、前記第2の工程で得られた
スプライン関数の値を元にして、前記分割ステップで前
記曲面が分割されたときの各分割平面の情報を発生する
第3の工程と、を実行して、前記曲面の画像を生成する
ものである。
In order to solve the above problems, the image generating method according to the present invention uses control point data for determining the shape of a curved surface expressed by using an nth-order spline function. In the method of generating an image of the curved surface by using the initial value data obtained by processing the data of the control point, and the information of the dividing step when dividing the curved surface is given to the differential analyzer, Based on the first step of initializing the analyzer, the second step of obtaining the value of the spline function for each division step from the differential analyzer, and the value of the spline function obtained in the second step. And a third step of generating information on each division plane when the curved surface is divided in the dividing step, to generate an image of the curved surface.

【0010】また、この発明による画像生成装置は、微
分解析器からなる関数発生器と、ポリゴン分割手段と、
このポリゴン分割手段からのポリゴンデータを表示する
ためのデータに変換する変換手段と、を備え、前記ポリ
ゴン分割手段は、n次のスプライン関数が用いられて表
現されている曲面の形状を決定するためのコントロール
ポイントのデータを加工して得られる初期値データと、
前記曲面を分割したときの分割ステップの大きさの情報
とを前記関数発生器に与え、前記関数発生器から得られ
る前記分割ステップごとのスプライン関数の値を取得
し、この取得した値を元にして、前記分割ステップで前
記曲面が分割されたときの各分割平面のポリゴンデータ
を発生するようにすることを特徴とするものである。
The image generating apparatus according to the present invention further comprises a function generator including a differential analyzer, polygon dividing means,
Conversion means for converting the polygon data from the polygon dividing means into data for displaying the polygon data, and the polygon dividing means determines the shape of the curved surface represented by using an n-th order spline function. Initial value data obtained by processing the control point data of
Information on the size of the division step when dividing the curved surface is given to the function generator, the value of the spline function for each division step obtained from the function generator is acquired, and based on the obtained value. Then, polygon data of each division plane when the curved surface is divided in the dividing step is generated.

【0011】上記の構成のこの発明においては、複数個
の加算器を用いて構成することが可能な微分解析器から
なる関数発生器に、曲面の形状を決定するためのコント
ロールポイントのデータを加工して得られる初期値デー
タと、前記曲面を分割したときの分割ステップの大きさ
の情報とを与えると、この関数発生器から描画しようと
する曲面を分割した、分割ステップごとのスプライン関
数の値が得られる。
In the present invention having the above-mentioned structure, the data of the control points for determining the shape of the curved surface is processed in the function generator composed of the differential analyzer which can be formed by using a plurality of adders. Given the initial value data obtained by and the information of the size of the dividing step when dividing the curved surface, the value of the spline function for each dividing step, which is obtained by dividing the curved surface to be drawn from this function generator. Is obtained.

【0012】そして、この各分割ステップごとのスプラ
イン関数の値から、そのスプライン関数で表現される曲
面を分割したときの各分割平面のポリゴンデータが生成
される。このポリゴンデータを、表示のための、例えば
ポリゴン頂点座標データに変換すれば、曲面が描画され
る。
Then, from the value of the spline function for each division step, polygon data of each division plane when the curved surface represented by the spline function is divided is generated. If this polygon data is converted into, for example, polygon vertex coordinate data for display, a curved surface is drawn.

【0013】[0013]

【発明の実施の形態】以下、この発明による画像生成方
法および画像生成装置の一実施の形態を、ゲーム機に適
用した場合について、図を参照しながら説明する。
BEST MODE FOR CARRYING OUT THE INVENTION A case in which an embodiment of an image generating method and an image generating apparatus according to the present invention is applied to a game machine will be described below with reference to the drawings.

【0014】図3は、この発明の一実施の形態の画像生
成装置の構成例を示すもので、この例は3Dグラフィッ
クス機能と、動画再生機能とを備えるゲーム機の場合の
例である。
FIG. 3 shows an example of the configuration of an image generating apparatus according to an embodiment of the present invention, which is an example of a game machine having a 3D graphics function and a moving image reproducing function.

【0015】図4は、この例のゲーム機の外観を示すも
ので、この例のゲーム機は、ゲーム機本体1と、ユーザ
の操作入力部を構成するコントロールパッド2とからな
る。コントロールパッド2は、このコントロールパッド
2に接続されているケーブル3の先端に取り付けられて
いるコネクタプラグ4を、ゲーム機本体1のコネクタジ
ャック5Aに結合させることにより、ゲーム機本体1に
接続される。この例では、いわゆる対戦ゲーム等のため
に、2個のコントロールパッド2がゲーム機本体1に対
して接続することができるように、2個のコネクタジャ
ック5A,5Bがゲーム機本体1に設けられている。
FIG. 4 shows the appearance of the game machine of this example. The game machine of this example comprises a game machine body 1 and a control pad 2 which constitutes an operation input section for the user. The control pad 2 is connected to the game machine body 1 by coupling a connector plug 4 attached to the tip of a cable 3 connected to the control pad 2 to a connector jack 5A of the game machine body 1. . In this example, two connector jacks 5A and 5B are provided on the game machine main body 1 so that the two control pads 2 can be connected to the game machine main body 1 for so-called competitive games and the like. ing.

【0016】この例のゲーム機は、ゲームプログラムや
画像データが書き込まれたCD−ROMディスク6をゲ
ーム機本体1に装填することにより、ゲームを楽しむこ
とができる。
In the game machine of this example, a game can be enjoyed by loading the CD-ROM disk 6 in which the game program and image data are written into the game machine body 1.

【0017】次に、図3を参照しながら、この例の画像
生成装置の構成について説明する。この例の画像生成装
置としてのゲーム機は、メインバス10と、サブバス2
0とからなる2つのシステムバスを備える構成を有して
いる。これらメインバス1と、サブバス2との間のデー
タのやり取りは、バスコントローラ30により制御され
る。
Next, the configuration of the image generating apparatus of this example will be described with reference to FIG. The game machine as the image generation apparatus of this example includes a main bus 10 and a sub-bus 2.
It has a configuration including two system buses consisting of 0 and 0. Data exchange between the main bus 1 and the sub bus 2 is controlled by the bus controller 30.

【0018】そして、メインバス10には、メインCP
U11と、メインメモリ12と、画像伸長部13と、前
処理部14と、描画処理部15と、メインのDMAコン
トローラ16(以下、メインDMACという)が接続さ
れている。描画処理部15には、処理用メモリ17が接
続されていると共に、この描画処理部15は表示データ
用のいわゆるフレームメモリと、D/A変換回路を含
み、この描画処理部15からのアナログビデオ信号がビ
デオ出力端子18に出力される。図示しないが、このビ
デオ出力端子18は、表示装置としての例えばCRTデ
ィスプレイに接続される。
The main CP is connected to the main bus 10.
The U11, the main memory 12, the image decompression unit 13, the preprocessing unit 14, the drawing processing unit 15, and the main DMA controller 16 (hereinafter referred to as the main DMAC) are connected. A processing memory 17 is connected to the drawing processing unit 15, and the drawing processing unit 15 includes a so-called frame memory for display data and a D / A conversion circuit. The signal is output to the video output terminal 18. Although not shown, this video output terminal 18 is connected to, for example, a CRT display as a display device.

【0019】サブバス20には、サブCPU21と、サ
ブメモリ22と、ブートROM23と、サブのDMAコ
ントローラ24と、音声処理用プロセッサ25と、入力
部26と、CD−ROMデコーダ27と、拡張用の通信
インターフェース部28とが接続される。ブートROM
23には、ゲーム機としての立ち上げを行うためのプロ
グラムが格納されている。また、音声処理用プロセッサ
25に対しては、音声処理用メモリ25Mが接続されて
いる。そして、この音声処理用プロセッサ25はD/A
変換回路を備え、これよりはアナログ音声信号を音声出
力端子29に出力する。
On the sub bus 20, a sub CPU 21, a sub memory 22, a boot ROM 23, a sub DMA controller 24, a voice processing processor 25, an input unit 26, a CD-ROM decoder 27, and an expansion unit. The communication interface unit 28 is connected. Boot ROM
23 stores a program for starting up as a game machine. A voice processing memory 25M is connected to the voice processing processor 25. The voice processing processor 25 is a D / A
A conversion circuit is provided, and an analog audio signal is output from the audio output terminal 29.

【0020】そして、CD−ROMデコーダ27は、C
D−ROMドライバ40に接続されており、CD−RO
Mドライバ40に装填されたCD−ROMディスク6に
記録されているアプリケーションプログラム(例えばゲ
ームのプログラム)やデータをデコードする。CD−R
OMディスク6には、例えば離散コサイン変換(DC
T)により画像圧縮された動画や静止画の画像データ
や、ポリゴンを修飾するためのテクスチャー画像の画像
データも記録されている。
The CD-ROM decoder 27 has a C
The CD-RO is connected to the D-ROM driver 40.
An application program (for example, a game program) or data recorded on the CD-ROM disc 6 loaded in the M driver 40 is decoded. CD-R
The OM disk 6 has, for example, a discrete cosine transform (DC
Image data of a moving image or a still image compressed by T) and image data of a texture image for modifying polygons are also recorded.

【0021】CD−ROMディスク6のアプリケーショ
ンプログラムには、ポリゴン描画命令が含まれており、
曲面の場合には、使用するスプライン関数を特定するデ
ータと、曲面を決定するコントロールポイントのデータ
が、このCD−ROM31に記憶されている。後述する
ように、コントロールポイントのデータの代わりに、微
分解析器からなるスプライン関数発生器に与える初期化
データに適するデータを記憶しておくようにしてもよ
い。
The application program of the CD-ROM disc 6 includes a polygon drawing command,
In the case of a curved surface, data for specifying the spline function to be used and control point data for determining the curved surface are stored in this CD-ROM 31. As will be described later, instead of the control point data, data suitable for the initialization data to be given to the spline function generator composed of the differential analyzer may be stored.

【0022】入力部26は、前述した操作入力手段とし
てのコントロールパッド2と、ビデオ信号の入力端子
と、音声信号の入力端子を備えるものである。
The input section 26 includes the control pad 2 as the operation input means described above, a video signal input terminal, and an audio signal input terminal.

【0023】メインCPU11は、メインバス10側の
各部の管理および制御を行なう。また、このメインCP
U11は、物体を多数のポリゴンの集まりとして描画す
る場合の処理の一部を行う。メインCPU11は、後述
もするように、1画面分の描画画像を生成するための描
画命令例をメインメモリ12上に作成する。
The main CPU 11 manages and controls each unit on the main bus 10 side. Also, this main CP
U11 performs a part of the processing when drawing an object as a collection of many polygons. As will be described later, the main CPU 11 creates an example of drawing commands for creating a drawing image for one screen on the main memory 12.

【0024】また、このメインCPU11は、キャッシ
ュメモリ11Mを有し、CPUインストラクションの一
部は、メインバス10からフェッチすることなく実行で
きる。さらに、メインCPU11には、描画命令を作成
する際にポリゴンについての座標変換演算を行なうため
の座標演算部11Gが、CPU内部コプロセッサとして
設けられている。座標演算部11Gは、3次元座標変換
及び3次元から表示画面上の2次元への変換の演算を行
なう。
The main CPU 11 has a cache memory 11M, and a part of the CPU instructions can be executed without fetching from the main bus 10. Further, the main CPU 11 is provided with a coordinate calculation unit 11G as a CPU internal coprocessor for performing coordinate conversion calculation for polygons when creating a drawing command. The coordinate calculation unit 11G performs calculation of three-dimensional coordinate conversion and conversion from three-dimensional to two-dimensional on the display screen.

【0025】このように、メインCPU11は、内部に
命令キャッシュ11Mと座標演算部11Gを有している
ため、その処理をメインバス10を使用しなくても、あ
る程度行うことができるため、メインバス10を開放し
やすい。
As described above, since the main CPU 11 has the instruction cache 11M and the coordinate calculation unit 11G inside, the main CPU 11 can perform its processing to some extent without using the main bus 10. Easy to open 10.

【0026】メインメモリ12は、動画や静止画の画像
データに対しては、圧縮された画像データのメモリ領域
と、伸長デコード処理された伸長画像データのメモリ領
域とを備えている。また、メインメモリ12は、描画命
令列などのグラフィックスデータのメモリ領域(これを
パケットバッファという)を備える。このパケットバッ
ファは、メインCPU11による描画命令列の設定と、
描画命令列の描画処理部への転送とに使用される。
The main memory 12 has a memory area for compressed image data and a memory area for expanded image data subjected to expansion decoding processing for moving image and still image image data. Further, the main memory 12 includes a memory area for graphics data such as a drawing command string (this is called a packet buffer). This packet buffer is used to set a drawing command sequence by the main CPU 11,
It is used to transfer the drawing command sequence to the drawing processing unit.

【0027】画像伸長部13は、CD−ROMディスク
6から再生された圧縮画像データの伸長処理を行なうも
ので、ハフマン符号のデコーダと、逆量子化回路と、逆
離散コサイン変換回路のハードウエアを備える。ハフマ
ン符号のデコーダの部分は、メインCPU11がソフト
ウエアとしてその処理を行うようにしてもよい。
The image decompression unit 13 decompresses the compressed image data reproduced from the CD-ROM disk 6, and includes hardware such as a Huffman code decoder, an inverse quantization circuit, and an inverse discrete cosine transform circuit. Prepare The main CPU 11 may perform the processing of the Huffman code decoder as software.

【0028】描画処理部15は、メインメモリ12から
転送されてくる描画命令を実行して、その結果をフレー
ムメモリに書き込む。フレームメモリから読み出された
画像データは、D/A変換器を介してビデオ出力端子1
8に出力され、画像モニター装置の画面に表示される。
The drawing processing section 15 executes the drawing command transferred from the main memory 12 and writes the result in the frame memory. The image data read from the frame memory is sent to the video output terminal 1 via the D / A converter.
8 and is displayed on the screen of the image monitor device.

【0029】前処理部14は、CPUを備えるプロセッ
サの構成とされるもので、メインCPU11の処理の一
部を分担することができるようにするものである。この
例の場合には、後述するように、この前処理部14にお
いて、曲面についての画像生成処理を行うようにする。
その場合には、曲面分割処理と、分割処理により得られ
た多数個のポリゴンデータを、表示のための2次元座標
データに変換する処理も、この前処理部14が行う。
The pre-processing section 14 is constituted by a processor having a CPU, and can share a part of the processing of the main CPU 11. In the case of this example, as described later, the pre-processing unit 14 is configured to perform the image generation processing on the curved surface.
In this case, the preprocessing unit 14 also performs the curved surface dividing process and the process of converting a large number of polygon data obtained by the dividing process into two-dimensional coordinate data for display.

【0030】このゲーム機の基本的な処理について以下
に説明する。
The basic processing of this game machine will be described below.

【0031】[CD−ROMディスク6からのデータの
取り込み]図3の例のゲーム機に電源が投入され、ゲー
ム機本体1にCD−ROMディスク6が装填されると、
ブートROM23の、ゲームを実行するためのいわゆる
初期化処理をするためのプログラムが、サブCPU21
により実行される。すると、CD−ROMディスク6の
記録データが次のようにして取り込まれる。
[Acquisition of Data from CD-ROM Disc 6] When the power of the game machine shown in FIG. 3 is turned on and the game machine body 1 is loaded with the CD-ROM disc 6,
The program of the so-called initialization process for executing the game in the boot ROM 23 is the sub CPU 21.
Executed by. Then, the record data of the CD-ROM disc 6 is taken in as follows.

【0032】すなわち、CD−ROMディスク6から、
圧縮画像データ、描画命令及びメインCPU11が実行
するプログラムが、CD−ROMドライバ40、CD−
ROMデコーダ27を介して読み出され、サブDMAC
24によってサブメモリ22に一旦ロードされる。
That is, from the CD-ROM disc 6,
The compressed image data, the drawing command, and the program executed by the main CPU 11 are the CD-ROM driver 40 and the CD-ROM driver.
The sub DMAC is read out via the ROM decoder 27.
It is temporarily loaded into the sub memory 22 by 24.

【0033】そして、このサブメモリ22に取り込まれ
たデータは、サブDMACおよびバスコントローラ3
0、さらにはメインDMAC16によってメインメモリ
12に転送される。なお、サブCPU21は、描画処理
部15のフレームに対して直接的にアクセスできるよう
に構成されており、このサブCPU21によっても表示
画像内容の変更が、描画処理部15の制御とは離れて可
能とされている。
The data taken into the sub memory 22 is stored in the sub DMAC and the bus controller 3.
0, and further transferred to the main memory 12 by the main DMAC 16. Note that the sub CPU 21 is configured to be able to directly access the frame of the drawing processing unit 15, and this sub CPU 21 can also change the content of the display image apart from the control of the drawing processing unit 15. It is said that.

【0034】[圧縮画像データの伸長及び転送]メイン
メモリ12の入力データのうち、圧縮画像データは、こ
の例では、メインCPU11がハフマン符号のデコード
処理を行った後、再びメインCPU11によりメインメ
モリ12に書き込まれる。そして、メインDMAC16
は、このハフマン符号のデコード処理後の画像データを
メインメモリ12から画像伸長部13に転送する。画像
伸長部13は、逆量子化の処理と、逆DCTの処理を行
って画像データの伸長デコード処理を行う。伸長された
画像データは、メインDMAC16が、メインメモリ1
2に転送する。
[Expansion and Transfer of Compressed Image Data] Of the input data of the main memory 12, the compressed image data, in this example, is processed by the main CPU 11 after decoding the Huffman code, and then the main CPU 11 again performs the main memory 12. Written in. And the main DMAC16
Transfers the image data after the decoding processing of this Huffman code from the main memory 12 to the image expansion unit 13. The image decompression unit 13 performs dequantization processing and inverse DCT processing to decompress and decode image data. The main DMAC 16 stores the expanded image data in the main memory 1
Transfer to 2.

【0035】メインCPU11は、伸長された画像デー
タのマクロブロックと呼ばれる単位データが一定量、メ
インメモリ12に蓄積された時点で、当該伸長データを
描画処理部15のフレームメモリに転送する。この際
に、伸長画像データがフレームメモリの画像メモリ領域
に転送されれば、そのまま背景動画像として画像モニタ
ー装置で表示されることになる。また、フレームメモリ
のテクスチャー領域に転送される場合もある。このテク
スチャー領域の画像データは、テクスチャー画像とし
て、ポリゴンの修飾に使用される。
The main CPU 11 transfers the decompressed data to the frame memory of the drawing processing unit 15 when a certain amount of unit data called a macroblock of the decompressed image data is accumulated in the main memory 12. At this time, if the decompressed image data is transferred to the image memory area of the frame memory, it is displayed as it is on the image monitor device as a background moving image. It may also be transferred to the texture area of the frame memory. The image data of this texture region is used as a texture image for modifying a polygon.

【0036】[描画命令列についての処理と転送]物体
の面を構成するポリゴンは、3次元的な奥行きの情報で
あるZデータに従って奥行き方向の深い位置にあるポリ
ゴンから順に描画することにより、2次元画像表示面に
立体的に画像を表示することができる。メインCPU1
1は、このように奥行き方向の深い位置にあるポリゴン
から順に、描画処理部15で描画が行われるようにする
ための描画命令列をメインメモリ12上に作成する。
[Processing and Transfer of Drawing Command Sequence] The polygons forming the surface of the object are drawn in order from the polygon at the deep position in the depth direction according to the Z data which is the three-dimensional depth information. Images can be three-dimensionally displayed on the three-dimensional image display surface. Main CPU1
1 creates a drawing command sequence in the main memory 12 so that the drawing processing unit 15 draws in order from the polygons at the deep positions in the depth direction.

【0037】メインCPU11は、入力部26のコント
ロールパッドからのユーザーの操作入力に基づいて、物
体や視点の動きを計算し、メインメモリ12上にポリゴ
ン描画命令列を作成する。
The main CPU 11 calculates the movements of the object and the viewpoint based on the user's operation input from the control pad of the input unit 26, and creates a polygon drawing command sequence on the main memory 12.

【0038】この描画命令列が完成すると、メインDM
AC16は、前処理部14を通じて、描画命令毎に、メ
インメモリ12から描画処理部15に転送する。この際
に、前処理部14において、曲面のデータについては後
述のような曲面分割演算およびポリゴン生成処理が施さ
れる。
When this drawing command sequence is completed, the main DM
The AC 16 transfers the drawing command from the main memory 12 to the drawing processing unit 15 through the preprocessing unit 14. At this time, in the pre-processing unit 14, curved surface data is subjected to curved surface division calculation and polygon generation processing, which will be described later.

【0039】描画処理部15では、送られてきたデータ
を順次実行して、その結果を、フレームメモリの描画領
域に格納する。このポリゴン描画の際、データは、描画
処理部15の勾配計算ユニットに送られ、勾配計算が行
なわれる。勾配計算は、ポリゴン描画で多角形の内側を
マッピングデータで埋めていく際、マッピングデータの
平面の傾きを求める計算である。テクスチャーの場合は
テクスチャー画像データでポリゴンが埋められ、また、
グーローシェーディングの場合は輝度値でポリゴンが埋
められる。
The drawing processing unit 15 sequentially executes the received data and stores the result in the drawing area of the frame memory. At the time of this polygon drawing, the data is sent to the gradient calculation unit of the drawing processing unit 15 and the gradient calculation is performed. The gradient calculation is a calculation for obtaining the inclination of the plane of the mapping data when filling the inside of the polygon with the mapping data in drawing the polygon. In the case of texture, polygons are filled with texture image data,
In the case of Gouraud shading, the polygon is filled with the brightness value.

【0040】更に、動画のテクスチャーが可能である。
つまり、動画テクスチャーの場合には、前述したよう
に、CD−ROMディスクからの圧縮された動画データ
は、一旦、メインメモリ12に読み込まれる。そして、
この圧縮画像データは、画像伸長部13に送られる。画
像伸長部13で、画像データが伸長される。このとき、
前述したように、伸長処理の一部は、メインCPU11
が負担する。
Furthermore, the texture of a moving image is possible.
That is, in the case of a moving image texture, as described above, the compressed moving image data from the CD-ROM disc is once read into the main memory 12. And
This compressed image data is sent to the image decompression unit 13. The image expansion unit 13 expands the image data. At this time,
As described above, part of the decompression processing is performed by the main CPU 11
Will be borne.

【0041】そして、伸長された動画データは描画処理
部15のフレームメモリ上のテクスチャー領域に送られ
る。テクスチャー領域は、この描画処理部15のフレー
ムメモリ内に設けられているので、テクスチャーパター
ン自身も、フレーム毎に書き換えることが可能である。
このように、テクスチャー領域に動画を送ると、テクス
チャーが1フレーム毎に動的に書き換えられて変化す
る。このテクスチャー領域の動画により、ポリゴンへの
テクスチャーマッピングを行えば、動画のテクスチャー
が実現される。
The decompressed moving image data is sent to the texture area on the frame memory of the drawing processing section 15. Since the texture area is provided in the frame memory of the drawing processing unit 15, the texture pattern itself can be rewritten for each frame.
In this way, when a moving image is sent to the texture area, the texture is dynamically rewritten and changed every frame. The texture of the moving image is realized by performing the texture mapping on the polygon by the moving image in the texture area.

【0042】[曲面描画処理の説明]図1は、曲面描画
処理についての、前処理部14と、描画処理部15の要
部の構成を示す図である。
[Explanation of Curved Surface Drawing Process] FIG. 1 is a diagram showing a configuration of a main part of the preprocessing unit 14 and the drawing processing unit 15 for the curved surface drawing process.

【0043】この図1に示すように、前処理部14は、
ポリゴン分割手段141と、スプライン関数発生器14
2と、座標変換手段143とを備える。ポリゴン分割手
段141と、座標変換手段143とは曲線描画処理の場
合の前処理部出の機能をブロックとして示したものであ
る。スプライン関数発生器142は、後述するように複
数の加算器からなる微分解析器で構成される。
As shown in FIG. 1, the preprocessing unit 14 is
Polygon dividing means 141 and spline function generator 14
2 and coordinate conversion means 143. The polygon dividing means 141 and the coordinate converting means 143 show the functions of the preprocessing unit in the case of the curve drawing processing as blocks. The spline function generator 142 is composed of a differential analyzer composed of a plurality of adders as described later.

【0044】そして、描画処理部15は、機能手段とし
ての描画手段151と、フレームメモリ152とからな
る。
The drawing processing section 15 comprises a drawing means 151 as a functional means and a frame memory 152.

【0045】曲面描画処理の場合には、前処理部14に
は、この例の場合には、曲面のコントローラポイントの
データがメインメモリ12から転送される。ポリゴン分
割手段141は、このコントローラポイントのデータを
加工して、スプライン関数発生器142に供給する初期
化データを生成する。また、ポリゴン分割手段141
は、予め、描画しようとする曲面を分割したときの分割
ステップの大きさを定めておく。そして、生成した初期
化データと、分割ステップの大きさの情報とを、スプラ
イン関数発生器142に与え、このスプライン関数発生
器142を初期化する。
In the case of curved surface drawing processing, the controller point data of the curved surface is transferred from the main memory 12 to the preprocessing section 14 in this example. The polygon dividing means 141 processes the data of the controller points to generate initialization data to be supplied to the spline function generator 142. Also, the polygon dividing means 141
In advance, the size of the dividing step when dividing the curved surface to be drawn is determined in advance. Then, the generated initialization data and the information about the size of the division step are given to the spline function generator 142, and the spline function generator 142 is initialized.

【0046】スプライン関数発生器142は、初期化デ
ータを起算点として関数演算処理を行う。そして、各分
割ステップごとのスプライン関数値を生成する。生成さ
れたスプライン関数値は、ポリゴン分割手段141によ
り、読み出される。
The spline function generator 142 performs a function calculation process using the initialization data as a starting point. Then, the spline function value for each division step is generated. The generated spline function value is read by the polygon dividing unit 141.

【0047】ポリゴン分割手段141は、スプライン関
数発生器142から読み出したスプライン関数値を元
に、描画しようとする曲面を前記の分割ステップで分割
したときに生じる分割平面の、例えば4角形ポリゴンの
ポリゴンデータを生成する。この各分割平面のポリゴン
データは、座標変換手段143に送られる。座標変換手
段143は、このポリゴンデータを、表示装置としての
CRTディスプレイに適合するスクリーン座標系の2次
元頂点データに変換し、描画手段151に送る。
The polygon dividing means 141 is based on the spline function value read from the spline function generator 142, and divides the curved surface to be drawn in the above dividing step into polygons, for example, quadrangular polygons of a divided plane. Generate data. The polygon data of each divided plane is sent to the coordinate conversion means 143. The coordinate conversion means 143 converts this polygon data into two-dimensional vertex data of a screen coordinate system suitable for a CRT display as a display device, and sends it to the drawing means 151.

【0048】描画手段151は、受け取った2次元頂点
データに基づいて平面の塗り潰し、必要に応じてテクス
チャーや光源計算から得られた輝度値を元にしたシェー
ディングを施すような処理をした画像データをフレーム
メモリ152に書き込む。フレームメモリ152のデー
タは、適宜、読み出されて、D/A変換され、ビデオ出
力端子18より画像モニター装置としてのCRTディス
プレイに供給されて曲面を含む画像が表示される。
The drawing means 151 fills the plane on the basis of the received two-dimensional vertex data, and if necessary, the image data which has been subjected to the processing such as shading based on the brightness value obtained from the texture and the light source calculation. Write to the frame memory 152. The data in the frame memory 152 is appropriately read, D / A converted, and supplied from the video output terminal 18 to a CRT display as an image monitor device to display an image including a curved surface.

【0049】次に、以上の曲面描画処理について、さら
に説明する。
Next, the curved surface drawing processing described above will be further described.

【0050】図2は、描画しようとする一つの曲面の例
を示すものである。この図2において、u,vは、曲面
に関するパラメータ座標であり、図2のように、曲面に
沿ってそれぞれ矢印の方向に増加するものとする。Q
(u,v)は、この曲面上の点であり、3次元ベクトル
である。今、3次のスプライン関数を用いた曲面を考
え、この曲面のコントロールポイントを3次元ベクトル
Pijとすると、u,v曲面上の点Q(u,v)は、図
5の式(eq1)で表される。
FIG. 2 shows an example of one curved surface to be drawn. In FIG. 2, u and v are parameter coordinates relating to the curved surface, and are assumed to increase along the curved surface in the directions of the arrows as shown in FIG. Q
(U, v) are points on this curved surface and are three-dimensional vectors. Now, consider a curved surface using a cubic spline function, and if the control point of this curved surface is a three-dimensional vector Pij, the point Q (u, v) on the u, v curved surface is expressed by the equation (eq1) in FIG. expressed.

【0051】この式(eq1)で、Bi(u),Bj
(v)は3次のスプライン関数であり、Bi(u)は図
5の式(eq2)のように表され、Bj(v)は図5の
式(eq3)のように表される。
In this equation (eq1), Bi (u), Bj
(V) is a third-order spline function, Bi (u) is represented by the equation (eq2) in FIG. 5, and Bj (v) is represented by the equation (eq3) in FIG.

【0052】そして、図5の式(eq1)を変形する
と、図5の式(eq4)のようになる。ただし、この式
(eq4)のSk(v)は、図5の式(eq5)のよう
に表されるスプライン関数であり、3次元ベクトルであ
る。また、式(eq5)におけるvの各次数の項の係数
Rklは、図5の式(eq6)であり、これも3次元ベ
クトルである。
Then, when the equation (eq1) of FIG. 5 is modified, it becomes the equation (eq4) of FIG. However, Sk (v) of the equation (eq4) is a spline function represented by the equation (eq5) of FIG. 5, and is a three-dimensional vector. The coefficient Rkl of the term of each degree of v in the equation (eq5) is the equation (eq6) in FIG. 5, which is also a three-dimensional vector.

【0053】以上のことから、式(eq6)で表される
3次元ベクトルRklが求まると、式(eq5)で表さ
れる3次元ベクトルSk(v)が求まり、これにより点
Q(u,v)が求められることになる。式(eq6)に
おいて、akjおよびaljは、スプライン関数が決ま
れば決まる値であり、CD−ROMディスク6には、曲
面のデータとしてのコントロールポイントのデータのほ
かに、曲面を決定するスプライン関数を特定するための
情報として記憶されている。
From the above, when the three-dimensional vector Rkl represented by the equation (eq6) is obtained, the three-dimensional vector Sk (v) represented by the equation (eq5) is obtained, and the point Q (u, v ) Will be required. In the equation (eq6), akj and alj are values determined if the spline function is determined, and the CD-ROM disc 6 specifies the spline function determining the curved surface in addition to the control point data as the curved surface data. It is stored as information for doing.

【0054】したがって、今、曲面をu方向にG個、v
方向にH個に、等分割すれば、各々の分割により得られ
る分割平面の頂点は、以下に説明するアルゴリズムによ
り求めることができる。このアルゴリズムを図6および
図7のフローチャートを参照しながら説明する。
Therefore, now, G curved surfaces in the u direction, v
If it is equally divided into H pieces in the direction, the vertices of the division plane obtained by each division can be obtained by the algorithm described below. This algorithm will be described with reference to the flowcharts of FIGS. 6 and 7.

【0055】まず、ステップS1において、式(eq
6)より、k,l∈{0,1,2,3}に対して、コン
トロールポイントの3次元ベクトルPijから、前記3
次元ベクトルRklを求める。なお、このようにして、
演算により3次元ベクトルRklを求めるのではなく、
予め曲面データとして、コントロールポイントのデータ
の代わりに、この3次元ベクトルRklをCD−ROM
ディスク6に記憶しておき、このCD−ROMディスク
6から直接的に読み出すようにしてもよい。
First, in step S1, the expression (eq
From 6), for k, lε {0,1,2,3}, from the three-dimensional vector Pij of the control point,
Obtain the dimension vector Rkl. In this way,
Instead of obtaining the three-dimensional vector Rkl by calculation,
Instead of the control point data, this three-dimensional vector Rkl is used as the curved surface data in advance on the CD-ROM.
It may be stored in the disk 6 and read directly from the CD-ROM disk 6.

【0056】ステップS1が終了すると、ステップS2
に進み、この例では、曲面をu方向にG個、v方向にH
個に、等分割するときの、u方向およびv方向の分割ス
テップ幅ΔuおよびΔvを、Δu=1/G、Δv=1/
Hとして設定する。
When step S1 ends, step S2
In this example, G curved surfaces in the u direction and H curved surfaces in the v direction.
The division step widths Δu and Δv in the u direction and the v direction when equally dividing into
Set as H.

【0057】次に、ステップS3に進み、k∈{0,
1,2,3}に対する各々の3次のスプライン関数Sk
(v)の関数発生器に、v方向の分割ステップ幅Δv
と、前記3次元ベクトルRklを渡して、前記スプライ
ン関数発生器を初期化する。すなわち、このときには、
スプライン関数発生器112は、スプライン関数Sk
(v)の関数発生器として働くものである。
Next, in step S3, kε {0,
Each cubic spline function Sk for 1, 2, 3}
In the function generator of (v), the division step width Δv in the v direction is
Then, the three-dimensional vector Rkl is passed to initialize the spline function generator. That is, at this time,
The spline function generator 112 uses the spline function Sk
It functions as a function generator of (v).

【0058】そして、次のステップS4において、vの
値を0、v方向の繰り返しのステップ回数rを0とし
て初期設定をした後、v方向の以下の処理をr=H回
だけ、繰り返す。すなわち、ステップS5においては、
=H回のv方向の処理が終了したか否か判断し、未
だ、終了していなければ、ステップS6に進む。
Then, in the next step S4, the value of v is set to 0 and the step number r v of the v direction is repeatedly set to 0, and then the following processing in the v direction is repeated only r v = H times. . That is, in step S5,
It is determined whether or not r v = H times of processing in the v direction is completed, and if not completed, the process proceeds to step S6.

【0059】このステップS6では、関数発生器112
において、現在の3次元ベクトルSk(v)を求め、こ
の求めたSk(v)と、u方向の分割ステップ幅Δuと
を、スプライン関数Q(u,v)の関数発生器の初期化
データとして渡して、このスプライン関数発生器を初期
化する。すなわち、このときには、スプライン関数発生
器112は、スプライン関数Q(u,v)の関数発生器
として働くことになる。
In step S6, the function generator 112
, The current three-dimensional vector Sk (v) is obtained, and the obtained Sk (v) and the division step width Δu in the u direction are used as initialization data for the function generator of the spline function Q (u, v). Pass to initialize this spline function generator. That is, at this time, the spline function generator 112 works as a function generator of the spline function Q (u, v).

【0060】そして、次のステップS7において、uの
値を0、u方向の繰り返しのステップ回数rを0とし
て初期設定をした後、u方向の以下の処理をr=G回
だけ、繰り返す。すなわち、ステップ85においては、
=G回のu方向の処理が終了したか否か判断し、未
だ、終了していなければ、ステップS9に進む。
[0060] Then, at the next step S7, after the initial setting value of u 0, u direction of repetition of the number of steps r u 0, the following process in the u direction r u = only G times, repeated . That is, in step 85,
It is determined whether or not the processing of u = G times in the u direction is completed, and if not completed, the process proceeds to step S9.

【0061】ステップS9では、現在のスプライン関数
Q(u,v)の値を求めて、その値をポリゴン分割手段
141に出力する。そして、ステップS10に進み、u
の値を分割ステップ幅Δuだけ大きくすると共に、u方
向の繰り返しステップ回数rを1だけ、インクリメン
トする。そして、ステップS8〜ステップS10の処理
を繰り返し、u方向の次の分割ステップのところでの、
スプライン関数Q(u,v)の値を求めて、その値をポ
リゴン分割手段141に出力する。
In step S9, the current value of the spline function Q (u, v) is obtained, and that value is output to the polygon dividing means 141. Then, in step S10, u
Is increased by the division step width Δu, and the number of times u u of the repeated steps is incremented by 1. Then, the processes of steps S8 to S10 are repeated, and at the next division step in the u direction,
The value of the spline function Q (u, v) is obtained, and the value is output to the polygon dividing means 141.

【0062】ステップS8〜ステップS10の処理を、
=G回だけ繰り返して、v方向の1つの分割ステッ
プのところでの、u方向のすべての分割ステップについ
ての、スプライン関数Q(u,v)の値が求まると、ス
テップS8からステップS11に進み、vの値を分割ス
テップΔvだけ大きくすると共に、v方向の繰り返しス
テップ回数rを1だけ、インクリメントする。そし
て、ステップS5以降の処理を繰り返す。これにより、
v方向の各分割ステップ点ごとの、u方向のすべての分
割ステップ点についての、スプライン関数Q(u,v)
の値が求まり、その値がポリゴン分割手段141に送ら
れる。
The processing of steps S8 to S10 is
When the values of the spline function Q (u, v) for all the dividing steps in the u direction at one dividing step in the v direction are obtained by repeating ru = G times, the process proceeds from step S8 to step S11. Then, the value of v is increased by the division step Δv, and the number of repeated steps r v in the v direction is incremented by 1. Then, the processing after step S5 is repeated. This allows
Spline function Q (u, v) for all division step points in the u direction for each division step point in the v direction
Value is obtained, and the value is sent to the polygon dividing means 141.

【0063】以上のようにして繰り返し処理が行われ
て、ステップS5において、v方向の繰り返しステップ
回数r=Hとなったことが判別されると、このステッ
プS5からステップS12に進み、ポリゴン分割手段1
41は、蓄えていた各分割ステップ点ごとのスプライン
関数Q(u,v)の値を元にして、G×H個の4角形ポ
リゴンを作成し、これを座標変換手段143に送る。
When the iterative process is performed as described above and it is determined in step S5 that the number of repeated steps in the v direction is r v = H, the process proceeds from step S5 to step S12, and the polygon division is performed. Means 1
The reference numeral 41 creates G × H quadrilateral polygons based on the stored values of the spline function Q (u, v) for each division step point, and sends them to the coordinate conversion means 143.

【0064】座標変換手段143は、前述したように、
4角形ポリゴンのデータをCRTディスプレイに表示す
るための2次元頂点データに変換して、描画処理部15
に送る。描画処理部15は、これに基づいて、前述した
ような描画処理を実行し、CRTディスプレイの画面に
は、曲面の画像が表示される。
The coordinate transformation means 143, as described above,
The drawing processing unit 15 converts the data of the quadrilateral polygon into the two-dimensional vertex data to be displayed on the CRT display.
Send to. Based on this, the drawing processing unit 15 executes the above-described drawing processing, and the curved surface image is displayed on the screen of the CRT display.

【0065】なお、上記のアルゴリズムにおいては3次
元ベクトルを扱ったが、同時座標系の4次元ベクトル系
にも同様な手法で拡張可能である。また、上述のアルゴ
リズムでは、分割ステップ幅Δu、Δvごとのスプライ
ン関数Q(u,v)の値を、すべて得た後に、G×H個
の4角形ポリゴンを作成し、これを座標変換手段143
に送るようにしたが、ステップS9において、スプライ
ン関数Q(u,v)が得られた時点で、ポリゴン分割手
段141が対応する4角形ポリゴンを作成して、座標変
換手段143に出力するようにしてもよい。
Although three-dimensional vectors are dealt with in the above algorithm, it is possible to extend to a four-dimensional vector system of simultaneous coordinate system by a similar method. Further, in the above-described algorithm, after obtaining all the values of the spline function Q (u, v) for each of the division step widths Δu and Δv, G × H quadrangular polygons are created, and this is converted into the coordinate conversion means 143.
However, when the spline function Q (u, v) is obtained in step S9, the polygon dividing means 141 creates a corresponding quadrangular polygon and outputs it to the coordinate converting means 143. May be.

【0066】また、上述したように、曲面のスプライン
関数を特定する情報と、曲面のコントロールポイントの
データとを、CD−ROMディスク6に記憶しておくの
ではなく、コントロールポイントのデータに代えて、ス
プライン関数発生器の初期化データに適した情報、例え
ば上記の例で言えば、3次元ベクトルRklを、CD−
ROMディスク6に保存しておくようにすれば、上述し
た計算アルゴリズムの計算時間の短縮化が図れるもので
ある。
As described above, the information for specifying the spline function of the curved surface and the data of the control points of the curved surface are not stored in the CD-ROM disc 6, but instead of the data of the control points. , The information suitable for the initialization data of the spline function generator, for example, the three-dimensional vector Rkl in the above example, CD-
If it is stored in the ROM disk 6, the calculation time of the above-mentioned calculation algorithm can be shortened.

【0067】スプライン関数発生器142は、前述した
ように微分解析器を用いて構成するものであるが、上述
したアルゴリズムの場合のように、3次元ベクトル値を
計算するものである場合には、3種類の微分解析器を用
いて構成することができる。図8は、このように3次元
ベクトル値を計算する場合のスプライン関数発生器14
2の構成の一例を示すものである。
The spline function generator 142 is constructed by using a differential analyzer as described above, but in the case of calculating a three-dimensional vector value as in the case of the above-mentioned algorithm, It can be configured using three types of differential analyzers. FIG. 8 shows the spline function generator 14 for calculating a three-dimensional vector value in this way.
2 shows an example of the configuration of No. 2.

【0068】この例においては、スプライン関数発生器
142は、微分解析器を構成する3個の加算器A1、A
2、A3と、4本のバスB0、B1、B2、B3と、4
個のレジスタバンクBANK0、BANK1、BANK2、BANK3と
を備えている。
In this example, the spline function generator 142 is composed of three adders A1 and A constituting a differential analyzer.
2, A3 and 4 buses B0, B1, B2, B3 and 4
The register banks BANK0, BANK1, BANK2 and BANK3 are provided.

【0069】そして、説明を一般化すると、i(i∈
{0,1,2,3})番目のバスBiは、i番目のレジ
スタバンクBANKiに接続されている。i番目の加算器A
iの2個の入力端は、(i−1)番目のバスB(i−
1)およびi番目のバスBiに接続される。また、この
i番目の加算器Aiの出力端はi番目のバスBiに接続
される。
Then, generalizing the explanation, i (i∈
The {0, 1, 2, 3}) th bus Bi is connected to the ith register bank BANKi. i-th adder A
The two input terminals of i are the (i-1) th bus B (i-
1) and the i-th bus Bi. The output terminal of the i-th adder Ai is connected to the i-th bus Bi.

【0070】今、レジスタバンクBANKiの中には、レジ
スタRAiがあるとすると、加算器Aiは、レジスタR
A(i−1)とレジスタRAiからデータを読み出し、
加算した結果をレジスタRAiに書き込むという動作を
行うものである。
If there is a register RAi in the register bank BANKi, the adder Ai is
Read data from A (i-1) and register RAi,
The operation of writing the addition result in the register RAi is performed.

【0071】ここで、分割ステップ幅Δuごとの、uに
関する3次のスプライン関数は、次のようにして、図8
の構成のスプライン関数発生器142から得られる。
Here, the cubic spline function for u for each division step width Δu is as shown in FIG.
It is obtained from the spline function generator 142 having the following configuration.

【0072】この場合、各レジスタバンクBANKiのレジ
スタRAiには、図9Aに示すような初期値が書き込ま
れる。この図9Aから分かるように、この初期値には、
分割ステップ幅Δuが含まれる。なお、このΔuの大き
さは、前述したように、等分割の場合には、その分割数
によって定まるものであり、分割数がユーザの入力や、
CD−ROMディスク6に記憶されている情報に基づい
て設定されることにより、定まるものであり、一定では
ない。もっとも、曲面分割が等分割でない場合であって
も勿論良い。
In this case, the initial value as shown in FIG. 9A is written in the register RAi of each register bank BANKi. As can be seen from FIG. 9A, this initial value is
The division step width Δu is included. It should be noted that, as described above, the size of Δu is determined by the number of divisions in the case of equal division, and the number of divisions is input by the user,
It is set by the setting based on the information stored in the CD-ROM disc 6, and is not fixed. Of course, the curved surface may not be equally divided.

【0073】このように各レジスタバンクBANKiのレジ
スタRAiに初期値が設定された後、加算器A1,A
2,A3による加算を同時に実行すると、各レジスタバ
ンクBANKiのレジスタRAiの内容は、その実行回数に
より、図9Bに示すように変わる。この図9Bから分か
るように、加算器A1,A2,A3による加算を、この
例では、3回、同時に実行すると、レジスタRA3に
は、3次のスプライン関数の値が得られるものである。
After the initial value is set in the register RAi of each register bank BANKi in this way, the adders A1 and A
When the additions by 2 and A3 are executed at the same time, the content of the register RAi of each register bank BANKi changes as shown in FIG. 9B depending on the number of executions. As can be seen from FIG. 9B, when the additions by the adders A1, A2 and A3 are simultaneously executed three times in this example, the value of the cubic spline function is obtained in the register RA3.

【0074】このように、所定数r回だけ、加算器A
1,A2,A3による加算を同時に実行すると、レジス
タRA3には、 a・(r・Δu)3 +b・(r・Δu)2 +c・(r・
Δu)+d が格納されるものである。すなわち、分割ステップ幅Δ
uごとの、uに関する3次のスプライン関数がレジスタ
RA3に得られる。したがって、各分割ステップ幅Δu
ごとのr回の加算器A1,A2,A3による加算の同時
実行後のレジスタRA3の値を、スプライン関数発生器
142の出力とすることで、上述したアルゴリズム中の
各分割ステップごとのスプライン関数の値がポリゴン分
割手段141に与えられるものである。
In this way, the adder A is used a predetermined number of times r times.
When the additions by 1, A2 and A3 are executed at the same time, a. (R.Δu) 3 + b · (r · Δu) 2 + c · (r ·
Δu) + d is stored. That is, the division step width Δ
For each u, a cubic spline function for u is available in register RA3. Therefore, each division step width Δu
The value of the register RA3 after the simultaneous execution of addition by the adders A1, A2, and A3 for each time is set as the output of the spline function generator 142, so that the spline function of each division step in the above-described algorithm is The value is given to the polygon dividing means 141.

【0075】なお、3次以上のn次のスプライン関数を
発生する関数発生器は、n個の加算器を用いた微分解析
器により関数発生器を構成して、上述と同様の手法で求
めることができる。
A function generator for generating an nth-order spline function of the third order or higher is obtained by the same method as described above by configuring the function generator with a differential analyzer using n adders. You can

【0076】図10は、その場合のスプライン関数発生
器142の実施例である。この例のスプライン関数発生
器142は、図8の構成に加えて、各加算器A1,A
2,A3の出力側にスイッチ回路SW1,SW2,SW
3を設ける。そして、i番目の加算器Aiの出力側に設
けられるスイッチ回路SWiは、i番目の加算器Aiの
出力を、(i−1)番目のバスB(i−1)あるいはi
番目のバスBiのいずれか一方に選択的に切り換えて接
続するように構成する。これらスイッチ回路SW1〜S
W3は、スプライン関数発生器142内の制御手段(図
示せず)により、切り換え制御されるものである。
FIG. 10 shows an embodiment of the spline function generator 142 in that case. The spline function generator 142 of this example includes the adders A1 and A1 in addition to the configuration of FIG.
Switch circuits SW1, SW2, SW on the output side of A2, A3
3 is provided. The switch circuit SWi provided on the output side of the i-th adder Ai outputs the output of the i-th adder Ai to the (i-1) -th bus B (i-1) or i.
The second bus Bi is configured to be selectively switched and connected. These switch circuits SW1 to S
W3 is switched and controlled by a control means (not shown) in the spline function generator 142.

【0077】例えば6次のスプライン関数発生器の例の
場合、各レジスタバンクBANK0,BANK1,BANK2,BANK
3には、以下のレジスタが設けられている。 BANK0:RA0,RA6 BANK1:RA1,RA5 BANK2:RA2,RA4 BANK3:RA3。
For example, in the case of the sixth-order spline function generator, each register bank BANK0, BANK1, BANK2, BANK
3, the following registers are provided. BANK0: RA0, RA6 BANK1: RA1, RA5 BANK2: RA2, RA4 BANK3: RA3.

【0078】そして、スイッチ回路SW1,SW2,S
W3をすべて図の状態、すなわち、i番目の加算器Ai
の出力を、i番目のバスBiに接続する状態にしたとき
には、それぞれの加算器A1,A2,A3は、以下のよ
うな計算を同時に行い、その計算結果を、矢印で示すよ
うに、対応するレジスタに格納する。 RA3←RA2+RA3 RA2←RA1+RA2 RA1←RA0+RA1。
The switch circuits SW1, SW2, S
W3 is all in the state shown in the figure, that is, the i-th adder Ai
When the output of is connected to the i-th bus Bi, the respective adders A1, A2 and A3 simultaneously perform the following calculations, and the calculation results correspond to each other as indicated by the arrow. Store in register. RA3 ← RA2 + RA3 RA2 ← RA1 + RA2 RA1 ← RA0 + RA1.

【0079】また、スイッチ回路SW1,SW2,SW
3をすべて図とは逆の状態、すなわち、i番目の加算器
Aiの出力を、(i−1)番目のバスB(i−1)に接
続する状態にしたときには、それぞれの加算器A1,A
2,A3は、以下のような計算を同時に行い、その計算
結果を、矢印で示すように、対応するレジスタに格納す
る。 RA6←RA6+RA5 RA5←RA5+RA4 RA4←RA4+RA3。
The switch circuits SW1, SW2, SW
When all 3 are set in a state opposite to that in the figure, that is, when the output of the i-th adder Ai is connected to the (i-1) -th bus B (i-1), the respective adders A1, A
2, A3 simultaneously perform the following calculations, and store the calculation results in the corresponding registers as indicated by the arrows. RA6 ← RA6 + RA5 RA5 ← RA5 + RA4 RA4 ← RA4 + RA3.

【0080】以上のような構成のスプライン関数発生器
142においては、適当な初期値をRA0,RA1,
…,RA6に予め設定することにより、スイッチ回路S
W1〜SW3を交互に切り換えて行う計算をr回、実行
することにより、レジスタRA6に、 a・(r・Δu)6 +b・(r・Δu)5 +c・(r・
Δu)4+d・(r・Δu)3 +e・(r・Δu)2
f・(r・Δu)+g で表される6次のスプライン関数の値を得ることができ
る。
In the spline function generator 142 having the above configuration, appropriate initial values RA0, RA1,
..., by setting RA6 in advance, the switch circuit S
By executing the calculation performed by switching W1 to SW3 alternately r times, a. (R.Δu) 6 + b · (r · Δu) 5 + c · (r ·
Δu) 4 + d · (r · Δu) 3 + e · (r · Δu) 2 +
The value of the 6th-order spline function represented by f · (r · Δu) + g can be obtained.

【0081】上記の計算をさらに拡張すれば、加算器の
数を増やさずに、効率よく、2m次以上の高次のスプラ
イン関数の計算を行う関数発生器を実現することができ
る。したがって、少ない加算器でも、効率よく高次のス
プライン関数を得ることができる関数発生器を構成する
ことができる。
If the above calculation is further expanded, it is possible to realize a function generator which efficiently calculates a high-order spline function of 2 m or higher without increasing the number of adders. Therefore, it is possible to configure a function generator that can efficiently obtain a high-order spline function with a small number of adders.

【0082】以上の例では、ポリゴン分割手段141
は、曲面のコントロールポイントのデータPijから3
次元ベクトルRklを求めて、あるいは予めCD−RO
Mディスク6に格納されていた、この3次元ベクトルR
klと分割ステップΔVの大きさの情報とをスプライン
関数発生器142に供給し、スプライン関数発生器14
2は、これらのRklおよび分割ステップΔvの値を用
いて、スプライン関数Sk(v)を計算して、スプライ
ン関数発生器のレジスタに与える初期値を得るようにし
ている。
In the above example, the polygon dividing means 141
Is 3 from the control point data Pij of the curved surface
Obtain the dimension vector Rkl, or use CD-RO in advance.
This three-dimensional vector R stored in the M disk 6
kl and the information about the size of the division step ΔV are supplied to the spline function generator 142, and the spline function generator 14
2 calculates the spline function Sk (v) using the values of Rkl and the division step Δv so as to obtain the initial value given to the register of the spline function generator.

【0083】しかし、次のようにすれば、3次元ベクト
ルRklと分割ステップΔvから、スプライン関数発生
器142のレジスタに設定する初期値を計算することな
く、直接的に各レジスタに初期値を設定することができ
る。
However, if the following is done, the initial value is directly set in each register without calculating the initial value set in the register of the spline function generator 142 from the three-dimensional vector Rkl and the division step Δv. can do.

【0084】すなわち、スプライン関数をベクトル表現
すれば、前記の図5の式(eq2)および式(eq3)
は、それぞれ図11の式(a−1)および式(a−2)
のように表すことができる。これら式(a−1)および
式(a−2)で、Aは、図11の式(a−3)で示され
るベクトルである。
That is, if the spline function is expressed as a vector, the equations (eq2) and (eq3) shown in FIG.
Are equations (a-1) and (a-2) of FIG. 11, respectively.
Can be expressed as In these equations (a-1) and (a-2), A is a vector represented by equation (a-3) in FIG. 11.

【0085】ここで、曲面のコントロールポイントのデ
ータP=Pijを、ベクトル表現すれば、図11の式
(a−4)となり、前記図5の曲面の式(eq1)は、
図11の式(a−5)のように表すことができる。そし
て、この式(a−5)に、図11の式(a−1)、式
(a−2)を代入すれば、式(a−5)は、図11の式
(a−6)のようになる。
Here, when the control point data P = Pij of the curved surface is expressed as a vector, the equation (a-4) in FIG. 11 is obtained, and the curved surface equation (eq1) in FIG.
It can be expressed as the formula (a-5) in FIG. Then, by substituting the expression (a-1) and the expression (a-2) in FIG. 11 into the expression (a-5), the expression (a-5) becomes the expression (a-6) in FIG. Like

【0086】ところで、スプライン関数発生器142の
例えば図8の回路を、u方向にr回、v方向にr
実行して呼び出すとすると、 u=rΔu (a−7) v=rΔv (a−8) と表されるので、図11の式(a−6)を、r、r
で表せば、図12の式(a−9)に示すように変形する
ことができる。
[0086] Incidentally, the circuit of example 8 spline function generator 142, r u times u direction, when invoked by executing r v times v direction, u = r u Δu (a -7) v = because represented as r v Δv (a-8) , the equation of FIG. 11 (a-6), r u , r v
If expressed by, it can be transformed as shown in the equation (a-9) in FIG.

【0087】図8の微分解析器の構成では、r回目の同
時加算の実行で、ar3 +br2 +cr+dを出力する
ためには、レジスタRA0,RA1,RA2,RA3の
初期値は、6a,6a+2b,a+b+c,dとする必
要がある。この初期値をベクトルで表すと、図12の式
(a−10)となる。ただし、式(a−10)で、M
は、式(a−11)で表されるベクトルである。
In the configuration of the differential analyzer shown in FIG. 8, in order to output ar 3 + br 2 + cr + d in the r-th simultaneous addition, the initial values of the registers RA0, RA1, RA2 and RA3 are 6a, 6a + 2b. , A + b + c, d. When this initial value is represented by a vector, the equation (a-10) in FIG. 12 is obtained. However, in the formula (a-10), M
Is a vector represented by equation (a-11).

【0088】すなわち、スプライン関数発生器142で
計算する多項式を、初期値ベクトルで分解すると、図1
3の式(a−12)を得る。そして、(M-1T を用い
て分解すべく、式(a−9)を書き換えると、図13の
式(a−13)のように表すことができる。ここで、式
(a−13)のDは、図14の式(a−14)で表され
るものである。
That is, when the polynomial calculated by the spline function generator 142 is decomposed into an initial value vector, FIG.
Formula (a-12) of 3 is obtained. Then, by rewriting the formula (a-9) to decompose it using (M −1 ) T , it can be expressed as the formula (a-13) in FIG. 13. Here, D in the equation (a-13) is represented by the equation (a-14) in FIG.

【0089】この式(a−14)のベクトルDの値D
klを、図5の式(eq6)の3次元ベクトルRklの
代わりに使用すれば、曲面分割アルゴリズムにおいて、
各々の初期化データと、図8の回路の各レジスタバンク
BANK0〜BANK3のレジスタRA0〜RA3に与える初期
値とを等しくすることができ、スプライン関数発生器1
42は、ポリゴン分割手段141から得た初期化データ
をそのままレジスタRA0〜RA3に設定するだけでよ
くなり、計算速度が速くなる。
The value D of the vector D in this equation (a-14)
If kl is used instead of the three-dimensional vector Rkl of the equation (eq6) of FIG. 5, in the curved surface division algorithm,
Each initialization data and each register bank of the circuit of FIG.
The initial values given to the registers RA0 to RA3 of BANK0 to BANK3 can be made equal, and the spline function generator 1
In the case of 42, the initialization data obtained from the polygon dividing means 141 can be set in the registers RA0 to RA3 as they are, and the calculation speed can be increased.

【0090】以上は、図8の微分解析器の構成におい
て、複数個の加算器を同時に動作させる場合に対する初
期値の計算方法についての説明であるが、複数個の加算
器を同時に動作させるのではなく、順次に実行させるよ
うにすることもできる。その場合の初期値は次のような
ものとなる。
The above is a description of the method of calculating the initial value for the case where a plurality of adders are simultaneously operated in the configuration of the differential analyzer shown in FIG. 8. However, it is assumed that a plurality of adders are simultaneously operated. Instead, it can be executed sequentially. The initial value in that case is as follows.

【0091】すなわち、この場合、例えば図8の回路構
成を例にとれば、加算器A1がレジスタRA1に書き込
んだ後に、加算器A2がそれを読み込み、そして、加算
器A2がその結果をレジスタRA2に書き込んだ後に、
加算器A3がそれを読み込む動作を行うものである。こ
の場合、多項式ar3 +br2 +cr+dを計算するた
めに必要な初期値は、図9Bと同様の表を示す図15の
表から、図14に示す式(a−15)であることが分か
る。
That is, in this case, for example, taking the circuit configuration of FIG. 8 as an example, after the adder A1 writes to the register RA1, the adder A2 reads it and the adder A2 outputs the result to the register RA2. After writing to
The adder A3 performs an operation of reading it. In this case, the initial value required to calculate the polynomial ar 3 + br 2 + cr + d is found to be the expression (a-15) shown in FIG. 14 from the table of FIG. 15 showing a table similar to that of FIG. 9B.

【0092】したがって、図12の式(a−11)の代
わりに、図14の式(a−16)で表されるMを用い
て、図14の前記式(a−14)を計算すると、この例
のスプライン関数発生器のレジスタに直接代入できる初
期値を求めることができる。この手法は、複数個の加算
器を用いた同種のスプライン関数発生器に適用すること
ができる。
Therefore, instead of the equation (a-11) shown in FIG. 12, M expressed by the equation (a-16) shown in FIG. 14 is used to calculate the equation (a-14) shown in FIG. The initial value that can be directly substituted into the register of the spline function generator of this example can be obtained. This method can be applied to the same kind of spline function generator using a plurality of adders.

【0093】以上のようにして、コントロールポイン
ト、スプライン多項式の係数、分割ステップの大きさの
値Δu、Δvから、各種の微分解析器に適切な初期値を
計算して、直接設定して、曲面を分割することができる
ようになる。
As described above, appropriate initial values for various differential analyzers are calculated from the control points, the coefficients of the spline polynomial, and the division step size values Δu and Δv, and directly set to set the curved surface. Will be able to split.

【0094】そして、この場合には、曲面の形状により
制限されることなく、各種の曲面の分割演算を高速にで
きる。また、複数個の加算器を用いた微分解析器を用い
る構成であるので、従来の積和演算器の場合に比べて、
掛け算器が不要になる分、ハードウエアが簡単になり、
安価に構成できる。
In this case, the division operation of various curved surfaces can be performed at high speed without being restricted by the shape of the curved surface. Also, since it is a configuration using a differential analyzer using a plurality of adders, compared to the case of the conventional product-sum calculator,
Since the multiplier is unnecessary, the hardware is simpler,
It can be constructed at low cost.

【0095】また、曲面のコントロールポイントのデー
タを予めスプライン関数発生器の初期データに適したも
のに変形して、記憶媒体に格納しておくことにより、無
駄な計算を省いて高速に曲面分割処理を行うことができ
る。
Further, by transforming the control point data of the curved surface into data suitable for the initial data of the spline function generator and storing it in the storage medium in advance, unnecessary calculation is omitted and the curved surface dividing processing is performed at high speed. It can be performed.

【0096】また、曲面分割を行う命令型演算装置のデ
ータバスと加算器との構成を適切なものにして、演算資
源を、それほど増やすことなく、高速のスプライン関数
発生器を実現できる。
Further, the structure of the data bus and the adder of the instruction type arithmetic unit for dividing the curved surface can be made appropriate, and the high speed spline function generator can be realized without increasing the arithmetic resources so much.

【0097】なお、これら微分解析器用に変換された初
期値を予め計算して、例えばメインメモリに記憶してお
き、前処理部14がこれを読み出すようにしてもよい。
The initial values converted for these differential analyzers may be calculated in advance and stored in the main memory, for example, and the preprocessing unit 14 may read them out.

【0098】なお、図6および図7で説明した曲面分割
アルゴリズムでは、外側のループでv方向を、内側のル
ープでu方向を計算して、各々のループで微分解析器を
用いるようにしたが、微分解析器自身や微分解析器のレ
ジスタが限られている場合には、外側のループで微分解
析器を用いずに、図5の式(eq5)を直接、積和演算
により計算し、得られた値を内側のループにおける微分
解析器の演算の初期値とするようにすることも可能であ
る。その場合には、外側のループのみ、vの値を直接扱
うので、式(a−14)のDを、図14の式(a−1
7)に変形して、同様の曲面分割を行うことができる。
In the curved surface division algorithm described with reference to FIGS. 6 and 7, the outer loop calculates the v direction and the inner loop calculates the u direction, and the differential analyzer is used in each loop. If the differential analyzer itself or the registers of the differential analyzer are limited, the equation (eq5) in FIG. 5 is directly calculated by the product-sum operation without using the differential analyzer in the outer loop, It is also possible to use the obtained value as the initial value of the operation of the differential analyzer in the inner loop. In that case, the value of v is directly handled only in the outer loop, so that D in Expression (a-14) is changed to Expression (a-1) in FIG.
The same curved surface division can be performed by changing to 7).

【0099】[0099]

【発明の効果】以上説明したように、この発明によれ
ば、簡単なハードウエアを用いることができると共に、
曲面を表現するために使用するスプライン関数に制限が
なく、しかも、少ないデータ量で滑らかな曲面を高速に
描画することができる。
As described above, according to the present invention, simple hardware can be used, and
There is no limitation on the spline function used to represent a curved surface, and a smooth curved surface can be drawn at high speed with a small amount of data.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明による画像生成装置の要部の構成の一
実施の形態を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a configuration of a main part of an image generating apparatus according to the present invention.

【図2】曲面の分割例を説明するための図である。FIG. 2 is a diagram for explaining an example of dividing a curved surface.

【図3】この発明による画像生成装置の一実施の形態と
してのゲーム機の構成例を示すブロック図である。
FIG. 3 is a block diagram showing a configuration example of a game machine as an embodiment of an image generating apparatus according to the present invention.

【図4】図3の例のゲーム機の外観例を示す図である。FIG. 4 is a diagram showing an example of an external appearance of the game machine of the example of FIG.

【図5】3次のスプライン関数を説明するための図であ
る。
FIG. 5 is a diagram for explaining a cubic spline function.

【図6】この発明による画像生成方法の一実施の形態の
要部の動作手順を説明するフローチャートの一部であ
る。
FIG. 6 is a part of a flowchart explaining an operation procedure of a main part of the embodiment of the image generating method according to the present invention.

【図7】この発明による画像生成方法の一実施の形態の
要部の動作手順を説明するフローチャートの一部であ
る。
FIG. 7 is a part of a flowchart illustrating an operation procedure of a main part of the embodiment of the image generating method according to the present invention.

【図8】この発明の画像生成装置の一実施の形態におけ
る関数発生器の一例のブロック図である。
FIG. 8 is a block diagram of an example of a function generator in the embodiment of the image generating apparatus of the present invention.

【図9】図8の関数発生器に与える初期値データおよび
関数発生動作を説明するために用いる図である。
9 is a diagram used for explaining initial value data given to the function generator of FIG. 8 and a function generating operation.

【図10】この発明の画像生成装置の一実施の形態にお
ける関数発生器の一例のブロック図である。
FIG. 10 is a block diagram of an example of a function generator in the embodiment of the image generating apparatus of the present invention.

【図11】この発明の画像生成装置の一実施の形態にお
けるスプライン関数発生器に与える初期化データの計算
例の説明に用いる図である。
FIG. 11 is a diagram used for explaining an example of calculation of initialization data given to the spline function generator in the embodiment of the image generating apparatus of the present invention.

【図12】この発明の画像生成装置の一実施の形態にお
けるスプライン関数発生器に与える初期化データの計算
例の説明に用いる図である。
FIG. 12 is a diagram used for explaining an example of calculation of initialization data given to the spline function generator in the embodiment of the image generating apparatus of the present invention.

【図13】この発明の画像生成装置の一実施の形態にお
けるスプライン関数発生器に与える初期化データの計算
例の説明に用いる図である。
FIG. 13 is a diagram used for explaining an example of calculation of initialization data given to the spline function generator in the embodiment of the image generating apparatus of the present invention.

【図14】この発明の画像生成装置の一実施の形態にお
けるスプライン関数発生器に与える初期化データの計算
例の説明に用いる図である。
FIG. 14 is a diagram used for explaining an example of calculation of initialization data given to the spline function generator in the embodiment of the image generation apparatus of the present invention.

【図15】この発明の画像生成装置の一実施の形態にお
けるスプライン関数発生器に与える初期化データの他の
例を示す図である。
FIG. 15 is a diagram showing another example of initialization data given to the spline function generator in the embodiment of the image generating apparatus of the present invention.

【符号の説明】[Explanation of symbols]

141…ポリゴン分割手段、142…スプライン関数発
生器、143…座標変換手段、15…描画処理部、15
1…描画手段、152…フレームメモリ、A1〜A3…
加算器、B0〜B3…バス、BANK0〜BANK3…レジスタ
バンク、SW1〜SW3…スイッチ回路
141 ... Polygon dividing means, 142 ... Spline function generator, 143 ... Coordinate converting means, 15 ... Drawing processing section, 15
1 ... Drawing means, 152 ... Frame memory, A1 to A3 ...
Adder, B0 to B3 ... Bus, BANK0 to BANK3 ... Register bank, SW1 to SW3 ... Switch circuit

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】n次のスプライン関数が用いられて表現さ
れる曲面の形状を決定するためのコントロールポイント
のデータを用いて前記曲面の画像を生成する方法におい
て、 前記コントロールポイントのデータを加工して得られる
初期値データと、前記曲面を分割したときの分割ステッ
プの情報とを微分解析器に与えて、この微分解析器を初
期化する第1の工程と、 前記微分解析器から前記分割ステップごとのスプライン
関数の値を得る第2の工程と、 前記第2の工程で得られたスプライン関数の値を元にし
て、前記分割ステップで前記曲面が分割されたときの各
分割平面の情報を生成する第3の工程と、 を実行して、前記曲面の画像を生成する画像生成方法。
1. A method of generating an image of a curved surface using control point data for determining the shape of a curved surface expressed by using an nth-order spline function, wherein the control point data is processed. A first step of initializing the differential analyzer by giving the initial value data obtained as a result and information of the dividing step when the curved surface is divided to the differential analyzer; and the dividing step from the differential analyzer. A second step of obtaining the value of the spline function for each, and based on the value of the spline function obtained in the second step, information of each division plane when the curved surface is divided in the division step is obtained. An image generating method for generating an image of the curved surface by executing the third step of generating.
【請求項2】微分解析器からなる関数発生器と、 ポリゴン分割手段と、 このポリゴン分割手段からのポリゴンデータを表示する
ためのデータに変換する変換手段と、 を備え、 前記ポリゴン分割手段は、 n次のスプライン関数が用いられて表現されている曲面
の形状を決定するためのコントロールポイントのデータ
を加工して得られる初期値データと、前記曲面を分割し
たときの分割ステップの大きさの情報とを前記関数発生
器に与え、 前記関数発生器から得られる前記分割ステップごとのス
プライン関数の値を取得し、この取得した値を元にし
て、前記分割ステップで前記曲面が分割されたときの各
分割平面のポリゴンデータを発生するようにすることを
特徴とする画像生成装置。
2. A function generator comprising a differential analyzer, polygon dividing means, and converting means for converting polygon data from the polygon dividing means into data for displaying the polygon data, wherein the polygon dividing means comprises: Initial value data obtained by processing the control point data for determining the shape of the curved surface expressed by using the nth-order spline function, and the size of the dividing step when the curved surface is divided. And to the function generator, obtain the value of the spline function for each dividing step obtained from the function generator, based on the obtained value, when the curved surface is divided in the dividing step An image generating apparatus characterized by generating polygon data of each division plane.
【請求項3】請求項2に記載の画像生成装置は、記憶媒
体に記憶されている画像を描画するためのデータを読み
出す読み出し手段を備え、この読み出したデータを用い
て画像を生成する装置であって、 前記記憶媒体には、前記コントロールポイントのデータ
の代わりに、このコントロールポイントのデータから作
成された前記関数発生器に与える初期値データに適した
データが記憶されており、 前記ポリゴン分割手段は、前記初期値データに適したデ
ータから前記初期値データを作成して、前記関数発生器
に供給するようにしたことを特徴とする画像生成装置。
3. An image generating apparatus according to claim 2, further comprising a reading means for reading data for drawing an image stored in a storage medium, and an apparatus for generating an image using the read data. In the storage medium, instead of the data of the control points, data suitable for initial value data given to the function generator created from the data of the control points is stored. The image generating apparatus is characterized in that the initial value data is created from data suitable for the initial value data and is supplied to the function generator.
【請求項4】請求項3に記載の画像生成装置において、
前記記憶媒体に記憶されている初期値データには、前記
分割ステップの大きさの情報が含まれており、前記関数
発生器は、この初期化データにより直接的に初期化され
ることを特徴とする画像生成装置。
4. The image generating apparatus according to claim 3,
The initial value data stored in the storage medium includes size information of the division step, and the function generator is directly initialized by the initialization data. Image generating device.
【請求項5】前記記憶媒体には、ゲームのデータが前記
画像を描画するデータと共に記憶されて、ゲーム機の構
成とされてなる請求項3に記載の画像生成装置。
5. The image generating apparatus according to claim 3, wherein game data is stored in the storage medium together with data for drawing the image to form a game machine.
【請求項6】前記関数発生器は、少なくともm個(mは
2以上の整数)の加算器と、少なくとも0番からm番ま
での(m+1)本のバスを備え、 前記m個の加算器のi番目(1≦i≦m)の加算器にお
ける2本の入力が、前記(m+1)本のバスのうちの
(i−1)番目およびi番目のバスに接続され、前記i
番目の加算器の出力が、前記i番目のバスに接続されて
なる請求項2に記載の画像生成装置。
6. The function generator includes at least m (m is an integer of 2 or more) adders and at least 0 to m.
(M + 1) buses of (m + 1), and two inputs of the i-th ( 1 ≦ i ≦ m) adder of the m adders are (i− 1) connected to the i-th bus and the i-th bus
The image generation apparatus according to claim 2, wherein the output of the th adder is connected to the i th bus.
【請求項7】前記関数発生器は、少なくともm個(mは
2以上の整数)の加算器と、少なくとも0番からm番ま
での(m+1)本のバスを備え、 前記m個の加算器のi番目(1≦i≦m)の加算器にお
ける2本の入力が、前記(m+1)本のバスのうちの
(i−1)番目およびi番目のバスに接続され、前記i
番目の加算器の出力が、前記(i−1)番目とi番目の
バスのいずれか一方のバスに切り換え接続されてなる請
求項2に記載の画像生成装置。
7. The function generator includes at least m (m is an integer of 2 or more) adders and at least 0 to m.
(M + 1) buses of the (m + 1) buses, and two inputs of the i-th ( 1 ≦ i ≦ m) adder of the m adders are (i− 1) connected to the i-th bus and the i-th bus
The image generation apparatus according to claim 2, wherein the output of the th adder is switched and connected to one of the (i-1) th and i th buses.
JP13070796A 1996-04-26 1996-04-26 Image generation method and image generation device Expired - Fee Related JP3479184B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13070796A JP3479184B2 (en) 1996-04-26 1996-04-26 Image generation method and image generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13070796A JP3479184B2 (en) 1996-04-26 1996-04-26 Image generation method and image generation device

Publications (2)

Publication Number Publication Date
JPH09293145A JPH09293145A (en) 1997-11-11
JP3479184B2 true JP3479184B2 (en) 2003-12-15

Family

ID=15040703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13070796A Expired - Fee Related JP3479184B2 (en) 1996-04-26 1996-04-26 Image generation method and image generation device

Country Status (1)

Country Link
JP (1) JP3479184B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0936813A1 (en) * 1998-02-16 1999-08-18 CANAL+ Société Anonyme Processing of digital picture data in a decoder

Also Published As

Publication number Publication date
JPH09293145A (en) 1997-11-11

Similar Documents

Publication Publication Date Title
JP3886184B2 (en) Image data processing method and image processing apparatus
JP3578498B2 (en) Image information processing device
US6700586B1 (en) Low cost graphics with stitching processing hardware support for skeletal animation
JP3645024B2 (en) Drawing apparatus and drawing method
US6591019B1 (en) 3D transformation matrix compression and decompression
JP2002008060A (en) Data processing method, recording medium and data processing device
JPH09305776A (en) Data processor and data processing method
JPWO2006062199A1 (en) Three-dimensional image data compression apparatus, method, program, and recording medium
JP3569089B2 (en) Image generation method, image generation device, recording medium, and pseudo random number generation device
JP2004110850A (en) Pseudorandom number generator
US7212215B2 (en) Apparatus and method for rendering an antialiased image
JP3338043B2 (en) Parallel arithmetic device, entertainment device, arithmetic processing method, computer program, semiconductor device
JP3479184B2 (en) Image generation method and image generation device
JP2000182076A (en) Data processor, data processing method and provision medium
JP3657350B2 (en) Function generator
US6867766B1 (en) Image generating apparatus, image generating method, entertainment system, and recording medium
JP4017467B2 (en) Triangular mesh data compression method and program
JP3910259B2 (en) Image processing apparatus and method, and rendering apparatus and method
JP3872032B2 (en) Image generation program, image generation apparatus, image generation method, and video game apparatus
JP2002541600A (en) Apparatus and method for perspective transformation
JP3548648B2 (en) Drawing apparatus and drawing method
JP2006277772A (en) Information processor, information processing method, information processing program, recording medium and information provision device
JP3556777B2 (en) Image processing device
JP3971448B2 (en) Drawing apparatus and drawing method
JP3698747B2 (en) Image data generation method and image processing system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20081003

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091003

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101003

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees