[go: up one dir, main page]

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

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

Info

Publication number
JP2006318388A
JP2006318388A JP2005142821A JP2005142821A JP2006318388A JP 2006318388 A JP2006318388 A JP 2006318388A JP 2005142821 A JP2005142821 A JP 2005142821A JP 2005142821 A JP2005142821 A JP 2005142821A JP 2006318388 A JP2006318388 A JP 2006318388A
Authority
JP
Japan
Prior art keywords
image
filter
moving object
virtual camera
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.)
Pending
Application number
JP2005142821A
Other languages
Japanese (ja)
Inventor
Takashi Imakire
隆 今給黎
Yoshiyuki Matsumoto
欣之 松本
Shigeru Kikko
繁 橘高
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.)
Bandai Namco Entertainment Inc
Original Assignee
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 Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005142821A priority Critical patent/JP2006318388A/en
Publication of JP2006318388A publication Critical patent/JP2006318388A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】 移動体オブジェクトの映り込みに対してもフィルタ処理の効果を確実に反映させることができるプログラム、情報記憶媒体及び画像生成システムを提供する。
【解決手段】 フィルタ処理の対象となる半透明オブジェクトである水面オブジェクトWOBに移動体オブジェクトPOBが映り込む映り込みイベントが発生した場合に、移動体オブジェクトPOBを所与の基準面に対してフリップさせたオブジェクト空間上の位置に移動体オブジェクトPOBに対応する鏡像オブジェクトMOBを配置設定し、移動体オブジェクトPOB及び鏡像オブジェクトMOBを描画した後に水面オブジェクトWOBを描画した元画像に対してフィルタ処理を行う。
【選択図】 図4
PROBLEM TO BE SOLVED: To provide a program, an information storage medium, and an image generation system capable of reliably reflecting the effect of filter processing even on reflection of a moving object.
When a reflection event in which a moving object POB is reflected on a water surface object WOB, which is a translucent object to be filtered, occurs, the moving object POB is flipped with respect to a given reference plane. The mirror image object MOB corresponding to the moving object POB is arranged and set at a position in the object space, and after the moving object POB and the mirror image object MOB are drawn, the original image on which the water surface object WOB is drawn is filtered.
[Selection] Figure 4

Description

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

従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲーム(RPG)を楽しむことができる画像生成システムを例にとれば、プレーヤは、自身の分身であるプレーヤキャラクタ(プレーヤオブジェクト)を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタ(敵オブジェクト)と対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。   Conventionally, an image generation system (game system) that generates an image that can be seen from a virtual camera (a given viewpoint) in an object space that is a virtual three-dimensional space is known. Popular. Taking an image generation system capable of enjoying a role-playing game (RPG) as an example, a player operates a player character (player object), which is his or her own character, to move it on a map in the object space, and to create an enemy character. Enjoy the game by playing against (enemy objects), interacting with other characters, and visiting various towns.

このような画像生成システムでは、水面の揺らぎ(さざ波)などを表現する場合に、一度描画した画像(元画像)に対して、さらなる処理を施して、元の画像とは異なる雰囲気の画像を作成するポストフィルタ手法(ポストエフェクト手法)が用いられる。例えば、時間経過に応じて元画像をゆがませる揺らぎフィルタ処理により、水面の揺らぎを表現することができる。ところで、このような水面の揺らぎを表現する場合においては、水際に存在するキャラクタが水面に映り込む様子などもリアルに表現されることが好ましく、キャラクタの映り込み画像にもポストフィルタの効果が確実に反映できる技術が望まれている。特にキャラクタが移動体オブジェクトである場合には、オブジェクト空間内における位置が時々刻々と変化するために、その変化の様子に合わせた映り込み表現が行われることが望まれる。   In such an image generation system, when expressing fluctuations (ripple waves) on the water surface, the image once drawn (original image) is further processed to create an image with an atmosphere different from the original image. A post filter method (post effect method) is used. For example, the fluctuation of the water surface can be expressed by a fluctuation filter process that distorts the original image over time. By the way, when expressing such fluctuations in the water surface, it is preferable that the character existing at the water surface is reflected in the water surface, and the effect of the post filter is surely displayed in the reflected image of the character. The technology that can be reflected in is desired. In particular, when the character is a moving object, the position in the object space changes from moment to moment, so it is desirable to perform a reflection expression that matches the state of the change.

本発明は、上記事情に鑑みてなされたものであり、移動体オブジェクトの映り込みに対してもフィルタ処理の効果を確実に反映させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the above circumstances, and provides a program, an information storage medium, and an image generation system that can surely reflect the effect of filter processing on the reflection of a moving object. It is in.

本発明は、オブジェクト空間における仮想カメラから見た画像を生成するための画像生成システムであって、移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生したか否かを判定するイベント判定部と、前記映り込みイベントが発生したと判定された場合に、移動体オブジェクトを所与の基準面に対してフリップさせた位置に該移動体オブジェクトの鏡像オブジェクトを前記オブジェクト空間に配置設定する鏡像オブジェクト設定部と、前記移動体オブジェクト及び前記鏡像オブジェクトを描画した後に前記半透明オブジェクトを描画した元画像に対してフィルタ処理を行う描画部と、を含む画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   The present invention is an image generation system for generating an image viewed from a virtual camera in an object space, and whether or not a reflection event occurs in which a moving object is reflected on a translucent object to be filtered. An event determination unit for determining the mirror object of the moving object at a position where the moving object is flipped with respect to a given reference plane when it is determined that the reflection event has occurred. An image generation system including: a mirror image object setting unit configured to place an image; and a drawing unit that performs a filtering process on an original image on which the translucent object is drawn after drawing the moving object and the mirror image object. . The present invention also relates to a program that causes a computer to function as each of the above-described units. The present invention also relates to an information storage medium that can be read by a computer and stores (records) a program that causes the computer to function as each of the above-described units.

コンピュータとは、プロセッサ(処理部:CPUあるいはGPUなど)、メモリ(記憶部)、入力装置、及び出力装置を基本的な構成要素とする物理的装置(システム)をいう。以下においても同様である。   The computer refers to a physical device (system) having basic components such as a processor (processing unit: CPU or GPU), a memory (storage unit), an input device, and an output device. The same applies to the following.

本発明によれば、移動体オブジェクト及び移動体オブジェクトに対応する鏡像オブジェクトを描画した後に、フィルタ処理の対象となる半透明オブジェクトが描画される。このため、鏡像オブジェクトの配置設定及びその描画という追加的処理が行われるような場合であっても、半透明オブジェクトに映り込んだ移動体オブジェクトの鏡像に確実にフィルタ処理の効果が反映された画像を生成することができる。   According to the present invention, after drawing a moving object and a mirror image object corresponding to the moving object, a translucent object to be filtered is drawn. Therefore, even when additional processing such as mirror object placement and drawing is performed, an image in which the effect of the filtering process is reliably reflected in the mirror image of the moving object reflected in the translucent object Can be generated.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクト空間に前記半透明オブジェクトに対応した仮想反射面オブジェクトが配置設定されており、前記イベント判定部が、前記仮想カメラの視線ベクトルを前記仮想反射面オブジェクトで反射させた反射視線ベクトルと前記移動体オブジェクトとの交差判定を行って、前記映り込みイベントが発生したか否かを判定するようにしてもよい。このようにすれば、仮想反射面オブジェクトのサイズによって移動体オブジェクトの映り込みイベントが生じる範囲を予め特定することができる。   In the image generation system, the program, and the information storage medium of the present invention, a virtual reflecting surface object corresponding to the semi-transparent object is arranged and set in the object space, and the event determination unit calculates the visual vector of the virtual camera. It may be determined whether or not the reflection event has occurred by performing an intersection determination between the reflection line-of-sight vector reflected by the virtual reflection surface object and the moving object. By doing this, it is possible to specify in advance the range in which the moving object reflection event occurs according to the size of the virtual reflecting surface object.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記オブジェクト空間に前記半透明オブジェクトに対応した仮想反射面オブジェクトが配置設定されており、前記イベント判定部が、前記移動体オブジェクトを内包するバウンディングボリュームを設定し、前記仮想カメラの視線ベクトルを前記仮想反射面オブジェクトで反射させた反射視線ベクトルと前記バウンディングボリュームとの交差判定を行って、前記映り込みイベントが発生したか否かを判定するようにしてもよい。このようにすれば、簡便に移動体オブジェクトの映り込みイベントが発生するか否かを判定することができる。   In the image generation system, the program, and the information storage medium of the present invention, a virtual reflecting surface object corresponding to the semitransparent object is arranged and set in the object space, and the event determination unit includes the moving object. A bounding volume is set, and a determination is made as to whether or not the reflection event has occurred by performing an intersection determination between the reflected line-of-sight vector obtained by reflecting the line-of-sight vector of the virtual camera with the virtual reflecting surface object and the bounding volume. You may do it. In this way, it is possible to easily determine whether or not a moving object reflection event occurs.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記仮想反射面オブジェクトが複数のプリミティブ面に分割されており、前記イベント判定部が、前記視線ベクトルと交差しないプリミティブ面については、前記反射視線ベクトルの計算処理を省略するようにしてもよい。このようにすれば、仮想反射面オブジェクトの配置設定範囲が広範囲にわたる場合に、処理を高速化できる。   In the image generation system, the program, and the information storage medium of the present invention, the virtual reflection surface object is divided into a plurality of primitive surfaces, and the event determination unit does not reflect the reflection surface for primitive surfaces that do not intersect the line-of-sight vector. The line-of-sight vector calculation process may be omitted. In this way, the processing can be speeded up when the arrangement setting range of the virtual reflecting surface object is wide.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、前記半透明オブジェクトを前記移動体オブジェクト及び前記鏡像オブジェクトを含むオブジェクト群とは異なるα値で描画した前記元画像のαプレーンに設定されたα値をマスク情報として、前記画像に対してフィルタ処理を行うようにしてもよい。このようにすれば、移動体オブジェクトはフィルタ処理の影響を受けず、半透明オブジェクトに映り込んだ鏡像オブジェクトのみがフィルタ処理の影響を受けた画像を生成することができる。   In the image generation system, the program, and the information storage medium of the present invention, the drawing unit draws the translucent object with an α value different from that of the object group including the moving object and the mirror image object. Filter processing may be performed on the image using the α value set in the plane as mask information. In this way, the moving object is not affected by the filtering process, and only the mirror image object reflected in the translucent object can generate an image affected by the filtering process.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、前記元画像のうち前記半透明オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいてフィルタ画像を生成し、前記元画像と該フィルタ画像とを合成する前記フィルタ処理を行うようにしてもよい。このようにすれば、フィルタ処理が必要な部分にだけぼかし処理を施して、局所的なグレア表現などを簡便に行うことができる。   In the image generation system, the program, and the information storage medium of the present invention, the drawing unit masks only the drawing area of the translucent object in the original image by using the α value set in the α plane of the original image as mask information. The copied work image may be generated, a filter image may be generated based on the work image, and the filter processing for combining the original image and the filter image may be performed. In this way, it is possible to easily perform local glare expression and the like by performing blurring processing only on the portion that needs to be filtered.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、前記元画像をコピーしたワーク画像に基づいてフィルタ画像を生成し、該フィルタ画像のうち前記半透明オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行うようにしてもよい。例えば、ピクセル入れ替え処理のような元画像の全てのピクセルの色情報が必要なフィルタ処理では、半透明オブジェクトの描画領域の周辺の色情報が失われてしまうと、ノイズの混じったような不自然な画像が生成されてしまう。このため、元画像の全体をコピーしたワーク画像についてピクセル入れ替え処理を行った上で、半透明オブジェクトの描画領域についてのみフィルタ画像と元画像とが合成されるようにすることによって、生成画像が不自然になるような事態を防ぐことができる。   In the image generation system, the program, and the information storage medium of the present invention, the drawing unit generates a filter image based on a work image obtained by copying the original image, and only the drawing region of the translucent object is included in the filter image. May be combined with the original image using the α value set in the α plane of the original image as mask information. For example, in filter processing that requires color information of all pixels of the original image, such as pixel replacement processing, if the color information around the drawing area of a semi-transparent object is lost, it is unnatural as if it is mixed with noise. An image is generated. Therefore, after the pixel replacement process is performed on the work image obtained by copying the entire original image, the filter image and the original image are synthesized only for the drawing area of the semi-transparent object. You can prevent natural situations.

また本発明の画像生成システムでは、所与の制御情報に基づいて仮想カメラを制御する仮想カメラ制御部と、前記仮想カメラの制御情報に基づいて、前記仮想カメラの位置、方向、および画角の少なくとも一つが変化したと判断される場合に、前記フィルタ処理のフィルタ強度パラメータを変更するパラメータ設定部とを含んでいてもよい。また本発明のプログラム及び情報記憶媒体では、上記仮想カメラ制御部及びパラメータ設定部としてコンピュータを機能させるようにしてもよい。このようにすれば、仮想カメラの位置、方向、及び画角の少なくとも一つが変化したと判断される場合にフィルタ強度パラメータが変更されるので、フィルタ処理の元画像への影響度を適切に調整することができる。このため、フィルタ処理後の画像が見栄えの悪い不自然なものとなることを防止することができ、高品質な映像を作成することができるようになる。   In the image generation system of the present invention, the virtual camera control unit that controls the virtual camera based on given control information, and the position, direction, and angle of view of the virtual camera based on the control information of the virtual camera. And a parameter setting unit that changes a filter strength parameter of the filtering process when it is determined that at least one has changed. In the program and information storage medium of the present invention, the computer may function as the virtual camera control unit and the parameter setting unit. In this way, the filter strength parameter is changed when it is determined that at least one of the position, direction, and angle of view of the virtual camera has changed, so the degree of influence of the filtering process on the original image is adjusted appropriately. can do. For this reason, it can prevent that the image after a filter process becomes unnatural with a bad appearance, and can produce a high quality image | video.

また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記移動体オブジェクトに対して前記仮想カメラの注視点が設定され、前記パラメータ設定部が、前記移動体オブジェクトが前記オブジェクト空間内を移動することによって前記仮想カメラの注視点が移動した場合に、その移動距離に応じて前記フィルタ強度パラメータを変更するようにしてもよい。このようにすれば、注目すべき移動体オブジェクトがオブジェクト空間内で移動する場合に限って、フィルタ強度パラメータを変更すればよいので、処理が簡便になる。   In the image generation system, program, and information storage medium of the present invention, a gazing point of the virtual camera is set for the moving object, and the parameter setting unit moves the moving object in the object space. Thus, when the gazing point of the virtual camera moves, the filter strength parameter may be changed according to the moving distance. In this way, the filter strength parameter may be changed only when the mobile object to be noticed moves in the object space, so that the processing becomes simple.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration FIG. 1 shows an example of a functional block diagram of an image generation system (game system) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤキャラクタ)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The operation unit 160 is for a player to input operation data of a player object (an example of a moving object, a player character operated by the player), and functions thereof are a lever, a button, a steering, a microphone, and a touch panel display. Alternatively, it can be realized by a housing or the like. The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM). The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit).

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by a CRT, LCD, touch panel display, HMD (head mounted display), or the like. The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The portable information storage device 194 stores player personal data, game save data, and the like. Examples of the portable information storage device 194 include a memory card and a portable game device. 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 communication ASICs, programs, and the like. It can be realized by.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部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 communication unit 196. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部171をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs processing such as game processing, image generation processing, or sound generation processing based on operation data and programs from the operation unit 160. Here, as the game process, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for placing an object such as a character or a map, a process for displaying an object, and a game result are calculated. There is a process or a process of ending a game when a game end condition is satisfied. The processing unit 100 performs various processes using the main storage unit 171 in the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、パラメータ設定部116、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes an object space setting unit 110, a movement / motion processing unit 112, a virtual camera control unit 114, a parameter setting unit 116, a drawing unit 120, and a sound generation unit 130. Note that some of these may be omitted.

オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 110 is an object composed of various objects (polygons, free-form surfaces, subdivision surfaces, etc.) representing display objects such as characters, buildings, stadiums, cars, trees, pillars, walls, and maps (terrain). ) Is set in the object space. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.

オブジェクト空間設定部110は、鏡像オブジェクト設定部111を含む。   The object space setting unit 110 includes a mirror image object setting unit 111.

鏡像オブジェクト設定部111は、移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生した場合に、移動体オブジェクトを所与の基準面に対してフリップさせたオブジェクト空間上の位置に、移動体オブジェクトの鏡像オブジェクトを配置する。   The mirror image object setting unit 111 is arranged on an object space in which a moving object is flipped with respect to a given reference plane when a reflection event occurs in which the moving object is reflected on a translucent object to be filtered. The mirror image object of the moving object is placed at the position.

移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The movement / motion processing unit 112 performs a movement / motion calculation (movement / motion simulation) of an object (such as a character, a car, or an airplane). That is, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), or the like, the object is moved in the object space, or the object is moved (motion, animation). ) Is performed. Specifically, object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part that constitutes the object) are sequentially transmitted every frame (1/60 seconds). Perform the required simulation process. A frame is a unit of time for performing object movement / motion processing (simulation processing) and image generation processing.

仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。   The virtual camera control unit 114 performs a virtual camera (viewpoint) control process for generating an image viewed from a given (arbitrary) viewpoint in the object space. Specifically, processing for controlling the position (X, Y, Z) or rotation angle (rotation angle about the X, Y, Z axis) of the virtual camera (processing for controlling the viewpoint position, the line-of-sight direction or the angle of view) I do.

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。   For example, when an object (eg, character, ball, car) is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (the direction of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the object. ) To control. In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement / motion processing unit 112. Alternatively, the virtual camera may be controlled to rotate at a predetermined rotation angle or to move along a predetermined movement path. In this case, the virtual camera is controlled based on the virtual camera data for specifying the position (movement path) or rotation angle of the virtual camera. When there are a plurality of virtual cameras (viewpoints), the above control process is performed for each virtual camera.

なお仮想カメラ制御部114は、所与の制御情報に基づいて、位置(視点位置)、方向(視線方向)、画角などを制御する。仮想カメラの位置、方向、画角の変化情報、注視点の移動情報(移動距離、移動方向)、オブジェクトの移動情報や回転情報、あるいは操作部160の操作情報など、種々の情報を仮想カメラの制御情報として任意に定めることができる。例えば、注視点の移動情報を仮想カメラの制御情報とした場合には、オブジェクト空間において注視点の位置が変更された場合に、その移動距離や移動方向、言い換えれば注視点のワールド座標(X、Y、Z)の変化に応じて仮想カメラの視点位置(位置)、視線方向(方向)、画角等を制御することができる。なお注視点の移動情報という場合、広義には、ワールド座標系での注視点の位置座標の変化情報のみならず、カメラ座標系(視点座標系)やスクリーン座標系での注視点の位置座標の変化情報をも含む。また仮想カメラの注視点は、オブジェクトに関連づけて設定することができ、例えば、操作部160の操作情報に基づいて、移動体オブジェクトをオブジェクト空間内で移動あるいは動作させることができるようなシステムにおいては、移動体オブジェクトの任意の代表点(例えば、中心座標)を注視点として設定することができる。この場合には、移動体オブジェクトの移動あるいは動作に追従して注視点が移動するため、結果的には移動体オブジェクトの移動に追従するように仮想カメラの位置、方向、画角等が制御されることになる。   The virtual camera control unit 114 controls the position (viewpoint position), the direction (gaze direction), the angle of view, and the like based on given control information. Various information such as virtual camera position, direction, angle of view change information, gazing point movement information (movement distance, movement direction), object movement information and rotation information, or operation information of the operation unit 160 are stored. Control information can be arbitrarily determined. For example, when the movement information of the gazing point is used as the control information of the virtual camera, when the position of the gazing point is changed in the object space, the movement distance and movement direction, in other words, the world coordinates (X, The viewpoint position (position), line-of-sight direction (direction), angle of view, etc. of the virtual camera can be controlled in accordance with changes in Y, Z). Note that the movement information of the gazing point in a broad sense includes not only the change information of the position coordinates of the gazing point in the world coordinate system, but also the position coordinates of the gazing point in the camera coordinate system (view point coordinate system) and the screen coordinate system. Also includes change information. In addition, the gazing point of the virtual camera can be set in association with the object. For example, in a system in which a moving object can be moved or operated in the object space based on operation information of the operation unit 160. An arbitrary representative point (for example, center coordinates) of the moving object can be set as the gazing point. In this case, the point of interest moves following the movement or movement of the moving object, and as a result, the position, direction, angle of view, etc. of the virtual camera are controlled so as to follow the movement of the moving object. Will be.

イベント判定部116は、移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生したか否かを判定する。   The event determination unit 116 determines whether or not a reflection event has occurred in which the moving object is reflected on the translucent object to be filtered.

具体的には、仮想カメラの視線ベクトルを仮想反射面オブジェクトで反射させた反射視線ベクトルと移動体オブジェクトとの交差判定を行って、映り込みイベントが発生したか否かを判定する。   Specifically, it is determined whether or not a reflection event has occurred by performing an intersection determination between a reflected line-of-sight vector obtained by reflecting the line-of-sight vector of a virtual camera with a virtual reflecting surface object and a moving object.

またイベント判定部116は、反射視線ベクトルと移動体オブジェクトとの交差判定を行う代わりに、移動体オブジェクトを内包するバウンディングボリューム(バウンディングボックス、バウンディングスフィア、円柱、四角錐等)を設定して、そのバウンディングボリュームと反射視線ベクトルとの交差判定によって、映り込みイベントが発生したか否かを判定することもできる。このようにすれば、処理を簡便化することができる。   Further, the event determination unit 116 sets a bounding volume (bounding box, bounding sphere, cylinder, quadrangular pyramid, etc.) that includes the moving object instead of performing the intersection determination between the reflected line-of-sight vector and the moving object. It is also possible to determine whether or not a reflection event has occurred by determining whether the bounding volume and the reflection line-of-sight vector intersect. In this way, processing can be simplified.

また仮想反射面オブジェクトが複数のプリミティブ面に分割されて構成されていてもよく、この場合には、イベント判定部116が、視線ベクトルと交差しないプリミティブ面については、反射視線ベクトルの計算処理を省略することができる。このようにすれば、反射視線ベクトルの計算処理ルーチンを全てのプリミティブ面について行う必要がなくなるため、処理を高速化することができる。   Further, the virtual reflection surface object may be divided into a plurality of primitive surfaces. In this case, the event determination unit 116 omits the calculation process of the reflection line-of-sight vector for the primitive surface that does not intersect the line-of-sight vector. can do. In this way, it is not necessary to perform the reflection line-of-sight vector calculation processing routine for all the primitive surfaces, so that the processing speed can be increased.

パラメータ設定部118は、フィルタ処理の影響度を決めるフィルタ強度パラメータを設定する処理を行い、特に仮想カメラの制御情報に基づいて、仮想カメラの位置、方向、および画角の少なくとも一つが変化したと判断される場合には、フィルタ処理のフィルタ強度パラメータを変更する処理を行う。例えば、仮想カメラの注視点の移動距離情報に基づいて、仮想カメラの位置、方向、および画角の少なくとも一つが変化したと判断される場合に、フィルタ強度パラメータを変更することができる。なお移動体オブジェクトに対して注視点が設定されている場合には、移動体オブジェクトがオブジェクト空間内を移動することによって仮想カメラの注視点が移動した場合に、その移動距離に応じてフィルタ強度パラメータを変更してもよい。   The parameter setting unit 118 performs a process of setting a filter strength parameter that determines the degree of influence of the filter process. In particular, based on the control information of the virtual camera, at least one of the position, direction, and angle of view of the virtual camera has changed. If it is determined, a process for changing the filter strength parameter of the filter process is performed. For example, the filter strength parameter can be changed when it is determined that at least one of the position, direction, and angle of view of the virtual camera has changed based on the moving distance information of the gazing point of the virtual camera. When a gazing point is set for a moving object, when the moving object moves in the object space and the gazing point of the virtual camera moves, a filter strength parameter is set according to the moving distance. May be changed.

ここでフィルタ処理の一例としてピクセル入れ替え処理を含むフィルタ処理を行う場合には、ピクセル入れ替え処理におけるピクセル入れ替え距離が減少するようにフィルタ強度パラメータを変更することができる。例えば、ピクセル入れ替え処理が周期関数に基づいてピクセル入れ替え距離が決定される処理である場合に、周期関数の振幅成分パラメータを減少させたり、周波数成分パラメータを増加させたりするパラメータ変更処理を行うことができる。ピクセル入れ替え処理とは、第Kのピクセルの色情報を所与のルールに従って第Lのピクセルの色情報に入れ替える処理であって、ピクセル入れ替え距離とは、第Kのピクセルと第Lのピクセルとの間の変位(距離)のことである。なおピクセル入れ替え処理では、ピクセルの入れ替えが生じないピクセルが存在していてもよく、あるピクセルの色情報が複数のピクセルの色情報として入れ替えられてもよい。   Here, when performing a filter process including a pixel replacement process as an example of the filter process, the filter strength parameter can be changed so that the pixel replacement distance in the pixel replacement process is reduced. For example, when the pixel replacement process is a process in which the pixel replacement distance is determined based on the periodic function, the parameter changing process for decreasing the amplitude component parameter of the periodic function or increasing the frequency component parameter may be performed. it can. The pixel replacement process is a process of replacing the color information of the Kth pixel with the color information of the Lth pixel according to a given rule, and the pixel replacement distance is the difference between the Kth pixel and the Lth pixel. It is the displacement (distance) between them. In the pixel replacement process, there may be pixels in which pixel replacement does not occur, and the color information of a certain pixel may be replaced as the color information of a plurality of pixels.

またフィルタ強度パラメータの変更処理は、仮想カメラの注視点の移動距離と予め設定しておいたしきい値との関係において、その許否を制御することができる。このようにすれば、頻繁にフィルタ強度パラメータが変更されてしまって、画像の見栄えが悪くなることを防ぐことができる。具体的には、仮想カメラの注視点の移動距離が所与のしきい値より大きい場合に、フィルタ強度パラメータを第1のレベルから第1のレベルより低い第2のレベルへ連続的に近づける処理を行うことができる。この場合に、フィルタ強度パラメータを第1のレベルから第2のレベルに向かって徐々に近づくように変化させることが好ましい。また仮想カメラの注視点の移動距離が一旦しきい値を超えた後にしきい値を下回るように変化した場合には、フィルタ強度パラメータを第2のレベルから第1のレベルへ戻す処理を行うことができる。この場合にも、フィルタ強度パラメータを第2のレベルから第1のレベルに向けて連続的に変化させるようにすることが好ましい。   Further, the filter strength parameter changing process can control whether or not the filter strength parameter is permitted based on the relationship between the moving distance of the gazing point of the virtual camera and a preset threshold value. In this way, it can be prevented that the filter strength parameter is frequently changed to deteriorate the appearance of the image. Specifically, when the moving distance of the gazing point of the virtual camera is greater than a given threshold, the process of continuously bringing the filter strength parameter from the first level to the second level lower than the first level It can be performed. In this case, it is preferable to change the filter strength parameter so as to gradually approach the second level from the first level. In addition, when the moving distance of the gazing point of the virtual camera once exceeds the threshold value and then changes to fall below the threshold value, processing for returning the filter strength parameter from the second level to the first level is performed. Can do. Also in this case, it is preferable to continuously change the filter strength parameter from the second level toward the first level.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(オブジェクトデータ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数のプリミティブ)を描画バッファ172(フレームバッファや中間バッファ(ワークバッファ)などのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように描画処理を行うこともできる。   The drawing unit 120 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 ( Primitive vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) are created. Based on the drawing data (object data), an object (one or a plurality of primitives) after perspective transformation (after geometry processing) is imaged in units of pixels such as a drawing buffer 172 (frame buffer or intermediate buffer (work buffer)). Draw in a buffer (VRAM) that can store information. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. In addition, when there are a plurality of virtual cameras (viewpoints), the drawing process can be performed so that an image seen from each virtual camera can be displayed as a divided image on one screen.

描画部120は、描画処理として、ジオメトリ処理、テクスチャマッピング、陰面消去処理、αブレンディング等を行う。   The drawing unit 120 performs geometry processing, texture mapping, hidden surface removal processing, α blending, and the like as drawing processing.

ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)は、主記憶部172に保存される。   In the geometry processing, processing such as coordinate transformation, clipping processing, perspective transformation, or light source calculation is performed on the object. Then, object data (positional coordinates of object vertices, texture coordinates, color data, normal vector, α value, etc.) after geometry processing (after perspective transformation) is stored in the main storage unit 172.

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

また本実施形態では、テクスチャマッピングとして、LUT記憶部175に記憶されるインデックスカラー・テクスチャマッピング用のカラールックアップテーブル(CLUT)を用いたテクスチャマッピングを行うこともできる。この場合には、元画像の各ピクセルの相対位置あるいは元画像を分割した分割ブロックの各ピクセルの相対的位置に基づいて定められる番号(色)をインデックス番号(インデックス色)として設定したインデックステクスチャを、インデックス番号と画像情報(R成分、G成分、B成分、A成分(α成分))とを対応づけるカラールックアップテーブルを参照しながら、仮想オブジェクト(表示画面サイズのポリゴン、分割ブロックサイズのポリゴン)に対してテクスチャマッピングを行う。ピクセル入れ替え処理を行う場合には、元画像あるいは元画像の分割ブロックに対応するインデックステクスチャの各テクセルに与えられたインデックス番号を入れ替えるためのインデックステクスチャを用意し、そのインデックステクスチャをカラールックアップテーブルを参照しながら仮想オブジェクトにテクスチャマッピングすることによってピクセル入れ替え画像(フィルタ画像)を生成することができる。   In this embodiment, texture mapping can also be performed using a color lookup table (CLUT) for index color / texture mapping stored in the LUT storage unit 175 as texture mapping. In this case, an index texture in which a number (color) determined based on the relative position of each pixel of the original image or the relative position of each pixel of the divided block obtained by dividing the original image is set as an index number (index color) is used. While referring to a color lookup table that associates index numbers with image information (R component, G component, B component, A component (α component)), virtual objects (display screen size polygons, divided block size polygons) ) Texture mapping. When performing pixel replacement processing, prepare an index texture to replace the index number assigned to each texel of the index texture corresponding to the original image or the divided block of the original image, and use the color lookup table for the index texture. A pixel replacement image (filter image) can be generated by texture mapping to a virtual object while referring to the image.

隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ178(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ174に格納されるZ値を参照する。そして参照されたZバッファ174のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ174のZ値を新たなZ値に更新する。   As the hidden surface removal processing, hidden surface removal processing may be performed by a Z buffer method (depth comparison method, Z test) using a Z buffer 178 (depth buffer) in which a Z value (depth information) of a drawing pixel is stored. it can. That is, when the drawing pixel corresponding to the primitive of the object is drawn, the Z value stored in the Z buffer 174 is referred to. Then, the Z value of the referenced Z buffer 174 is compared with the Z value at the drawing pixel of the primitive, and the Z value at the drawing pixel is the front side when viewed from the virtual camera (for example, a small Z value). If it is, the drawing process of the drawing pixel is performed and the Z value of the Z buffer 174 is updated to a new Z value.

αブレンディングとしては、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。   As the α blending, a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on the α value (A value) is performed. For example, in the case of normal α blending, the following processes (1) to (3) are performed.

=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。なお単純加算の場合はα=1として下式(4)〜(6)の処理を行う。
R Q = (1−α) × R 1 + α × R 2 (1)
G Q = (1−α) × G 1 + α × G 2 (2)
B Q = (1−α) × B 1 + α × B 2 (3)
In addition, in the case of addition α blending, the following expressions (4) to (6) are performed. In the case of simple addition, α = 1 and the following formulas (4) to (6) are performed.

=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。なお単純減算の場合はα=1として下式(7)〜(9)の処理を行う。
R Q = R 1 + α × R 2 (4)
G Q = G 1 + α × G 2 (5)
B Q = B 1 + α × B 2 (6)
In the case of subtractive α blending, the processing of the following equations (7) to (9) is performed. In the case of simple subtraction, α = 1 and the following formulas (7) to (9) are processed.

=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
ここで、R、G、Bは、描画バッファ172に既に描画されている画像(元画像)のRGB成分であり、R、G、Bは、描画バッファ172に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
R Q = R 1 −α × R 2 (7)
G Q = G 1 −α × G 2 (8)
B Q = B 1 −α × B 2 (9)
Here, R 1 , G 1 , B 1 are RGB components of an image (original image) already drawn in the drawing buffer 172, and R 2 , G 2 , B 2 should be drawn in the drawing buffer 172. This is the RGB component of the image. R Q , G Q , and B Q are RGB components of an image obtained by α blending. The α value is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.

そして本実施形態では、描画部120が、移動体オブジェクト及び鏡像オブジェクトを描画した後に半透明オブジェクトを描画した元画像に対してフィルタ処理を行う。フィルタ処理としては、ぼかし処理やピクセル入れ替え処理等を行うことができ、その際に元画像に対応するフィルタ画像を生成して、元画像とフィルタ画像とを合成することにより元画像に対してフィルタ処理を施すことができる。元画像とフィルタ画像との合成手法としては、αブレンディング(通常αブレンディング、加算αブレンディング、減算αブレンディング)やαテストを用いた半透明描画などがある。   In the present embodiment, the drawing unit 120 performs a filtering process on the original image on which the translucent object is drawn after drawing the moving object and the mirror image object. As filter processing, blurring processing, pixel replacement processing, and the like can be performed. At that time, a filter image corresponding to the original image is generated, and the original image and the filter image are combined to filter the original image. Processing can be performed. As a synthesis method of the original image and the filter image, there are α blending (usually α blending, addition α blending, subtraction α blending) and translucent drawing using an α test.

また本実施形態では、描画部120が、半透明オブジェクトを移動体オブジェクト及び鏡像オブジェクトを含むオブジェクト群とは異なるα値で描画する。そして描画部120は、元画像のαプレーンに設定されたα値をマスク情報として用いたフィルタ処理を行うことができる。これにより元画像の所与の描画領域にのみフィルタ処理の効果が付加された画像を生成することができる。すなわち元画像に対して部分フィルタ処理を施すことができる。   In the present embodiment, the drawing unit 120 draws the translucent object with an α value different from that of the object group including the moving object and the mirror image object. The drawing unit 120 can perform a filtering process using the α value set in the α plane of the original image as mask information. As a result, it is possible to generate an image in which the effect of the filter processing is added only to a given drawing area of the original image. That is, partial filter processing can be performed on the original image.

元画像のαプレーンに設定されるα値をマスク情報となるように描画する手法としては、半透明オブジェクトの頂点の頂点色のα成分をα≧α1に設定し、他のオブジェクト(移動体オブジェクト、鏡像オブジェクト等)の頂点の頂点色のα成分をα<α1に設定しておく手法、半透明オブジェクトにマッピングされるテクスチャのαプレーンにα≧α1を設定し、他のオブジェクト(移動体オブジェクト、鏡像オブジェクト等)にマッピングされるテクスチャのαプレーンにα<α1を設定しておく手法、あるいは半透明オブジェクトの頂点色のα成分と、その半透明オブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値αがα≧α1となるように設定し、他のオブジェクト(移動体オブジェクト、鏡像オブジェクト等)の頂点色のα成分と、他のオブジェクト用のテクスチャのαプレーンに設定されたα値を乗算した値がα<α1となるように設定しておく手法等がある。オブジェクトの頂点色のα成分にマスク情報を設定した場合、そのオブジェクトデータは、オブジェクトデータ記憶部176に記憶される。テクスチャのαプレーンにマスク情報を設定した場合、オブジェクトにマッピングされるテクスチャは、テクスチャ記憶部173に記憶される。   As a technique for rendering the α value set in the α plane of the original image to be mask information, the α component of the vertex color of the semi-transparent object is set to α ≧ α1, and other objects (moving object) , Mirror image object, etc.) by setting the α component of the vertex color of the vertex to α <α1, setting α ≧ α1 on the α plane of the texture mapped to the translucent object, and other objects (moving object) , A method of setting α <α1 in the α plane of the texture mapped to the mirror image object, or the α component of the vertex color of the semitransparent object and the α plane of the texture for the semitransparent object The value α obtained by multiplying the α value is set so that α ≧ α1, and the vertex color α of another object (moving object, mirror image object, etc.) Min, there is a method such that a value obtained by multiplying the set alpha values alpha plane texture for other objects is set such that alpha <[alpha] 1. When the mask information is set in the α component of the vertex color of the object, the object data is stored in the object data storage unit 176. When the mask information is set for the α plane of the texture, the texture mapped to the object is stored in the texture storage unit 173.

また描画部120は、フィルタ処理の内容に応じて元画像のαプレーンに設定されたマスク情報(α値)の使い方を切り替えている。   The drawing unit 120 switches the usage of the mask information (α value) set in the α plane of the original image in accordance with the content of the filter processing.

例えば、ぼかし処理を含むフィルタ処理(第1のフィルタ処理)を行う場合には、元画像のうち半透明オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、そのワーク画像に基づいてフィルタ画像を生成し、元画像とフィルタ画像とを合成する処理を行う。   For example, when performing filter processing including first blur processing (first filter processing), only the drawing area of the translucent object in the original image is copied using the α value set in the α plane of the original image as mask information. The work image is generated, a filter image is generated based on the work image, and the original image and the filter image are synthesized.

また例えば、ピクセル入れ替え処理を含むフィルタ処理(第2のフィルタ処理)を行う場合には、元画像の全体をコピーしたワーク画像に基づいてフィルタ画像を生成し、フィルタ画像のうち半透明オブジェクトの描画領域のみを、元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行う。   Also, for example, when performing filter processing (second filter processing) including pixel replacement processing, a filter image is generated based on a work image obtained by copying the entire original image, and a translucent object is drawn in the filter image. Only the region is combined with the original image using the α value set in the α plane of the original image as mask information.

音生成部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).

次に本実施形態の手法について図面を用いて説明する。なお以下では、グレアを表現するためのフィルタ処理、あるいはさざ波などの揺らぎを表現するためのフィルタ処理に関して本実施形態の手法を採用した場合について主に説明するが、本実施形態の手法は、このようなフィルタ処理のみならず、種々のフィルタ処理に適用できる。   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 employed with respect to the filter processing for expressing glare or the filter processing for expressing fluctuations such as ripples will be mainly described. It can be applied not only to such filter processing but also to various filter processing.

2.1 鏡像オブジェクトの配置設定手法
本実施形態では、移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生した場合に、移動体オブジェクトを所与の基準面に対してフリップさせた位置に、移動体オブジェクトの鏡像オブジェクトをオブジェクト空間に配置設定する手法を採用している。以下では、図2に示すように、オブジェクト空間内に、地形オブジェクトGOB、移動体オブジェクトPOB、及び水面オブジェクトWOBが配置設定されている場合を例にして説明する。図2に示すオブジェクト空間では、移動体オブジェクトPOBは地形オブジェクトGOBの上を自由に移動でき、水面オブジェクトWOBは半透明オブジェクトとして配置されている。すなわち、移動体オブジェクトPOBが水面オブジェクトWOBで表現される水面の水際に移動してくると、移動体オブジェクトPOBが水面オブジェクトWOBに映り込むイベント(映り込みイベント)が発生する。なお本実施形態の手法は、水面への映り込みのみならず、例えば、大理石への映り込みや、鏡への映り込みなどにも適用できる。
2.1 Mirror Image Object Placement Setting Method In the present embodiment, when a reflection event occurs in which a moving object is reflected on a translucent object to be filtered, the moving object is set with respect to a given reference plane. A method is adopted in which the mirror image object of the moving object is set in the object space at the flipped position. Below, as shown in FIG. 2, the case where the terrain object GOB, the mobile object POB, and the water surface object WOB are set in the object space will be described as an example. In the object space shown in FIG. 2, the moving object POB can freely move on the terrain object GOB, and the water surface object WOB is arranged as a translucent object. That is, when the moving body object POB moves to the water surface expressed by the water surface object WOB, an event (reflection event) in which the moving body object POB is reflected on the water surface object WOB occurs. Note that the method of the present embodiment can be applied not only to reflection on the water surface but also to reflection on marble, reflection on a mirror, and the like.

本実施形態では、図3(A)に示すように、映り込みイベントが発生するか否かを移動体オブジェクトPOBを内包するバウンディングボリュームVlmと仮想カメラVCの視線ベクトルVcを仮想反射面オブジェクトROBで反射させた反射視線ベクトルVrとの交差判定によって行っている。そして反射視線ベクトルVrがバウンディングボリュームVlmと交差すると判断される場合には、移動体オブジェクトPOBを所与の基準面に対してフリップさせ、そのフリップした位置に移動体オブジェクトに対応する鏡像オブジェクトMOBを配置設定している。この場合、基準面は、例えば、仮想反射面オブジェクトROBの面の延長上にある面(延長面)とすることができる。   In the present embodiment, as shown in FIG. 3A, whether or not a reflection event occurs is determined by using a virtual reflecting surface object ROB and a bounding volume Vlm containing the moving object POB and a line-of-sight vector Vc of the virtual camera VC. This is done by determining the intersection with the reflected line-of-sight vector Vr. If it is determined that the reflected line-of-sight vector Vr intersects the bounding volume Vlm, the moving object POB is flipped with respect to a given reference plane, and the mirror image object MOB corresponding to the moving object is placed at the flipped position. Placement is set. In this case, the reference surface can be, for example, a surface (extension surface) on the extension of the surface of the virtual reflection surface object ROB.

仮想反射面オブジェクトROBは、複数の矩形(長方形、正方形)のプリミティブ面からなり、水面オブジェクトWOBと地形オブジェクトGOBとの境界領域(水際)に配置されている。すなわち仮想反射面オブジェクトROBは、移動体オブジェクトPOBの映り込みが発生する可能性がある領域に水面オブジェクトWOBの一部の領域にオーバーラップさせて配置してある。なお仮想反射面オブジェクトはオブジェクト空間に配置設定されるが描画されないオブジェクトとして扱われる。   The virtual reflection surface object ROB is composed of a plurality of rectangular (rectangular, square) primitive surfaces, and is arranged in a boundary region (border) between the water surface object WOB and the terrain object GOB. That is, the virtual reflecting surface object ROB is arranged so as to overlap with a partial area of the water surface object WOB in an area where the moving object POB may be reflected. Note that the virtual reflection surface object is handled as an object that is placed and set in the object space but is not drawn.

反射視線ベクトルVrの交差判定用のバウンディングボリュームVlmは、球形のバウンディングスフィアとしている。バウンディングスフィアの代わりに、移動体オブジェクトPOBを内包するバウンディングボックス、円柱、四角錐等を設定するようにしてもよい。   The bounding volume Vlm for determining the intersection of the reflection line-of-sight vector Vr is a spherical bounding sphere. Instead of the bounding sphere, a bounding box, a cylinder, a quadrangular pyramid, or the like that encloses the moving object POB may be set.

そして反射視線ベクトルVrとバウンディングスフィア(バウンディングボリュームVlm)との交差判定は、例えば、図3(B)に示すように、反射視線ベクトルVrの延長線分とバウンディングスフィアの中心Cとの距離dが、バウンディングスフィアの半径rより短い場合(d<r)には、両者が交差すると判定し、移動体オブジェクトの半透明オブジェクトへの映り込みが発生すると判断することができる。また例えば、図3(C)に示すように、反射視線ベクトルVrの延長線分とバウンディングスフィアの中心Cとの距離dが、バウンディングスフィアの半径rより長い場合(d>r)には、両者は交差しないと判断することができる。本実施形態では、このようにして簡便に移動体オブジェクトPOBの映り込みイベントが発生するか否かを判定することができる。なお反射視線ベクトルVrと物体(オブジェクト)との交差を、仮想カメラVC(視点)から一定の距離より遠くの物体については検知しないようにしてもよい。   Then, for example, as shown in FIG. 3B, the intersection d between the reflected line-of-sight vector Vr and the bounding sphere (bounding volume Vlm) is determined by the distance d between the extended line segment of the reflected line-of-sight vector Vr and the center C of the bounding sphere. When the radius is shorter than the radius r of the bounding sphere (d <r), it is determined that the two intersect each other, and it can be determined that the reflection of the moving object on the translucent object occurs. Further, for example, as shown in FIG. 3C, when the distance d between the extension line segment of the reflection line-of-sight vector Vr and the center C of the bounding sphere is longer than the radius r of the bounding sphere (d> r), both Can be determined not to intersect. In the present embodiment, it is possible to easily determine whether or not a reflection event of the moving object POB occurs in this way. It should be noted that the intersection between the reflected line-of-sight vector Vr and the object (object) may not be detected for an object farther than a certain distance from the virtual camera VC (viewpoint).

そして移動体オブジェクトPOBの映り込みイベントが発生すると判断されたら、移動体オブジェクトPOBをフリップした位置に鏡像オブジェクトMOBを配置設定して描画する。鏡像オブジェクトMOBの配置設定は、移動体オブジェクトPOBのローカルマトリックスMoと、オブジェクトを基準面に垂直にフリップさせるフリップマトリックスMfaを乗算して得られるマトリクッスMfa×Moを、鏡像オブジェクトMOBのローカルマトリクスMrとしてワールド座標系に座標変換を行うことにより実現することができる。   If it is determined that a reflection event of the moving object POB occurs, the mirror object MOB is arranged and drawn at the position where the moving object POB is flipped. The arrangement setting of the mirror image object MOB is a matrix Mfa × Mo obtained by multiplying the local matrix Mo of the moving object POB and the flip matrix Mfa for flipping the object perpendicular to the reference plane as the local matrix Mr of the mirror image object MOB. This can be realized by performing coordinate transformation on the world coordinate system.

なお、オブジェクト空間内で固定的に配置されるオブジェクト(固定オブジェクト)は、鏡面位置(基準面に対してフリップした位置)にフリップしたものを予め配置しておくことができる。移動体オブジェクトPOBはオブジェクト空間内で動くことができるので鏡像オブジェクトMOBを予め固定的に配置しておくことができないため、本実施形態のように映り込みを都度判定して、鏡像オブジェクトMOBの配置設定を行う必要がある。また鏡像オブジェクトMOBは、移動体オブジェクトPOBをローカルマトリックス変換で配置設定した3Dオブジェクトなので、移動体オブジェクトPOBの動きに合わせてモーションさせることができる。   Note that an object (fixed object) that is fixedly arranged in the object space can be arranged in advance by flipping it to a mirror surface position (a position flipped with respect to a reference surface). Since the moving object POB can move in the object space, the mirror image object MOB cannot be fixedly arranged in advance. Therefore, the reflection is determined each time as in this embodiment, and the mirror image object MOB is arranged. It is necessary to make settings. Further, since the mirror image object MOB is a 3D object in which the moving object POB is arranged and set by local matrix conversion, it can be moved according to the movement of the moving object POB.

また仮想反射面オブジェクトROBは複数のプリミティブ面から構成することができ、仮想カメラVCからの視線ベクトルとの交点を持たないプリミティブ面については、反射視線ベクトルVrの計算処理を省略して、処理負荷を軽くすることができる。またオブジェクト空間内に配置されるオブジェクト毎に映り込みの許可・不許可ができるようにしておいてもよい。この場合においても、許可されていないオブジェクト(映り込み不許可オブジェクト)については、反射視線ベクトルVrとの交差判定を省略することができる。   The virtual reflection surface object ROB can be composed of a plurality of primitive surfaces. For primitive surfaces that do not have an intersection with the line-of-sight vector from the virtual camera VC, the calculation processing of the reflection line-of-sight vector Vr is omitted, and the processing load Can be lightened. Further, it may be possible to permit / deny the reflection for each object arranged in the object space. Even in this case, it is possible to omit the intersection determination with the reflection line-of-sight vector Vr for an object that is not permitted (an object that is not permitted to be reflected).

2.2 本実施形態のフィルタ手法
本実施形態では、図4(A)に示すような元画像のαプレーンに設定されたα値をマスク情報として扱って、元画像のうちフィルタ処理対象となる水面オブジェクトWOBの描画領域に選択的にフィルタ処理を施すことにより、図4(B)あるいは図4(C)に示すように、半透明オブジェクトである水面オブジェクトWOBに映り込んだ移動体オブジェクトPOBの鏡像オブジェクトMOBにもフィルタ処理の効果が反映された画像が生成されるフィルタ手法を採用している。なお図4(B)では、揺らぎフィルタ処理が施されており、図4(C)では、グレアフィルタ処理が施されている。
2.2 Filtering Method of the Present Embodiment In the present embodiment, the α value set in the α plane of the original image as shown in FIG. By selectively filtering the drawing area of the water surface object WOB, as shown in FIG. 4 (B) or FIG. 4 (C), the moving object POB reflected in the water surface object WOB which is a translucent object is displayed. A filter technique that generates an image reflecting the effect of the filter processing is also applied to the mirror image object MOB. In FIG. 4B, a fluctuation filter process is performed, and in FIG. 4C, a glare filter process is performed.

*揺らぎフィルタの手法
図5(A)〜図5(C)に、揺らぎフィルタ処理を行う場合のフィルタ画像の生成過程を示す。
* Fluctuation Filter Method FIGS. 5A to 5C show a filter image generation process when the fluctuation filter process is performed.

具体的には、図5(A)及び図5(B)に示すように、フィルタ処理を施す元画像(図5(B))を生成する際に、移動体オブジェクトPOBの鏡像オブジェクトMOBを描画してから、水面オブジェクトWOBを描画している。またフィルタ処理の対象である水面オブジェクト(フィルタ処理対象オブジェクト)WOB(α=α1)を地形オブジェクトGOB(α=α2)、や移動体オブジェクトPOB(α=α3)とは異なるα値で描画している。図5(A)に示すように、鏡像オブジェクトMOBについては当初、移動体オブジェクトPOBと同様のα値(α=α3)で描画されるが、図5(B)に示すように、水面オブジェクトWOBが描画される際に、α値が上書きされて水面オブジェクトWOBと鏡像オブジェクトMOBとがオーバーラップして描画される領域のα値は水面オブジェクトWOBのα値(α=α1)で描画される。   Specifically, as shown in FIGS. 5A and 5B, when generating the original image (FIG. 5B) to be filtered, the mirror image object MOB of the moving object POB is drawn. Then, the water surface object WOB is drawn. Also, the water surface object (filter processing target object) WOB (α = α1) to be filtered is drawn with an α value different from the terrain object GOB (α = α2) and the moving object POB (α = α3). Yes. As shown in FIG. 5A, the mirror image object MOB is initially drawn with an α value (α = α3) similar to that of the moving object POB. However, as shown in FIG. 5B, the water surface object WOB Is drawn, the α value is overwritten by the α value of the water surface object WOB (α = α1) in the region where the water surface object WOB and the mirror image object MOB overlap and are drawn.

そして本実施形態では、αテストによりα≧α1の領域にだけ図5(C)に示すフィルタ画像が合成(半透明描画)されるようにすることで、図4(B)に示すように、フィルタ処理の対象である鏡像オブジェクトMOBが含まれる水面オブジェクトWOBの描画領域にだけフィルタ処理が施された画像を生成することができる。なお、図5(A)及び図5(B)に示す例では、オブジェクトの頂点色のα成分(A成分)にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。このように本実施形態の揺らぎフィルタ手法では、ジオメトリ処理された半透明オブジェクトである水面オブジェクトWOBを描画するだけで、元画像のαプレーンにマスク情報を描き込むことができる。   In the present embodiment, the filter image shown in FIG. 5C is synthesized (semi-transparent drawing) only in the region where α ≧ α1 by the α test, as shown in FIG. It is possible to generate an image in which the filtering process is performed only on the drawing area of the water surface object WOB including the mirror image object MOB to be filtered. In the example shown in FIGS. 5A and 5B, an α value serving as mask information is set in the α component (A component) of the vertex color of the object. That is, the mask information is obtained from the object data after the geometry processing. As described above, in the fluctuation filter method of the present embodiment, the mask information can be drawn on the α plane of the original image only by drawing the water surface object WOB that is a semi-transparent object subjected to geometry processing.

また本実施の形態では、ワーク画像に対してピクセル入れ替え処理を行って、図5(C)に示すフィルタ画像を生成している。このときインデックスカラー・テクスチャマッピングの手法を用いて、周期的にピクセル入れ替え距離が変動するピクセル入れ替え処理を行っている。   In the present embodiment, the filter image shown in FIG. 5C is generated by performing pixel replacement processing on the work image. At this time, a pixel replacement process in which the pixel replacement distance fluctuates periodically is performed using an index color / texture mapping technique.

具体的には、図6のA1に示すように、描画バッファに描画された元画像を複数の分割ブロックに分割して、その分割ブロック単位でピクセル入れ替え処理を行うことによって生成したフィルタ画像(フィルタ処理が施されたオブジェクトの画像)を元画像に合成(半透明描画)するフィルタ処理を行っている。   Specifically, as shown by A1 in FIG. 6, a filter image (filter filter) generated by dividing the original image drawn in the drawing buffer into a plurality of divided blocks and performing pixel replacement processing in units of the divided blocks. A filtering process is performed to synthesize (semi-transparent drawing) the image of the processed object) with the original image.

このとき各分割ブロックは、例えば16×16ピクセルのサイズとし、図6のA2に示すように、この256個のピクセルをそれらの相対位置に基づいてインデックス化したカラールックアップテーブルとして扱うことができる。また図6のA3に示すように、カラールックアップテーブル(CLUT)とは別に分割ブロックの各ピクセルの位置をずらしたずらしテーブルを用意し、そのずらしテーブルをインデックステクスチャとして扱うことができる。ずらしテーブルでは、分割ブロックのピクセルの相対位置に基づいて定めたインデックス番号を分割ブロック内におけるピクセルの座標値として扱い、各ピクセルについてピクセル入れ替え距離ΔYだけずらした位置のピクセルのインデックス番号を設定する。   At this time, each divided block has a size of, for example, 16 × 16 pixels, and can be handled as a color lookup table in which these 256 pixels are indexed based on their relative positions, as shown by A2 in FIG. . Further, as indicated by A3 in FIG. 6, a shift table in which the position of each pixel of the divided block is shifted can be prepared separately from the color lookup table (CLUT), and the shift table can be handled as an index texture. In the shift table, the index number determined based on the relative position of the pixel of the divided block is handled as the coordinate value of the pixel in the divided block, and the index number of the pixel shifted by the pixel replacement distance ΔY is set for each pixel.

そして、図6のA4に示すように、カラールックアップテーブルを参照しながら、分割ブロックサイズのポリゴン(仮想オブジェクト)に対して、ずらしテーブルに基づいて設定されたインデックステクスチャをテクスチャマッピングする。そして図6のA5に示すように、インデックステクスチャをテクスチャマッピングした分割ブロックサイズのポリゴンを元画像における対応位置に描画する。このようにすることで、元画像のピクセルを入れ替える処理を実現することができる。これらの処理を全ての分割ブロックに対して行って元画像に対応するフィルタ画像を生成することができる。最終的には、図6のA6に示すように、元画像にフィルタ画像を合成することで元画像に対してポストエフェクトを施すフィルタ処理を行うことができる。   Then, as indicated by A4 in FIG. 6, with reference to the color look-up table, texture mapping is performed on the index texture set based on the shift table for the polygon (virtual object) having the divided block size. Then, as shown by A5 in FIG. 6, a polygon having a divided block size obtained by texture mapping the index texture is drawn at a corresponding position in the original image. By doing in this way, the process which replaces the pixel of an original image is realizable. These processes can be performed on all the divided blocks to generate a filter image corresponding to the original image. Finally, as shown by A6 in FIG. 6, a filter process for applying a post-effect to the original image can be performed by synthesizing the filter image with the original image.

ところで本実施形態では、ピクセル入れ替えを行った図5(C)に示すフィルタ画像をワークバッファに作成している。この際、ワークバッファにフレームバッファに描画された元画像の全体をコピーすることが好ましい。これとは対照的に水面オブジェクトWOBの描画領域だけをワークバッファに描き込むという部分コピーをする手法が考えられるが、このようにすると、水面オブジェクトWOBの描画領域以外の色情報が失われてしまい、その状態でピクセル入れ替えを行うと、不自然な色のはみ出しがフィルタ画像に現れてしまう。このため、フレームバッファの元画像の全体をワークバッファにコピーして、そのコピー画像(ワーク画像)に対してピクセル入れ替え処理を行ってフィルタ画像を生成することにより、フィルタ画像において不自然な色のはみ出しが現れるという不都合を回避することができる。   By the way, in this embodiment, the filter image shown in FIG. 5C in which pixel replacement is performed is created in the work buffer. At this time, it is preferable to copy the entire original image drawn in the frame buffer to the work buffer. In contrast to this, there is a method of partial copying in which only the drawing area of the water surface object WOB is drawn in the work buffer. However, in this case, color information other than the drawing area of the water surface object WOB is lost. If pixels are replaced in this state, an unnatural color protrusion appears in the filter image. For this reason, by copying the entire original image of the frame buffer to the work buffer and performing pixel replacement processing on the copy image (work image) to generate a filter image, an unnatural color in the filter image is generated. The inconvenience that the protrusion appears can be avoided.

*グレアフィルタの手法
図7(A)〜図7(C)に、グレアフィルタ処理を行う場合のフィルタ画像の生成過程を示す。
* Glare Filter Method FIGS. 7A to 7C show a filter image generation process when glare filter processing is performed.

まず、図7(A)に示すように、オブジェクト空間内に配置された仮想カメラから見えるシーン(ビューボリューム内)に存在するオブジェクトをフレームバッファに描画する際に、フィルタ処理対象の半透明オブジェクトである水面オブジェクトWOBの描画領域がα1で描画され、地形オブジェクトGOBがα1より値の小さいα2で描画され、移動体オブジェクトPOBもα1より値の小さいα3で描画される。移動体オブジェクトPOBに対応する鏡像オブジェクトMOBと水面オブジェクトWOBとがオーバーラップする描画領域では、水面オブジェクトWOBが描画される際にα値がα1に書き換えられている。図7(A)に示す例では、オブジェクトの頂点色のα成分(A成分)にマスク情報となるα値を設定してある。すなわち、ジオメトリ処理後のオブジェクトデータによってマスク情報が得られるようになっている。   First, as shown in FIG. 7A, when an object existing in a scene (view volume) seen from a virtual camera arranged in the object space is drawn in a frame buffer, a translucent object to be filtered is used. The drawing area of a certain water surface object WOB is drawn with α1, the terrain object GOB is drawn with α2 having a value smaller than α1, and the moving object POB is also drawn with α3 having a value smaller than α1. In the drawing area where the mirror image object MOB corresponding to the moving object POB and the water surface object WOB overlap, the α value is rewritten to α1 when the water surface object WOB is drawn. In the example shown in FIG. 7A, an α value serving as mask information is set in the α component (A component) of the vertex color of the object. That is, the mask information is obtained from the object data after the geometry processing.

そしてグレアフィルタをフレームバッファに描画された元画像に対して施す場合には、図7(B)に示すように、元画像のαプレーンに設定されたα値をマスク情報としてαテストを行い、α≧α1の描画領域だけをフレームバッファよりサイズの小さいワークバッファに縮小コピーする。このときワークバッファの画像情報はクリアしておく(黒く塗りつぶしておく)ことが必要である。図7(A)に示す例では、α≧α1となるのは、フィルタ処理の対象となる水面オブジェクトWOBと鏡像オブジェクトMOBとが含まれる描画領域だけであるので、図7(B)に示すように、水面オブジェクトWOBと鏡像オブジェクトMOBとが含まれる描画領域のみが縮小コピーされる。そして、ワークバッファに縮小コピーされた画像(ワーク画像)に対して色抽出処理とぼかし処理を行って、図7(C)に示すように、グレア表現用のフィルタ画像を生成することができる。   When the glare filter is applied to the original image drawn in the frame buffer, as shown in FIG. 7B, an α test is performed using the α value set in the α plane of the original image as mask information, Only the drawing area of α ≧ α1 is reduced and copied to a work buffer smaller in size than the frame buffer. At this time, the image information in the work buffer must be cleared (filled in black). In the example shown in FIG. 7A, since α ≧ α1 is only the drawing area including the water surface object WOB and the mirror image object MOB to be filtered, as shown in FIG. In addition, only the drawing area including the water surface object WOB and the mirror image object MOB is reduced and copied. Then, by performing color extraction processing and blurring processing on the image (work image) reduced and copied to the work buffer, a filter image for glare expression can be generated as shown in FIG.

ここで、色抽出処理としては、ワーク画像の各ピクセルから基準色より明るい色を抽出して、その差分の色情報を得る処理を行う。例えば、図8のB1に示すように、基準色C1が頂点色に設定された単色の仮想ポリゴン(単色ポリゴン)を用意して、この単色ポリゴンをワークバッファに減算半透明で描画を行う。これにより図8のB2に示すように、ワーク画像の任意のピクセルPの色をC2とすると、単色ポリゴンを減算半透明で描画した後のワークバッファに作成される色抽出画像のピクセル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, as shown in B1 of FIG. 8, a single-color virtual polygon (single-color polygon) in which the reference color C1 is set to the vertex color is prepared, and the single-color polygon is drawn in the work buffer in a translucent manner. Thus, as shown in B2 of FIG. 8, if the color of an arbitrary pixel P of the work image is C2, the color of the pixel P of the color extraction image created in the work buffer after rendering the monochrome polygon subtracted and translucent. Becomes 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.

またぼかし処理としては、画像の縮小・拡大を繰り返すことによりバイリニアフィルタ方式で各ピクセルの色情報を補間させて画像をぼかす手法や、バイリニアフィルタ方式でテクスチャ座標をずらしながらテクスチャマッピングを行うことで各ピクセルの色情報を補間させて画像をぼかす手法などがある。ぼかし処理の手法は、上記のものには限られず、種々の手法を採用することができる。例えば、バイリニアフィルタ方式でのテクスチャマッピングにより画像をぼかす手法は、図9のD1に示すようにワークバッファのワーク画像をテクスチャとして設定して、そのテクスチャをワークバッファサイズの仮想ポリゴンにテクスチャ座標をずらしながらマッピングすることで実現される。例えば、図9のD2に示すように、テクスチャ座標をX方向(横方向)にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたり、図9のD3に示すように、テクスチャ座標をY方向(縦方向)にシフトさせてワーク画像に基づくテクスチャを仮想ポリゴンにテクスチャマッピングしたりすることでワークバッファの各ピクセルの色情報がバイリニアフィルタ方式で補間されて画像がぼけるようになる。このとき図9のD2に示す処理及びD3に示す処理を繰返し行うことで、画像のぼかし具合をより強くすることができる。   In addition, as blurring processing, each image can be blurred by repeating the reduction and enlargement of the image to interpolate the color information of each pixel using the bilinear filter method, or by performing texture mapping while shifting the texture coordinates using the bilinear filter method. There is a method of blurring an image by interpolating pixel color information. The blurring processing method is not limited to the above, and various methods can be employed. For example, the method of blurring an image by texture mapping using the bilinear filter method is to set the work image of the work buffer as a texture as shown in D1 of FIG. 9, and shift the texture coordinates to a virtual polygon of the work buffer size. It is realized by mapping. For example, as shown in D2 of FIG. 9, the texture coordinates are shifted in the X direction (horizontal direction) and the texture based on the work image is texture-mapped to the virtual polygon, or the texture coordinates are changed as shown in D3 of FIG. By shifting the texture based on the work image to the virtual polygon by shifting in the Y direction (vertical direction), the color information of each pixel of the work buffer is interpolated by the bilinear filter method, and the image becomes blurred. At this time, by repeatedly performing the process shown in D2 and the process shown in D3 in FIG. 9, the degree of blurring of the image can be further increased.

そして本実施形態のグレアフィルタ手法では、ワーク画像に対して色抽出処理とぼかし処理を行ってワークバッファに作成した図7(C)に示すフィルタ画像を図7(A)に示すフレームバッファの元画像に加算合成することで、元画像のうち水面オブジェクトWOBと鏡像オブジェクトMOBとが含まれる描画領域付近にのみグレア処理が施された図4(C)に示したような画像を生成することができる。なお元画像とフィルタ画像との加算合成は、加算αブレンディングにより行うことができる。また本実施形態のグレアフィルタ手法を元画像とフィルタ画像との合成手法を通常αブレンディングによって行えば、フィルタ処理によるソフトフォーカス表現に適用することができる。   In the glare filter method of this embodiment, the filter image shown in FIG. 7C created in the work buffer by performing color extraction processing and blurring processing on the work image is the source of the frame buffer shown in FIG. By adding and synthesizing to the image, it is possible to generate an image as shown in FIG. 4C in which glare processing is performed only in the vicinity of the drawing region including the water surface object WOB and the mirror image object MOB in the original image. it can. Note that the addition synthesis of the original image and the filter image can be performed by addition α blending. In addition, if the glare filter method of the present embodiment is performed by normal α blending for the method of combining the original image and the filter image, it can be applied to soft focus expression by filter processing.

2.3 フィルタ強度パラメータの設定手法
本実施形態では、仮想カメラの視点位置、視線方向、および画角の少なくとも一つが変化したと判断される場合に、すなわち仮想カメラが移動、回転、ズーム、あるいはパンなどをする場合に、フィルタ処理のフィルタ強度パラメータを設定変更する手法を採用する。
2.3 Filter Strength Parameter Setting Method In this embodiment, when it is determined that at least one of the viewpoint position, line-of-sight direction, and angle of view of the virtual camera has changed, that is, the virtual camera is moved, rotated, zoomed, or When panning or the like, a method of changing the setting of the filter strength parameter of the filter processing is adopted.

ここで、本実施形態のフィルタ処理がピクセル入れ替え処理を含む場合に、そのピクセル入れ替え処理におけるピクセル入れ替え距離ΔYを図10に示すような周期関数に基づいて設定している。すなわちインデックステクスチャに設定されるずらしテーブルを、周期的に変化するピクセル入れ替え距離ΔYに応じて書き換えている。なおピクセル入れ替え距離ΔYを周期的に変化させた複数枚のインデックステクスチャを予め用意しておいてもよい。その周期関数は下式(A)で表される。   Here, when the filter processing of this embodiment includes pixel replacement processing, the pixel replacement distance ΔY in the pixel replacement processing is set based on a periodic function as shown in FIG. That is, the shift table set in the index texture is rewritten according to the periodically changing pixel replacement distance ΔY. A plurality of index textures in which the pixel replacement distance ΔY is periodically changed may be prepared in advance. The periodic function is represented by the following formula (A).

ΔY=Asin(ωt+f(x,y)) (A)
図10に示すように、Aは振幅成分パラメータである。ωは周波数成分パラメータである。f(x,y)は、分割ブロック内でのピクセルの位置に基づいて決定される初期位相パラメータである。これらのパラメータのうちフィルタ処理の強さに大きく関連するパラメータは振幅成分パラメータAと周波数成分パラメータωである。振幅成分パラメータAが大きいと、ピクセル入れ替え距離ΔYが大きくなり、揺らぎが大きくなる。また周波数成分パラメータωが小さいと、ピクセル入れ替え周期2π/ωが短くなるため、揺らぎの速度が速くなり単位時間あたりの揺らぎが大きくなる。
ΔY = Asin (ωt + f (x, y)) (A)
As shown in FIG. 10, A is an amplitude component parameter. ω is a frequency component parameter. f (x, y) is an initial phase parameter determined based on the position of the pixel in the divided block. Among these parameters, parameters that are largely related to the strength of the filter processing are the amplitude component parameter A and the frequency component parameter ω. When the amplitude component parameter A is large, the pixel replacement distance ΔY increases and the fluctuation increases. Also, if the frequency component parameter ω is small, the pixel replacement period 2π / ω is shortened, so that the fluctuation speed is increased and the fluctuation per unit time is increased.

また本実施形態では、図11に示すように、オブジェクト空間内を移動する移動体オブジェクトOBに対して仮想カメラVCの注視点VPが設定されており、移動体オブジェクトOBが移動すると、仮想カメラVCの注視点VPもオブジェクト空間内を移動する。仮想カメラVCは、注視点VPを向くように視線方向が制御される。このため、移動体オブジェクトOBが移動して注視点VPの位置(ワールド座標系の3次元座標)が変更されると、仮想カメラVCから見えるシーンは異なるものとなる。   In the present embodiment, as shown in FIG. 11, the gazing point VP of the virtual camera VC is set for the moving object OB that moves in the object space, and when the moving object OB moves, the virtual camera VC The point of interest VP also moves in the object space. The visual line direction of the virtual camera VC is controlled so as to face the gazing point VP. For this reason, when the moving object OB moves and the position of the gazing point VP (three-dimensional coordinates in the world coordinate system) is changed, the scene seen from the virtual camera VC is different.

ところで本実施形態で採用している元画像へのフィルタ処理は、2次元的なピクセル加工処理であるため、仮想カメラの視点位置、視線方向、画角等の変化とは無関係なものである。このため、時間パラメータに応じてその効果が変動するようなフィルタ処理であると、仮想カメラの移動による画像情報の変動とフィルタ処理の効果による画像情報の変動とが干渉を起こしてしまい、ある種のエイリアスのようなものが見えてしまうという不都合が生じうる。   By the way, since the filtering process for the original image employed in the present embodiment is a two-dimensional pixel processing process, it is irrelevant to changes in the viewpoint position, line-of-sight direction, angle of view, etc. of the virtual camera. For this reason, if the filtering process is such that its effect varies depending on the time parameter, the variation in image information due to the movement of the virtual camera and the variation in image information due to the effect of the filtering process cause interference, and some sort of The inconvenience of seeing something like the alias of can occur.

そこで本実施の形態では、仮想カメラVCの注視点VPの移動距離Lに応じてフィルタ処理の強さ、すなわちフィルタ処理の元画像への影響度を決定するフィルタ強度パラメータを設定変更し、フィルタ処理の効果が弱まるように制御している。   Therefore, in the present embodiment, the filter strength parameter that determines the strength of the filtering process, that is, the degree of influence of the filtering process on the original image, is changed according to the moving distance L of the gazing point VP of the virtual camera VC. The effect is controlled so as to weaken.

例えば、ピクセル入れ替え処理を伴う揺らぎフィルタ処理を元画像に対して行う場合には、図10に示した周期関数の振幅成分パラメータAを小さくすることで、ピクセル入れ替え距離ΔYを短く抑えて揺らぎを小さくすることができる。また周波数成分パラメータωを大きくすることによっても単位時間当たりの揺らぎの変化が小さくなるので、フィルタ処理の効果を弱めることができる。もちろん、振幅成分パラメータAを小さくするとともに、周波数成分パラメータωを大きくすることが効果的であることはいうまでもない。   For example, when performing fluctuation filter processing involving pixel replacement processing on the original image, by reducing the amplitude component parameter A of the periodic function shown in FIG. 10, the pixel replacement distance ΔY can be kept short and fluctuation can be reduced. can do. Further, since the change in fluctuation per unit time is reduced by increasing the frequency component parameter ω, the effect of the filter processing can be weakened. Needless to say, it is effective to reduce the amplitude component parameter A and increase the frequency component parameter ω.

またこのようにフィルタ強度パラメータを変更するということは、生成される画像の見栄え変わるということである。このため、フィルタ強度パラメータが頻繁に変更されると、逆に見づらい画像となってしまうおそれもある。このため本実施形態では、図12に示すように、仮想カメラVCの注視点VPの移動距離Lが所与のしきい値Lthを超えると判断される場合に、振幅成分パラメータAを第1の振幅レベルA1から第1の振幅レベルA1より低い第2の振幅レベルA2へ設定変更するようにしている。またいったん注視点VPの移動距離Lがしきい値Lthを上回った後に、しきい値Lthを下回るように推移した場合には、第2の振幅レベルA2から第1の振幅レベルA1へ振幅パラメータAを戻すようにしている。なお第1の振幅レベルA1から第2の振幅レベルA2の変化及び第2の振幅レベルA2から第1の振幅レベルA1への変化は、連続的に目的のレベルへ近づけるようにしている。これにより急激に画像の見栄えが変わってしまうことを防いでいる。また振幅パラメータAを第2の振幅レベルA2から第1の振幅レベルA1へと戻すまでの時間t2を第1の振幅レベルA1から第2の振幅レベルA2へ変化させるまでの時間t1よりも短くしている。揺らぎフィルタ処理を元画像に対して定常的に行う場合には、本来の状態にいち早く戻すことが好ましいからである。   Also, changing the filter strength parameter in this way means changing the appearance of the generated image. For this reason, if the filter strength parameter is frequently changed, there is a risk that the image may be difficult to see. Therefore, in the present embodiment, as shown in FIG. 12, when it is determined that the moving distance L of the gazing point VP of the virtual camera VC exceeds a given threshold value Lth, the amplitude component parameter A is set to the first value. The setting is changed from the amplitude level A1 to the second amplitude level A2 lower than the first amplitude level A1. If the movement distance L of the gazing point VP once exceeds the threshold value Lth and then changes below the threshold value Lth, the amplitude parameter A is changed from the second amplitude level A2 to the first amplitude level A1. To return. The change from the first amplitude level A1 to the second amplitude level A2 and the change from the second amplitude level A2 to the first amplitude level A1 are continuously brought close to the target level. This prevents a sudden change in the appearance of the image. The time t2 until the amplitude parameter A is returned from the second amplitude level A2 to the first amplitude level A1 is shorter than the time t1 until the amplitude parameter A is changed from the first amplitude level A1 to the second amplitude level A2. ing. This is because when the fluctuation filter process is constantly performed on the original image, it is preferable to quickly return to the original state.

以上に述べたように本実施形態のフィルタ強度パラメータの設定手法によれば、フィルタ処理の元画像への影響度を適切に調整することができる。このため本手法によれば、フィルタ処理後の画像が見栄えの悪い不自然なものとなることを防止することができ、高品質な映像を作成することができるようになる。特に本実施形態の手法は、時間経過に応じてフィルタ処理の効果が変化する場合に好適である。   As described above, according to the filter strength parameter setting method of the present embodiment, it is possible to appropriately adjust the degree of influence of the filter processing on the original image. For this reason, according to this method, it is possible to prevent the image after filtering from being unnatural and poor in appearance, and it is possible to create a high-quality video. In particular, the method of the present embodiment is suitable when the effect of the filter process changes with time.

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

はじめに図13のフローチャートを用いて説明する。   First, a description will be given using the flowchart of FIG.

まず、移動体オブジェクトの描画を行う(S10)。続いて、計算すべき反射視線ベクトルの有無を確認する(ステップS11)。すなわち、仮想反射面オブジェクトが仮想カメラの視線ベクトルとの交点を持つ場合には、計算すべき反射視線ベクトルが存在すると判断される。この処理は、仮想反射面オブジェクトを構成する全てのプリミティブ面について行い、視線ベクトルとの交点を持たないプリミティブ面については、反射視線ベクトルの計算処理を省略することができる。   First, a moving object is drawn (S10). Subsequently, the presence / absence of a reflection line-of-sight vector to be calculated is confirmed (step S11). That is, when the virtual reflection surface object has an intersection with the visual vector of the virtual camera, it is determined that there is a reflective visual vector to be calculated. This processing is performed for all primitive surfaces constituting the virtual reflection surface object, and the reflection line-of-sight vector calculation processing can be omitted for primitive surfaces that do not have an intersection with the line-of-sight vector.

次に、計算すべき反射視線ベクトルが存在すると判断されたら(ステップS11でYES)、反射視線ベクトルと移動体オブジェクトを内包するバウンディングスフィアとの交差判定を行う(ステップS12)。すなわち、図3(A)〜図3(C)において説明してように、反射視線ベクトルの延長線分とバウンディングスフィアの中心との間の距離とバウンディングスフィアの半径とを比較して、反射視線ベクトルがバウンディングスフィアとの交点を持つか否かを判断する。そして、反射視線ベクトルとバウンディングスフィアとが交差していると判断されたら(ステップS13でYES)、移動体オブジェクトを仮想反射面オブジェクトの面を延長した面を基準面としてフリップさせた鏡像オブジェクトを配置設定して描画する(ステップS14)。   Next, if it is determined that there is a reflected line-of-sight vector to be calculated (YES in step S11), an intersection determination between the reflected line-of-sight vector and the bounding sphere containing the moving object is performed (step S12). That is, as described with reference to FIGS. 3A to 3C, the distance between the extended line segment of the reflection line vector and the center of the bounding sphere is compared with the radius of the bounding sphere, and the reflection line of sight is compared. Determine whether the vector has an intersection with the bounding sphere. If it is determined that the reflection line-of-sight vector and the bounding sphere intersect (YES in step S13), a mirror image object obtained by flipping the moving object using the surface obtained by extending the surface of the virtual reflection surface object as a reference surface is arranged. Set and draw (step S14).

その後半透明オブジェクトを描画して元画像を生成し(ステップS15)、生成された元画像に対してフィルタ処理を行う(ステップS16)。   Thereafter, a semi-transparent object is drawn to generate an original image (step S15), and a filtering process is performed on the generated original image (step S16).

次に図14のフローチャートを用いて、図13のステップS16のフィルタ処理として揺らぎフィルタ処理を行う場合を説明する。   Next, the case where the fluctuation filter process is performed as the filter process of step S16 of FIG. 13 will be described using the flowchart of FIG.

まず、さざ波が起きる領域のα値がα1(例えば128)以上、さざ波が起きない領域のα値がα1未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する(ステップS20)。   First, an original image is generated by drawing a scene viewed from the virtual camera in a frame buffer so that the α value of a region where ripples occur is α1 (for example, 128) or more and the α value of a region where ripples do not occur is less than α1. (Step S20).

次に、仮想カメラの位置、方向、画角等の変化情報に基づいて、波を強めるべきか(波面の動きが大きくなるのか)、波を弱めるべきか(波面の動きが小さくなるのか)を決定する(ステップS21)。例えば、仮想カメラの注視点の移動距離がしきい値を超えていれば、波を弱めるべきであると判断する。また例えば、仮想カメラの注視点の移動距離がしきい値を超えていた状態からしきい値を下回るように推移した場合には、波を強めるべきであると判断する。   Next, on the basis of change information such as the position, direction, and angle of view of the virtual camera, whether the wave should be strengthened (whether the wavefront motion will increase) or the wave should be weakened (whether the wavefront motion will be small) Determine (step S21). For example, if the moving distance of the gazing point of the virtual camera exceeds a threshold value, it is determined that the wave should be weakened. In addition, for example, when the moving distance of the point of sight of the virtual camera changes from a state where it exceeds the threshold value to fall below the threshold value, it is determined that the wave should be strengthened.

次に、フィルタ強度パラメータの設定処理を行う。具体的には、波面の動きが大きなさざ波の場合の波の強さレベル(第1のレベル)と波面の動きが小さなさざ波の場合の波の強さレベル(第2のレベル)とを予め設定しておき、現在の波の強さレベルと目的値とを比較することによって、現在の波の強さレベルが目的とする波の強さレベルと異なっていると判断される場合には、波の強さの値(周期関数の振幅成分パラメータあるいは周波数成分パラメータ)を目的値(第1のレベルあるいは第2のレベル)に近づける処理を行う(ステップS22)。   Next, a filter strength parameter setting process is performed. Specifically, the wave strength level (first level) when the wavefront motion is large and the wave strength level (second level) when the wavefront motion is small and ripples are set in advance. If the current wave intensity level is determined to be different from the target wave intensity level by comparing the current wave intensity level with the target value, Is performed so that the intensity value (amplitude component parameter or frequency component parameter of the periodic function) approaches the target value (first level or second level) (step S22).

次に、ステップS22で設定された波の強さレベルに基づいて、ピクセルの各点の位置座標をずらすためのテーブルデータ(ずらしテーブル)を作成する(ステップS23)。このテーブルデータは、インデックスカラー・テクスチャマッピングにおいて、インデックステクスチャとして扱われる。   Next, table data (shift table) for shifting the position coordinates of each point of the pixel is created based on the wave intensity level set in step S22 (step S23). This table data is handled as an index texture in the index color / texture mapping.

次に、フレームバッファ(表示画面)の1/2サイズのワークバッファ(縮小バッファ)を用意し、そのワークバッファに画面全体(元画像)を縮小コピーする(ステップS24)。   Next, a work buffer (reduction buffer) having a size half that of the frame buffer (display screen) is prepared, and the entire screen (original image) is reduced and copied to the work buffer (step S24).

次に、ワークバッファに縮小コピーされた画面(ワーク画像)を16×16(ピクセル)のサイズのブロックに分割し、各分割ブロックを、ブロック内の相対的位置によってインデックス化された256個のカラールックアップテーブル(CLUT)とみなして、インデックスカラー・テクスチャマッピング用のカラールックアップテーブルとして設定する(ステップS25)。   Next, the screen (work image) reduced and copied to the work buffer is divided into blocks each having a size of 16 × 16 (pixels), and each divided block is divided into 256 colors indexed by relative positions in the block. It is regarded as a lookup table (CLUT) and is set as a color lookup table for index color / texture mapping (step S25).

次に、ピクセルの位置座標をずらすテーブルデータを256色のインデックステクスチャとみなして、各分割ブロックに対応する位置にインデックステクスチャを、ステップS15で設定されたカラールックアップテーブルを参照しながらテクスチャマッピングしたポリゴン(仮想オブジェクト)を描画する(ステップS26)。これによりワークバッファにフィルタ画像が作成される。   Next, the table data for shifting the pixel position coordinates is regarded as an index texture of 256 colors, and the index texture is mapped to the position corresponding to each divided block while referring to the color lookup table set in step S15. A polygon (virtual object) is drawn (step S26). As a result, a filter image is created in the work buffer.

次にピクセル入れ替え処理の済んだ画像(フィルタ画像)を格納するワークバッファをフレームバッファのサイズに拡大してフレームバッファに書き込む(ステップS27)。このときαテストを用いて、α値ビット列の最上位ビットの状態を判定して、α値がα1(例えば128)以上のピクセルにだけワークバッファに格納された画像を拡大した画像のピクセルを半透明描画によりフレームバッファの元画像に合成する。   Next, the work buffer for storing the image (filter image) subjected to the pixel replacement process is enlarged to the size of the frame buffer and written to the frame buffer (step S27). At this time, the α test is used to determine the state of the most significant bit of the α value bit string, and the pixels of the image obtained by enlarging the image stored in the work buffer only to pixels having an α value of α1 (for example, 128) or more are half. Combine with the original image of the frame buffer by transparent drawing.

次に図15のフローチャートを用いて、図13のステップS16のフィルタ処理としてグレアフィルタ処理を行う場合を説明する。   Next, the case where the glare filter process is performed as the filter process of step S16 of FIG. 13 will be described using the flowchart of FIG.

まず、グレアが起きる領域のα値がα1(例えば128)以上、グレアが起きない領域のα値がα1未満となるように仮想カメラから見たシーンをフレームバッファに描画して元画像を生成する(ステップS30)。   First, an original image is generated by drawing a scene viewed from the virtual camera in a frame buffer so that the α value of a region where glare occurs is α1 (for example, 128) or more and the α value of a region where glare does not occur is less than α1. (Step S30).

次に、フレームバッファの1/2のサイズのワークバッファ(第1のワークバッファ)WB1をクリアする。すなわちワークバッファWB1を黒色(R,G,B)=(0,0,0)に塗りつぶしておく(ステップS31)。   Next, the work buffer (first work buffer) WB1 having a size half that of the frame buffer is cleared. That is, the work buffer WB1 is painted black (R, G, B) = (0, 0, 0) (step S31).

次に、ワークバッファWB1にフレームバッファの元画像を縮小コピーする(ステップS32)。その際に、αテストを用いてα値ビット列の最上位ビットの状態を判定して、α値がα1(例えば128)以上のピクセルにだけワークバッファに縮小コピーする部分縮小コピーを行う。そして、ワークバッファWB1に、単色ポリゴンの画像を減算合成する(ステップS33)。すなわち図3で説明した色抽出処理により色の強さの低い成分が落とされる。   Next, the original image of the frame buffer is reduced and copied to the work buffer WB1 (step S32). At that time, the state of the most significant bit of the α value bit string is determined using an α test, and partial reduced copy is performed to reduce and copy to the work buffer only for pixels having an α value of α1 (eg, 128) or more. Then, the monochrome polygon image is subtracted and synthesized in the work buffer WB1 (step S33). That is, a component having a low color intensity is dropped by the color extraction processing described with reference to FIG.

次に、フレームバッファの1/4のサイズのワークバッファ(第2のワークバッファ)WB2にワークバッファWB1の画像を縮小コピーする(ステップS34)。そして図9のD1,D2において説明した手法を利用して、ワークバッファWB2の画像を横にずらした画像をワークバッファWB2に加算合成して、横方向(X方向)に画像をぼかす処理を行う(ステップS35)。さらに、図9のD1,D3において説明した手法を利用して、ワークバッファWB2の画像を縦にずらした画像をワークバッファWB2に加算合成して、縦方向(Y方向)に画像をぼかす処理を行う(ステップS36)。   Next, the image of the work buffer WB1 is reduced and copied to a work buffer (second work buffer) WB2 having a size of 1/4 of the frame buffer (step S34). Then, using the method described in D1 and D2 of FIG. 9, an image obtained by shifting the image of the work buffer WB2 to the horizontal is added to the work buffer WB2, and the image is blurred in the horizontal direction (X direction). (Step S35). Further, using the method described in D1 and D3 of FIG. 9, an image obtained by shifting the image in the work buffer WB2 vertically is added to the work buffer WB2, and the image is blurred in the vertical direction (Y direction). This is performed (step S36).

次に、フレームバッファの1/8のサイズのワークバッファ(第3のワークバッファ)WB3にワークバッファWB2の画像を縮小コピーする(ステップS37)。そしてステップS35と同様の手法で、ワークバッファWB3の画像を横にずらした画像をワークバッファWB3に加算合成して、横方向(X方向)に画像をぼかす処理を行う(ステップS38)。さらに、ステップS36と同様の手法で、ワークバッファWB3の画像を縦にずらした画像をワークバッファWB3に加算合成して、縦方向(Y方向)に画像をぼかす処理を行う(ステップS39)。   Next, the image of the work buffer WB2 is reduced and copied to a work buffer (third work buffer) WB3 having a size of 1/8 of the frame buffer (step S37). Then, in the same manner as in step S35, an image obtained by shifting the image in the work buffer WB3 horizontally is added and synthesized to the work buffer WB3 to perform a process of blurring the image in the horizontal direction (X direction) (step S38). Further, an image obtained by shifting the image of the work buffer WB3 vertically is added and synthesized to the work buffer WB3 by the same method as in step S36, and a process of blurring the image in the vertical direction (Y direction) is performed (step S39).

次に、ワークバッファWB2の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数(第1のα値)を掛けてフレームバッファに加算合成する(ステップS40)。またワークバッファWB3の画像をフレームバッファのサイズに拡大して、その拡大された画像を適当な係数(第2のα値)を掛けてフレームバッファに加算合成する(ステップS41)。   Next, the image of the work buffer WB2 is enlarged to the size of the frame buffer, and the enlarged image is multiplied by an appropriate coefficient (first α value) and added to the frame buffer and synthesized (step S40). Further, 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 an appropriate coefficient (second α value) in the frame buffer (step S41).

4.ハードウェア構成
図8に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 8 shows an example of a hardware configuration capable of realizing this embodiment. The main processor 900 operates based on a program stored in a DVD 982 (information storage medium, which may be a CD), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like. Perform processing, sound processing, etc. The coprocessor 902 assists the processing of the main processor 900, and executes matrix operation (vector operation) at high speed. For example, when a matrix calculation process is required for a physical simulation for moving or moving an object, a program operating on the main processor 900 instructs (requests) the process to the coprocessor 902.

ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。   The geometry processor 904 performs geometry processing such as coordinate conversion, perspective conversion, light source calculation, and curved surface generation based on an instruction from a program operating on the main processor 900, and executes matrix calculation at high speed. The data decompression processor 906 performs decoding processing of the compressed image data and sound data and accelerates the decoding processing of the main processor 900. Thereby, a moving image compressed by the MPEG method or the like can be displayed on the opening screen or the game screen.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データ(頂点データや他のパラメータ)を描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 executes drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces. When drawing an object, the main processor 900 uses the DMA controller 970 to pass the drawing data (vertex data and other parameters) to the drawing processor 910 and, if necessary, the texture to the texture storage unit 924. Forward. Then, the drawing processor 910 draws the object in the frame buffer 922 while performing hidden surface removal using a Z buffer or the like based on the drawing data and texture. The drawing processor 910 also performs α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, 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を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。   The sound processor 930 includes a multi-channel ADPCM sound source and the like, generates game sounds such as BGM, sound effects, and sounds, and outputs them through the speaker 932. Data from the game controller 942 and the memory card 944 is input via the serial interface 940.

ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   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. The RAM 960 is a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The DVD drive 980 (may be a CD drive) accesses a DVD 982 (may be a CD) in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

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

そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。   When the processing of each part of this embodiment is realized by both hardware and a program, a program for causing the hardware (computer) to function as each part of this embodiment is stored in the information storage medium. More specifically, the program instructs the processors 902, 904, 906, 910, and 930, which are hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930 realizes the processing of 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 arrangement setting method of the mirror image object, the glare filter method, the fluctuation filter method, and the like are not limited to those described in the present embodiment, and techniques equivalent to these 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.

本実施形態の画像生成システムの機能ブロック図。The functional block diagram of the image generation system of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 図3(A)〜図3(C)は本実施形態の手法の説明図。FIG. 3A to FIG. 3C are explanatory diagrams of the method of this embodiment. 図4(A)〜図4(C)は本実施形態の手法の説明図。FIG. 4A to FIG. 4C are explanatory diagrams of the method of this embodiment. 図5(A)〜図5(C)は本実施形態の手法の説明図。FIG. 5A to FIG. 5C are explanatory diagrams of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 図7(A)〜図7(C)は本実施形態の手法の説明図。FIG. 7A to FIG. 7C are explanatory diagrams of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method of this embodiment. 本実施形態の手法の説明図。Explanatory drawing of the method 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. 本実施形態の具体的な処理例を示すフローチャート。The flowchart which shows the specific process example of this embodiment. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

POB 移動体オブジェクト、WOB 水面オブジェクト(半透明オブジェクト)、
MOB 鏡像オブジェクト、GOB 地形オブジェクト、
VC 仮想カメラ、Vc 視線ベクトル、Vr 反射視線ベクトル、
Vlm バウンディングボリューム、
100 処理部、
110 オブジェクト空間設定部、111 鏡像オブジェクト設定部、
112 移動・動作処理部、114 仮想カメラ制御部、116 イベント判定部、
118 パラメータ設定部、120 描画部、130 音生成部、
160 操作部、170 記憶部、
171 主記憶部、172 描画バッファ、173 テクスチャ記憶部、
174 Zバッファ、175 LUT記憶部、176 オブジェクトデータ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
POB moving object, WOB water surface object (translucent object),
MOB mirror image object, GOB terrain object,
VC virtual camera, Vc line-of-sight vector, Vr reflection line-of-sight vector,
Vlm bounding volume,
100 processing unit,
110 object space setting unit, 111 mirror image object setting unit,
112 movement / motion processing unit, 114 virtual camera control unit, 116 event determination unit,
118 parameter setting unit, 120 drawing unit, 130 sound generation unit,
160 operation unit, 170 storage unit,
171 main storage unit, 172 drawing buffer, 173 texture storage unit,
174 Z buffer, 175 LUT storage unit, 176 Object data storage unit,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (11)

オブジェクト空間における仮想カメラから見た画像を生成するためのプログラムであって、
移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生したか否かを判定するイベント判定部と、
前記映り込みイベントが発生したと判定された場合に、移動体オブジェクトを所与の基準面に対してフリップさせた位置に該移動体オブジェクトの鏡像オブジェクトを配置設定する鏡像オブジェクト設定部と、
前記移動体オブジェクト及び前記鏡像オブジェクトを描画した後に前記半透明オブジェクトを描画した元画像に対してフィルタ処理を行う描画部として、
コンピュータを機能させることを特徴とするプログラム。
A program for generating an image viewed from a virtual camera in an object space,
An event determination unit that determines whether or not a reflection event has occurred in which the moving object is reflected in the translucent object to be filtered;
A mirror image object setting unit configured to place and set a mirror image object of the moving object at a position where the moving object is flipped with respect to a given reference plane when it is determined that the reflection event has occurred;
As a drawing unit that performs filter processing on the original image on which the translucent object is drawn after drawing the moving object and the mirror image object,
A program characterized by causing a computer to function.
請求項1において、
前記オブジェクト空間に前記半透明オブジェクトに対応した仮想反射面オブジェクトが配置設定されており、
前記イベント判定部が、
前記仮想カメラの視線ベクトルを前記仮想反射面オブジェクトで反射させた反射視線ベクトルと前記移動体オブジェクトとの交差判定を行って、前記映り込みイベントが発生したか否かを判定することを特徴とするプログラム。
In claim 1,
A virtual reflecting surface object corresponding to the translucent object is arranged and set in the object space,
The event determination unit
A determination is made as to whether or not the reflection event has occurred by performing an intersection determination between a reflection line-of-sight vector obtained by reflecting the line-of-sight vector of the virtual camera with the virtual reflecting surface object and the moving object. program.
請求項1において、
前記オブジェクト空間に前記半透明オブジェクトに対応した仮想反射面オブジェクトが配置設定されており、
前記イベント判定部が、
前記移動体オブジェクトを内包するバウンディングボリュームを設定し、前記仮想カメラの視線ベクトルを前記仮想反射面オブジェクトで反射させた反射視線ベクトルと前記バウンディングボリュームとの交差判定を行って、前記映り込みイベントが発生したか否かを判定することを特徴とするプログラム。
In claim 1,
A virtual reflecting surface object corresponding to the translucent object is arranged and set in the object space,
The event determination unit
A bounding volume that includes the moving object is set, and the reflection event vector obtained by reflecting the visual vector of the virtual camera by the virtual reflecting surface object and the bounding volume are determined to generate the reflection event. A program characterized by determining whether or not it has been performed.
請求項2または3において、
前記仮想反射面オブジェクトが複数のプリミティブ面に分割されており、
前記イベント判定部が、
前記視線ベクトルと交差しないプリミティブ面については、前記反射視線ベクトルの計算処理を省略することを特徴とするプログラム。
In claim 2 or 3,
The virtual reflecting surface object is divided into a plurality of primitive surfaces;
The event determination unit
A program characterized by omitting the calculation processing of the reflection line-of-sight vector for a primitive surface that does not intersect with the line-of-sight vector.
請求項1〜4のいずれかにおいて、
前記描画部が、
前記半透明オブジェクトを前記移動体オブジェクト及び前記鏡像オブジェクトを含むオブジェクト群とは異なるα値で描画した前記元画像のαプレーンに設定されたα値をマスク情報として、前記画像に対してフィルタ処理を行うことを特徴とするプログラム。
In any one of Claims 1-4,
The drawing unit
Filtering the image using the α value set in the α plane of the original image in which the translucent object is drawn with an α value different from the object group including the moving object and the mirror image object as mask information A program characterized by being performed.
請求項5において、
前記描画部が、
前記元画像のうち前記半透明オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報としてコピーしたワーク画像を生成し、該ワーク画像に基づいてフィルタ画像を生成し、前記元画像と該フィルタ画像とを合成する前記フィルタ処理を行うことを特徴とするプログラム。
In claim 5,
The drawing unit
Generate a work image obtained by copying only the drawing area of the translucent object in the original image using the α value set in the α plane of the original image as mask information, and generate a filter image based on the work image. A program for performing the filter processing for synthesizing the original image and the filter image.
請求項5において、
前記描画部が、
前記元画像をコピーしたワーク画像に基づいてフィルタ画像を生成し、該フィルタ画像のうち前記半透明オブジェクトの描画領域のみを、前記元画像のαプレーンに設定されたα値をマスク情報として元画像に合成する処理を行うことを特徴とするプログラム。
In claim 5,
The drawing unit
A filter image is generated based on a work image obtained by copying the original image, and only the drawing area of the semi-transparent object in the filter image is used as the mask information with the α value set in the α plane of the original image as mask information. A program characterized by performing processing to synthesize.
請求項1〜7のいずれかにおいて、
所与の制御情報に基づいて仮想カメラを制御する仮想カメラ制御部と、
前記仮想カメラの制御情報に基づいて、前記仮想カメラの位置、方向、および画角の少なくとも一つが変化したと判断される場合に、前記フィルタ処理のフィルタ強度パラメータを変更するパラメータ設定部としてコンピュータを機能させることを特徴とするプログラム。
In any one of Claims 1-7,
A virtual camera control unit that controls the virtual camera based on given control information;
Based on the control information of the virtual camera, when it is determined that at least one of the position, direction, and angle of view of the virtual camera has changed, a computer is used as a parameter setting unit that changes the filter strength parameter of the filtering process. A program characterized by functioning.
請求項8において、
前記移動体オブジェクトに対して前記仮想カメラの注視点が設定され、
前記パラメータ設定部が、
前記移動体オブジェクトが前記オブジェクト空間内を移動することによって前記仮想カメラの注視点が移動した場合に、その移動距離に応じて前記フィルタ強度パラメータを変更することを特徴とするプログラム。
In claim 8,
A gazing point of the virtual camera is set for the moving object,
The parameter setting unit
When the moving object moves in the object space and the gazing point of the virtual camera moves, the filter strength parameter is changed according to the moving distance.
コンピュータにより読取可能な情報記憶媒体であって、請求項1〜9のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体。   An information storage medium readable by a computer, wherein the program according to any one of claims 1 to 9 is stored. オブジェクト空間における仮想カメラから見た画像を生成するための画像生成システムであって、
移動体オブジェクトがフィルタ処理の対象となる半透明オブジェクトに映り込む映り込みイベントが発生したか否かを判定するイベント判定部と、
前記映り込みイベントが発生したと判定された場合に、移動体オブジェクトを所与の基準面に対してフリップさせた位置に該移動体オブジェクトの鏡像オブジェクトを配置設定する鏡像オブジェクト設定部と、
前記移動体オブジェクト、前記鏡像オブジェクト、及び前記半透明オブジェクトを描画する描画部と、
を含み、
前記描画部が、
前記移動体オブジェクト及び前記鏡像オブジェクトを描画した後に前記半透明オブジェクトを描画した元画像に対してフィルタ処理を行うことを特徴とする画像生成システム。
An image generation system for generating an image viewed from a virtual camera in an object space,
An event determination unit that determines whether or not a reflection event has occurred in which the moving object is reflected in the translucent object to be filtered;
A mirror image object setting unit configured to place and set a mirror image object of the moving object at a position where the moving object is flipped with respect to a given reference plane when it is determined that the reflection event has occurred;
A drawing unit for drawing the moving object, the mirror image object, and the translucent object;
Including
The drawing unit
An image generation system characterized by performing a filtering process on an original image on which the translucent object is drawn after drawing the moving object and the mirror image object.
JP2005142821A 2005-05-16 2005-05-16 Program, information storage medium, and image generation system Pending JP2006318388A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005142821A JP2006318388A (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005142821A JP2006318388A (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Publications (1)

Publication Number Publication Date
JP2006318388A true JP2006318388A (en) 2006-11-24

Family

ID=37538981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005142821A Pending JP2006318388A (en) 2005-05-16 2005-05-16 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP2006318388A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020818A (en) * 2007-07-13 2009-01-29 Konami Digital Entertainment:Kk Image generating apparatus, image generating method, and program
WO2009057661A1 (en) * 2007-11-01 2009-05-07 Konami Digital Entertainment Co., Ltd. Image processing device, image processing method, information recording medium and program
JP2011065535A (en) * 2009-09-18 2011-03-31 Sega Corp Image processing program and computer readable recording medium
JP2011130950A (en) * 2009-12-25 2011-07-07 Sanyo Product Co Ltd Game machine
JP2014225264A (en) * 2014-05-29 2014-12-04 株式会社三洋物産 Game machine
JP2018043148A (en) * 2017-12-27 2018-03-22 株式会社三洋物産 Game machine
CN107924574A (en) * 2015-08-27 2018-04-17 微软技术许可有限责任公司 Smart flip operation for grouped objects
CN114495585A (en) * 2020-11-11 2022-05-13 郑州畅想高科股份有限公司 VR simulation training method for overhaul between machines
JP7612785B1 (en) 2023-08-22 2025-01-14 株式会社 ラセングル Information processing device, information processing method, program, and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283499A (en) * 1997-04-04 1998-10-23 Fujitsu Ltd Video generation apparatus and method, and recording medium
JPH117543A (en) * 1997-06-13 1999-01-12 Namco Ltd Information storage medium and image generation device
JP2002092637A (en) * 2000-09-19 2002-03-29 Namco Ltd Game system and information storage medium
JP2002197486A (en) * 2000-12-22 2002-07-12 Square Co Ltd Video game machine, its control method, video game program and computer-readable recording medium with the program recorded thereon
JP2002374523A (en) * 2001-06-18 2002-12-26 Matsushita Electric Ind Co Ltd Monitor system
JP2003051032A (en) * 2001-08-03 2003-02-21 Namco Ltd GAME INFORMATION, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
JP2003275460A (en) * 2003-02-10 2003-09-30 Namco Ltd GAME DEVICE AND INFORMATION STORAGE MEDIUM

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283499A (en) * 1997-04-04 1998-10-23 Fujitsu Ltd Video generation apparatus and method, and recording medium
JPH117543A (en) * 1997-06-13 1999-01-12 Namco Ltd Information storage medium and image generation device
JP2002092637A (en) * 2000-09-19 2002-03-29 Namco Ltd Game system and information storage medium
JP2002197486A (en) * 2000-12-22 2002-07-12 Square Co Ltd Video game machine, its control method, video game program and computer-readable recording medium with the program recorded thereon
JP2002374523A (en) * 2001-06-18 2002-12-26 Matsushita Electric Ind Co Ltd Monitor system
JP2003051032A (en) * 2001-08-03 2003-02-21 Namco Ltd GAME INFORMATION, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
JP2003275460A (en) * 2003-02-10 2003-09-30 Namco Ltd GAME DEVICE AND INFORMATION STORAGE MEDIUM

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020818A (en) * 2007-07-13 2009-01-29 Konami Digital Entertainment:Kk Image generating apparatus, image generating method, and program
WO2009057661A1 (en) * 2007-11-01 2009-05-07 Konami Digital Entertainment Co., Ltd. Image processing device, image processing method, information recording medium and program
KR101158255B1 (en) 2007-11-01 2012-06-19 가부시키가이샤 코나미 데지타루 엔타테인멘토 Image processing device, image processing method and information recording medium
JP2011065535A (en) * 2009-09-18 2011-03-31 Sega Corp Image processing program and computer readable recording medium
JP2011130950A (en) * 2009-12-25 2011-07-07 Sanyo Product Co Ltd Game machine
JP2014225264A (en) * 2014-05-29 2014-12-04 株式会社三洋物産 Game machine
CN107924574B (en) * 2015-08-27 2021-09-21 微软技术许可有限责任公司 Smart flip operations for grouped objects
CN107924574A (en) * 2015-08-27 2018-04-17 微软技术许可有限责任公司 Smart flip operation for grouped objects
JP2018043148A (en) * 2017-12-27 2018-03-22 株式会社三洋物産 Game machine
CN114495585A (en) * 2020-11-11 2022-05-13 郑州畅想高科股份有限公司 VR simulation training method for overhaul between machines
CN114495585B (en) * 2020-11-11 2024-05-28 郑州畅想高科股份有限公司 VR simulation training method for maintenance between machines
JP7612785B1 (en) 2023-08-22 2025-01-14 株式会社 ラセングル Information processing device, information processing method, program, and storage medium
JP2025030074A (en) * 2023-08-22 2025-03-07 株式会社 ラセングル Information processing device, information processing method, program, and storage medium

Similar Documents

Publication Publication Date Title
JP2010033296A (en) Program, information storage medium, and image generation system
JP4305903B2 (en) Image generation system, program, and information storage medium
JP3249955B2 (en) Image generation system and information storage medium
JP2006318389A (en) Program, information storage medium, and image generation system
JP3538393B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4610748B2 (en) Image generation system, program, and information storage medium
JP2006318388A (en) Program, information storage medium, and image generation system
JP4502678B2 (en) Program, information storage medium, and image generation system
JP2003323630A (en) Image generation system, program, and information storage medium
JP3280355B2 (en) Image generation system and information storage medium
JP4804120B2 (en) Program, information storage medium, and image generation system
JP4229317B2 (en) Image generation system, program, and information storage medium
JP2006011539A (en) Program, information storage medium, and image generation system
US7479961B2 (en) Program, information storage medium, and image generation system
JP3538394B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4749198B2 (en) Program, information storage medium, and image generation system
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4632855B2 (en) Program, information storage medium, and image generation system
JP2006252426A (en) Program, information storage medium, and image generation system
JP4680670B2 (en) Program, information storage medium, and image generation system
JP4476040B2 (en) Program, information storage medium, and image generation system
JP4521811B2 (en) Program, information storage medium, and image generation system
JP2008310377A (en) Image generation system, program, and information storage medium
JP2008077406A (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: 20080411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100818

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101215