JP2011209865A - Program, information storage medium, and image creation system - Google Patents

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

Info

Publication number
JP2011209865A
JP2011209865A JP2010075245A JP2010075245A JP2011209865A JP 2011209865 A JP2011209865 A JP 2011209865A JP 2010075245 A JP2010075245 A JP 2010075245A JP 2010075245 A JP2010075245 A JP 2010075245A JP 2011209865 A JP2011209865 A JP 2011209865A
Authority
JP
Japan
Prior art keywords
particle
processing
blur
unit
particles
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010075245A
Other languages
Japanese (ja)
Inventor
Yoshiki Domae
嘉樹 堂前
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 JP2010075245A priority Critical patent/JP2011209865A/en
Publication of JP2011209865A publication Critical patent/JP2011209865A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a program, an information storage medium and an image creation system for reproducing blurring due to the depth of field with a relatively light plotting load with respect to a particle.SOLUTION: A given particle is created at a given position in an object space, and the distance information of the direction of a line of sight of a virtual camera between the virtual camera and the particle is calculated, and the amount of blurring corresponding to the position of the particle is calculated, and whether the position of the particle is present within a given blurring object range is determined based on the distance information, and when the position of the particle is present within the blurring object range, the blurring image of the particle corresponding to the amount of blurring is created.

Description

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

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

このような画像生成システム(ゲームシステム)では、視覚的に高い効果を狙って、カメラの被写界深度によるぼかしを再現した画像を生成する場合がある。よく使用される被写界深度の表現手法として、全画面に対するポストエフェクト処理が挙げられる。この手法は、3Dモデルをカラーバッファに描画する際に同時にデプスバッファ(Zバッファ)に書き込む奥行き情報を利用し、被写界深度から外れるピクセルに対してぼかし量を決定して全画面に対するぼかし画像を生成するものである。   In such an image generation system (game system), there is a case where an image in which blurring due to the depth of field of the camera is reproduced is generated aiming at a visually high effect. One commonly used technique for expressing depth of field is post-effect processing for the entire screen. This method uses depth information that is simultaneously written in a depth buffer (Z buffer) when a 3D model is drawn in a color buffer, determines a blur amount for pixels that are out of the depth of field, and blurs the image on the entire screen. Is generated.

特開2003−51024号公報Japanese Patent Laid-Open No. 2003-51024

ところで、花びら、雪、雨、煙、炎などを描画する際、比較的軽い処理負荷でリアルな画像を実現するために、これらを半透明のパーティクルで表現する場合がある。これらのパーティクルを含む画像を生成する際には、描画処理が複雑にならないようにパーティクルの各ピクセルについてはデプスバッファ(Zバッファ)に奥行き情報を書き込まない場合が多い。そのため、パーティクルを含む画像に対して被写界深度によるぼかしを再現する場合、従来の手法をそのまま適用すると、パーティクルについてはその後ろにあるオブジェクトの奥行き情報を参照してぼかしがかけられる。例えば、図12に示す画像では、中央の建物が仮想カメラの被写界深度にあるため、建物の手前にある花びらP(パーティクル)は、建物と重ねっている左上部分はぼけていないが背景と重なる右下部分は背景とともにぼけており、違和感のある画像になっている。   By the way, when drawing petals, snow, rain, smoke, flames, etc., in order to realize a realistic image with a relatively light processing load, these may be expressed by translucent particles. When an image including these particles is generated, in many cases, depth information is not written in the depth buffer (Z buffer) for each pixel of the particle so that the drawing process is not complicated. Therefore, when reproducing the blur due to the depth of field with respect to an image including particles, if the conventional method is applied as it is, the particles are blurred by referring to the depth information of the object behind it. For example, in the image shown in FIG. 12, since the center building is at the depth of field of the virtual camera, the petals P (particles) in front of the building are not blurred in the upper left part overlapping the building. The lower right part that overlaps with is blurred with the background, making the image uncomfortable.

パーティクルについても奥行き情報を書き込んで、従来手法を用いて被写界深度によるぼかしを再現することも不可能ではないかもしれないが、例えば、全画面ではなくパーティクルに対してのみ被写界深度によるぼかしを再現したい場合であっても、全画面と同じサイズのデプスバッファを参照する必要があるため描画負荷が高くなるという問題がある。   It may not be impossible to write depth information for particles and reproduce the blur due to depth of field using conventional methods, but for example, it depends on depth of field only for particles, not for full screen. Even when it is desired to reproduce the blur, there is a problem that the drawing load increases because it is necessary to refer to a depth buffer having the same size as the entire screen.

本発明は、以上のような課題に鑑みてなされたものであり、本発明のいくつかの態様によれば、パーティクルに対して比較的軽い描画負荷で被写界深度によるぼかしを再現することが可能なプログラム、情報記憶媒体及び画像生成システムを提供することができる。   The present invention has been made in view of the above problems, and according to some aspects of the present invention, it is possible to reproduce the blur due to the depth of field with a relatively light drawing load on the particles. Possible programs, information storage media, and image generation systems can be provided.

(1)本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
所与のパーティクルを前記オブジェクト空間の所与の位置に発生させるパーティクル発生部と、
前記仮想カメラと前記パーティクルとの前記仮想カメラの視線方向の距離情報を算出する距離情報算出部と、
前記パーティクルの位置に応じたぼかし量を計算するぼかし量計算部と、
前記距離情報に基づいて前記パーティクルの位置が所与のぼかし対象範囲内にあるか否かを判定し、前記ぼかし対象範囲内にある場合は前記ぼかし量に応じた前記パーティクルのぼかし画像を生成するぼかし画像生成部としてコンピュータを機能させることを特徴とする。
(1) The present invention
A program for generating an image visible from a virtual camera in an object space,
A particle generator for generating a given particle at a given position in the object space;
A distance information calculation unit that calculates distance information of the virtual camera and the particles in the viewing direction of the virtual camera;
A blur amount calculation unit for calculating a blur amount according to the position of the particle;
Based on the distance information, it is determined whether the position of the particle is within a given blurring target range, and if it is within the blurring target range, a blur image of the particle corresponding to the blur amount is generated. A computer is caused to function as a blurred image generation unit.

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

本発明では、仮想カメラとパーティクルとの仮想カメラの視線方向の距離情報を算出し、当該距離情報に基づいてパーティクルのぼかし画像を生成するので、パーティクルに対してデプスバッファ(Zバッファ)に奥行き情報を書き込む必要がない。従って、本発明によれば、パーティクルに対して比較的軽い描画負荷で被写界深度によるぼかしを再現することができる。   In the present invention, the distance information in the viewing direction of the virtual camera and the particle between the virtual camera and the particle is calculated, and the blurred image of the particle is generated based on the distance information. Therefore, the depth information is stored in the depth buffer (Z buffer) for the particle. There is no need to write. Therefore, according to the present invention, it is possible to reproduce the blur due to the depth of field with a relatively light drawing load for the particles.

(2)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし量に応じて前記パーティクルを拡大又は縮小するパーティクルサイズ変更部としてさらにコンピュータを機能させ(パーティクルサイズ変更部をさらに含み)、
前記ぼかし画像生成部は、
拡大又は縮小した後の前記パーティクルに対して、前記ぼかし量に応じた前記ぼかし画像を生成するようにしてもよい。
(2) In the program, information storage medium, and image generation system according to the present invention,
The computer further functions as a particle size changing unit that enlarges or reduces the particles according to the blur amount (including a particle size changing unit),
The blurred image generation unit
You may make it produce | generate the said blurring image according to the said blurring amount with respect to the said particle after enlarging or reducing.

本発明によれば、パーティクルのサイズをぼかし量に応じて適切に調整することで、ぼかし画像の描画領域を包含するなるべく小さいサイズのパーティクルに対して描画処理を行うようにすることが可能である。これにより、ぼかし画像の描画負荷を低減することができる。   According to the present invention, by appropriately adjusting the particle size according to the amount of blurring, it is possible to perform drawing processing on particles as small as possible including the drawing region of the blurred image. . Thereby, the drawing load of the blurred image can be reduced.

(3)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし量計算部は、
前記ぼかし量として、前記仮想カメラと前記パーティクルとの前記仮想カメラの視線方向の距離に応じたぼかし量を計算するようにしてもよい。
(3) In the program, the information storage medium, and the image generation system according to the present invention,
The blur amount calculation unit
As the blur amount, a blur amount corresponding to the distance between the virtual camera and the particles in the visual line direction of the virtual camera may be calculated.

(4)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし量計算部は、
前記ぼかし量として、前記仮想カメラと前記パーティクルとの直線距離に応じたぼかし量を計算するようにしてもよい。
(4) In the program, the information storage medium, and the image generation system according to the present invention,
The blur amount calculation unit
As the blur amount, a blur amount corresponding to a linear distance between the virtual camera and the particles may be calculated.

(5)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記コンピュータがメインプロセッサと描画プロセッサを含み、
前記距離情報算出部、前記ぼかし画像生成部及び前記パーティクルサイズ変更部の各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御するぼかし処理割り当て制御部としてさらにコンピュータを機能させる(ぼかし処理割り当て制御部をさらに含む)ようにしてもよい。
(5) In the program, the information storage medium, and the image generation system according to the present invention,
The computer includes a main processor and a drawing processor;
The computer is further caused to function as a blurring process assignment control unit that controls which of the processing of the distance information calculation unit, the blurred image generation unit, and the particle size changing unit is assigned to the main processor or the drawing processor (blurring process). An allocation control unit may be further included).

(6)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし処理割り当て制御部は、
前記各処理の現在の割り当て状況と、前記メインプロセッサと前記描画プロセッサのそれぞれの現在の処理負荷と、に基づいて、前記各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御するようにしてもよい。
(6) In the program, the information storage medium, and the image generation system according to the present invention,
The blur processing assignment control unit
Based on the current allocation status of each process and the current processing load of each of the main processor and the rendering processor, it is controlled whether the process is allocated to the main processor or the rendering processor. It may be.

本発明によれば、メインプロセッサの処理負荷と描画プロセッサの処理負荷に応じて、距離情報算出処理、パーティクルサイズ変更処理、ぼかし画像生成処理の割り当てを動的に変更することができるので、効率的にぼかし処理を行うことができる。   According to the present invention, the allocation of the distance information calculation process, the particle size change process, and the blurred image generation process can be dynamically changed according to the processing load of the main processor and the processing load of the drawing processor. Blur processing can be performed.

(7)また、本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし処理割り当て制御部は、
描画対象となる前記パーティクルの数又は総面積に応じて、前記各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御するようにしてもよい。
(7) In the program, the information storage medium, and the image generation system according to the present invention,
The blur processing assignment control unit
Depending on the number or total area of the particles to be drawn, it may be controlled which of the processing is assigned to the main processor or the drawing processor.

本発明によれば、パーティクルの数や総面積に応じてメインプロセッサと描画プロセッサの処理負荷を変更することができるので、効率的にぼかし処理を行うことができる。   According to the present invention, since the processing load of the main processor and the drawing processor can be changed according to the number of particles and the total area, blurring can be performed efficiently.

本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す図。The figure which shows an example of the functional block diagram of the image generation system (game system) of this embodiment. 本実施形態の手法により生成した画像の一例を示す図。The figure which shows an example of the image produced | generated by the method of this embodiment. パーティクルについて説明するための図。The figure for demonstrating a particle. ぼかし対象範囲及びぼかし量の一例について説明するための図。The figure for demonstrating an example of the blurring object range and the blurring amount. ぼかし対象範囲及びぼかし量の他の一例について説明するための図。The figure for demonstrating another example of the blurring object range and the blurring amount. 本実施形態によるパーティクルの画像生成について説明するための図。The figure for demonstrating the image generation of the particle by this embodiment. 本実施形態のぼかし処理の一例のフローチャート図。The flowchart figure of an example of the blurring process of this embodiment. ぼかし処理の割り当てパターンの一例を示す図。The figure which shows an example of the allocation pattern of a blurring process. ぼかし処理の割り当てパターンを動的に変更する制御の一例のフローチャート図。The flowchart figure of an example of the control which changes the allocation pattern of a blurring process dynamically. ぼかし処理の割り当てパターンを動的に変更する制御の他の一例のフローチャート図。The flowchart figure of another example of the control which changes the allocation pattern of a blurring process dynamically. 本実施形態を実現できるハードウェア構成の例を示す図。The figure which shows the example of the hardware constitutions which can implement | achieve this embodiment. 従来手法により生成した画像の一例を示す図。The figure which shows an example of the image produced | generated by the conventional method.

以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent 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は、プレーヤがオブジェクト(プレーヤキャラクタ、移動体)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。   The operation unit 160 is for a player to input operation data of an object (player character, moving object), and its function can be realized by a lever, a button, a steering, a microphone, a touch panel type display, or a casing.

なお、操作部160は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データ(操作データ)を入力できるものでもよい。例えば、入力装置は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置には、入力装置と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。   Note that the operation unit 160 may be one that can input input data (operation data) from a player by an input device that includes an acceleration sensor, an imaging unit, or a gyro sensor that detects angular velocity. For example, the input device may be one that the player holds and moves, or that the player wears and moves. The input device also includes a controller simulating an actual tool such as a sword-type controller or gun-type controller held by the player, or a glove-type controller worn by the player (attached to the hand of the player). It is. The input device includes a game device integrated with the input device, a portable game device, a mobile phone, and the like.

例えば、入力機器に備えられた加速度センサは、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、5msec毎に加速度を検出している。また、加速度センサは、1軸、2軸、6軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置(本体装置)に送信される。   For example, an acceleration sensor provided in an input device detects acceleration in three axes (X axis, Y axis, and Z axis). That is, the acceleration sensor can detect acceleration in the vertical direction, the horizontal direction, and the front-rear direction. The acceleration sensor detects acceleration every 5 msec. Further, the acceleration sensor may detect a uniaxial, biaxial, or six-axis acceleration. The acceleration detected from the acceleration sensor is transmitted to the game device (main device) by the communication unit of the input device.

また、入力機器に備えられた撮像部は、赤外線フィルタ、レンズ、撮像素子(イメージセンサ)、画像処理回路を含む。赤外線フィルタは、入力装置の前方に配置され、表示部190に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した撮像画像上の位置情報は、通信部によって、本体装置に送信される。   The imaging unit provided in the input device includes an infrared filter, a lens, an imaging device (image sensor), and an image processing circuit. The infrared filter is disposed in front of the input device and allows only infrared light to pass through from light incident from a light source disposed in association with the display unit 190. The lens condenses the infrared light transmitted through the infrared filter and emits it to the image sensor. The image pickup device is a solid-state image pickup device such as a CMOS sensor or a CCD, for example, and picks up infrared light collected by the lens to generate a picked-up image. A captured image generated by the image sensor is processed by an image processing circuit. For example, the captured image obtained from the image sensor is processed to detect a high-luminance portion, and the position information (specific position) of the light source in the captured image is detected. If there are a plurality of light sources, position information on the captured image is detected. Further, the detected position information on the captured image is transmitted to the main device by the communication unit.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。記憶部170は、ワーク領域として使用される主記憶部172と、最終的な表示画像等が記憶される描画バッファ174と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部176と、各オブジェクトに対応付けられたテクスチャが記憶されるテクスチャ記憶部178と、オブジェクトの生成処理時にZ値が記憶されるZバッファ179とを含む。なお、これらの一部を省略する構成としてもよい。   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. The storage unit 170 includes a main storage unit 172 that is used as a work area, a drawing buffer 174 that stores final display images, an object data storage unit 176 that stores model data of objects, and each object. A texture storage unit 178 that stores the associated texture and a Z buffer 179 that stores the Z value during the object generation process are included. Note that some of these may be omitted.

情報記憶媒体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. The information storage medium 180 can store 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.

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

なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して画像生成システムを機能させる場合も本発明の範囲内に含む。   Note that a program or data for causing a computer to function as each unit of the present embodiment stored in the information storage medium or storage unit of the server is received via the network, and the received program or data is received by the information storage medium 180. Or may be stored in the storage unit 170. The case where the program or data is received and the image generation system is made to function is also included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   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.

この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 performs various processes using the main storage unit 172 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の機能の一部をメインプロセッサ(CPU)と描画プロセッサ(GPU)で実現する。   In particular, in this embodiment, part of the functions of the processing unit 100 is realized by a main processor (CPU) and a drawing processor (GPU).

処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部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 drawing unit 120, and a sound generation unit 130. Note that some of these may be omitted.

特に本実施形態では、処理部100は、ぼかし処理割り当て制御部116を含む。ぼかし処理割り当て制御部116は、距離情報算出部124、ぼかし画像生成部129及びパーティクルサイズ変更部128の各処理をメインプロセッサと描画プロセッサのいずれに割り当てるかを制御する。例えば、ぼかし処理割り当て制御部116は、距離情報算出部124、ぼかし画像生成部129及びパーティクルサイズ変更部128の各処理の現在の割り当て状況と、メインプロセッサと描画プロセッサのそれぞれの現在の処理負荷と、に基づいて、当該各処理をメインプロセッサと描画プロセッサのいずれに割り当てるかを制御するようにしてもよい。また、例えば、ぼかし処理割り当て制御部116は、描画対象となるパーティクルの数又は総面積に応じて、距離情報算出部124、ぼかし画像生成部129及びパーティクルサイズ変更部128の各処理をメインプロセッサと描画プロセッサのいずれに割り当てるかを制御するようにしてもよい。   In particular, in the present embodiment, the processing unit 100 includes a blurring process assignment control unit 116. The blurring process assignment control unit 116 controls whether each process of the distance information calculation unit 124, the blurry image generation unit 129, and the particle size changing unit 128 is assigned to the main processor or the drawing processor. For example, the blurring process allocation control unit 116 includes the current allocation status of each process of the distance information calculation unit 124, the blur image generation unit 129, and the particle size changing unit 128, and the current processing loads of the main processor and the drawing processor. Based on the above, it may be controlled which of the processing is assigned to the main processor or the drawing processor. In addition, for example, the blurring process assignment control unit 116 performs each process of the distance information calculation unit 124, the blurred image generation unit 129, and the particle size changing unit 128 as a main processor according to the number or total area of particles to be rendered. You may make it control which drawing processor allocates.

オブジェクト空間設定部110は、雪、雨、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ライン(線)、ラインポリゴン、ポリゴン、多角形、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit 110 includes various objects (lines, line polygons, polygons, polygons) representing display objects such as snow, rain, characters, buildings, stadiums, cars, trees, pillars, walls, and maps (terrain). , An object composed of primitives such as a free-form surface or a subdivision surface) is set in the object space. For example, the position and rotation angle (synonymous with the direction and direction of the object in the world coordinate system, for example, rotation when rotating clockwise when viewed from the positive direction of each axis of the X, Y, and Z axes in the world coordinate system. The angle is determined, and the object is arranged at the position (X, Y, Z) at the rotation angle (rotation angle about the X, Y, Z axis).

移動・動作処理部112は、オブジェクト(キャラクタ、移動体等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The movement / motion processing unit 112 performs movement / motion calculation (movement / motion simulation) of an object (a character, a moving body, etc.). In other words, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), a physical law, or the like, the object is moved in the object space or the object is moved ( (Motion, animation). 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軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。例えば、仮想カメラ制御部114は、仮想カメラを移動体オブジェクトの移動に追従させる制御を行うようにしてもよい。すなわち、仮想カメラによりオブジェクト(例えばキャラクタ、移動体)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。   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, the position (X, Y, Z) or rotation angle of the virtual camera in the world coordinate system (for example, the rotation angle when rotating in the clockwise direction when viewed from the positive direction of each axis of the X, Y, and Z axes). Process to control. In short, processing for controlling the viewpoint position, the line-of-sight direction, and the angle of view is performed. For example, the virtual camera control unit 114 may control the virtual camera to follow the movement of the moving object. That is, when an object (for example, a character or a moving object) 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.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。   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. When generating a so-called three-dimensional game image, first, object data (model data) including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the object (model) ) Is input, and vertex processing (shading by a vertex shader) is performed based on the vertex data included in the input object data. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary.

頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、射影変換(視点を基準とした透視変換、投影変換)、ビューポート変換(スクリーン座標変換)、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。ジオメトリ処理後のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。   In the vertex processing, in accordance with the vertex processing program (vertex shader program, first shader program), vertex movement processing, coordinate transformation, for example, world coordinate transformation, visual field transformation (camera coordinate transformation), clipping processing, projective transformation (viewpoint conversion) Geometry processing such as perspective conversion, projection conversion), viewport conversion (screen coordinate conversion), and light source calculation is performed, and based on the processing results, the vertex data given to the vertex group that composes the object is changed. (Update, adjust). Object data after the geometry processing (position coordinates of object vertices, texture coordinates, color data (luminance data), normal vector, α value, etc.) is stored in the object data storage unit 176.

そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、プリミティブ(ポリゴン)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(フレームバッファや中間バッファ(ワークバッファ)などのピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。   Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the primitive (polygon) is associated with the pixel. Subsequent to rasterization, pixel processing (shading or fragment processing by a pixel shader) for drawing pixels (fragments forming a display screen) constituting an image is performed. In pixel processing, according to a pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / change, translucent composition, anti-aliasing, etc. are performed, and an image is processed. Determining the final drawing color of the constituent pixels and drawing the drawing color of the perspective-transformed object into a drawing buffer 174 (buffer that can store image information in units of pixels such as a frame buffer and an intermediate buffer (work buffer). VRAM, rendering Output (draw) to the target. That is, in pixel processing, per-pixel processing for setting or changing image information (color, normal, luminance, α value, etc.) in units of pixels is performed. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. Note that when there are a plurality of virtual cameras (viewpoints), an image can be generated so that an image seen from each virtual camera can be displayed as a divided image on one screen.

なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、プリミティブ(ポリゴン)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。   Note that the vertex processing and pixel processing are realized by hardware that enables the rendering processing of primitives (polygons) to be programmed by a shader program written in a shading language, so-called programmable shaders (vertex shaders and pixel shaders). Programmable shaders can be programmed with vertex-level processing and pixel-level processing, so that the degree of freedom of drawing processing is high, and expressive power is greatly improved compared to conventional hardware-based fixed drawing processing. Can do.

そして描画部120は、オブジェクトを描画する際に、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。   The drawing unit 120 performs texture mapping, hidden surface removal processing, α blending, and the like when drawing the object.

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

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

αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。   α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value).

なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。   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は、パーティクル発生部122、距離情報算出部124、ぼかし量計算部126、パーティクルサイズ変更部128、ぼかし画像生成部129を含む。   In particular, in the present embodiment, the drawing unit 120 includes a particle generation unit 122, a distance information calculation unit 124, a blur amount calculation unit 126, a particle size change unit 128, and a blur image generation unit 129.

パーティクル発生部122は、所与のパーティクルをオブジェクト空間の所与の位置に発生させる。   The particle generator 122 generates a given particle at a given position in the object space.

距離情報算出部124は、仮想カメラとパーティクルとの仮想カメラの視線方向の距離情報を算出する。   The distance information calculation unit 124 calculates distance information of the virtual camera and particles in the line-of-sight direction of the virtual camera.

ぼかし量計算部126は、パーティクルの位置に応じたぼかし量を計算する。例えば、ぼかし量計算部126は、パーティクルの位置に応じたぼかし量として、仮想カメラとパーティクルとの仮想カメラの視線方向の距離に応じたぼかし量を計算するようにしてもよい。また、例えば、ぼかし量計算部126は、パーティクルの位置に応じたぼかし量として、仮想カメラとパーティクルとの直線距離に応じたぼかし量を計算するようにしてもよい。   The blur amount calculation unit 126 calculates the blur amount according to the position of the particle. For example, the blur amount calculation unit 126 may calculate the blur amount according to the distance between the virtual camera and the particles in the line-of-sight direction of the virtual camera as the blur amount according to the position of the particle. Further, for example, the blur amount calculation unit 126 may calculate the blur amount according to the linear distance between the virtual camera and the particle as the blur amount according to the position of the particle.

パーティクルサイズ変更部128は、ぼかし量計算部126が計算したぼかし量に応じてパーティクルを拡大又は縮小する。   The particle size changing unit 128 enlarges or reduces the particles according to the blur amount calculated by the blur amount calculating unit 126.

ぼかし画像生成部129は、距離情報算出部124が算出した距離情報に基づいてパーティクルの位置が所与のぼかし対象範囲内にあるか否かを判定し、ぼかし対象範囲内にある場合は、ぼかし量計算部126が計算したぼかし量に応じたパーティクルのぼかし画像を生成する。例えば、ぼかし画像生成部129は、パーティクルサイズ変更部128が拡大又は縮小した後のパーティクルに対して、ぼかし量計算部126が計算したぼかし量に応じたぼかし画像を生成するようにしてもよい。   The blurred image generation unit 129 determines whether or not the position of the particle is within a given blurring target range based on the distance information calculated by the distance information calculation unit 124. A blur image of particles corresponding to the blur amount calculated by the amount calculator 126 is generated. For example, the blurred image generation unit 129 may generate a blurred image corresponding to the blur amount calculated by the blur amount calculation unit 126 for the particles after the particle size changing unit 128 has enlarged or reduced.

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

2.本実施形態の手法
(1)概要
本実施形態は、花びら、雪、雨、煙、炎等のパーティクルに擬似的な被写界深度に応じてぼかしをかけた画像をリアルタイムに生成する処理を行うものである。例えば、図2に示すように、1枚の花びらを1つのパーティクルで実現し、各パーティクルの原点を、重力、風力などの物理的な運動法則に基づき移動させるシミュレーション処理を行い、パーティクルに花びらテクスチャ(花びら模様テクスチャ)をマッピングして画像を生成する。その際、被写界深度に応じてぼかし対象範囲にないパーティクル(例えば、Pd,Pe)に対してはピントの合った花びらの画像を生成している。一方、ぼかし対象範囲にあるパーティクル(例えば、Pa,Pb,Pc,Pf)に対しては花びらのぼかし画像を生成している。特に、ピントが合っているキャラクタCと一部重なる位置で手前にあるパーティクルPcに対しても、全体にぼけた花びらの画像を生成している。以下、本実施形態の手法について説明する。
2. Techniques of this embodiment (1) Outline In this embodiment, processing is performed in real time to generate an image in which petals, snow, rain, smoke, flames, and other particles are blurred according to a pseudo depth of field. Is. For example, as shown in FIG. 2, one petal is realized with one particle, and a simulation process is performed in which the origin of each particle is moved based on a physical law of motion such as gravity or wind force. An image is generated by mapping (petal pattern texture). At that time, a focused petal image is generated for particles (eg, Pd, Pe) that are not in the blurring target range according to the depth of field. On the other hand, a blurred image of petals is generated for particles (for example, Pa, Pb, Pc, Pf) in the blurring target range. In particular, a blurred petal image is also generated for the particle Pc that is in front of the character C that is partially in focus. Hereinafter, the method of this embodiment will be described.

(2)パーティクルのぼかし処理
本実施形態では、図3に示すように、ワールド座標系において、シミュレーション処理に基づく位置に仮想カメラCMの視線方向に正対して各パーティクルP0,P1,P2,P3,P4,P5,・・・を発生させる。このパーティクルの各々の4つの頂点に対して、ワールド座標系からカメラ座標系(視点を原点とし、視線の方向がz軸の負の方向になるように設定される座標系)への座標変換処理、つまり視野変換処理を行うと、各パーティクルの4つの頂点のカメラ座標系におけるz座標はすべて同じ値になる。そして、各パーティクルについて、4つの頂点のz座標値の絶対値を仮想カメラCMに対する相対的な距離情報として、各パーティクルの位置がぼかし対象範囲にあるか否かを判定する。
(2) Particle Blur Processing In the present embodiment, as shown in FIG. 3, in the world coordinate system, each particle P0, P1, P2, P3 facing the line of sight of the virtual camera CM at a position based on simulation processing. P4, P5,... Are generated. Coordinate conversion processing from the world coordinate system to the camera coordinate system (coordinate system in which the viewpoint is the origin and the direction of the line of sight is the negative direction of the z axis) for each of the four vertices of this particle That is, when the visual field conversion process is performed, the z coordinates in the camera coordinate system of the four vertices of each particle all have the same value. Then, for each particle, the absolute value of the z coordinate values of the four vertices is used as relative distance information with respect to the virtual camera CM to determine whether or not the position of each particle is within the blurring target range.

図4に被写界深度に応じたぼかし対象範囲の一例を示す。図4は、カメラ座標系のy軸の正方向から視た図である。カメラ座標のxy平面に対するz軸の負の方向の距離がdmin以上dmax以下の範囲(空間)が被写界深度200になる。また、カメラ座標のxy平面に対するz軸の負の方向の距離が、dminよりも小さい範囲(空間)とdmaxよりも大きい範囲(空間)がそれぞれ手前ぼかし範囲210と奥ぼかし範囲220になる。そして、パーティクルPnがカメラ座標系の座標(xn,yn,zn)にある場合、パーティクルPnの中心からxy平面に下ろした垂線の長さdn(znの絶対値に等しい)が、パーティクルPnと仮想カメラCMのz方向の距離になる。すなわち、距離dnがdmin以上dmax以下であるパーティクルPnは被写界深度200に存在し、距離dnがdminよりも小さいパーティクルPnは手前ぼかし範囲210に存在し、距離dnがdminよりも大きいパーティクルPnは奥ぼかし範囲220に存在することになる。図4の例では、パーティクルP2,P3が被写界深度200に存在し、パーティクルP0,P1が手前ぼかし範囲210に存在し、パーティクルP2,P3が奥ぼかし範囲220に存在している。   FIG. 4 shows an example of the blur target range according to the depth of field. FIG. 4 is a diagram viewed from the positive direction of the y-axis of the camera coordinate system. A range (space) in which the distance in the negative direction of the z-axis with respect to the xy plane of the camera coordinates is dmin to dmax is the depth of field 200. Further, a range (space) where the distance in the negative direction of the z-axis with respect to the xy plane of the camera coordinates is smaller than dmin (space) and a range (space) larger than dmax become the front blur range 210 and the back blur range 220, respectively. When the particle Pn is in the coordinates (xn, yn, zn) of the camera coordinate system, the length dn (equal to the absolute value of zn) of the perpendicular line drawn from the center of the particle Pn to the xy plane is virtual with the particle Pn. This is the distance in the z direction of the camera CM. That is, a particle Pn having a distance dn of dmin or more and dmax or less exists in the depth of field 200, a particle Pn having a distance dn smaller than dmin exists in the near blur range 210, and a particle Pn having a distance dn larger than dmin. Exists in the back blur range 220. In the example of FIG. 4, the particles P <b> 2 and P <b> 3 exist in the depth of field 200, the particles P <b> 0 and P <b> 1 exist in the near blur area 210, and the particles P <b> 2 and P <b> 3 exist in the back blur area 220.

本実施形態では、この手前ぼかし範囲210と奥ぼかし範囲220がぼかし対象範囲になる。そして、パーティクルPnが手前ぼかし範囲210又は奥ぼかし範囲220に存在する場合はパーティクルのぼかし画像を生成し、パーティクルPnが手前ぼかし範囲210又は奥ぼかし範囲220に存在しない場合(言い換えると被写界深度200に存在する場合)はパーティクルの通常画像(ぼかしのない画像)を生成する。   In the present embodiment, the front blur range 210 and the back blur range 220 are blur target ranges. When the particle Pn is present in the front blur range 210 or the back blur range 220, a blurred image of the particle is generated, and when the particle Pn is not present in the front blur range 210 or the back blur range 220 (in other words, the depth of field). In the case of 200, a normal image (unblurred image) of particles is generated.

また、本実施形態では、ぼかし画像を生成する場合は、パーティクルPnの距離dnに応じてぼかし量を変更する。具体的には、パーティクルPnが被写界深度200から離れるほどぼかし量を大きくする。すなわち、パーティクルPnが手前ぼかし範囲210に存在する場合は距離dnが小さいほどぼかし量を大きくし、パーティクルPnが奥ぼかし範囲220に存在する場合は距離dnが大きいほどぼかし量を大きくする。図4の例では、パーティクルP0とP1が手前ぼかし範囲210に存在し、d0<d1なので、パーティクルP0に対するぼかし量をパーティクルP1に対するぼかし量よりも大きくする。また、パーティクルP4とP5が奥ぼかし範囲220に存在し、d4=d5なので、パーティクルP4に対するぼかし量とパーティクルP5に対するぼかし量を同じにする。   In the present embodiment, when generating a blurred image, the blur amount is changed according to the distance dn of the particles Pn. Specifically, the blurring amount is increased as the particle Pn moves away from the depth of field 200. That is, when the particle Pn exists in the near blurring range 210, the blurring amount increases as the distance dn decreases, and when the particle Pn exists in the back blurring range 220, the blurring amount increases as the distance dn increases. In the example of FIG. 4, the particles P0 and P1 exist in the near blurring range 210 and d0 <d1, so the blurring amount for the particle P0 is set larger than the blurring amount for the particle P1. Further, since particles P4 and P5 exist in the back blur range 220 and d4 = d5, the blur amount for the particle P4 and the blur amount for the particle P5 are the same.

あるいは、図5に示すように、パーティクルPnがぼかし対象範囲に存在する場合は、パーティクルPnとカメラ座標系の原点との直線距離rn(rnは原点を中心とするパーティクルPnを含む球面の半径に等しい)に応じてぼかし量を変更するようにしてもよい。具体的には、パーティクルPnが手前ぼかし範囲210に存在する場合は直線距離rnが小さいほどぼかし量を大きくし、パーティクルPnが奥ぼかし範囲220に存在する場合は直線距離rnが大きいほどぼかし量を大きくする。図4の例では、パーティクルP0とP1が手前ぼかし範囲210に存在し、r1>r0なので、パーティクルP1に対するぼかし量をパーティクルP0に対するぼかし量よりも大きくする。また、パーティクルP4とP5が奥ぼかし範囲220に存在し、r4>r5なので、パーティクルP4に対するぼかし量をパーティクルP5に対するぼかし量よりも大きくする。   Alternatively, as shown in FIG. 5, when the particle Pn exists in the blurring target range, the linear distance rn between the particle Pn and the origin of the camera coordinate system (rn is the radius of the spherical surface including the particle Pn centered on the origin. The blurring amount may be changed according to (equal). Specifically, when the particle Pn exists in the near blurring range 210, the blurring amount increases as the linear distance rn decreases, and when the particle Pn exists in the back blurring range 220, the blurring amount increases as the linear distance rn increases. Enlarge. In the example of FIG. 4, the particles P0 and P1 exist in the front blurring range 210, and r1> r0, so the blurring amount for the particle P1 is set larger than the blurring amount for the particle P0. Further, since particles P4 and P5 exist in the back blurring range 220 and r4> r5, the blurring amount for the particle P4 is set larger than the blurring amount for the particle P5.

次に、図6(A)及び図6(B)を用いて、本実施形態によるパーティクルの画像生成について説明する。   Next, particle image generation according to the present embodiment will be described with reference to FIGS. 6 (A) and 6 (B).

パーティクルPnがぼかし対象範囲(手前ぼかし範囲210と奥ぼかし範囲220)に存在しない場合(言い換えると被写界深度200に存在する場合)は、図6(A)に示すように、まず、パーティクルPnの各頂点をスクリーン座標系に変換したパーティクル300を生成する。そしてこのパーティクル300にテクスチャ400をマッピングしてぼかさずに描画し、パーティクルの通常画像500を生成する。   When the particle Pn does not exist in the blurring target range (front blurring range 210 and back blurring range 220) (in other words, in the depth of field 200), first, as shown in FIG. A particle 300 is generated by converting the vertices to the screen coordinate system. Then, the texture 400 is mapped onto the particle 300 and drawn without blurring, and a normal image 500 of the particle is generated.

一方、パーティクルPnがぼかし対象範囲(手前ぼかし範囲210又は奥ぼかし範囲220)に存在する場合は、図6(B)に示すように、まず、距離情報から計算されるぼかし量に応じてパーティクルPnを拡大又は縮小したパーティクル310を生成する。例えば、パーティクル310の中心(重心)をパーティクルPnの中心(重心)と一致させたまま各頂点の位置を変更することにより拡大又は縮小する。そして、パーティクル310の各頂点をスクリーン座標系に変換したパーティクル320を生成する。このパーティクル320にテクスチャ400をぼかし量に応じてぼかして描画し、パーティクルのぼかし画像510を生成する。例えば、パーティクル320にテクスチャ400をずらしながらぼかし量に応じた回数や色(薄さ)でマッピングすることによりぼかし画像510を生成することができる。   On the other hand, when the particle Pn exists in the blurring target range (front blurring range 210 or back blurring range 220), as shown in FIG. 6B, first, the particle Pn is set according to the blurring amount calculated from the distance information. A particle 310 is generated by enlarging or reducing. For example, the particle 310 is enlarged or reduced by changing the position of each vertex while keeping the center (centroid) of the particle 310 coincident with the center (centroid) of the particle Pn. Then, a particle 320 is generated by converting each vertex of the particle 310 into the screen coordinate system. The particle 400 is rendered with the texture 400 blurred according to the blur amount, and a particle blur image 510 is generated. For example, the blurred image 510 can be generated by mapping the particle 320 with the number of times and the color (thinness) according to the blur amount while shifting the texture 400.

パーティクルPnのサイズが小さい場合、そのままスクリーン座標系に変換してテクスチャ400を描画すると、ぼかし量によってはパーティクルの内部に描画しきれずに一部が欠けたようなぼかし画像が生成される可能性がある。そこで、本実施形態では、ぼかし量に応じてパーティクルPnをあらかじめ拡大してからスクリーン座標系のパーティクル320に変換することで、確実にパーティクル320の内部にぼかし画像が描画されるようにしている。   When the size of the particle Pn is small, if the texture 400 is drawn as it is converted into the screen coordinate system as it is, there is a possibility that a blurred image in which a part of the particle is not drawn without being drawn inside depending on the amount of blur is generated. is there. Therefore, in the present embodiment, the particle Pn is enlarged in advance according to the blur amount and then converted to the particle 320 in the screen coordinate system, so that the blur image is surely drawn inside the particle 320.

逆に、パーティクルPnのサイズが大きい場合は、そのままスクリーン座標系のパーティクルに変換してテクスチャ400を描画してもよいが、パーティクルが小さいほど描画負荷をより軽くすることができる。そこで、本実施形態では、ぼかし量に応じてパーティクルをあらかじめ縮小してからスクリーン座標系のパーティクル320に変換することで、ぼかし画像の描画負荷を低減させるようにしている。   Conversely, when the size of the particle Pn is large, the texture 400 may be drawn by converting it directly into a particle in the screen coordinate system, but the drawing load can be further reduced as the particle is smaller. Therefore, in the present embodiment, the drawing load of the blurred image is reduced by reducing the particles in advance according to the blur amount and then converting the particles into the particles 320 of the screen coordinate system.

なお、パーティクル320が小さいほど描画負荷を軽くすることができるので、パーティクル320がぼかし画像の描画領域よりもわずかに大きくなるように、パーティクルPnを拡大又は縮小するのが望ましい。   Since the drawing load can be reduced as the particle 320 becomes smaller, it is desirable to enlarge or reduce the particle Pn so that the particle 320 is slightly larger than the drawing area of the blurred image.

3.本実施形態の処理
(1)ぼかし処理
次に、本実施形態のぼかし処理について図7のフローチャートを用いて説明する。
3. Process of this embodiment (1) Blur process Next, the blur process of this embodiment will be described with reference to the flowchart of FIG.

まず、ワールド座標系において、パーティクルPnを所与の位置に発生させて仮想カメラCMに正対させて配置する(ステップS10)。   First, in the world coordinate system, a particle Pn is generated at a given position and is placed facing the virtual camera CM (step S10).

次に、ステップS10でワールド座標系に配置したパーティクルPnの座標をカメラ座標系に変換する(ステップS20)。   Next, the coordinates of the particles Pn arranged in the world coordinate system in step S10 are converted into the camera coordinate system (step S20).

次に、カメラ座標系において、パーティクルPnと原点(仮想カメラの位置)の間の視線方向(z軸の負の方向)の距離情報を算出する(ステップS30)。   Next, in the camera coordinate system, distance information in the line-of-sight direction (the negative direction of the z-axis) between the particle Pn and the origin (virtual camera position) is calculated (step S30).

次に、ステップS30で算出した距離情報からパーティクルPnがぼかし対象範囲にあるか否かを判定する(ステップS40)。   Next, it is determined from the distance information calculated in step S30 whether the particle Pn is in the blurring target range (step S40).

パーティクルPnがぼかし対象範囲にある場合(ステップS50でYの場合)、ステップS30で算出した距離情報に応じてぼかし量を計算し、当該ぼかし量に応じてパーティクルPnを拡大又は縮小してパーティクル310を生成する(ステップS60)。   When the particle Pn is in the blurring target range (in the case of Y in step S50), the blur amount is calculated according to the distance information calculated in step S30, and the particle Pn is enlarged or reduced according to the blur amount. Is generated (step S60).

次に、ステップS60で生成したパーティクル310をスクリーン座標系のパーティクル320に変換する(ステップS70)。   Next, the particles 310 generated in step S60 are converted into particles 320 in the screen coordinate system (step S70).

次に、ステップS70で生成したパーティクル320に対してラスタライズを行い、ピクセルデータを生成する(ステップS80)。   Next, rasterization is performed on the particles 320 generated in step S70 to generate pixel data (step S80).

次に、ステップS80で生成したピクセルデータに対して、描画位置をずらしながらテクスチャ400をぼかし量に応じた回数及び色で複数回マッピングし、パーティクルのぼかし画像510を生成する(ステップS90)。   Next, with respect to the pixel data generated in step S80, the texture 400 is mapped a plurality of times with the number of times and the color corresponding to the amount of blur while shifting the drawing position, thereby generating a particle blur image 510 (step S90).

一方、パーティクルPnがぼかし対象範囲にない場合(ステップS50でNの場合)、パーティクルPnをスクリーン座標系のパーティクル300に変換する(ステップS72)。   On the other hand, if the particle Pn is not in the blurring target range (N in step S50), the particle Pn is converted to a particle 300 in the screen coordinate system (step S72).

次に、ステップS72で生成したパーティクル300に対してラスタライズを行い、ピクセルデータを生成する(ステップS82)。   Next, rasterization is performed on the particle 300 generated in step S72 to generate pixel data (step S82).

次に、ステップS82で生成したピクセルデータに対してテクスチャ400をマッピングし、パーティクルの通常画像500を生成する(ステップS92)。   Next, the texture 400 is mapped to the pixel data generated in step S82, and a normal particle image 500 is generated (step S92).

そして、ステップS90又はS92の処理が終了した後、描画するパーティクルPnが他にもあれば(ステップS100でYの場合)ステップS20以降の処理を同様に行い、描画するパーティクルPnが他になければ(ステップS100でNの場合)ぼかし処理を終了する。   Then, after the processing of step S90 or S92 is completed, if there are other particles Pn to be drawn (in the case of Y in step S100), the processing after step S20 is similarly performed, and if there are no other particles Pn to be drawn. (In the case of N in step S100) The blurring process is terminated.

このように、本実施形態では、仮想カメラCMとパーティクルPnとの仮想カメラCMの視線方向(z軸の負の方向)の距離情報を算出し、当該距離情報に基づいてパーティクルのぼかし画像を生成するので、パーティクルに対してZバッファ179に奥行き情報を書き込む必要がない。従って、本実施形態によれば、パーティクルに対して比較的軽い描画負荷で被写界深度によるぼかしを再現することができる。   As described above, in the present embodiment, distance information in the visual line direction (the negative direction of the z axis) of the virtual camera CM between the virtual camera CM and the particle Pn is calculated, and a blurred image of the particle is generated based on the distance information. Therefore, it is not necessary to write depth information to the Z buffer 179 for the particles. Therefore, according to the present embodiment, it is possible to reproduce the blur due to the depth of field with a relatively light drawing load with respect to the particles.

また、本実施形態によれば、パーティクルPnのサイズをぼかし量に応じて適切に調整することで、ぼかし画像の描画領域を包含するなるべく小さいサイズのパーティクルに対して描画処理を行うようにすることが可能である。これにより、ぼかし画像の描画負荷を低減することができる。   In addition, according to the present embodiment, by appropriately adjusting the size of the particle Pn according to the amount of blurring, the rendering process is performed on particles as small as possible including the rendering area of the blurred image. Is possible. Thereby, the drawing load of the blurred image can be reduced.

(2)ぼかし処理の割り当て制御
本実施形態では、図7のステップS30における距離情報の算出(距離情報算出処理)、ステップS60におけるパーティクルの拡大又は縮小(パーティクルサイズ変更処理)及びステップS90におけるぼかし画像の生成(ぼかし画像生成処理)をメインプロセッサ(CPU)、描画プロセッサ(GPU)の頂点シェーダ、描画プロセッサ(GPU)のピクセルシェーダのいずれかに割り当てる制御を行う。本実施形態では、図8に示す3通りの割り当てパターンのいずれかを選択する。
(2) Blur Processing Allocation Control In this embodiment, distance information calculation (distance information calculation processing) in step S30 in FIG. 7, particle enlargement or reduction (particle size change processing) in step S60, and blurred image in step S90 Control (blurred image generation processing) is assigned to one of the main processor (CPU), the vertex shader of the drawing processor (GPU), and the pixel shader of the drawing processor (GPU). In this embodiment, one of the three allocation patterns shown in FIG. 8 is selected.

パターン1は、距離情報算出処理とパーティクルサイズ変更処理をメインプロセッサ(CPU)に割り当て、ぼかし画像生成処理を描画プロセッサ(GPU)のピクセルシェーダに割り当てる。このパターン1を選択すれば、メインプロセッサ(CPU)の負担が大きくなり、描画プロセッサ(GPU)の負担が小さくなる。従って、例えば、相対的に描画プロセッサ(GPU)の処理負荷の方が重い状態であればパターン1を選択するようにしてもよい。   In pattern 1, distance information calculation processing and particle size change processing are assigned to the main processor (CPU), and a blurred image generation processing is assigned to the pixel shader of the drawing processor (GPU). If this pattern 1 is selected, the burden on the main processor (CPU) increases and the burden on the drawing processor (GPU) decreases. Therefore, for example, if the processing load of the drawing processor (GPU) is relatively heavy, the pattern 1 may be selected.

パターン2は、距離情報算出処理、パーティクルサイズ変更処理、ぼかし画像生成処理を、メインプロセッサ(CPU)、描画プロセッサ(GPU)の頂点シェーダ、描画プロセッサ(GPU)のピクセルシェーダにそれぞれ割り当てる。このパターン2を選択すれば、メインプロセッサ(CPU)の負担と描画プロセッサ(GPU)の負担のバランスがよい。従って、例えば、メインプロセッサ(CPU)の処理負荷も描画プロセッサ(GPU)の処理負荷もそれほど重くない状態であればパターン2を選択するようにしてもよい。   Pattern 2 assigns distance information calculation processing, particle size change processing, and blurred image generation processing to the main processor (CPU), the vertex shader of the drawing processor (GPU), and the pixel shader of the drawing processor (GPU), respectively. If this pattern 2 is selected, the balance between the load on the main processor (CPU) and the load on the drawing processor (GPU) is good. Therefore, for example, if the processing load of the main processor (CPU) and the processing load of the drawing processor (GPU) are not so heavy, the pattern 2 may be selected.

パターン3は、距離情報算出処理とパーティクルサイズ変更処理を描画プロセッサ(GPU)の頂点シェーダに割り当て、ぼかし画像生成処理を描画プロセッサ(GPU)のピクセルシェーダに割り当てる。このパターン3を選択すれば、メインプロセッサ(CPU)の負担が小さくなり、描画プロセッサ(GPU)の負担が大きくなる。従って、例えば、相対的にメインプロセッサ(CPU)の処理負荷の方が重い状態であればパターン3を選択するようにしてもよい。   In pattern 3, the distance information calculation process and the particle size change process are assigned to the vertex shader of the drawing processor (GPU), and the blurred image generation process is assigned to the pixel shader of the drawing processor (GPU). If this pattern 3 is selected, the burden on the main processor (CPU) is reduced, and the burden on the drawing processor (GPU) is increased. Therefore, for example, if the processing load of the main processor (CPU) is relatively heavy, the pattern 3 may be selected.

この割り当てパターンの選択は、ぼかし処理の直前やぼかし処理の途中で動的に変更するように制御してもよい。   The selection of the allocation pattern may be controlled so as to be dynamically changed immediately before the blurring process or in the middle of the blurring process.

一例として、図9に、現在選択されている割り当てパターンと、メインプロセッサ(CPU)及び描画プロセッサ(GPU)のぞれぞれの現在の処理負荷とに基づいて、パターン1、2、3を動的に変更する制御のフローチャートを示す。   As an example, FIG. 9 shows patterns 1, 2, and 3 based on the currently selected allocation pattern and the current processing load of each of the main processor (CPU) and the drawing processor (GPU). The flowchart of the control to change automatically is shown.

まず、例えば、パターン2を選択し、距離情報算出処理、パーティクルサイズ変更処理、ぼかし画像生成処理を、それぞれメインプロセッサ(CPU)、描画プロセッサ(GPU)の頂点シェーダ、描画プロセッサ(GPU)のピクセルシェーダに割り当てる(ステップS200)。   First, for example, pattern 2 is selected, and distance information calculation processing, particle size change processing, and blurred image generation processing are performed respectively for a main processor (CPU), a drawing processor (GPU) vertex shader, and a drawing processor (GPU) pixel shader. (Step S200).

描画処理が終了でなければ(ステップS210でNの場合)、所与のタイミングでメインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷を判定する。そして、メインプロセッサ(CPU)の処理負荷が閾値以下であり、かつ、描画プロセッサ(GPU)の処理負荷が閾値よりも大きい場合(ステップS220でY、かつ、ステップS230でNの場合)、パーティクルサイズ変更処理の割り当てをメインプロセッサ(CPU)に変更する(ステップS240)。すなわち、パターン2からパターン1に変更する。これにより、描画プロセッサ(GPU)の処理負荷を軽くすることができる。   If the drawing process is not completed (N in step S210), the processing load on the main processor (CPU) and the processing load on the drawing processor (GPU) are determined at a given timing. When the processing load of the main processor (CPU) is equal to or less than the threshold and the processing load of the drawing processor (GPU) is larger than the threshold (Y in step S220 and N in step S230), the particle size The allocation of the change process is changed to the main processor (CPU) (step S240). That is, the pattern 2 is changed to the pattern 1. Thereby, the processing load of the drawing processor (GPU) can be reduced.

また、メインプロセッサ(CPU)の処理負荷が閾値よりも大きく、かつ、描画プロセッサ(GPU)の処理負荷が閾値以下の場合(ステップS220でN、かつ、ステップS232でYの場合)、距離情報算出処理の割り当てを描画プロセッサ(GPU)の頂点シェーダに変更する(ステップS242)。すなわち、パターン2からパターン3に変更する。これにより、メインプロセッサ(CPU)の処理負荷を軽くすることができる。   Further, when the processing load on the main processor (CPU) is larger than the threshold and the processing load on the drawing processor (GPU) is equal to or less than the threshold (N in step S220 and Y in step S232), distance information calculation is performed. The processing assignment is changed to the vertex shader of the drawing processor (GPU) (step S242). That is, the pattern 2 is changed to the pattern 3. Thereby, the processing load of the main processor (CPU) can be reduced.

また、メインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷がともに閾値以下の場合(ステップS220でY、かつ、ステップS230でYの場合)又は、メインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷がともに閾値よりも大きい場合(ステップS220でN、かつ、ステップS232でNの場合)、パターン2のまま変更しない。前者の場合はパターン2が効率的な割り当てであると考えられるためパターン1やパターン3に変更せず、後者の場合はメインプロセッサ(CPU)と描画プロセッサ(GPU)のいずれかの処理負荷が閾値以下になるのを待ってパターン1又はパターン3に変更する。   Further, when the processing load of the main processor (CPU) and the processing load of the drawing processor (GPU) are both equal to or less than the threshold value (Y in step S220 and Y in step S230), or the processing load of the main processor (CPU) When the processing load on the drawing processor (GPU) is larger than the threshold value (N in step S220 and N in step S232), the pattern 2 remains unchanged. In the former case, since pattern 2 is considered to be an efficient allocation, it is not changed to pattern 1 or pattern 3, and in the latter case, the processing load of either the main processor (CPU) or the drawing processor (GPU) is a threshold value. Waiting for the following to change to pattern 1 or pattern 3.

ステップS240でパターン2からパターン1に変更した後、描画処理が終了でなければ(ステップS250でNの場合)、所与のタイミングでメインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷を判定する。そして、メインプロセッサ(CPU)の処理負荷が閾値よりも大きく、かつ、描画プロセッサ(GPU)の処理負荷が閾値以下の場合(ステップS260でN、かつ、ステップS270でYの場合)、パーティクルサイズ変更処理の割り当てを描画プロセッサ(GPU)の頂点シェーダに変更する(ステップS280)。すなわち、パターン1からパターン2に変更する。これにより、メインプロセッサ(CPU)の処理負荷を軽くすることができる。   If the drawing process is not completed after changing from pattern 2 to pattern 1 in step S240 (N in step S250), the processing load of the main processor (CPU) and the processing of the drawing processor (GPU) at a given timing Determine the load. When the processing load on the main processor (CPU) is larger than the threshold and the processing load on the drawing processor (GPU) is equal to or less than the threshold (N in step S260 and Y in step S270), the particle size is changed. The processing assignment is changed to the vertex shader of the drawing processor (GPU) (step S280). That is, the pattern 1 is changed to the pattern 2. Thereby, the processing load of the main processor (CPU) can be reduced.

また、メインプロセッサ(CPU)の処理負荷が閾値以下の場合(ステップS260でYの場合)、又は、メインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷がともに閾値よりも大きい場合(ステップS260でN、かつ、ステップS270でNの場合)、パターン1のまま変更しない。前者の場合はパターン1が効率的な割り当てであると考えられるためパターン2に変更せず、後者の場合は描画プロセッサ(GPU)の処理負荷が閾値以下になるのを待ってパターン2に変更する。   Also, when the processing load of the main processor (CPU) is equal to or less than the threshold value (in the case of Y in step S260), or when both the processing load of the main processor (CPU) and the processing load of the drawing processor (GPU) are larger than the threshold value (N in step S260 and N in step S270), pattern 1 remains unchanged. In the former case, pattern 1 is considered to be an efficient allocation, so it is not changed to pattern 2. In the latter case, the pattern processor is changed to pattern 2 after the processing load of the drawing processor (GPU) falls below the threshold. .

一方、ステップS242でパターン2からパターン3に変更した後、描画処理が終了でなければ(ステップS252でNの場合)、所与のタイミングでメインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷を判定する。そして、描画プロセッサ(GPU)の処理負荷が閾値よりも大きく、かつ、メインプロセッサ(CPU)の処理負荷が閾値以下の場合(ステップS262でN、かつ、ステップS272でYの場合)、距離情報算出処理の割り当てをメインプロセッサ(CPU)に変更する(ステップS282)。すなわち、パターン3からパターン2に変更する。これにより、描画プロセッサ(GPU)の処理負荷を軽くすることができる。   On the other hand, if the drawing process is not completed after changing from pattern 2 to pattern 3 in step S242 (N in step S252), the processing load of the main processor (CPU) and the drawing processor (GPU) at a given timing. The processing load is determined. When the processing load of the drawing processor (GPU) is larger than the threshold and the processing load of the main processor (CPU) is equal to or less than the threshold (N in step S262 and Y in step S272), distance information calculation is performed. The process assignment is changed to the main processor (CPU) (step S282). That is, the pattern 3 is changed to the pattern 2. Thereby, the processing load of the drawing processor (GPU) can be reduced.

また、描画プロセッサ(GPU)の処理負荷が閾値以下の場合(ステップS262でYの場合)、又は、描画プロセッサ(GPU)とメインプロセッサ(CPU)の処理負荷の処理負荷がともに閾値よりも大きい場合(ステップS262でN、かつ、ステップS272でNの場合)、パターン3のまま変更しない。前者の場合はパターン3が効率的な割り当てであると考えられるためパターン2に変更せず、後者の場合はメインプロセッサ(CPU)の処理負荷が閾値以下になるのを待ってパターン2に変更する。   Further, when the processing load of the drawing processor (GPU) is equal to or less than the threshold (in the case of Y in step S262), or when the processing loads of the processing load of the drawing processor (GPU) and the main processor (CPU) are both greater than the threshold (N in step S262 and N in step S272), pattern 3 remains unchanged. In the former case, since pattern 3 is considered to be an efficient allocation, it is not changed to pattern 2, and in the latter case, the pattern is changed to pattern 2 after the processing load of the main processor (CPU) falls below the threshold value. .

ステップS280でパターン1からパターン2に変更した後、又は、ステップS282でパターン3からパターン2に変更した後、描画処理が終了でなければ(ステップS210でNの場合)、上述した処理と同様に、メインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷に応じてパターン2からパターン1やパターン3への変更処理を行う。   After changing from pattern 1 to pattern 2 in step S280, or after changing from pattern 3 to pattern 2 in step S282, if the drawing process is not completed (N in step S210), the same process as described above A change process from pattern 2 to pattern 1 or pattern 3 is performed according to the processing load of the main processor (CPU) and the processing load of the drawing processor (GPU).

以上に説明した処理を描画処理が終了するまで繰り返すことにより、メインプロセッサ(CPU)の処理負荷と描画プロセッサ(GPU)の処理負荷に応じて、距離情報算出処理、パーティクルサイズ変更処理、ぼかし画像生成処理の割り当てを動的に変更することができる。   By repeating the above-described processing until the drawing processing is completed, distance information calculation processing, particle size change processing, and blurred image generation are performed according to the processing load of the main processor (CPU) and the processing load of the drawing processor (GPU). Processing assignment can be changed dynamically.

他の一例として、図10に、描画するパーティクルの数(又はパーティクルの総面積)に応じて、パターン1、2、3を動的に変更する制御のフローチャートを示す。   As another example, FIG. 10 shows a flowchart of control for dynamically changing the patterns 1, 2, and 3 according to the number of particles to be drawn (or the total area of the particles).

まず、所与のタイミングで、描画するパーティクルの数(又はパーティクルの総面積)を判定する(ステップS300)。   First, the number of particles to be drawn (or the total area of particles) is determined at a given timing (step S300).

パーティクルの数がN1未満(又はパーティクルの総面積がS1未満)の場合(ステップS310でYの場合)、パターン1を選択し、距離情報算出処理とパーティクルサイズ変更処理をメインプロセッサ(CPU)に、ぼかし画像生成処理を描画プロセッサ(GPU)のピクセルシェーダにそれぞれ割り当てる(ステップS320)。   If the number of particles is less than N1 (or the total area of particles is less than S1) (Y in step S310), pattern 1 is selected, and distance information calculation processing and particle size change processing are performed on the main processor (CPU). The blurred image generation process is assigned to each pixel shader of the drawing processor (GPU) (step S320).

また、パーティクルの数がN1以上N2未満(又はパーティクルの総面積がS1以上S2未満)の場合(ステップS310でN、かつ、ステップS330でYの場合)、パターン2を選択し、距離情報算出処理、パーティクルサイズ変更処理、ぼかし画像生成処理をメインプロセッサ(CPU)、描画プロセッサ(GPU)の頂点シェーダ、描画プロセッサ(GPU)のピクセルシェーダにそれぞれ割り当てる(ステップS340)。   If the number of particles is greater than or equal to N1 and less than N2 (or the total area of particles is greater than or equal to S1 and less than S2) (N in step S310 and Y in step S330), pattern 2 is selected and distance information calculation processing is performed. The particle size changing process and the blurred image generating process are assigned to the main processor (CPU), the vertex shader of the drawing processor (GPU), and the pixel shader of the drawing processor (GPU), respectively (step S340).

また、パーティクルの数がN2以上(又はパーティクルの総面積がS2以上)の場合(ステップS330でNの場合)、パターン3を選択し、距離情報算出処理とパーティクルサイズ変更処理を描画プロセッサ(GPU)の頂点シェーダに、ぼかし画像生成処理を描画プロセッサ(GPU)のピクセルシェーダにそれぞれ割り当てる(ステップS350)。   If the number of particles is greater than or equal to N2 (or the total area of the particles is greater than or equal to S2) (N in step S330), the pattern 3 is selected, and the distance information calculation process and the particle size change process are performed as a drawing processor (GPU). Is assigned to the pixel shader of the rendering processor (GPU) (step S350).

このようにすれば、パーティクルの数が増えても(又はパーティクルの総面積が大きくなっても)、メインプロセッサ(CPU)に過剰な処理負荷がかからないようにしてぼかし処理の低速化を抑制することできる。このように、パーティクルの数や総面積に応じてメインプロセッサ(CPU)と描画プロセッサ(GPU)の処理負荷を変更することで、効率的にぼかし処理を行うことができる。   In this way, even if the number of particles increases (or even if the total area of the particles becomes large), the main processor (CPU) is not subjected to an excessive processing load, and the blurring process is prevented from slowing down. it can. As described above, the blurring process can be efficiently performed by changing the processing load of the main processor (CPU) and the drawing processor (GPU) according to the number of particles and the total area.

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

メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。   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.

コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。   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 necessary 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 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に描画する。   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 to the drawing processor 910 and, if necessary, transfers the texture to the texture storage unit 924. 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.

また、この描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 also performs α blending (translucent processing), depth queuing, 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.

なお、上記各プロセッサの各機能は、ハードウェアとして別々のプロセッサにより実現してもよいし、1つのプロセッサにより実現してもよい。また、プロセッサとしてCPUとGPUを設けた場合でも、いずれのプロセッサによりいかなる機能を実現するかは、任意に設定することができる。   Each function of each of the processors may be realized by a separate processor as hardware, or may be realized by one processor. In addition, even when a CPU and a GPU are provided as processors, it is possible to arbitrarily set which function is realized by which processor.

サウンドプロセッサ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の代わりにハードディスクを利用してもよい。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.

RAM960は、各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   The RAM 960 serves as a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The DVD drive 980 accesses a DVD 982 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. May be. 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 unit of this embodiment is realized by both hardware and a program, a program for causing the hardware (computer) to function as each unit 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.

本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。   The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.

P,Pa,Pb,Pc,Pd,Pe,Pf パーティクル、C キャラクタ、P0〜P5,Pn パーティクル、CM 仮想カメラ、100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、114 仮想カメラ制御部、116 ぼかし処理割り当て制御部、120 描画部、122 パーティクル発生部、124 距離情報算出部、126 ぼかし量計算部、128 パーティクルサイズ変更部、129 ぼかし画像生成部、130 音生成部、160 操作部、170 記憶部、172 主記憶部、174 描画バッファ、176 オブジェクトデータ記憶部、178 テクスチャ記憶部、179 Zバッファ、180 情報記憶媒体、190 表示部、192 音出力部、196 通信部、200 被写界深度、210 手前ぼかし範囲、220 奥ぼかし範囲、300,310 パーティクル、400 テクスチャ、500 通常画像、510 ぼかし画像 P, Pa, Pb, Pc, Pd, Pe, Pf particles, C character, P0 to P5, Pn particles, CM virtual camera, 100 processing unit, 110 object space setting unit, 112 movement / motion processing unit, 114 virtual camera control 116, blur processing allocation control unit, 120 drawing unit, 122 particle generation unit, 124 distance information calculation unit, 126 blur amount calculation unit, 128 particle size change unit, 129 blurred image generation unit, 130 sound generation unit, 160 operation unit , 170 storage unit, 172 main storage unit, 174 drawing buffer, 176 object data storage unit, 178 texture storage unit, 179 Z buffer, 180 information storage medium, 190 display unit, 192 sound output unit, 196 communication unit, 200 subject Depth of field, 210 front blur Range, 220 Back Blur Range, 300, 310 Particles, 400 Texture, 500 Normal Image, 510 Blur Image

Claims (9)

オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
所与のパーティクルを前記オブジェクト空間の所与の位置に発生させるパーティクル発生部と、
前記仮想カメラと前記パーティクルとの前記仮想カメラの視線方向の距離情報を算出する距離情報算出部と、
前記パーティクルの位置に応じたぼかし量を計算するぼかし量計算部と、
前記距離情報に基づいて前記パーティクルの位置が所与のぼかし対象範囲内にあるか否かを判定し、前記ぼかし対象範囲内にある場合は前記ぼかし量に応じた前記パーティクルのぼかし画像を生成するぼかし画像生成部としてコンピュータを機能させることを特徴とするプログラム。
A program for generating an image visible from a virtual camera in an object space,
A particle generator for generating a given particle at a given position in the object space;
A distance information calculation unit that calculates distance information of the virtual camera and the particles in the viewing direction of the virtual camera;
A blur amount calculation unit for calculating a blur amount according to the position of the particle;
Based on the distance information, it is determined whether or not the position of the particle is within a given blurring target range, and if it is within the blurring target range, a blur image of the particle corresponding to the blur amount is generated. A program that causes a computer to function as a blurred image generation unit.
請求項1において、
前記ぼかし量に応じて前記パーティクルを拡大又は縮小するパーティクルサイズ変更部としてさらにコンピュータを機能させ、
前記ぼかし画像生成部は、
拡大又は縮小した後の前記パーティクルに対して、前記ぼかし量に応じた前記ぼかし画像を生成することを特徴とするプログラム。
In claim 1,
Further causing the computer to function as a particle size changing unit that enlarges or reduces the particles according to the blur amount,
The blurred image generation unit
A program for generating the blurred image corresponding to the blur amount for the particles after being enlarged or reduced.
請求項1又は2において、
前記ぼかし量計算部は、
前記ぼかし量として、前記仮想カメラと前記パーティクルとの前記仮想カメラの視線方向の距離に応じたぼかし量を計算することを特徴とするプログラム。
In claim 1 or 2,
The blur amount calculation unit
A program for calculating a blur amount corresponding to a distance between the virtual camera and the particles in a visual line direction of the virtual camera as the blur amount.
請求項1又は2において、
前記ぼかし量計算部は、
前記ぼかし量として、前記仮想カメラと前記パーティクルとの直線距離に応じたぼかし量を計算することを特徴とするプログラム。
In claim 1 or 2,
The blur amount calculation unit
A program for calculating a blur amount corresponding to a linear distance between the virtual camera and the particles as the blur amount.
請求項2乃至4のいずれかにおいて、
前記コンピュータがメインプロセッサと描画プロセッサを含み、
前記距離情報算出部、前記ぼかし画像生成部及び前記パーティクルサイズ変更部の各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御するぼかし処理割り当て制御部としてさらにコンピュータを機能させることを特徴とするプログラム。
In any of claims 2 to 4,
The computer includes a main processor and a drawing processor;
The computer is further caused to function as a blurring process assignment control unit that controls which of the processing of the distance information calculation unit, the blurred image generation unit, and the particle size changing unit is assigned to the main processor or the drawing processor. Program.
請求項5において、
前記ぼかし処理割り当て制御部は、
前記各処理の現在の割り当て状況と、前記メインプロセッサと前記描画プロセッサのそれぞれの現在の処理負荷と、に基づいて、前記各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御することを特徴とするプログラム。
In claim 5,
The blur processing assignment control unit
Controlling whether to assign each process to the main processor or the drawing processor based on the current allocation status of each process and the current processing load of each of the main processor and the drawing processor A program characterized by
請求項5において、
前記ぼかし処理割り当て制御部は、
描画対象となる前記パーティクルの数又は総面積に応じて、前記各処理を前記メインプロセッサと前記描画プロセッサのいずれに割り当てるかを制御することを特徴とするプログラム。
In claim 5,
The blur processing assignment control unit
A program that controls whether to assign each of the processes to the main processor or the drawing processor according to the number or total area of the particles to be drawn.
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1乃至7のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。   An information storage medium readable by a computer, wherein the program according to any one of claims 1 to 7 is stored. オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
所与のパーティクルを前記オブジェクト空間の所与の位置に発生させるパーティクル発生部と、
前記仮想カメラと前記パーティクルとの前記仮想カメラの視線方向の距離情報を算出する距離情報算出部と、
前記パーティクルの位置に応じたぼかし量を計算するぼかし量計算部と、
前記距離情報に基づいて前記パーティクルの位置が所与のぼかし対象範囲内にあるか否かを判定し、前記ぼかし対象範囲内にある場合は前記ぼかし量に応じた前記パーティクルのぼかし画像を生成するぼかし画像生成部と、を含むことを特徴とする画像生成システム。
An image generation system for generating an image visible from a virtual camera in an object space,
A particle generator for generating a given particle at a given position in the object space;
A distance information calculation unit that calculates distance information of the virtual camera and the particles in the viewing direction of the virtual camera;
A blur amount calculation unit for calculating a blur amount according to the position of the particle;
Based on the distance information, it is determined whether or not the position of the particle is within a given blurring target range, and if it is within the blurring target range, a blur image of the particle corresponding to the blur amount is generated. An image generation system comprising: a blurred image generation unit.
JP2010075245A 2010-03-29 2010-03-29 Program, information storage medium, and image creation system Withdrawn JP2011209865A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010075245A JP2011209865A (en) 2010-03-29 2010-03-29 Program, information storage medium, and image creation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010075245A JP2011209865A (en) 2010-03-29 2010-03-29 Program, information storage medium, and image creation system

Publications (1)

Publication Number Publication Date
JP2011209865A true JP2011209865A (en) 2011-10-20

Family

ID=44940883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010075245A Withdrawn JP2011209865A (en) 2010-03-29 2010-03-29 Program, information storage medium, and image creation system

Country Status (1)

Country Link
JP (1) JP2011209865A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225382A (en) * 2014-05-26 2015-12-14 凸版印刷株式会社 Drawing system, drawing device, calculation device, drawing program, and drawing processor board

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225382A (en) * 2014-05-26 2015-12-14 凸版印刷株式会社 Drawing system, drawing device, calculation device, drawing program, and drawing processor board

Similar Documents

Publication Publication Date Title
JP2010033296A (en) Program, information storage medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4305903B2 (en) Image generation system, program, and information storage medium
JP2007140842A (en) Program, information storage medium, and image generation system
JP2011053737A (en) Program, information storage medium and image generation device
JP2007164557A (en) Program, information recording medium and image generation system
JP3748451B1 (en) Program, information storage medium, and image generation system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP2008027064A (en) Program, information recording medium, and image forming system
JP2009129167A (en) Program, information storage medium, and image generation system
JP4754384B2 (en) Program, information recording medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP2006252426A (en) Program, information storage medium, and image generation system
JP2009205522A (en) Program, information storage medium, and information conversion system
JP2011215724A (en) Program, information storage medium, and image generation system
JP2011209865A (en) Program, information storage medium, and image creation system
JP4754385B2 (en) Program, information recording medium, and image generation system
JP4592087B2 (en) Image generation system, program, and information storage medium
JP2009140371A (en) Program, information storage medium, and image generation system
US7724255B2 (en) Program, information storage medium, and image generation system
JP2007164651A (en) Program, information storage medium and image generation system
JP2011209864A (en) Program, information storage medium, and image creation system
JP2009140370A (en) Program, information storage medium, and image generation system
JP2010231364A (en) Image generation system, program and information recording medium
JP4476040B2 (en) Program, information storage medium, and image generation system

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604