JP4771903B2 - Image generation system, program, and information storage medium - Google Patents

Image generation system, program, and information storage medium Download PDF

Info

Publication number
JP4771903B2
JP4771903B2 JP2006255412A JP2006255412A JP4771903B2 JP 4771903 B2 JP4771903 B2 JP 4771903B2 JP 2006255412 A JP2006255412 A JP 2006255412A JP 2006255412 A JP2006255412 A JP 2006255412A JP 4771903 B2 JP4771903 B2 JP 4771903B2
Authority
JP
Japan
Prior art keywords
image
buffer
rendering
memory
processing
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.)
Active
Application number
JP2006255412A
Other languages
Japanese (ja)
Other versions
JP2008077367A (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.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games 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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006255412A priority Critical patent/JP4771903B2/en
Publication of JP2008077367A publication Critical patent/JP2008077367A/en
Application granted granted Critical
Publication of JP4771903B2 publication Critical patent/JP4771903B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。   Conventionally, an image generation system (game system) that generates an image that can be viewed from a virtual camera (a given viewpoint) in an object space (virtual three-dimensional space) in which an object such as a character is set is known. It is popular as a place to experience so-called virtual reality.

このような画像生成システムにおいて、描画した画像(元画像)に基づき新たな画像を描画するマルチパスレンダリング処理を行うものが知られている(例えば、特許文献1参照)。
特許第3262772号
In such an image generation system, one that performs multi-pass rendering processing for drawing a new image based on the drawn image (original image) is known (for example, see Patent Document 1).
Japanese Patent No. 3262772

しかしながら、上記画像生成システムでは元画像のレンダリング処理、元画像の読み込み処理、新たな画像のレンダリング処理のいずれもが描画プロセッサとビデオメモリを接続する内部バスを介して行われるため、内部バスの帯域幅がボトルネックとなりマルチパスレンダリング処理の処理能力を向上させることができないという問題点があった。   However, in the above image generation system, since the original image rendering process, the original image reading process, and the new image rendering process are all performed via the internal bus connecting the drawing processor and the video memory, the bandwidth of the internal bus There is a problem that the processing capability of the multipass rendering process cannot be improved because the width becomes a bottleneck.

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、内部バスの帯域幅によるボトルネックを解消してマルチパスレンダリング処理の処理能力を向上させることができる画像生成システム、プログラム及び情報記憶媒体を提供することにある。   The present invention has been made in view of the above-described problems, and an object of the present invention is to eliminate the bottleneck caused by the bandwidth of the internal bus and improve the processing capability of the multipass rendering process. An object is to provide an image generation system, a program, and an information storage medium.

(1)本発明は、描画プロセッサが第1の内部バスを介してビデオメモリにアクセス可能であり、且つ描画プロセッサが第2の内部バスを介してメインメモリにアクセス可能に形成されたコンピュータにおいて画像を生成するためのプログラムであって、画像を前記メインメモリ又は前記ビデオメモリのいずれかにレンダリングするかを設定するレンダリングターゲット設定部と、前記レンダリングターゲット設定部によって設定された内容に従って、画像を前記メインメモリ又は前記ビデオメモリの一方のメモリにレンダリングし、前記一方のメモリに記憶された画像に基づき新たな画像を他方のメモリにレンダリングするマルチパスレンダリング処理を行う描画部として前記コンピュータを機能させることを特徴とする。   (1) According to the present invention, an image is generated in a computer in which a drawing processor is accessible to a video memory via a first internal bus, and the drawing processor is accessible to a main memory via a second internal bus. A rendering target setting unit that sets whether to render an image in the main memory or the video memory, and the image according to the content set by the rendering target setting unit. Rendering in one memory of the main memory or the video memory, and causing the computer to function as a drawing unit that performs multi-pass rendering processing for rendering a new image in the other memory based on the image stored in the one memory It is characterized by.

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

また本発明において、画像に基づき新たな画像をレンダリングするとは、レンダリングされた画像(元画像)を利用して元画像とは異なる新たな画像をレンダリングすることをいい、元画像をテクスチャとして利用して新たな画像をレンダリングする場合、元画像にエフェクト処理を施して新たな画像をレンダリングする場合等を含む。   In the present invention, rendering a new image based on an image means rendering a new image different from the original image using the rendered image (original image), and using the original image as a texture. When a new image is rendered, the original image is subjected to effect processing and a new image is rendered.

本発明によれば、描画プロセッサが第1の内部バスを介してビデオメモリにアクセス可能であり、且つ描画プロセッサが第2の内部バスを介してメインメモリにアクセス可能に形成されたハードウェアにおいて、レンダリングターゲットを前記ビデオメモリと前記メインメモリ間で交互に切り替えることにより、マルチパスレンダリング処理において使用する内部バスを分散させることができ、内部バスの帯域幅によるボトルネックを解消してマルチパスレンダリング処理の処理能力を向上させることができる。   According to the present invention, in the hardware formed so that the drawing processor can access the video memory via the first internal bus and the drawing processor can access the main memory via the second internal bus. By alternately switching the rendering target between the video memory and the main memory, the internal bus used in the multipass rendering process can be distributed, and the bottleneck caused by the bandwidth of the internal bus is eliminated, and the multipass rendering process is performed. The processing capacity can be improved.

(2)また本発明に係るプログラム及び情報記憶媒体では、前記描画部は、前記メインメモリ又は前記ビデオメモリの一方のメモリに記憶された画像をテクスチャとして読み込んで新たな画像を他方のメモリにレンダリングすることを特徴とする。   (2) In the program and information storage medium according to the present invention, the drawing unit reads an image stored in one memory of the main memory or the video memory as a texture and renders a new image in the other memory. It is characterized by doing.

(3)また本発明に係るプログラム及び情報記憶媒体では、前記コンピュータはビデオメモリに記憶された画像を表示部に出力するように形成され、前記レンダリングターゲット設定部は、表示部に出力される画像のレンダリングターゲットがビデオメモリとなるように画像のレンダリングターゲットを設定することを特徴とする。   (3) In the program and information storage medium according to the present invention, the computer is formed to output an image stored in a video memory to a display unit, and the rendering target setting unit is an image output to the display unit. The image rendering target is set so that the rendering target becomes a video memory.

本発明において、表示部に出力される画像とは、マルチパスレンダリング処理において最後のレンダリングパスでレンダリングされる画像(完成画像)をいう。   In the present invention, the image output to the display unit refers to an image (completed image) rendered in the final rendering pass in the multipass rendering process.

本発明によれば、表示部に出力される画像をビデオメモリにレンダリングすることができる。これにより、表示部に出力される画像をメインメモリにレンダリングした場合に必要となるビデオメモリへの画像のコピー処理を行うことなく前記画像を表示部に出力することができ、マルチパスレンダリング処理の処理能力を向上させることができる。   According to the present invention, an image output to the display unit can be rendered in a video memory. As a result, the image can be output to the display unit without performing the image copy process to the video memory required when the image output to the display unit is rendered in the main memory, and the multipass rendering process can be performed. The processing capacity can be improved.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

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

メインプロセッサ10は、光ディスク(CD、DVD、ブルーレイディスク等の情報記憶媒体)に格納されたプログラム、通信インターフェース80を介して転送されたプログラム、或いはハードディスク60に格納されたプログラムなどに基づき動作し、内部バスb4を介してアクセス可能なメインメモリ40を作業領域(ワーク領域)としてゲーム処理、画像処理、音処理などの種々の処理を実行する。   The main processor 10 operates based on a program stored on an optical disc (an information storage medium such as a CD, a DVD, a Blu-ray disc), a program transferred via the communication interface 80, a program stored on the hard disk 60, or the like. Various processes such as game processing, image processing, and sound processing are executed using the main memory 40 accessible via the internal bus b4 as a work area (work area).

メインプロセッサ10は、1基のプロセッサ12と複数のベクトルプロセッサ14で構成される。プロセッサ12は、OSの実行、ハードウェアリソースの管理、ゲーム処理、ベクトルプロセッサ14の動作管理などの種々の処理を実行する。またベクトルプロセッサ14は、ベクトル演算に特化したプロセッサであり、主にジオメトリ処理、画像データや音データのコーデック処理などの処理を実行する。   The main processor 10 includes a single processor 12 and a plurality of vector processors 14. The processor 12 executes various processes such as OS execution, hardware resource management, game processing, and operation management of the vector processor 14. The vector processor 14 is a processor specialized for vector operations, and mainly executes processing such as geometry processing and codec processing of image data and sound data.

描画プロセッサ20は、内部バスb1(第1の内部バス)を介してビデオメモリ30にアクセス可能に形成されている。また描画プロセッサ20は、描画プロセッサ20とメインプロセッサ10を接続する内部バスb2(第2の内部バス)と、メインプロセッサ10内部のバスb3と、メインプロセッサ10とメインメモリ40を接続する内部バスb4を介してメインメモリ40にアクセス可能に形成されている。すなわち描画プロセッサ20はビデオメモリ30と、メインメモリ40とをレンダリングターゲットとして利用することができる。   The drawing processor 20 is configured to be accessible to the video memory 30 via the internal bus b1 (first internal bus). The drawing processor 20 also includes an internal bus b2 (second internal bus) that connects the drawing processor 20 and the main processor 10, a bus b3 inside the main processor 10, and an internal bus b4 that connects the main processor 10 and the main memory 40. The main memory 40 is configured to be accessible via the. That is, the drawing processor 20 can use the video memory 30 and the main memory 40 as rendering targets.

描画プロセッサ20は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ10で動作するプログラムが、その処理を描画プロセッサ20に指示する。   The drawing processor 20 performs geometric 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 10 instructs the drawing processor 20 to perform the processing.

また描画プロセッサ20は、ジオメトリ処理後のオブジェクト(ポリゴンや曲面などのプリミティブ面で構成されるオブジェクト)の画像のレンダリング処理を高速に実行するものである。マルチパスレンダリング処理の際には、描画プロセッサ20は、描画データ(頂点データや他のパラメータ)等に基づいて、Zバッファ34などを利用した陰面消去を行いながら、画像をビデオメモリ30又はメインメモリ40の一方のメモリにレンダリングする。そして前記一方のメモリに記憶された画像に基づき他方のメモリに新たな画像をレンダリングする処理を必要なレンダリングパスの回数だけ行う。描画プロセッサ20は、上記マルチパスレンダリング処理として、グレアフィルタ処理、モーションブラー処理、被写界深度処理、フォグ処理等のフィルタ処理を行うことができる。   The drawing processor 20 executes a rendering process of an image of an object after geometry processing (an object composed of a primitive surface such as a polygon or a curved surface) at high speed. In the multi-pass rendering process, the drawing processor 20 performs the hidden surface removal using the Z buffer 34 or the like based on the drawing data (vertex data and other parameters) and the like, and displays the image in the video memory 30 or the main memory. Render to one of 40 memories. Then, a process of rendering a new image in the other memory based on the image stored in the one memory is performed as many times as necessary rendering passes. The drawing processor 20 can perform filter processing such as glare filter processing, motion blur processing, depth of field processing, and fog processing as the multi-pass rendering processing.

そして、最後のレンダリングパスで画像がビデオメモリ30に設けられたフレームバッファ32にレンダリングされると、その画像をディスプレイ50に出力する。また最後のレンダリングパスで画像がメインメモリ40にレンダリングされた場合には当該画像をフレームバッファ32にコピー(書き込み)した上でディスプレイ50に出力する。   When the image is rendered in the frame buffer 32 provided in the video memory 30 in the final rendering pass, the image is output to the display 50. When an image is rendered in the main memory 40 in the final rendering pass, the image is copied (written) to the frame buffer 32 and output to the display 50.

ハードディスク60にはシステムプログラム、セーブデータ、個人データなどが格納される。   The hard disk 60 stores system programs, save data, personal data, and the like.

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

通信インターフェース80は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース170に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。   The communication interface 80 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 170, a communication line (analog telephone line, ISDN), a high-speed serial bus, or the like can be considered. By using a communication line, data transfer via the Internet becomes possible. Further, by using the high-speed serial bus, data transfer with other image generation systems becomes possible.

2.構成
図2に、本実施形態の画像生成システムの機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外の各部(機能ブロック)については任意の構成要素とすることができる。
2. Configuration FIG. 2 shows an example of a functional block diagram of the image generation system of the present embodiment. In this figure, the present embodiment only needs to include at least the processing unit 100 (or include the processing unit 100 and the storage unit 170), and the other units (functional blocks) may be optional components. it can.

操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、或いは筺体などのハードウェアにより実現できる。   The operation unit 160 is for the player to input operation data, and the function can be realized by hardware such as a lever, button, steering, shift lever, accelerator pedal, brake pedal, microphone, sensor, or 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には、本実施形態の各部(各手段)としてコンピュータを機能させるためのプログラム(各部をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD, Blu-ray disk), magneto-optical disk (MO), magnetic disk, and 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 this embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores (records and stores) a program for causing the computer to function as each unit (each unit) of the present embodiment (a program for causing the computer to implement each unit).

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。特に、本実施の形態の表示部190は、インターレース方式の表示装置(例えばNTSC方式のモニター)とされ、例えば1/60秒(1フィールド)ごとに奇数ラインと偶数ラインを交互に走査して画像を表示する。   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). In particular, the display unit 190 of the present embodiment is an interlace display device (for example, an NTSC monitor), and scans an odd line and an even line alternately every 1/60 seconds (one field), for example. Is displayed.

音出力部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 or headphones.

携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。   The portable information storage device 194 stores player personal data, game 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 thereof are hardware such as various processors or a communication ASIC, It can be realized by a program.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and the communication unit 196. You may do it. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内のメインメモリ40をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(メインプロセッサ、描画プロセッサ、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。   The processing unit 100 (processor) performs various processes such as a game process, an image generation process, and a sound generation process based on operation data from the operation unit 160, a program, and the like. In this case, the processing unit 100 performs various processes using the main memory 40 in the storage unit 170 as a work area. The function of the processing unit 100 can be realized by hardware such as various processors (main processor, drawing processor, DSP, etc.) or ASIC (gate array, etc.), and a program (game program).

処理部100は、移動・動作処理部110、オブジェクト空間設定部112、仮想カメ
ラ制御部114、レンダリングターゲット設定部116、描画部120、音生成部130を含む。なお、処理部100は、これらの各部(機能ブロック)を全て含む必要はなく、その一部を省略してもよい。
The processing unit 100 includes a movement / motion processing unit 110, an object space setting unit 112, a virtual camera control unit 114, a rendering target setting unit 116, a drawing unit 120, and a sound generation unit 130. Note that the processing unit 100 does not need to include all these units (functional blocks), and some of them may be omitted.

移動・動作処理部110は、オブジェクト(移動体)の移動情報(位置、回転角度)や動作情報(オブジェクトの各パーツの位置、回転角度)を求める処理を行う。即ち、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作(モーション、アニメーション)させたりする処理を行う。   The movement / motion processing unit 110 performs processing for obtaining movement information (position, rotation angle) and motion information (position, rotation angle of each part of the object) of the object (moving body). That is, based on operation data input by the player through the operation unit 160, a game program, or the like, processing for moving an object or moving (motion, animation) is performed.

オブジェクト空間設定部112は、移動体(キャラクタ、車、戦車、ロボット)、柱、壁、建物、マップ(地形)などの各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間内に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度(方向)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転)でオブジェクトを配置する。   The object space setting unit 112 includes various objects (polygons, free-form surfaces, subdivision surfaces, etc.) such as moving objects (characters, cars, tanks, robots), columns, walls, buildings, maps (terrain), and the like. A process for arranging and setting (object) in the object space is performed. More specifically, the position and rotation angle (direction) of the object in the world coordinate system are determined, and the rotation angle (rotation around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.

仮想カメラ制御部114は、オブジェクト空間内に設定される仮想カメラを制御する処理を行う。即ち、仮想カメラの位置(X、Y、Z)又は回転(X、Y、Z軸回りでの回転)などの仮想カメラ情報を求め、仮想カメラを制御する(視点位置や視線方向を制御する)。   The virtual camera control unit 114 performs processing for controlling a virtual camera set in the object space. That is, virtual camera information such as the position (X, Y, Z) or rotation (rotation around the X, Y, Z axes) of the virtual camera is obtained, and the virtual camera is controlled (controls the viewpoint position and line-of-sight direction). .

例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転(仮想カメラの方向)を制御することが望ましい。この場合には、移動・動作処理部110で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置(移動経路)や回転角度を特定するためのカメラ経路情報を予め用意しておき、このカメラ経路情報に基づいて仮想カメラを制御する。   For example, when a moving object is photographed from behind with a virtual camera, the position or rotation (direction of the virtual camera) of the virtual camera may be controlled so that the virtual camera follows changes in the position or rotation of the moving object. desirable. In this case, the virtual camera is controlled based on information such as the position, direction, or speed of the moving object obtained by the movement / motion processing unit 110. Alternatively, the virtual camera may be rotated at a predetermined angle while being moved along a predetermined movement route. In this case, camera path information for specifying the position (movement path) and rotation angle of the virtual camera is prepared in advance, and the virtual camera is controlled based on the camera path information.

描画部120(描画プロセッサ20)は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)の画像をビデオメモリ30に設けられた描画バッファ172(フレームバッファやワークバッファ(中間バッファ)などのピクセル単位で画像情報を記憶できるバッファ)、又はメインメモリ40に設けられた描画バッファ178にレンダリング(描画)する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお描画部120での描画処理は、いわゆるピクセルシェーダーや頂点シェーダーにより実現してもよい。   The drawing unit 120 (drawing processor 20) performs drawing processing based on the results of various processing (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. In the case of generating a so-called three-dimensional game image, first, geometric processing such as coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, or perspective transformation is performed, and drawing data ( The position coordinates, texture coordinates, color data, normal vector, α value, etc.) of the vertexes of the primitive surface are created. Based on this drawing data (primitive surface data), an image of the object (one or a plurality of primitive surfaces) after perspective transformation (after geometry processing) is rendered in a drawing buffer 172 (frame buffer or work buffer) provided in the video memory 30. Rendering (rendering) is performed in a rendering buffer 178 provided in the main memory 40 or a buffer that can store image information in units of pixels (such as an intermediate buffer). Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. Note that the drawing process in the drawing unit 120 may be realized by a so-called pixel shader or vertex shader.

描画部120は、テクスチャマッピング処理や隠面消去処理を行うことができる。   The drawing unit 120 can perform texture mapping processing and hidden surface removal processing.

ここでテクスチャマッピング処理は、テクスチャ記憶部177に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部176からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。   Here, the texture mapping process is a process of mapping a texture (texel value) stored in the texture storage unit 177 to an object. Specifically, the texture (surface properties such as color and α value) is read from the texture storage unit 176 using the texture coordinates set (given) at the vertices of the object (primitive surface). Then, a texture that is a two-dimensional image or pattern is mapped to the object. In this case, processing for associating pixels and texels, bilinear interpolation (texel interpolation), and the like are performed.

また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されているZバッファ34(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ34に格納されているZ値(カメラ座標系でのZ値)を参照する。そして参照されたZバッファ174のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、描画対象ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば大きなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ34のZ値を新たなZ値に更新する。   The hidden surface removal process is realized, for example, by a Z buffer method (depth comparison method, Z test) using a Z buffer 34 (depth buffer) in which the Z value (depth information) of each pixel is stored. That is, when each pixel on the primitive surface of the object is drawn, the Z value (Z value in the camera coordinate system) stored in the Z buffer 34 is referred to. Then, the Z value of the referenced Z buffer 174 is compared with the Z value at the drawing target pixel of the primitive surface, and the Z value at the drawing target pixel is the front side when viewed from the virtual camera (for example, a large value) Z value), the drawing process for the pixel is performed and the Z value in the Z buffer 34 is updated to a new Z value.

Zバッファ34のZ値の参照は、隠面消去消去処理の他、被写界深度処理、フォグ処理等のフィルタ処理によっても行われる。被写界深度処理ではフィルタ処理の対象となる画像(元画像)のZ値に基づきぼかし画像を合成する範囲を決定し、またフォグ処理では元画像のZ値に基づきフォグの色を合成する割合を決定する。Zバッファ34はビデオメモリ30に設けられているから、上記処理が行われる毎にZバッファ34の値が参照されて図1に示す内部バスb1の帯域が使用されることになる。   Reference to the Z value in the Z buffer 34 is performed by filter processing such as depth-of-field processing and fog processing in addition to hidden surface erasure / erasure processing. In the depth-of-field process, a range in which a blurred image is synthesized is determined based on the Z value of an image (original image) to be filtered, and in the fog process, a fog color is synthesized based on the Z value of the original image To decide. Since the Z buffer 34 is provided in the video memory 30, the value of the Z buffer 34 is referred to and the bandwidth of the internal bus b1 shown in FIG.

本実施形態では、レンダリングターゲット設定部116が、画像をビデオメモリ30に設けられた描画バッファ172又はメインメモリ40に設けられた描画バッファ178のいずれかにレンダリングするか、すなわち画像のレンダリングターゲットを設定する。   In the present embodiment, the rendering target setting unit 116 renders an image in either the drawing buffer 172 provided in the video memory 30 or the drawing buffer 178 provided in the main memory 40, that is, sets an image rendering target. To do.

またレンダリングターゲット設定部116は、表示部190に出力される画像(最後のレンダリングパスでレンダリングされる完成画像)のレンダリングターゲットがビデオメモリ30に設けられた描画バッファ172となるようにレンダリングターゲットを設定してもよい。この場合、例えばマルチパスレンダリング処理のレンダリングパスの回数Nが奇数の場合には最初のレンダリングパスにおけるレンダリングターゲットを描画バッファ172に設定し、Nが偶数の場合には最初のレンダリングパスにおけるレンダリングターゲットを描画バッファ178に設定し、以降のレンダリングパスにおいてはレンダリングターゲットとして描画バッファ172と描画バッファ178とを交互に設定すればよい。   The rendering target setting unit 116 sets the rendering target so that the rendering target of the image output to the display unit 190 (the completed image rendered in the last rendering pass) is the drawing buffer 172 provided in the video memory 30. May be. In this case, for example, when the number N of rendering passes in the multi-pass rendering process is an odd number, the rendering target in the first rendering pass is set in the drawing buffer 172, and when N is an even number, the rendering target in the first rendering pass is set. The drawing buffer 178 may be set, and the drawing buffer 172 and the drawing buffer 178 may be alternately set as rendering targets in the subsequent rendering passes.

尚、マルチパスレンダリング処理の全てのレンダリングパスにおいてレンダリングターゲットを描画バッファ172と描画バッファ178間で交互に設定する必要はなく、一部のレンダリングパスにおいて同一のレンダリングターゲットを連続して設定してもよい。   Note that it is not necessary to alternately set the rendering target between the drawing buffer 172 and the drawing buffer 178 in all rendering passes of the multipass rendering process, and the same rendering target may be set continuously in some rendering passes. Good.

レンダリングターゲット設定部116は、情報記憶媒体180に格納されたプログラムに基づき画像のレンダリングターゲットを設定してもよい。この場合予めプログラム上で各レンダリングパスにおけるレンダリングターゲットを指定しておく必要がある。また描画プロセッサの使用率または内部バスの帯域使用率等の情報に基づいて動的に画像のレンダリングターゲットを設定してもよい。   The rendering target setting unit 116 may set an image rendering target based on a program stored in the information storage medium 180. In this case, it is necessary to designate a rendering target in each rendering pass in advance on the program. Alternatively, an image rendering target may be set dynamically based on information such as a drawing processor usage rate or an internal bus bandwidth usage rate.

描画部120は、レンダリングターゲット設定部116によって設定された内容(記憶部170に記憶された情報)に従って、画像をビデオメモリ30に設けられた描画バッファ172又はメインメモリ40に設けられた描画バッファ178の一方のバッファにレンダリングし、前記一方のバッファに記憶された画像に基づき新たな画像を他方のバッファにレンダリングするマルチパスレンダリング処理を行う。   The drawing unit 120 displays an image in the drawing buffer 172 provided in the video memory 30 or the drawing buffer 178 provided in the main memory 40 according to the contents set by the rendering target setting unit 116 (information stored in the storage unit 170). A multi-pass rendering process is performed to render a new image in the other buffer based on the image stored in the one buffer.

また描画部120は、前記一方のバッファに記憶された画像をテクスチャとして読み込んで新たな画像を他方のバッファにレンダリングしてもよい。   The drawing unit 120 may read an image stored in the one buffer as a texture and render a new image in the other buffer.

音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

なお、本実施形態の画像生成システムは、1人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、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 may be a system having a multiplayer mode in which a plurality of players can play. 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 by distributed processing using a plurality of terminals (game machine, mobile phone).

3.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下では、グレアを表現するためのフィルタ処理、モーションブラー処理に関して本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなフィルタ処理のみならず、マルチパスレンダリング処理を行う種々のフィルタ処理に適用できる。
3. Next, the method of this embodiment will be described with reference to the drawings. In the following description, the case where the method of the present embodiment is adopted with respect to the filter processing for expressing glare and the motion blur processing will be mainly described. However, the method of the present embodiment is not limited to such filter processing. The present invention can be applied to various filter processes that perform path rendering processing.

3.1 グレアフィルタの手法
図3はグレアフィルタ処理に関して本実施形態の手法を採用した場合について説明するための図である。ここでフレームバッファとワークバッファWB2はビデオメモリ30に設けられ、ワークバッファWB1とワークバッファWB3はメインメモリ40に設けられている。
3.1 Glare Filter Method FIG. 3 is a diagram for explaining a case where the method of the present embodiment is adopted for glare filter processing. Here, the frame buffer and the work buffer WB2 are provided in the video memory 30, and the work buffer WB1 and the work buffer WB3 are provided in the main memory 40.

まずレンダリングターゲットをフレームバッファに設定して、オブジェクト空間内に配置された仮想カメラから見えるシーン(ビューボリューム内)に存在するオブジェクトの画像(元画像)をフレームバッファに描画する。   First, a rendering target is set in the frame buffer, and an image (original image) of an object existing in a scene (in a view volume) that can be seen from a virtual camera arranged in the object space is drawn in the frame buffer.

そしてグレアフィルタをフレームバッファに描画された元画像に対して施す場合には、図3のA1に示すように、レンダリングターゲットをワークバッファWB1に設定して、元画像をフレームバッファよりサイズの小さいワークバッファWB1に縮小コピーする。そして、ワークバッファWB1に縮小コピーされた画像に対して色抽出処理を行って色抽出画像を描画する。   When the glare filter is applied to the original image drawn in the frame buffer, the rendering target is set in the work buffer WB1 as shown in A1 of FIG. 3, and the original image is smaller in size than the frame buffer. Reduced copy to buffer WB1. Then, color extraction processing is performed on the image reduced and copied to the work buffer WB1 to draw a color extraction image.

ここで、色抽出処理としては、ワーク画像の各ピクセルから基準色より明るい色を抽出して、その差分の色情報を得る処理を行う。例えば、基準色C1が頂点色に設定された単色の仮想ポリゴン(単色ポリゴン)を用意して、この単色ポリゴンをワークバッファWB1に減算半透明で描画を行う。これによりワークバッファWB1に縮小コピーされた画像の任意のピクセルPの色をC2とすると、単色ポリゴンを減算半透明で描画した後のワークバッファ1に描画される色抽出画像のピクセルPの色は、C2−C1となる。すなわち、色抽出画像では、基準色より暗い色は、黒にクランプされ、基準色より明るい色については、その差分の色となる。このようにある基準色より明るい色だけを求めることで、グレアのかかりやすい領域を特定することができる。   Here, as the color extraction process, a process is performed in which a color brighter than the reference color is extracted from each pixel of the work image and the color information of the difference is obtained. For example, a single-color virtual polygon (single-color polygon) in which the reference color C1 is set to the vertex color is prepared, and this single-color polygon is drawn in the work buffer WB1 with subtraction and translucency. As a result, if the color of an arbitrary pixel P of the image reduced and copied to the work buffer WB1 is C2, the color of the pixel P of the color extraction image drawn in the work buffer 1 after drawing the monochromatic polygon with subtraction semi-transparency is , C2-C1. That is, in the color extraction image, a color darker than the reference color is clamped to black, and a lighter color than the reference color is a difference color. Thus, by obtaining only colors brighter than a certain reference color, it is possible to specify an area where glare is likely to occur.

次に図3のA2に示すように、レンダリングターゲットをワークバッファWB2に設定して、ワークバッファWB1に描画された色抽出画像を横(X方向)にずらした画像をワークバッファWB2に描画する。このようにすることで横方向のピクセルの色情報がバイリニアフィルタ方式で補間されて画像が横方向にぼけるようになる。   Next, as shown in A2 of FIG. 3, the rendering target is set in the work buffer WB2, and an image obtained by shifting the color extraction image drawn in the work buffer WB1 horizontally (X direction) is drawn in the work buffer WB2. By doing so, the color information of the pixels in the horizontal direction is interpolated by the bilinear filter method, and the image becomes blurred in the horizontal direction.

さらに図3のA3に示すように、レンダリングターゲットをワークバッファWB3に設定して、ワークバッファWB2に描画されたワーク画像を縦(Y方向)にずらした画像をワークバッファWB3に描画する。このようにすることで縦方向のピクセルの色情報がバイリニアフィルタ方式で補間されて画像が縦方向にぼけるようになる。   Further, as shown at A3 in FIG. 3, the rendering target is set in the work buffer WB3, and an image obtained by shifting the work image drawn in the work buffer WB2 vertically (Y direction) is drawn in the work buffer WB3. By doing so, the color information of the pixels in the vertical direction is interpolated by the bilinear filter method, and the image becomes blurred in the vertical direction.

そして図3のA4に示すように、レンダリングターゲットをフレームバッファに設定して、ぼかし処理が行われワークバッファWB3に描画されたフィルタ画像をフレームバッファの元画像に加算合成し、元画像にグレア処理が施されたような完成画像を生成する。   Then, as shown in A4 of FIG. 3, the rendering target is set in the frame buffer, the filter image that has been subjected to the blurring process and drawn in the work buffer WB3 is added and combined with the original image in the frame buffer, and the glare processing is performed on the original image. A completed image is generated as shown in FIG.

本実施形態のグレアフィルタ手法では、図3のA1〜A4に示すマルチパスレンダリング処理において画像の描画先(レンダリングターゲット)をビデオメモリ30に設けられたバッファとメインメモリ40に設けられたバッファ間で交互に切り替えることにより、図3のA1〜A4の各処理における画像の読み込み先と書き込み先(描画先)をビデオメモリ30とメインメモリ40とに分散させることができる。すなわち図1で示すようにレンダリング処理を行う描画プロセッサ20(描画部120)はビデオメモリ30に対しては内部バスb1を介してアクセスし、またメインメモリ40に対しては内部バスb2〜b4を介してアクセスするものであるから、図3のA1〜A4の各処理において使用する内部バスを分散させることができる。   In the glare filter method according to the present embodiment, the image drawing destination (rendering target) between the buffer provided in the video memory 30 and the buffer provided in the main memory 40 in the multi-pass rendering process shown in A1 to A4 of FIG. By alternately switching, the image reading destination and writing destination (drawing destination) in each processing of A1 to A4 in FIG. 3 can be distributed to the video memory 30 and the main memory 40. That is, as shown in FIG. 1, the rendering processor 20 (rendering unit 120) that performs rendering processing accesses the video memory 30 through the internal bus b1, and accesses the main memory 40 through the internal buses b2 to b4. Therefore, internal buses used in the processes A1 to A4 in FIG. 3 can be distributed.

尚、図3では縦方向のぼかし処理が行われたフィルタ画像(ぼかし画像)をそのまま元画像に加算合成する場合について説明したが、1フレーム前の処理においてメインメモリ上の別バッファ(例えばワークバッファWB4)に描画されたフィルタ画像をワークバッファWB3のぼかし画像に合成することでフィルタ画像を生成し、生成したフィルタ画像をフレームバッファの元画像に加算合成するようにしてもよい。この場合、次のフレームの処理では縦方向のぼかし画像をワークバッファWB4に描画し、ワークバッファWB3のフィルタ画像をワークバッファWB4のぼかし画像に合成してフィルタ画像を生成することになる。このように1フレーム前の処理において生成したフィルタ画像を用いてグレア表現用のフィルタ画像を生成することで、仮想カメラの動きに追従する光のにじみを表現することができる。   In FIG. 3, the case where the filter image (blurred image) that has been subjected to the vertical blurring process is added and synthesized to the original image as it is has been described. The filter image drawn in WB4) may be combined with the blurred image in the work buffer WB3 to generate a filter image, and the generated filter image may be added and combined with the original image in the frame buffer. In this case, in the processing of the next frame, a vertically blurred image is drawn in the work buffer WB4, and the filter image of the work buffer WB3 is combined with the blurred image of the work buffer WB4 to generate a filter image. As described above, by generating a filter image for glare expression using the filter image generated in the process one frame before, it is possible to express the blur of light following the movement of the virtual camera.

また、図3では色抽出処理として単色ポリゴンをワークバッファWB1に減算半透明で描画を行う場合について説明したが、色抽出処理をピクセルシェーダによって実行する場合には、フレームバッファに描画された元画像をワークバッファWB1に縮小コピーする際に、ピクセルシェーダに取得させた元画像の色C0からパラメータ色として用意された基準色C1をピクセル毎に減算する処理(C0−C1)を実行した結果をワークバッファWB1に描画するようにしてもよい。同様にフィルタ画像と元画像との合成をピクセルシェーダによって実行する場合には、フレームバッファに描画された元画像とワークバッファWB3に描画されたフィルタ画像とを、いずれもテクスチャとしてピクセルシェーダに読み込ませて、ピクセルシェーダに取得させた元画像の色C0とフィルタ画像の色C3とをピクセル毎に加算する処理(C0+C3)を実行した結果をフレームバッファに描画するようにしてもよい。   Further, FIG. 3 illustrates the case where the monochrome polygon is drawn in the work buffer WB1 with semi-transparent drawing as the color extraction processing. However, when the color extraction processing is executed by the pixel shader, the original image drawn in the frame buffer is used. Is reduced and copied to the work buffer WB1, and the result of executing the processing (C0-C1) for subtracting the reference color C1 prepared as the parameter color from the color C0 of the original image acquired by the pixel shader for each pixel. You may make it draw in buffer WB1. Similarly, when the filter image and the original image are combined by the pixel shader, the original image drawn in the frame buffer and the filter image drawn in the work buffer WB3 are both read as textures into the pixel shader. Then, the result of executing the process (C0 + C3) of adding the color C0 of the original image and the color C3 of the filter image acquired by the pixel shader for each pixel may be drawn in the frame buffer.

また、図3では元画像のレンダリングターゲットをビデオメモリ30上のフレームバッファに設定する場合について説明したが、メインメモリ40上のバッファに設定してもよい。その場合、完成画像はメインメモリ130上のバッファに描画されることになるから、完成画像をフレームバッファにコピーする処理を行う。   Further, although the case where the rendering target of the original image is set in the frame buffer on the video memory 30 has been described with reference to FIG. 3, it may be set in the buffer on the main memory 40. In this case, since the completed image is drawn in the buffer on the main memory 130, processing for copying the completed image to the frame buffer is performed.

3.2 モーションブラーの手法
図4はモーションブラー処理に関して本実施形態の手法を採用した場合について説明するための図である。ここでフレームバッファはビデオメモリ30に設けられ、ワークバッファはメインメモリ40に設けられている。
3.2 Motion Blur Method FIG. 4 is a diagram for explaining a case where the method of the present embodiment is adopted for motion blur processing. Here, the frame buffer is provided in the video memory 30, and the work buffer is provided in the main memory 40.

まずレンダリングターゲットをフレームバッファに設定して、1フレーム前の時間tから時間dtだけ進めたシーン(ビューボリューム内)に存在するオブジェクトの画像(元画像(t+dt))をフレームバッファに描画する。ここで時間dtは1フレーム間の時間を元画像の描画回数nで割った時間とする。   First, the rendering target is set in the frame buffer, and an image of the object (original image (t + dt)) existing in the scene (in the view volume) advanced by time dt from time t one frame before is drawn in the frame buffer. Here, the time dt is a time obtained by dividing the time between one frame by the number n of rendering of the original image.

次にレンダリングターゲットをワークバッファに設定して、1フレーム前の時間tから時間2dtだけ進めた元画像(t+2dt)をワークバッファに描画する。   Next, the rendering target is set in the work buffer, and the original image (t + 2dt) advanced by time 2dt from time t one frame before is drawn in the work buffer.

そして図4のB1に示すように、レンダリングターゲットをフレームバッファに設定して、ワークバッファに描画された元画像(t+2dt)をフレームバッファの元画像(t+dt)に50%対50%の割合で合成してワーク画像を生成する。   Then, as shown in B1 of FIG. 4, the rendering target is set to the frame buffer, and the original image (t + 2dt) drawn in the work buffer is combined with the original image (t + dt) of the frame buffer at a ratio of 50% to 50%. To generate a work image.

次にレンダリングターゲットをワークバッファに設定して、1フレーム前の時間tから時間3dtだけ進めた元画像(t+3dt)をワークバッファに描画する。   Next, the rendering target is set in the work buffer, and the original image (t + 3dt) advanced by time 3dt from time t one frame before is drawn in the work buffer.

そして図4のB2に示すように、レンダリングターゲットをフレームバッファに設定して、ワークバッファに描画された元画像(t+3dt)をフレームバッファのワーク画像におよそ33%対66%の割合で合成して新たなワーク画像を生成する。   Then, as shown in B2 of FIG. 4, the rendering target is set in the frame buffer, and the original image (t + 3dt) drawn in the work buffer is combined with the work image in the frame buffer at a ratio of approximately 33% to 66%. A new work image is generated.

このように1フレーム前の時間tから時間dtづつ進めて元画像を描画し合成する処理を繰り返す。最終的にはn回目の描画処理として、レンダリングターゲットをワークバッファに設定し、1フレーム前の時間tから時間ndtだけ進めた元画像(t+ndt)をワークバッファに描画した後、図4のB3に示すように、レンダリングターゲットをフレームバッファに設定して、ワークバッファに描画された元画像(t+ndt)をフレームバッファのワーク画像に(100/n)%対(100−100/n)%の割合で合成して、モーションブラー処理が施されたような完成画像を生成する。   In this way, the process of drawing and compositing the original image by repeating the time dt from the time t one frame before is repeated. Finally, as the n-th drawing process, the rendering target is set in the work buffer, and the original image (t + ndt) advanced by time ndt from time t one frame before is drawn in the work buffer. As shown, the rendering target is set to the frame buffer, and the original image (t + ndt) drawn in the work buffer is set to the work image in the frame buffer at a ratio of (100 / n)% to (100-100 / n)%. Combined to generate a finished image that has undergone motion blur processing.

本実施形態のモーションブラー手法では、図4に示すマルチパスレンダリング処理において画像の描画先(レンダリングターゲット)をビデオメモリ30に設けられたフレームバッファとメインメモリ40に設けられたワークバッファ間で交互に切り替えることにより、特に図4のB1〜B3の各処理における画像の読み込み先と書き込み(描画)先をビデオメモリ120とメインメモリ130とに分散させることができる。すなわち図1で示すようにレンダリング処理を行う描画プロセッサ20(描画部120)はビデオメモリ30に対しては内部バスb1を介してアクセスし、またメインメモリ40に対しては内部バスb2〜b4を介してアクセスするものであるから、図4のB1〜B3の各処理において使用する内部バスを分散させることができる。   In the motion blur method of the present embodiment, an image drawing destination (rendering target) is alternately displayed between the frame buffer provided in the video memory 30 and the work buffer provided in the main memory 40 in the multipass rendering process shown in FIG. By switching, it is possible to disperse the image reading destination and writing (drawing) destination in the video memory 120 and the main memory 130 in each of the processes B1 to B3 in FIG. That is, as shown in FIG. 1, the rendering processor 20 (rendering unit 120) that performs rendering processing accesses the video memory 30 through the internal bus b1, and accesses the main memory 40 through the internal buses b2 to b4. Therefore, internal buses used in the processes B1 to B3 in FIG. 4 can be distributed.

またメインメモリに元画像を描画する各処理においては、元画像の描画に伴う隠面消去処理によるZバッファ34のZ値の更新は内部バスb1を介して行われ、元画像の描画自体は内部バスb2〜b4を介して行われるから、メインメモリに元画像を描画する各処理においても使用する内部バスを分散させることができる。   In each process of drawing the original image in the main memory, the Z value of the Z buffer 34 is updated via the internal bus b1 by the hidden surface removal process accompanying the drawing of the original image, and the drawing of the original image itself is not performed internally. Since the processing is performed via the buses b2 to b4, it is possible to distribute the internal buses used in each process of drawing the original image in the main memory.

4.本実施形態の処理
次に、本実施形態の詳細な処理例について図5及び図6のフローチャートを用いて説明する。
4). Processing of this embodiment Next, a detailed processing example of this embodiment will be described with reference to the flowcharts of FIGS.

はじめに図5のフローチャートを用いて、グレアフィルタ処理を説明する。   First, the glare filter process will be described with reference to the flowchart of FIG.

まず、レンダリングターゲットをビデオメモリ30上のフレームバッファに設定し、仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する(ステップS10)。   First, a rendering target is set in the frame buffer on the video memory 30, and a scene viewed from the virtual camera is drawn in the frame buffer to generate an original image (step S10).

次に、レンダリングターゲットをメインメモリ40上のワークバッファWB1に設定し、フレームバッファの1/2のサイズのワークバッファWB1にフレームバッファの元画像を縮小コピーする(ステップS12)。   Next, the rendering target is set in the work buffer WB1 on the main memory 40, and the original image of the frame buffer is reduced and copied to the work buffer WB1 having a size half that of the frame buffer (step S12).

そして、ワークバッファWB1に単色ポリゴンの画像を減算合成する(ステップS14)。すなわち図3で説明した色抽出処理により色の強さの低い成分が落とされる。   Then, the monochrome polygon image is subtracted and synthesized in the work buffer WB1 (step S14). That is, a component having a low color intensity is dropped by the color extraction processing described with reference to FIG.

尚、ピクセルシェーダによって色抽出処理を実行する場合には、フレームバッファから読み出した元画像の各ピクセルの色から基準色を減算した結果をワークバッファWB1に描画して、色抽出画像が縮小コピーされるようにしてもよい。   When color extraction processing is executed by the pixel shader, the result obtained by subtracting the reference color from the color of each pixel of the original image read from the frame buffer is drawn in the work buffer WB1, and the color extracted image is reduced and copied. You may make it do.

次にレンダリングターゲットをビデオメモリ30上のワークバッファWB2に設定し、ワークバッファWB1の画像を横にずらした画像をワークバッファWB2に描画してして、横方向(X方向)に画像をぼかす処理を行う(ステップS16)。さらにレンダリングターゲットをメインメモリ40上のワークバッファWB3に設定し、ワークバッファWB2の画像を縦にずらした画像をワークバッファWB3に描画して、縦方向(Y方向)に画像をぼかす処理を行う(ステップS18)。   Next, a rendering target is set in the work buffer WB2 on the video memory 30, and an image obtained by shifting the image of the work buffer WB1 horizontally is drawn in the work buffer WB2, and the image is blurred in the horizontal direction (X direction). Is performed (step S16). Furthermore, the rendering target is set in the work buffer WB3 on the main memory 40, an image obtained by shifting the image in the work buffer WB2 vertically is drawn in the work buffer WB3, and the image is blurred in the vertical direction (Y direction) ( Step S18).

次に、レンダリングターゲットをフレームバッファに設定し、ワークバッファWB3の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数を掛けてフレームバッファに加算合成する(ステップS20)。   Next, the rendering target is set to the frame buffer, the image of the work buffer WB3 is enlarged to the size of the frame buffer, and the enlarged image is multiplied and combined with the frame buffer by adding an appropriate coefficient (step S20).

次に図6のフローチャートを用いて、モーションブラー処理を説明する。ここでは便宜上1フレーム間の時間を3分割し、元画像の描画を3回行う場合について説明する。   Next, motion blur processing will be described using the flowchart of FIG. Here, for convenience, a case will be described in which the time between one frame is divided into three and the original image is drawn three times.

まず、レンダリングターゲットをビデオメモリ30上のフレームバッファに設定し、1フレーム前の時間tから時間dtだけ進めた元画像をフレームバッファに描画する(ステップS30)。ここで時間dtは1フレーム間の時間を描画回数3で割った時間とする。   First, the rendering target is set in the frame buffer on the video memory 30, and the original image advanced by the time dt from the time t one frame before is drawn in the frame buffer (step S30). Here, the time dt is a time obtained by dividing the time between one frame by the number of times of drawing 3.

次に、レンダリングターゲットをメインメモリ40上のワークバッファに設定し、1フレーム前の時間tから時間2dtだけ進めた元画像をワークバッファに描画する(ステップS32)。そしてレンダリングターゲットをフレームバッファに設定し、ワークバッファに描画された元画像をフレームバッファの元画像に50%対50%の割合で合成する(ステップS34)。   Next, the rendering target is set in the work buffer on the main memory 40, and the original image advanced by time 2dt from time t one frame before is drawn in the work buffer (step S32). Then, the rendering target is set in the frame buffer, and the original image drawn in the work buffer is combined with the original image in the frame buffer at a ratio of 50% to 50% (step S34).

次に、レンダリングターゲットをワークバッファに設定し、1フレーム前の時間tから時間3dtだけ進めた元画像をワークバッファに描画する(ステップS36)。そしてレンダリングターゲットをフレームバッファに設定し、ワークバッファに描画された元画像をフレームバッファの画像におよそ33%対66%の割合で合成する(ステップS38)。   Next, the rendering target is set in the work buffer, and the original image advanced by time 3 dt from time t one frame before is drawn in the work buffer (step S36). The rendering target is set in the frame buffer, and the original image drawn in the work buffer is combined with the image in the frame buffer at a ratio of approximately 33% to 66% (step S38).

元画像の描画を3回以上行う場合にはステップS36、S38の処理を描画回数分繰り返す。その際の元画像と合成先の画像の合成比率は描画回数をnとすると100/n%対100−100/n%となる。   When drawing the original image three times or more, the processes in steps S36 and S38 are repeated for the number of times of drawing. In this case, the composition ratio of the original image and the composition image is 100 / n% vs. 100-100 / n% where n is the number of drawing.

なお、本実施形態の各部(各手段)は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。   Note that all the units (units) of the present embodiment may be realized only by hardware, or only by a program stored in an information storage medium or a program distributed via a communication interface. May be. Alternatively, it may be realized by both hardware and a program.

そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ10、20等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ10、20等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。   And when each part of this embodiment is implement | achieved by both hardware and a program, the program for functioning hardware (computer) as each part of this embodiment is stored in an information storage medium. Become. More specifically, the program instructs each processor 10, 20, etc., which is hardware, and passes data if necessary. Each of the processors 10 and 20 implements each unit of the present invention based on the instruction and the passed data.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。またグレアフィルタの手法、モーションブラーの手法等は、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。   The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings. Further, the glare filter technique, the motion blur technique, and the like are not limited to those described in the present embodiment, and techniques equivalent to these techniques are also included in the scope of the present invention.

また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   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.). Further, the present invention is applied 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, a system board for generating a game image, and a mobile phone. it can.

本実施形態の画像生成システムのハードウェア構成例。2 is a hardware configuration example of an image generation system according to the present embodiment. 本実施形態の画像生成システムの機能ブロック図。The functional block diagram of the image generation system of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の具体的な処理例を示すフローチャート。The flowchart which shows the specific process example of this embodiment. 本実施形態の具体的な処理例を示すフローチャート。The flowchart which shows the specific process example of this embodiment.

符号の説明Explanation of symbols

10 メインプロセッサ
20 描画プロセッサ
30 ビデオメモリ
32 フレームバッファ
34 Zバッファ
40 メインメモリ
100 処理部
110 移動・動作処理部
112 オブジェクト空間設定部
114 仮想カメラ制御部
116 レンダリングターゲット設定部
120 描画部
130 音生成部
160 操作部
170 記憶部
172 描画バッファ
176 テクスチャ記憶部
178 描画バッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
10 main processor 20 drawing processor 30 video memory 32 frame buffer 34 Z buffer 40 main memory 100 processing unit 110 movement / motion processing unit 112 object space setting unit 114 virtual camera control unit 116 rendering target setting unit 120 drawing unit 130 sound generation unit 160 Operation unit 170 Storage unit 172 Drawing buffer 176 Texture storage unit 178 Drawing buffer 180 Information storage medium 190 Display unit 192 Sound output unit 194 Portable information storage device 196 Communication unit

Claims (5)

描画プロセッサが第1の内部バスを介してビデオメモリにアクセス可能であり、且つ描画プロセッサが第2の内部バスを介してメインメモリにアクセス可能に形成されたコンピュータにおいて画像を生成するためのプログラムであって、
画像を前記メインメモリ又は前記ビデオメモリのいずれかにレンダリングするかを設定するレンダリングターゲット設定部と、
前記レンダリングターゲット設定部によって設定された内容に従って、画像を前記メインメモリ又は前記ビデオメモリの一方のメモリにレンダリングし、前記一方のメモリに記憶された画像に基づき新たな画像を他方のメモリにレンダリングするマルチパスレンダリング処理を行う描画部として前記コンピュータを機能させることを特徴とするプログラム。
A program for generating an image in a computer configured such that the drawing processor can access the video memory via the first internal bus and the drawing processor can access the main memory via the second internal bus. There,
A rendering target setting unit for setting whether to render an image in the main memory or the video memory;
In accordance with the content set by the rendering target setting unit, the image is rendered in one of the main memory and the video memory, and a new image is rendered in the other memory based on the image stored in the one memory. A program that causes the computer to function as a drawing unit that performs multi-pass rendering processing.
請求項1において、
前記描画部は、
前記メインメモリ又は前記ビデオメモリの一方のメモリに記憶された画像をテクスチャとして読み込んで新たな画像を他方のメモリにレンダリングすることを特徴とするプログラム。
In claim 1,
The drawing unit
A program that reads an image stored in one of the main memory and the video memory as a texture and renders a new image in the other memory.
請求項1または2において、
前記コンピュータはビデオメモリに記憶された画像を表示部に出力するように形成され、
前記レンダリングターゲット設定部は、
表示部に出力される画像のレンダリングターゲットがビデオメモリとなるように画像のレンダリングターゲットを設定することを特徴とするプログラム。
In claim 1 or 2,
The computer is configured to output an image stored in a video memory to a display unit,
The rendering target setting unit includes:
A program for setting an image rendering target so that the image rendering target to be output to the display unit is a video memory.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜3のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。 A computer-readable information storage medium, wherein the program according to any one of claims 1 to 3 is stored. 描画プロセッサが第1の内部バスを介してビデオメモリにアクセス可能であり、且つ描画プロセッサが第2の内部バスを介してメインメモリにアクセス可能に形成された画像生成システムであって、
画像を前記メインメモリ又は前記ビデオメモリのいずれかにレンダリングするかを設定するレンダリングターゲット設定部と、
前記レンダリングターゲット設定部によって設定された内容に従って、画像を前記メインメモリ又は前記ビデオメモリの一方のメモリにレンダリングし、前記一方のメモリに記憶された画像に基づき新たな画像を他方のメモリにレンダリングするマルチパスレンダリング処理を行う描画部とを含むことを特徴とする画像生成システム。
An image generation system configured such that a drawing processor can access a video memory via a first internal bus, and the drawing processor can access a main memory via a second internal bus,
A rendering target setting unit for setting whether to render an image in the main memory or the video memory;
In accordance with the content set by the rendering target setting unit, the image is rendered in one of the main memory and the video memory, and a new image is rendered in the other memory based on the image stored in the one memory. An image generation system including a drawing unit that performs multi-pass rendering processing.
JP2006255412A 2006-09-21 2006-09-21 Image generation system, program, and information storage medium Active JP4771903B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006255412A JP4771903B2 (en) 2006-09-21 2006-09-21 Image generation system, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006255412A JP4771903B2 (en) 2006-09-21 2006-09-21 Image generation system, program, and information storage medium

Publications (2)

Publication Number Publication Date
JP2008077367A JP2008077367A (en) 2008-04-03
JP4771903B2 true JP4771903B2 (en) 2011-09-14

Family

ID=39349359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255412A Active JP4771903B2 (en) 2006-09-21 2006-09-21 Image generation system, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4771903B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882636A (en) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 Picture rendering method, device, equipment and medium

Also Published As

Publication number Publication date
JP2008077367A (en) 2008-04-03

Similar Documents

Publication Publication Date Title
JP2006318389A (en) Program, information storage medium, and image generation system
JP4804120B2 (en) Program, information storage medium, and image generation system
JP2006195882A (en) Program, information storage medium and image generation system
JP2006318388A (en) Program, information storage medium, and image forming system
JP3990258B2 (en) Image generation system, program, and information storage medium
JP4223244B2 (en) Image generation system, program, and information storage medium
JP4749198B2 (en) Program, information storage medium, and image generation system
JP2002063596A (en) Game system, program and information storage medium
JP4447000B2 (en) Image generation system, program, and information storage medium
JP4743770B2 (en) Image generation system, program, and information storage medium
JP2006252426A (en) Program, information storage medium, and image generation system
JP4073031B2 (en) Program, information storage medium, and image generation system
JP4771903B2 (en) Image generation system, program, and information storage medium
JP5253118B2 (en) Image generation system, program, and information storage medium
JP2006011539A (en) Program, information storage medium, and image generating system
JP4159082B2 (en) Image generation system, program, and information storage medium
JP4632855B2 (en) Program, information storage medium, and image generation system
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4698701B2 (en) Image generation system, program, and information storage medium
JP2008077406A (en) Image generation system, program, and information storage medium
JP2010033302A (en) Image generation system, program and information storage medium
JP2010033295A (en) Image generation system, program and information storage medium
JP4521811B2 (en) Program, information storage medium, and image generation system
JP4680670B2 (en) Program, information storage medium, and image generation system
JP4794597B2 (en) Image generation system, program, and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110530

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110608

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110621

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4771903

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250