JP2005275798A - Program, information storage medium, and image generation system - Google Patents

Program, information storage medium, and image generation system Download PDF

Info

Publication number
JP2005275798A
JP2005275798A JP2004087994A JP2004087994A JP2005275798A JP 2005275798 A JP2005275798 A JP 2005275798A JP 2004087994 A JP2004087994 A JP 2004087994A JP 2004087994 A JP2004087994 A JP 2004087994A JP 2005275798 A JP2005275798 A JP 2005275798A
Authority
JP
Japan
Prior art keywords
scissoring
vertex
processing
information
unit
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.)
Withdrawn
Application number
JP2004087994A
Other languages
Japanese (ja)
Inventor
Yoshitsugu Kondo
義次 近藤
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.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2004087994A priority Critical patent/JP2005275798A/en
Publication of JP2005275798A publication Critical patent/JP2005275798A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image generation system capable of preventing the omission of representation by implementing polygonal scissoring processing with a small processing burden, and an information storage medium thereof. <P>SOLUTION: The image generation system establishes a plurality of regions for position determination by dividing a predetermined region or its surrounding space, decides on which region each apex of the primitive belongs to, and establishes scissoring information for specifying which region for position determination the apex belongs to, as the apex information associated with the apex. A scissoring processing part decides on whether there is an apex outside the predetermined region among the apexes in the unit of smallest unit polygons composing the primitive based on the scissoring information, implements scissoring processing to the smallest unit polygons having apexes outside the predetermined region, and omits scissoring processing to the smallest unit polygons having no apexes outside the predetermined region. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。   The present invention relates to a program, an information storage medium, and an image generation system.

従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。   2. Description of the Related Art Conventionally, an image generation system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as being able to experience so-called virtual reality.

このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。   In such an image generation system, it is an important technical problem to generate a more realistic image in order to improve the player's virtual reality.

さて一般に画像生成を行う場合には、3次元空間内に存在するポリゴン座標をスクリーン座標系に透視投影変換した後、フレームバッファに書き込む。このとき画面端付近の至近距離に存在するポリゴンの頂点の場合、Z値が0に近いため透視変換後の値が所定の範囲(描画可能範囲)を超えてしまう。このためフレームバッファに書き込まれず、当該ポリゴンがぬけ落ちた画像が生成されるという不具合が発生していた。特にポリゴンが大きいと表示抜けが目立ってしまうという問題があった。   In general, when image generation is performed, polygon coordinates existing in a three-dimensional space are perspective-projected into a screen coordinate system and then written into a frame buffer. At this time, in the case of the vertex of a polygon existing at a close distance near the screen edge, the Z value is close to 0, and thus the value after perspective transformation exceeds a predetermined range (drawable range). For this reason, there has been a problem in that an image in which the polygon is not written is generated without being written to the frame buffer. In particular, there is a problem that display omission becomes conspicuous when the polygon is large.

かかる不具合を解消する手法のひとつとして多角形をより小さな複数の多角形に分割して表示抜けを少なくしたり目立たなくするという手法があった。しかしこの手法によれば、分割後同一位置にあるはずの頂点が、2頂点座標の補完を行う際にずれが生じ隙間が発生するという問題点があった。
特開平10−188003号公報
As one method for solving such a problem, there has been a method of dividing a polygon into a plurality of smaller polygons to reduce display omission or make it inconspicuous. However, according to this method, there is a problem in that a vertex is supposed to be in the same position after division, and a gap is generated when the two vertex coordinates are complemented.
JP-A-10-188003

そこで不具合を解消するために、描画可能範囲を超える頂点を含む領域を切り取り、切り取り後の領域を特定するためのポリゴンの頂点を生成するシザリング処理を行い、シザリング処理後のポリゴンを描画することも行われが、限られたハードウエア資源でリアルタイムに画像生成を行うことが必要なゲーム装置では処理負荷が高くなるという問題点があった。   Therefore, in order to solve the problem, it is possible to cut the area including the vertices that exceed the drawable range, perform the scissoring process to generate the vertex of the polygon to specify the area after cutting, and draw the polygon after the scissoring process However, there is a problem that a processing load is high in a game apparatus that needs to generate an image in real time with limited hardware resources.

本発明は、このような従来の課題に鑑みてなされたものであり、少ない処理負担で多角形のシザリング処理を行い表示抜けを防止可能な画像生成システム及び情報記憶媒体を提供することにある。   The present invention has been made in view of such a conventional problem, and it is an object of the present invention to provide an image generation system and an information storage medium that can prevent polygonal scissoring processing with a small processing burden and prevent display loss.

(1)本発明は、多角形で構成されたオブジェクトの画像を生成するためのプログラムであって、
3次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
3次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部としてコンピュータを機能させ、
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とする。
(1) The present invention is a program for generating an image of an object composed of polygons,
A vertex data set generation unit that performs coordinate conversion of an object arranged in a three-dimensional space into a screen coordinate system, and generates a vertex data set that is a set of vertex information of primitives constituting the object;
A scissoring processing unit that performs scissoring processing on a polygon including vertices exceeding a predetermined region of the primitive in a three-dimensional coordinate system, and generates a vertex data set including vertices newly generated by scissoring processing;
The computer functions as a drawing processing unit that performs drawing processing in units of primitives based on the vertex data set,
The vertex data set generation unit
A plurality of position determination areas are set by dividing the predetermined area or its surrounding space, and it is determined which of the primitives each vertex belongs to, and the position determination area is specified. Set scissoring information for the vertex information associated with the vertex,
The scissoring processing unit
Based on the scissoring information, it is determined whether there are vertices outside the predetermined area among the vertices in the minimum unit polygon unit constituting the primitive, and scissoring processing is performed on the minimum unit polygon having the vertices outside the predetermined area. It is characterized in that the scissoring process is omitted for the minimum unit polygon having no vertex outside the predetermined area.

また本発明は、上記各部を有する画像生成システムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   The present invention also relates to an image generation system having the above-described units. The present invention also relates to a computer-readable information storage medium that stores (records) a program that causes a computer to function as each unit.

座標変換とは例えば透視投影変換である。   The coordinate conversion is, for example, perspective projection conversion.

ここにおいてシザリング処理とは、3次元空間においてビューボリューム外にある頂点を含む多角形を切り取って、のこった多角形を特定するための新たな頂点を生成する処理である。   Here, the scissoring process is a process of cutting out a polygon including a vertex outside the view volume in a three-dimensional space and generating a new vertex for specifying the remaining polygon.

プリミティブとは、点、独立した線、端点を共有する連続した線分、独立した三角形、辺を共有する連続した三角形、頂点を共有する連続した三角形、対角を表す2頂点で特定される独立した長方形(ストリップ)等の少なくとも1つで構成することができる。   Primitives are points, independent lines, continuous line segments that share end points, independent triangles, continuous triangles that share sides, continuous triangles that share vertices, and independent points identified by two vertices that represent diagonals It can be composed of at least one of a rectangular shape (strip) or the like.

頂点情報とは、描画座標値、頂点色、テクスチャの座標値、フォグ係数等であり、例えば頂点情報設定レジスタ等に設定するようにしてもよい。   The vertex information is a drawing coordinate value, a vertex color, a texture coordinate value, a fog coefficient, and the like, and may be set in, for example, a vertex information setting register.

本発明によれば前記シザリング処理部は、前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略する。   According to the present invention, the scissoring processing unit determines whether or not there is a vertex outside the predetermined area in the minimum unit polygon unit constituting the primitive based on the scissoring information, and the minimum unit including the vertex outside the predetermined area The scissoring process is performed on the polygon, and the scissoring process is omitted for the minimum unit polygon having no vertex outside the predetermined region.

本発明のシザリング情報は、各頂点毎に当該頂点がどの位置判定用領域に属しているかについての情報を有しているので、最小単位多角形を構成する各頂点のシザリング情報に基づき、最小単位の多角形(例えば3角形)単位でシザリングの必要性の有無を判断可能である。   Since the scissoring information of the present invention has information on which position determination area the vertex belongs to for each vertex, the minimum unit is based on the scissoring information of each vertex constituting the minimum unit polygon. The necessity of scissoring can be determined in units of polygons (for example, triangles).

従って本発明によれば最小単位多角形単位でシザリングの必要性を判断して、シザリングが必要ない最小単位多角形場合については、シザリング処理をスキップして描画することが可能であるあるため、少ない処理負担で効率的なシザリング処理を行うことができる。   Therefore, according to the present invention, it is possible to determine the necessity of scissoring in units of minimum unit polygons, and in the case of minimum unit polygons that do not require scissoring, it is possible to draw by skipping scissoring processing. An efficient scissoring process can be performed with a processing burden.

(2)本発明のプログラム、情報記憶媒体、画像生成システムは、
前記所定の領域は仮想カメラのビューボリュームに基づき形成された領域であり、前記複数の位置判定用領域はビューボリュームを構成する各面を含む平面を用いてビューボリュームの周囲の空間を分割して設定されていることを特徴とする。
(2) The program, information storage medium, and image generation system of the present invention are:
The predetermined area is an area formed based on a view volume of a virtual camera, and the plurality of position determination areas are obtained by dividing a space around the view volume using a plane including each surface constituting the view volume. It is characterized by being set.

(3)本発明のプログラム、情報記憶媒体、画像生成システムは、
前記描画処理部は、
所定の領域を超えた頂点を含む多角形については描画しないことを特徴とする。
(3) The program, information storage medium, and image generation system of the present invention are:
The drawing processing unit
Polygons including vertices exceeding a predetermined area are not drawn.

以下、本発明の好適な実施形態について図面を用いて説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.

1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
1. Configuration FIG. 1 shows an example of a block diagram of the present embodiment. In this figure, the present embodiment may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 170, or the processing unit 100, the storage unit 170, and the information storage medium 180), and other blocks. (For example, the operation unit 160, the display unit 190, the sound output unit 192, the portable information storage device 194, and the communication unit 196) can be arbitrary constituent elements.

ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。   Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, sound processing, and the like. , DSP, etc.) or ASIC (gate array, etc.) or a given program (game program).

操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。   The operation unit 160 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, and a housing.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。   The storage unit 170 serves as a work area such as the processing unit 100 or the communication unit 196, and its function can be realized by hardware such as a RAM.

情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはプログラム及びデータ)が格納される。   An information storage medium (storage medium usable by a computer) 180 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, and a hard disk. It can be realized by hardware such as a magnetic tape or a memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on information stored in the information storage medium 180. That is, the information storage medium 180 stores information (program or program and data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100).

なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。   Part or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the system is powered on. Information stored in the information storage medium 180 includes program code, image data, sound data, display object shape data, table data, list data, and data for instructing the processing of the present invention. It includes at least one of information, information for performing processing according to the instruction, and the like.

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and the function thereof can be realized by hardware such as a CRT, LCD, or HMD (head mounted display).

音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。   The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker.

携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。   The portable information storage device 194 stores player personal data, save data, and the like. As the portable information storage device 194, a memory card, a portable game device, and the like can be considered.

通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions as hardware such as various processors or a communication ASIC. Or by a program.

なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。   The program or data for executing the means of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 180 via the network and the communication unit 196. Good. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.

処理部100は、ゲーム処理部110、画像処理部140、音処理部150を含む。   The processing unit 100 includes a game processing unit 110, an image processing unit 140, and a sound processing unit 150.

ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点位置や視線角度(視線方向)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。   Here, the game processing unit 110 receives coins (cost), various mode setting processing, game progress processing, selection screen setting processing, object position and rotation angle (rotation angle around X, Y, or Z axis). , Processing to move the object (motion processing), processing to determine the viewpoint position and line-of-sight angle (gaze direction), processing to place objects such as map objects in the object space, hit check processing, game results (results, results) ), Various game processes such as a process for a plurality of players to play in a common game space, a game over process, etc., from the operation data from the operation unit 160 and the portable information storage device 194. This is based on personal data, stored data, game programs, etc.

画像生成部140は、ゲーム処理部110からの指示等にしたがって、各種の画像処理を行うものである。また、音生成部150は、ゲーム処理部110からの指示等にしたがって、各種の音処理を行うものである。   The image generation unit 140 performs various types of image processing in accordance with instructions from the game processing unit 110 and the like. The sound generation unit 150 performs various types of sound processing in accordance with instructions from the game processing unit 110 and the like.

なお画像生成部140、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。   Note that all of the functions of the image generation unit 140 and the sound generation unit 150 may be realized by hardware, or all of them may be realized by a program. Alternatively, it may be realized by both hardware and a program.

ゲーム処理部110は、移動・動作演算部114を含む。   The game processing unit 110 includes a movement / motion calculation unit 114.

移動・動作演算部114は、キャラクタ、ボールなどのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。   The movement / motion calculation unit 114 calculates movement information (position data, rotation angle data) and movement information (position data of each part of the object, rotation angle data) of an object such as a character and a ball. Based on operation data input by the player through the operation unit 160, a game program, or the like, a process of moving or moving an object is performed.

より具体的には、移動・動作演算部114は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。   More specifically, the movement / motion calculation unit 114 performs processing for obtaining the position and rotation angle of the object every frame (1/60 seconds), for example. For example, the position of the object in the (k-1) frame is PMk-1, the speed is VMk-1, the acceleration is AMk-1, and the time of one frame is Δt. Then, the position PMk and speed VMk of the object in the k frame are obtained, for example, by the following equations (1) and (2).

PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
画像生成部140は、ジオメトリ処理部(3次元座標演算部)142、シザリング処理部144、描画部(レンダリング部)146を含む。
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The image generation unit 140 includes a geometry processing unit (three-dimensional coordinate calculation unit) 142, a scissoring processing unit 144, and a drawing unit (rendering unit) 146.

ここで、ジオメトリ処理部142は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元座標演算)を行う。そして、本実施形態では、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点データ(頂点位置、頂点テクスチャ座標、輝度データ)や法線ベクトル等)は、記憶部170のメインメモリ172に格納されて保存される。   Here, the geometry processing unit 142 performs various types of geometry processing (three-dimensional coordinate calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation. In this embodiment, the object data (object vertex data (vertex position, vertex texture coordinates, brightness data), normal vector, etc.) after geometry processing (after perspective transformation) is stored in the main memory 172 of the storage unit 170. Stored and saved.

ジオメトリ処理部142は、3次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部として機能し、前記プリミティブの各頂点が前記所定の領域又はその周囲の空間を分割して設定された複数の位置判定用領域のいずれに属するかについて判断し、判断結果に基づきいずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定する。   The geometry processing unit 142 functions as a vertex data set generation unit that performs coordinate conversion of an object arranged in a three-dimensional space into a screen coordinate system, and generates a vertex data set that is a set of vertex information of primitives constituting the object. Determining which of the plurality of position determination areas each vertex of the primitive belongs to the predetermined area or a space surrounding the predetermined area, and to which position determination area belongs based on the determination result The scissoring information for specifying is set as vertex information associated with the vertex.

シザリング処理部144は、3次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成する。   The scissoring processing unit 144 performs scissoring processing on a polygon including vertices exceeding the predetermined region of the primitive in the three-dimensional coordinate system, and generates a vertex data set including vertices newly generated by the scissoring processing.

またシザリング処理部114は、前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略する。   Further, the scissoring processing unit 114 determines whether there are vertices outside the predetermined area among the vertices in the minimum unit polygon unit constituting the primitive based on the scissoring information, and the minimum unit having the vertices outside the predetermined area The scissoring process is performed on the polygon, and the scissoring process is omitted for the minimum unit polygon having no vertex outside the predetermined region.

描画部146は、ジオメトリ処理後(透視変換後)の頂点データセット(プリミティブ)の頂点情報を受け取り、テクスチャマッピングやデプスキューイング処理やピクセルテストやアンチエリアシングやαブレンディング処理等をおこない、頂点データセット単位でオブジェクトをフレームバッファ174に描画する処理を行う。   The drawing unit 146 receives vertex information of the vertex data set (primitive) after geometry processing (after perspective transformation), performs texture mapping, depth cueing processing, pixel test, anti-aliasing, α blending processing, etc. A process of drawing an object in the frame buffer 174 in units of sets is performed.

なお前記描画処理部は、所定の領域を超えた頂点を含む多角形については描画しない。   The drawing processing unit does not draw a polygon including a vertex exceeding a predetermined area.

なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。   Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.

また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。   Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals.

2.本実施の形態の特徴と動作
次に本実施の形態の特徴と動作について説明する。なお以下ではオブジェクトを構成する多角形がポリゴンである場合を例にとり説明する。
2. Features and Operations of this Embodiment Next, features and operations of this embodiment will be described. In the following description, the case where the polygons constituting the object are polygons will be described as an example.

図2は、ゲームの表示画面において、表示抜けが発生している例を示したものである。視点位置から至近距離にある道路の一部210で表示抜けが発生している。   FIG. 2 shows an example in which a missing display occurs on the game display screen. A display omission occurs in a part 210 of the road at a close distance from the viewpoint position.

かかる表示抜けは視点に近いポリゴンのように透視変換後の値が所定の範囲を超えフレームバッファに書き込まれないために発生するものである。   Such a display omission occurs because the value after perspective transformation exceeds a predetermined range and is not written to the frame buffer like a polygon near the viewpoint.

したがって各種ゲームにおける道路や地面等のように至近距離にあるオブジェクトの画像が生成される場合に表示抜けがおきやすい。しかも道路や地面等は1枚1枚のポリゴンが大きいため表示抜けが目立ちやすい。   Therefore, when an image of an object at a close distance such as a road or the ground in various games is generated, a display omission is likely to occur. Moreover, since the polygons of each road and ground are large, display omissions are easily noticeable.

図3(A)(B)(C)は、本実施の形態のプリミティブの一例について説明するための図である。   3A, 3B, and 3C are diagrams for explaining an example of the primitive of this embodiment.

本実施の形態のプリミティブはプロセッサの処理単位となるもので、例えば図3(A)は、独立した3角形で構成される三角形であり、3個の頂点情報(頂点データセット)で描画される。   The primitive of this embodiment is a processing unit of the processor. For example, FIG. 3A is a triangle composed of independent triangles and is drawn with three pieces of vertex information (vertex data set). .

また例えば図3(B)は、頂点を共有する三角形(トライアングルファン)であり、最初の三角形は3点情報で、それ以降は1個の頂点情報を追加する毎に描画される。   Also, for example, FIG. 3B shows a triangle (triangle fan) that shares vertices, with the first triangle being three-point information, and thereafter, every time one piece of vertex information is added.

また例えば図3(C)は、辺を共有する連続した三角形(トライアングルストリップ)であり、最初の三角形は3点情報で、それ以降は1個の頂点情報を追加する毎に描画される。   Further, for example, FIG. 3C shows a continuous triangle (triangle strip) sharing a side, the first triangle is three-point information, and the subsequent drawing is performed every time one piece of vertex information is added.

なおその他、独立した1点(1頂点情報)や独立した線分(2頂点情報)や端点を共有する連続した線分(ラインストリップ)や独立した長方形で対角を表す2頂点情報で描画を行うスプライト等をプリミティブとして扱うこともできる。   In addition, drawing is performed with one independent point (one vertex information), an independent line segment (two vertex information), a continuous line segment that shares end points (line strip), or two vertex information that represents a diagonal with an independent rectangle. Sprites to be performed can be treated as primitives.

図4は、本実施の形態の頂点データセットについて、説明するための図である。   FIG. 4 is a diagram for explaining the vertex data set according to the present embodiment.

310は、本実施の形態のプリミティブを構成する頂点である。   Reference numeral 310 denotes a vertex constituting the primitive of the present embodiment.

320は、各頂点に関連付けて記憶されている頂点情報である。頂点情報320は例えば描画座標値、頂点色、テクスチャの座標値、フォグ係数等であり、例えば頂点情報設定レジスタ等に設定するようにしてもよい。   320 is vertex information stored in association with each vertex. The vertex information 320 is, for example, a drawing coordinate value, a vertex color, a texture coordinate value, a fog coefficient, and the like, and may be set in, for example, a vertex information setting register.

頂点情報には具体的には、頂点にマッピングするテクスチャ座標ST(321,322)、テクスチャ座標のQ値(323)、シザリングビット(324)、色情報RGBA(325,326,327、328)、座標値XYZ(329,330,331)、描画許可フラグ(332)等を含む。   Specifically, the vertex information includes texture coordinates ST (321, 322), texture coordinate Q value (323), scissoring bit (324), color information RGBA (325, 326, 327, 328) to be mapped to the vertex. , Coordinate value XYZ (329, 330, 331), drawing permission flag (332), and the like.

シザリングビット(324)は、プリミティブの各頂点が前記所定の領域又はその周囲の空間を分割して設定された複数の位置判定用領域のいずれに属するかについて判断し、判断結果に基づきいずれの位置判定用領域に属するかについて特定するためのシザリング情報であり、例えば図8に示すような形式のデータである。   The scissoring bit (324) determines whether each vertex of the primitive belongs to the predetermined area or a plurality of position determination areas set by dividing the surrounding space, and based on the determination result, This is scissoring information for specifying whether it belongs to the position determination area, for example, data in the format shown in FIG.

また描画許可フラグ332は、頂点が所定の条件を満たしている場合に描画を許可する旨を表す第1の状態(例えばON)になり、頂点が所定の描画許可条件を満たしていない場合に描画を許可しない旨を表す第1の状態(例えばOFF)になる。   The drawing permission flag 332 is in a first state (for example, ON) indicating that drawing is permitted when the vertex satisfies a predetermined condition, and drawing is performed when the vertex does not satisfy the predetermined drawing permission condition. Is in a first state (eg, OFF) indicating that permission is not permitted.

なお頂点情報の内容はプリミティブの種類によっても異なるので、プリミティブの種類によって使用しない領域も発生する。   Since the contents of the vertex information differ depending on the type of primitive, an area not used depends on the type of primitive.

図5は本実施の形態でシザリング処理に用いる平面について説明するための図である。本実施の形態では、ビューボリューム220を構成する6面230,232,234,236、238、240を用いてシザリング処理を行うよう構成されている。   FIG. 5 is a diagram for explaining a plane used for scissoring processing in the present embodiment. In the present embodiment, scissoring processing is performed using the six surfaces 230, 232, 234, 236, 238, and 240 that constitute the view volume 220.

ビューボリュームを構成する6面230,232,234,236、238、240で切ることにより、表示部分以外をすべてかつ表示画面に切り口が見えないように効率よく切り落とすことができる。   By cutting on the six surfaces 230, 232, 234, 236, 238, and 240 constituting the view volume, it is possible to efficiently cut off everything except for the display portion so that the cut face is not visible on the display screen.

そして切り落とした部分に新たな頂点を生成し、新たな頂点を含むポリゴンを透視変換して描画処理を行っている。   Then, new vertices are generated at the cut-off portions, and the polygon including the new vertices is perspective-transformed to perform drawing processing.

本実施の形態ではビューボリューム又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断する。   In the present embodiment, the view volume or the surrounding space is divided to set a plurality of position determination areas, and it is determined which of the primitives each vertex belongs to.

図6は図5のビューボリュームをA方向(Y軸方向)から見た図である。   FIG. 6 is a view of the view volume of FIG. 5 as viewed from the A direction (Y-axis direction).

250は図5の238を含む平面であり、252は図5の234を含む平面であり、254は図5の240を含む平面であり、256は図5の230を含む平面である。このように、ビューボリュームを構成する各面を含む平面250,252,254,256を用いてビューボリュームの周囲の空間を分割して、複数の位置判定用領域を設定する。   5 is a plane including 238 in FIG. 5, 252 is a plane including 234 in FIG. 5, 254 is a plane including 240 in FIG. 5, and 256 is a plane including 230 in FIG. In this way, the space around the view volume is divided using the planes 250, 252, 254, and 256 including the surfaces constituting the view volume, and a plurality of position determination areas are set.

図7は図5のビューボリュームをB方向(X軸方向)から見た図である。   FIG. 7 is a view of the view volume of FIG. 5 as viewed from the B direction (X-axis direction).

270は図5の230を含む平面であり、272は図5の240を含む平面であり、274は図5の236を含む平面であり、276は図5の232を含む平面である。このように、ビューボリュームを構成する各面を含む平面270、272、274、276を用いてビューボリュームの周囲の空間を分割して、複数の位置判定用領域を設定する。   270 is a plane including 230 in FIG. 5, 272 is a plane including 240 in FIG. 5, 274 is a plane including 236 in FIG. 5, and 276 is a plane including 232 in FIG. In this way, the space around the view volume is divided using the planes 270, 272, 274, and 276 including the surfaces constituting the view volume, and a plurality of position determination areas are set.

このようにしてビューボリュームの周囲の空間を分割すると、位置判定用領域は、ビューボリュームを含めて9×3=27種類設定できる。   When the space around the view volume is divided in this way, 9 × 3 = 27 types of position determination areas including the view volume can be set.

図8はシザリングビット(シザリング情報)の構成について説明するための図である。シザリングビットはビット0〜ビット5の6ビットで構成されており、各ビットは頂点がビューボリュームを構成する各面のどちら側に位置するかについての情報を有している。   FIG. 8 is a diagram for explaining the configuration of scissoring bits (scissoring information). The scissoring bit is composed of 6 bits of bit 0 to bit 5, and each bit has information on which side of each surface constituting the view volume the vertex is located.

ビット0は、頂点が図5の面234の右に位置するか否かを示す情報であり、ビット1は、頂点が図5の面238の左に位置するか否かを示す情報であり、ビット2は、頂点が図5の面232の下に位置するか否かを示す情報であり、ビット3は、頂点が図5の面236の上に位置するか否かを示す情報であり、ビット4は、頂点が図5の面240の奥に位置するか否かを示す情報であり、ビット5は、頂点が図5の面230の手前に位置するか否かを示す情報である。   Bit 0 is information indicating whether or not the vertex is located to the right of the surface 234 in FIG. 5, and bit 1 is information indicating whether or not the vertex is located to the left of the surface 238 in FIG. Bit 2 is information indicating whether or not the vertex is located below the surface 232 in FIG. 5, and bit 3 is information indicating whether or not the vertex is located on the surface 236 in FIG. Bit 4 is information indicating whether or not the vertex is located behind the surface 240 in FIG. 5, and bit 5 is information indicating whether or not the vertex is located in front of the surface 230 in FIG. 5.

図9は本実施の形態の処理の流れを示すフローチャート図である。   FIG. 9 is a flowchart showing the processing flow of the present embodiment.

まず頂点の透視投影変換を行う(ステップS10)。   First, the perspective projection transformation of the vertex is performed (step S10).

次に光源計算を行う(ステップS20)。   Next, light source calculation is performed (step S20).

次に図5に示すようなビューボリュームとのクリッピング判定を行い、図8に示すようなシザリングビットを保持する(ステップS30)。   Next, clipping determination with the view volume as shown in FIG. 5 is performed, and scissoring bits as shown in FIG. 8 are held (step S30).

次にプリミティブを構成する過去2つの頂点のシザリングビットとの論理和演算したものをjとする(ステップS40)。   Next, the result of logical sum operation with the scissoring bits of the past two vertices constituting the primitive is set as j (step S40).

そしてj = 0ならそのポリゴンを描画登録する(ステップS50)。   If j = 0, the polygon is drawn and registered (step S50).

そして全ての頂点について処理が完了したか否かを判断し(ステップS60)、完了していない場合にはステップS10に戻る。一方、全ての頂点について処理が完了したらシザリング処理を行う(ステップS70)。   Then, it is determined whether or not the processing has been completed for all the vertices (step S60), and if not completed, the process returns to step S10. On the other hand, when processing is completed for all vertices, scissoring processing is performed (step S70).

図10は、本実施の形態のシザリング処理の流れについて説明するためのフローチャート図である。   FIG. 10 is a flowchart for explaining the flow of scissoring processing according to the present embodiment.

まず3つ頂点のシザリングビットを変数A、B,Cにセットする(ステップS110)。具体的にはA=第1頂点のシザリングビット、B=第2頂点のシザリングビット、C=第3頂点のシザリングビットとする。ストリップ三角形の場合は最初の3点以降はA ← B、B ← C、C ← 次の頂点のシザリングビット、のようにスライドして処理する。   First, scissoring bits at three vertices are set in variables A, B, and C (step S110). Specifically, A = the scissoring bit of the first vertex, B = the scissoring bit of the second vertex, and C = the scissoring bit of the third vertex. In the case of a strip triangle, the first three points and after are slid and processed as A ← B, B ← C, C ← scissoring bit of the next vertex.

次にD = Aor B or C(orは論理和演算)を求める(ステップS120)。   Next, D = Aor B or C (or is a logical OR operation) is obtained (step S120).

そしてD = 0 ならば、3頂点は共にビューボリューム内にあると判断できるので、既に描画登録済みであるため以降のシザリング処理を省略する(ステップS130)。   If D = 0, since it can be determined that all three vertices are in the view volume, the subsequent scissoring process is omitted because the drawing has already been registered (step S130).

次にE = A and B and C(andは論理積演算)を求める(ステップS140)。   Next, E = A and B and C (and is a logical product operation) are obtained (step S140).

そしてE が0に等しくないならば、3頂点は共にビューボリュームの6側面のどこかの空間に属していると判断できるので、以降のシザリング処理を省略する(ステップS150)。   If E is not equal to 0, it can be determined that all three vertices belong to some space on the six sides of the view volume, and the subsequent scissoring process is omitted (step S150).

そして3次元座標系でカメラビューボリュームと3頂点の平面ポリゴンとのシザリング処理を行う(ステップS160)。   Then, scissoring processing between the camera view volume and the planar polygon at the three vertices is performed in the three-dimensional coordinate system (step S160).

その後、頂点の透視変換を行う(ステップS170)。   Thereafter, perspective transformation of the vertex is performed (step S170).

そしてシザリング処理の工程(ステップS160の工程)で新たに生成された頂点を持つ多角形の描画登録を行う(ステップS180)。   Then, drawing registration of a polygon having a vertex newly generated in the scissoring process (step S160) is performed (step S180).

そして全ての頂点の処理が完了するまでステップS110〜S190の処理を繰り返す(ステップS190)。   Then, the processing of steps S110 to S190 is repeated until the processing of all vertices is completed (step S190).

このように本実施の形態によれば、ポリゴンを構成する頂点がすべて描画可能領域内に有る場合にはステップS90〜S110の処理を省略することができるため、少ない処理負担で効率的なプリミティブ処理を行うことができる。   As described above, according to the present embodiment, when all the vertices constituting the polygon are in the drawable area, the processing of steps S90 to S110 can be omitted, and thus efficient primitive processing can be performed with a small processing load. It can be performed.

3.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図11を用いて説明する。
3. Hardware Configuration Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.

メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。   The main processor 900 operates based on a program stored in the CD 982 (information storage medium), a program transferred via the communication interface 990, or a program stored in the ROM 950 (one of information storage media). Various processes such as processing, image processing, and sound processing are executed.

コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。   The coprocessor 902 assists the processing of the main processor 900, has a product-sum calculator and a divider capable of high-speed parallel calculation, and executes matrix calculation (vector calculation) at high speed. For example, if a physical simulation for moving or moving an object requires processing such as matrix operation, a program operating on the main processor 900 instructs (requests) the processing to the coprocessor 902. )

ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。   The geometry processor 904 performs geometry processing such as coordinate transformation, perspective transformation, light source calculation, and curved surface generation, has a product-sum calculator and a divider capable of high-speed parallel computation, and performs matrix computation (vector computation). Run fast. For example, when processing such as coordinate transformation, perspective transformation, and light source calculation is performed, a program operating on the main processor 900 instructs the geometry processor 904 to perform the processing.

データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。   The data decompression processor 906 performs a decoding process for decompressing the compressed image data and sound data, and a process for accelerating the decoding process of the main processor 900. As a result, a moving image compressed by the MPEG method or the like can be displayed on the opening screen, the intermission screen, the ending screen, or the game screen. Note that the image data and sound data to be decoded are stored in the ROM 950 and the CD 982 or transferred from the outside via the communication interface 990.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。   The drawing processor 910 performs drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces at high speed. When drawing an object, the main processor 900 uses the function of the DMA controller 970 to pass the object data to the drawing processor 910 and transfer the texture to the texture storage unit 924 if necessary. Then, the rendering processor 910 renders the object in the frame buffer 922 at high speed while performing hidden surface removal using a Z buffer or the like based on the object data and texture. The drawing processor 910 can also perform α blending (translucent processing), mip mapping, fog processing, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.

サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。   The sound processor 930 includes a multi-channel ADPCM sound source and the like, and generates high-quality game sounds such as BGM, sound effects, and sounds. The generated game sound is output from the speaker 932.

ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。   Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.

ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.

RAM960は、各種プロセッサの作業領域として用いられる。   The RAM 960 is used as a work area for various processors.

DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。   The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).

CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。   The CD drive 980 drives a CD 982 (information storage medium) in which programs, image data, sound data, and the like are stored, and enables access to these programs and data.

通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルインターフェースのバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルインターフェースのバスを利用することで、他の画像生成システム、他のゲームシステム、家電(ビデオデッキ、ビデオカメラ)、或いは情報処理機器(パーソナルコンピュータ、プリンタ、マウス、キーボード)などとの間でのデータ転送が可能になる。   The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, as a network connected to the communication interface 990, a communication line (analog telephone line, ISDN), a high-speed serial interface bus, and the like can be considered. By using a communication line, data transfer via the Internet becomes possible. In addition, by using the bus of the high-speed serial interface, other image generation systems, other game systems, home appliances (video decks, video cameras), information processing equipment (personal computers, printers, mice, keyboards), etc. Data transfer between them becomes possible.

なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。   All of the means of the present invention may be executed by hardware alone, or may be executed only by a program stored in an information storage medium or a program distributed via a communication interface. Alternatively, it may be executed by both hardware and a program.

そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラム(プログラム及びデータ)が格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。   When each means of the present invention is executed by both hardware and a program, a program (program and data) for executing each means of the present invention using hardware is stored in the information storage medium. Will be stored. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930, etc. executes each means of the present invention based on the instruction and the passed data.

図12(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するためのプログラム(或いはプログラム及びデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。   FIG. 12A shows an example when the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. A program (or program and data) for executing each means of the present invention is stored in the memory 1108 which is an information storage medium on the system board 1106. Hereinafter, this information is referred to as storage information.

図12(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。   FIG. 12B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in the CD 1206, which is an information storage medium that is detachable from the main system, or in the memory cards 1208, 1209, and the like.

図12(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1802(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。   FIG. 12C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a network 1802 (a small-scale network such as a LAN or a wide area network such as the Internet). An example of applying this embodiment to a system including In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n can generate game images and game sounds stand-alone, the host device 1300 receives a game program and the like for generating game images and game sounds from the terminal 1304-. 1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.

なお、図12(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。   In the case of the configuration shown in FIG. 12C, each unit of the present invention may be executed in a distributed manner between the host device (server) and the terminal. The storage information for executing each means of the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.

またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。   The terminal connected to the network may be a home game system or an arcade game system. When connecting the arcade game system to a network, a portable information storage device capable of exchanging information with the arcade game system and exchanging information with the home game system. It is desirable to use (memory card, portable game device).

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。   The present invention is not limited to that described in the above embodiment, and various modifications can be made.

例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。   For example, in the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention may be made dependent on another independent claim.

また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。   The present invention can also be applied to various games (such as fighting games, shooting games, robot fighting games, sports games, competitive games, role playing games, music playing games, dance games, etc.).

また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。   The present invention also relates to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, an image generation system, and a system board for generating game images. Applicable.

本実施形態のブロック図の一例を示す。An example of the block diagram of this embodiment is shown. 図2は、ゲームの表示画面において、表示抜けが発生している例を示したものである。FIG. 2 shows an example in which a missing display occurs on the game display screen. 図3(A)(B)(C)は、本実施の形態のプリミティブの一例について説明するための図である。3A, 3B, and 3C are diagrams for explaining an example of the primitive of this embodiment. 本実施の形態の頂点データセットについて、説明するための図である。It is a figure for demonstrating the vertex data set of this Embodiment. 本実施の形態でシザリング処理に用いる平面について説明するための図である。本実施の形態では、ビューボリューム220を構成する6面230,2It is a figure for demonstrating the plane used for a scissoring process in this Embodiment. In the present embodiment, the six surfaces 230 and 2 constituting the view volume 220. 図5のビューボリュームをA方向(Y軸方向)から見た図である。FIG. 6 is a diagram when the view volume of FIG. 5 is viewed from the A direction (Y-axis direction). 図5のビューボリュームをB方向(X軸方向)から見た図である。FIG. 6 is a view of the view volume of FIG. 5 viewed from the B direction (X-axis direction). シザリングビット(シザリング情報)の構成について説明するための図である。It is a figure for demonstrating the structure of a scissoring bit (scissoring information). 本実施の形態の処理のながれを示すフローチャート図である。It is a flowchart figure which shows the flow of the process of this Embodiment. 本実施の形態のシザリング処理の流れについて説明するためのフローチャート図である。It is a flowchart figure for demonstrating the flow of the scissoring process of this Embodiment. 本実施形態を実現できるハードウェアの構成の一例を示す図である。It is a figure which shows an example of the structure of the hardware which can implement | achieve this embodiment. 図12(A)(B)(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。FIGS. 12A, 12 </ b> B, and 12 </ b> C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.

符号の説明Explanation of symbols

100 処理部
110 ゲーム処理部
114 移動・動作演算部
140 画像生成部
142 ジオメトリ処理部
144 シザリング処理部
146 描画部
150 音生成部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
176 テクスチャ記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
300 頂点データセット
320 頂点情報
324 シザリングビット
332 描画フラグ
400 プリミティブ
100 processing unit 110 game processing unit 114 movement / motion calculation unit 140 image generation unit 142 geometry processing unit 144 scissoring processing unit 146 drawing unit 150 sound generation unit 160 operation unit 170 storage unit 172 main memory 174 frame buffer 176 texture storage unit 180 information Storage medium 190 Display unit 192 Sound output unit 194 Portable information storage device 196 Communication unit 300 Vertex data set 320 Vertex information 324 Scissoring bit 332 Rendering flag 400 Primitive

Claims (5)

多角形で構成されたオブジェクトの画像を生成するためのプログラムであって、
3次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
3次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部としてコンピュータを機能させ、
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とするプログラム。
A program for generating an image of an object composed of polygons,
A vertex data set generation unit that performs coordinate conversion of an object arranged in a three-dimensional space into a screen coordinate system, and generates a vertex data set that is a set of vertex information of primitives constituting the object;
A scissoring processing unit that performs scissoring processing on a polygon including vertices exceeding a predetermined region of the primitive in a three-dimensional coordinate system, and generates a vertex data set including vertices newly generated by scissoring processing;
The computer functions as a drawing processing unit that performs drawing processing in units of primitives based on the vertex data set,
The vertex data set generation unit
A plurality of position determination areas are set by dividing the predetermined area or its surrounding space, and it is determined which of the primitives each vertex belongs to, and the position determination area is specified. Set scissoring information for the vertex information associated with the vertex,
The scissoring processing unit
Based on the scissoring information, it is determined whether there are vertices outside the predetermined area among the vertices in the minimum unit polygon unit constituting the primitive, and scissoring processing is performed on the minimum unit polygon having the vertices outside the predetermined area. A program characterized by omitting scissoring processing for a minimum unit polygon having no vertices outside a predetermined area.
請求項1において、
前記所定の領域は仮想カメラのビューボリュームに基づき形成された領域であり、前記複数の位置判定用領域はビューボリュームを構成する各面を含む平面を用いてビューボリュームの周囲の空間を分割して設定されていることを特徴とするプログラム。
In claim 1,
The predetermined area is an area formed based on a view volume of a virtual camera, and the plurality of position determination areas are obtained by dividing a space around the view volume using a plane including each surface constituting the view volume. A program characterized by being set.
請求項1乃至2のいずれかにおいて、
前記描画処理部は、
所定の領域を超えた頂点を含む多角形については描画しないことを特徴とするプログラム。
In any one of Claims 1 thru | or 2.
The drawing processing unit
A program that does not draw a polygon that includes vertices that exceed a predetermined area.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至3のいずれかのプログラムが記憶されていることを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 3 is stored. 多角形で構成されたオブジェクトの画像を生成する画像生成システムであって、
3次元空間に配置されたオブジェクトをスクリーン座標系に座標変換を行い、オブジェクトを構成するプリミティブの頂点情報の集合である頂点データセットを生成する頂点データセット生成部と、
3次元座標系において前記プリミティブの所定の領域を超えた頂点を含む多角形についてシザリング処理を行い、シザリング処理によって新たに生成された頂点を含む頂点データセットを生成するシザリング処理部と、
頂点データセットに基づきプリミティブ単位で描画処理を行う描画処理部と、を含み
前記頂点データセット生成部は、
前記所定の領域又はその周囲の空間を分割して複数の位置判定用領域を設定し、前記プリミティブの各頂点がそのいずれに属するかについて判断し、いずれの位置判定用領域に属するかについて特定するためのシザリング情報を頂点に関連づけた頂点情報として設定し、
前記シザリング処理部は、
前記シザリング情報に基づきプリミティブを構成する最小単位多角形単位で頂点のなかに所定の領域外の頂点があるか否か判断し、所定の領域外の頂点がある最小単位多角形についてシザリング処理を行い所定の領域外の頂点がない最小単位多角形についてはシザリング処理を省略することを特徴とする画像生成装置。
An image generation system for generating an image of an object composed of polygons,
A vertex data set generation unit that performs coordinate conversion of an object arranged in a three-dimensional space into a screen coordinate system, and generates a vertex data set that is a set of vertex information of primitives constituting the object;
A scissoring processing unit that performs scissoring processing on a polygon including vertices exceeding a predetermined region of the primitive in a three-dimensional coordinate system, and generates a vertex data set including vertices newly generated by scissoring processing;
A rendering processing unit that performs rendering processing in units of primitives based on the vertex data set, and the vertex data set generation unit includes:
A plurality of position determination areas are set by dividing the predetermined area or its surrounding space, and it is determined which of the primitives each vertex belongs to, and the position determination area is specified. Set scissoring information for the vertex information associated with the vertex,
The scissoring processing unit
Based on the scissoring information, it is determined whether there are vertices outside the predetermined area among the vertices in the minimum unit polygon unit constituting the primitive, and scissoring processing is performed on the minimum unit polygon having the vertices outside the predetermined area. An image generating apparatus characterized in that scissoring processing is omitted for a minimum unit polygon having no vertices outside a predetermined area.
JP2004087994A 2004-03-24 2004-03-24 Program, information storage medium, and image generation system Withdrawn JP2005275798A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004087994A JP2005275798A (en) 2004-03-24 2004-03-24 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004087994A JP2005275798A (en) 2004-03-24 2004-03-24 Program, information storage medium, and image generation system

Publications (1)

Publication Number Publication Date
JP2005275798A true JP2005275798A (en) 2005-10-06

Family

ID=35175415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004087994A Withdrawn JP2005275798A (en) 2004-03-24 2004-03-24 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP2005275798A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032603A1 (en) * 2006-09-13 2008-03-20 Panasonic Corporation Image processing device, image processing integrated circuit, image processing system, input assembler device, and input assembling integrated circuit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032603A1 (en) * 2006-09-13 2008-03-20 Panasonic Corporation Image processing device, image processing integrated circuit, image processing system, input assembler device, and input assembling integrated circuit
JPWO2008032603A1 (en) * 2006-09-13 2010-01-21 パナソニック株式会社 Image processing apparatus, integrated circuit for image processing, image processing system, input assembler apparatus, integrated circuit for input assembly
JP4995827B2 (en) * 2006-09-13 2012-08-08 パナソニック株式会社 Image processing apparatus, integrated circuit for image processing, image processing system, input assembler apparatus, integrated circuit for input assembly
US8730261B2 (en) 2006-09-13 2014-05-20 Panasonic Corporation Image processing device, image processing integrated circuit, image processing system, input assembler device, and input assembling integrated circuit

Similar Documents

Publication Publication Date Title
JP4535604B2 (en) Game system and program
JP3269814B2 (en) Image generation system and information storage medium
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4371283B2 (en) Image generation system and information storage medium
JP4167358B2 (en) Image generation system and information storage medium
JP2004073241A (en) Game system, program, and information storage medium
JP4651204B2 (en) Image generation system, program, and information storage medium
JP2005209217A (en) Game system and information storage medium
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001229403A (en) Game system and information storage medium
JP2004341570A (en) Image generation system, program and information storage medium
JP4497690B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4698701B2 (en) Image generation system, program, and information storage medium
JP2005275798A (en) Program, information storage medium, and image generation system
JP2005275795A (en) Program, information storage medium and image generation system
JP4394211B2 (en) Image generation system and information storage medium
JP3614340B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2006318196A (en) Program, information storage medium and image generation system
JP4438939B2 (en) Program, information storage medium, and image generation system
JP4803909B2 (en) Image generation system, program, and information storage medium
JP4632530B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4592039B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4391633B2 (en) Image generation system and information storage medium

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070605