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

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

Info

Publication number
JP4824514B2
JP4824514B2 JP2006256056A JP2006256056A JP4824514B2 JP 4824514 B2 JP4824514 B2 JP 4824514B2 JP 2006256056 A JP2006256056 A JP 2006256056A JP 2006256056 A JP2006256056 A JP 2006256056A JP 4824514 B2 JP4824514 B2 JP 4824514B2
Authority
JP
Japan
Prior art keywords
color
value
translucent object
unit
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006256056A
Other languages
Japanese (ja)
Other versions
JP2008077408A (en
Inventor
繁 橘高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006256056A priority Critical patent/JP4824514B2/en
Publication of JP2008077408A publication Critical patent/JP2008077408A/en
Application granted granted Critical
Publication of JP4824514B2 publication Critical patent/JP4824514B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

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

従来より、車、キャラクタ、戦闘機などの移動体のオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自車を操作し、他のプレーヤが操作する他車と競争することでゲームを楽しむ。   Conventionally, an image generation system that generates an image viewed from a virtual camera (a given viewpoint) in an object space (virtual three-dimensional space) in which moving objects such as cars, characters, and fighters are arranged and set ( Game system) is known, and is popular as a so-called virtual reality experience. Taking an image generation system capable of enjoying a racing game as an example, a player operates the own vehicle using an operation unit such as a game controller, and enjoys the game by competing with other vehicles operated by other players. .

このようなレースゲームでは、車の窓に対する周りの光源や背景の光の映り込みについてもリアルに表現できることが望ましい。また、窓が透けて、車の内部のシートやドライバなどの様子も見えるようになれば、プレーヤの仮想現実感を更に向上できる。   In such a racing game, it is desirable to be able to realistically express the surrounding light source and the background light reflected on the car window. Further, if the window can be seen and the state of a seat, a driver, and the like inside the car can be seen, the virtual reality of the player can be further improved.

しかしながら、これまでの画像生成システムでは、このような窓への光源や背景の光の映り込み表現と、車の内部の様子が透けて見える透過表現の両立が難しいという課題があった。
特開2001−325605号公報
However, the conventional image generation system has a problem that it is difficult to achieve both the light source reflection on the window and the reflection of light from the background and the transmission expression through which the inside of the vehicle can be seen.
JP 2001-325605 A

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、半透明オブジェクトのリアルな映り込み表現と透過表現を両立できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。   The present invention has been made in view of the problems as described above, and an object of the present invention is to provide a program, an information storage medium, and an image generation system that can achieve both realistic reflection expression and transparent expression of a translucent object. It is to provide.

本発明は、画像を生成する画像生成システムであって、半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含む画像生成システムに関係する。また本発明は、上記各部として画像生成システムを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is an image generation system for generating an image, which performs a lighting process on a translucent object and obtains a light reflection color of the translucent object, and the obtained reflection color of the translucent object An α value acquisition unit for obtaining an α value whose value changes according to the strength of the color, the color of the semi-transparent object, and the destination color that is the color of the drawing destination of the semi-transparent object. The present invention relates to an image generation system including an α blending unit that blends based on a value. The present invention also relates to a program that causes an image generation system to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、半透明オブジェクトの反射色が求められ、反射色の強さに応じてその値が変化するα値を求められる。そして半透明オブジェクトの色とディスティネーション色とが、求められたα値に基づいてブレンディングされる。このようにすれば、反射色の強い領域(ピクセル)と弱い領域(ピクセル)とで、半透明オブジェクトの色とディスティネーション色とのブレンディングに用いるα値が異なるようになる。これにより、半透明オブジェクトのリアルな映り込み表現と透過表現を両立できる。   According to the present invention, the reflection color of the translucent object is obtained, and the α value whose value changes according to the intensity of the reflection color is obtained. Then, the color of the translucent object and the destination color are blended based on the obtained α value. In this way, the α value used for blending the color of the semi-transparent object and the destination color is different between the region (pixel) where the reflected color is strong and the region (pixel) where the reflected color is weak. This makes it possible to achieve both a realistic reflection expression and a transparent expression of a translucent object.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ライティング処理部は、照明モデルに基づいて、スペキュラ光による反射色であるスペキュラ色を求め、求められたスペキュラ色に基づいて、前記半透明オブジェクトの反射色を求め、前記α値取得部は、前記スペキュラ色により求められた反射色の強さに応じてその値が変化するα値を求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the lighting processing unit obtains a specular color that is a reflected color by specular light based on an illumination model, and based on the obtained specular color, The reflection color of the semi-transparent object may be obtained, and the α value acquisition unit may obtain an α value whose value changes according to the intensity of the reflection color obtained from the specular color.

このようにすれば、スペキュラ色の強い領域と弱い領域とでα値が異なるようになり、スペキュラ光のリアルな映り込み表現を実現できる。   In this way, the α value differs between the strong specular color area and the weak specular color area, and a realistic reflection expression of specular light can be realized.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ライティング処理部は、光源ベクトルと、仮想カメラの視線ベクトルと、前記半透明オブジェクトの法線ベクトルとに基づいて、前記半透明オブジェクトのスペキュラ色を求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the lighting processing unit includes the translucent object based on a light source vector, a virtual camera line-of-sight vector, and a normal vector of the translucent object. The specular color may be obtained.

このようにすれば、光源ベクトル、視線ベクトル、法線ベクトルの関係に応じてスペキュラ色が変化し、これによりα値も動的に変化するようになり、画像のリアル度を向上できる。   In this way, the specular color changes according to the relationship between the light source vector, the line-of-sight vector, and the normal vector, whereby the α value also changes dynamically, and the realism of the image can be improved.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部を含み(テクスチャマッピング部としてコンピュータを機能させ)、前記ライティング処理部は、前記環境マッピングで得られたマッピング色により、前記半透明オブジェクトの反射色を求め、前記α値取得部は、前記環境マッピングのマッピング色により求められた反射色の強さに応じてその値が変化するα値を求めるようにしてもよい。   The image generation system, the program, and the information storage medium according to the present invention further include a texture mapping unit that maps an environment texture representing the environment around the translucent object to the translucent object (a computer as the texture mapping unit) The lighting processing unit obtains the reflection color of the translucent object from the mapping color obtained by the environment mapping, and the α value acquisition unit obtains the reflection obtained by the mapping color of the environment mapping. You may make it obtain | require alpha value from which the value changes according to the strength of a color.

このようにすれば、スペキュラ色を擬似的に表現するマッピング色の強い領域と弱い領域とでα値が異なるようになり、環境マッピングを有効活用した映り込み表現を実現できる。   In this way, the α value differs between a strong mapping area and a weak mapping color area that artificially express the specular color, and a reflection expression that effectively uses environment mapping can be realized.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値取得部は、前記半透明オブジェクトの反射色が強くなればなるほど前記半透明オブジェクトの色のブレンディング率が高くなるα値を求め、前記αブレンディング部は、前記半透明オブジェクトの反射色が強くなればなるほどディスティネーション色に対する前記半透明オブジェクトの色のブレンディング率が高くなるαブレンディング処理を行うようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the α value acquisition unit calculates an α value that increases the blending rate of the color of the semitransparent object as the reflection color of the translucent object increases. In other words, the α blending unit may perform an α blending process in which the blending rate of the color of the semitransparent object with respect to the destination color increases as the reflection color of the translucent object increases.

このようにすれば、反射色の強い領域では、半透明オブジェクトの色のブレンディング率が高くなるαブレンディング処理が行われ、反射色の弱い領域では、半透明オブジェクトの色のブレンディング率が低くなるαブレンディング処理が行われようになり、反射色の強弱に応じたαブレンディング処理を実現できる。   In this way, α blending is performed in which the blending rate of the color of the semi-transparent object is high in the region where the reflection color is strong, and the blending rate of the color of the semi-transparent object is low in the region where the reflection color is weak. Blending processing is performed, and α blending processing according to the strength of the reflected color can be realized.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値取得部は、前記半透明オブジェクトの反射色の強さパラメータをSPとし、マテリアルパラメータをP1、P2とした場合に、α=P1+P2×SPの演算式でα値を求めるようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the α value acquisition unit is configured such that when the intensity parameter of the reflection color of the translucent object is SP and the material parameters are P1 and P2, α The α value may be obtained by an arithmetic expression of = P1 + P2 × SP.

このようにすれば、例えばマテリアルパラメータP1を制御することで、半透明オブジェクトのデフォルトの透明度を制御することが可能になる。   In this way, it is possible to control the default transparency of the translucent object by controlling the material parameter P1, for example.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記α値取得部は、前記半透明オブジェクトのマテリアルに応じて異なった値に設定される前記マテリアルパラメータP1、P2に基づいて、α値を求めるようにしてもよい。   Further, in the image generation system, the program, and the information storage medium according to the present invention, the α value acquisition unit is based on the material parameters P1 and P2 set to different values according to the material of the translucent object. A value may be obtained.

このようにすれば、マテリアルパラメータP1、P2の設定を変えることで、種々のマテリアルの半透明オブジェクトを表現できるようになり、多様な画像表現が可能になる。   In this way, by changing the settings of the material parameters P1 and P2, it becomes possible to express translucent objects of various materials, and various image expressions are possible.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部を含み(テクスチャマッピング部としてコンピュータを機能させ)、前記環境テクスチャの色チャネルには前記半透明オブジェクトのマッピング色が設定され、前記環境テクスチャのαチャネルには、前記マッピング色の強さに応じてその値が変化するα値が設定され、前記α値取得部は、前記環境マッピングにより、前記マッピング色である前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるようにしてもよい。   The image generation system, the program, and the information storage medium according to the present invention further include a texture mapping unit that maps an environment texture representing the environment around the translucent object to the translucent object (a computer as the texture mapping unit) The mapping color of the translucent object is set in the color channel of the environment texture, and the α value of the environment texture has an α value whose value changes according to the strength of the mapping color. The α value acquisition unit may be set so as to obtain an α value whose value changes according to the intensity of the reflection color of the translucent object, which is the mapping color, by the environment mapping.

このようにすれば、環境マッピングを有効活用してα値を取得できるため、処理負荷を軽減できる。   In this way, since the α value can be acquired by effectively using environment mapping, the processing load can be reduced.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記αブレンディング部は、少なくともスペキュラ色とディフューズ色とアンビエント色に基づいて求められた半透明オブジェクトの色と、ディスティネーション色とを、求められたα値に基づいてブレンディングするようにしてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the α blending unit includes at least the color of the translucent object determined based on the specular color, the diffuse color, and the ambient color, and the destination color. Alternatively, blending may be performed based on the obtained α value.

また本発明は、画像を生成する画像生成システムであって、移動体を含む複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、前記オブジェクト空間内で前記移動体を移動させるための演算を行う移動体演算部と、前記オブジェクト空間内の所与の視点から見える画像を生成するための仮想カメラの制御処理を行う仮想カメラ制御部と、照明モデルに基づいて、スペキュラ光による反射色であるスペキュラ色を求め、求められたスペキュラ色に基づいて、前記移動体の窓オブジェクトの反射色を求めるライティング処理部と、求められた前記窓オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、前記窓オブジェクトの色と、前記窓オブジェクトを介して見える前記移動体の内部色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含む画像生成システムに関係する。また本発明は、上記各部として画像生成システムを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is also an image generation system for generating an image, comprising: an object space setting unit that sets a plurality of objects including a moving body in an object space; and an operation for moving the moving body in the object space. A moving body calculation unit to perform, a virtual camera control unit to perform a virtual camera control process for generating an image that can be seen from a given viewpoint in the object space, and a reflected color by specular light based on an illumination model A lighting processing unit that obtains a specular color and obtains the reflection color of the window object of the moving object based on the obtained specular color, and the value changes according to the obtained intensity of the reflection color of the window object. An α value acquisition unit for obtaining an α value, a color of the window object, and an internal color of the moving body seen through the window object The present invention relates to an image generation system including an α blending unit that blends based on the obtained α value. The present invention also relates to a program that causes an image generation system to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、オブジェクト空間を移動する移動体の窓オブジェクトの反射色であるスペキュラ色が、照明モデルにより求められ、反射色の強さに応じてその値が変化するα値を求められる。そして窓オブジェクトの色と移動体の内部色とが、求められたα値に基づいてブレンディングされる。このようにすれば、移動体の窓オブジェクトのリアルな映り込み表現と透過表現を両立できる。また移動体の移動に伴い、光の映り込みの様子もリアルタイムに変化するようになり、これまでにないリアルな画像を生成できる。   According to the present invention, the specular color that is the reflection color of the window object of the moving object that moves in the object space is obtained from the illumination model, and the α value whose value changes according to the intensity of the reflection color is obtained. Then, the color of the window object and the internal color of the moving object are blended based on the obtained α value. In this way, it is possible to achieve both a realistic reflection expression and a transparent expression of the window object of the moving object. In addition, as the moving body moves, the appearance of light changes in real time, and a realistic image that has never existed can be generated.

また本発明は、画像を生成する画像生成システムであって、移動体を含む複数のオブジェクトをオブジェクト空間に設定するオブジェクト空間設定部と、前記オブジェクト空間内で前記移動体を移動させるための演算を行う移動体演算部と、前記オブジェクト空間内の所与の視点から見える画像を生成するための仮想カメラの制御処理を行う仮想カメラ制御部と、前記移動体の周囲の環境を表す環境テクスチャを前記移動体に対して環境マッピングするテクスチャマッピング部と、前記環境マッピングで得られたマッピング色により、前記移動体の窓オブジェクトの光の反射色を求めるライティング処理部と、求められた前記窓オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、前記窓オブジェクトの色と、前記窓オブジェクトを介して見える前記移動体の内部色とを、求められたα値に基づいてブレンディングするαブレンディング部を含む画像生成システムに関係する。また本発明は、上記各部として画像生成システムを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is also an image generation system for generating an image, comprising: an object space setting unit that sets a plurality of objects including a moving body in an object space; and an operation for moving the moving body in the object space. A moving body computing unit that performs, a virtual camera control unit that performs a virtual camera control process for generating an image that can be viewed from a given viewpoint in the object space, and an environment texture that represents an environment around the moving body. A texture mapping unit that performs environment mapping on a moving object, a lighting processing unit that obtains a light reflection color of the window object of the moving object based on the mapping color obtained by the environment mapping, and the obtained reflection of the window object An α value acquisition unit for obtaining an α value whose value changes according to the strength of the color, the color of the window object, The present invention relates to an image generation system including an α blending unit that blends the internal color of the moving object that can be seen through the windowing object based on the obtained α value. The present invention also relates to a program that causes an image generation system to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、オブジェクト空間を移動する移動体の窓オブジェクトの反射色であるマッピング色が、環境マッピングにより求められ、反射色の強さに応じてその値が変化するα値を求められる。そして窓オブジェクトの色と移動体の内部色とが、求められたα値に基づいてブレンディングされる。このようにすれば、移動体の窓オブジェクトのリアルな映り込み表現と透過表現を両立できる。また移動体の移動に伴い、光の映り込みの様子もリアルタイムに変化するようになり、これまでにないリアルな画像を生成できる。   According to the present invention, the mapping color, which is the reflection color of the window object of the moving object moving in the object space, is obtained by environment mapping, and the α value whose value changes according to the strength of the reflection color is obtained. Then, the color of the window object and the internal color of the moving object are blended based on the obtained α value. In this way, it is possible to achieve both a realistic reflection expression and a transparent expression of the window object of the moving object. In addition, as the moving body moves, the appearance of light changes in real time, and a realistic image that has never existed can be generated.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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 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, and the function can be realized by a direction key, operation buttons, analog stick, lever, steering, accelerator, brake, microphone, touch panel display, or the like.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。この記憶部170は、電源を切るとデータが消えてしまう揮発性のメモリにより構成できるが、補助記憶装置194よりも高速な記憶装置になっている。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。   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 (DRAM, VRAM) or the like. The storage unit 170 can be configured by a volatile memory that loses data when the power is turned off, but is a storage device that is faster than the auxiliary storage device 194. Then, the game program and game data necessary for executing the game program are held in the storage unit 170.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and functions thereof by an optical disk (CD, DVD), HDD (hard disk drive), memory (ROM, etc.), and the like. realizable. 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, in the information storage medium 180, a program for causing a computer (an apparatus including an operation unit, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Is memorized.

表示部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(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される大容量の記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードや、HDDなどにより実現できる。この補助記憶装置194は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置194は、ゲームの途中結果などのセーブデータや、プレーヤ(ユーザ)の個人的画像データや音楽データなどを保存するために使用される。   The auxiliary storage device 194 (auxiliary memory, secondary memory) is a large-capacity storage device that is used to supplement the capacity of the storage unit 170, and may be a memory card such as an SD memory card or a multimedia card, an HDD, or the like. realizable. The auxiliary storage device 194 is detachable, but may be built-in. The auxiliary storage device 194 is used for storing save data such as game results, personal image data and music data of the player (user).

通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。   The communication unit 196 communicates with the outside (for example, another image generation system, a server, or a host device) via a wired or wireless network, and functions as a communication ASIC, a communication processor, or the like. It can be realized by hardware and communication firmware.

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

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs game processing, image generation processing, sound generation processing, and the like based on operation data from the operation unit 160, a program, and the like. The processing unit 100 performs various processes using the storage unit 170 (main storage unit 172) as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, GPU, etc.), ASIC (gate array, etc.), and programs.

処理部100は、ゲーム演算部108、オブジェクト空間設定部110、移動体演算部112、仮想カメラ制御部114、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes a game calculation unit 108, an object space setting unit 110, a moving body calculation unit 112, a virtual camera control unit 114, an image generation unit 120, and a sound generation unit 130. Note that some of these may be omitted.

ゲーム演算部108はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   The game calculation unit 108 performs game calculation processing. Here, the game calculation includes 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 moving object or a map, a process for displaying an object, and calculating a game result. Or a process for ending the game when a game end condition is satisfied.

オブジェクト空間設定部110は、モデルオブジェクト(車、戦闘機、人、ロボット、ミサイル、弾等の移動体)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体(車、戦闘機、キャラクタ)等のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。   The object space setting unit 110 displays various display objects such as model objects (moving bodies such as cars, fighters, people, robots, missiles, and bullets), maps (terrain), buildings, courses (roads), trees, and walls. Processing for setting an object (an object composed of a primitive surface such as a polygon, a free-form surface, or a subdivision surface) in the object space is performed. 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. Specifically, model data such as a moving object (car, fighter, character) is stored in the model data storage unit 176 of the storage unit 170. Then, the object space setting unit 110 performs an object setting (arrangement) process in the object space using the model data.

移動体演算部112は、移動体(移動体オブジェクト)を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The moving object calculation unit 112 performs an operation for moving the moving object (moving object). Also, calculations for operating the moving body are performed. That is, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), etc., a moving body (object, model object) is moved in the object space, Performs processing to move the moving body (motion, animation). Specifically, a simulation process for sequentially obtaining movement information (position, rotation angle, speed, or acceleration) and motion information (part object position or rotation angle) of a moving body for each frame (1/60 second). I do. A frame is a unit of time for performing a moving / movement process (simulation process) and an image generation process of a moving object.

仮想カメラ制御部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 a moving body such as a car, character, or fighter is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (virtual camera is set so that the virtual camera follows changes in the position or rotation of the moving body. The direction). In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the moving object obtained by the moving object computing 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.

なお本実施形態の移動体は、自プレーヤが操作する移動体であってもよいし、他のプレーヤやコンピュータが操作(制御)する移動体であってもよい。また本実施形態により生成される画像は、プレーヤのゲームプレイにより画像が変化する通常のゲーム画像であってもよいし、ゲーム中以外に表示されるリプレイ画像、オープニング画像、エンディング画像であってもよい。   Note that the mobile body of the present embodiment may be a mobile body operated by the player, or a mobile body operated (controlled) by another player or computer. Further, the image generated according to the present embodiment may be a normal game image whose image is changed by the game play of the player, or may be a replay image, an opening image, or an ending image displayed outside the game. Good.

画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。   The image generation unit 120 performs drawing processing based on the results of various processes (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, model data including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the model (object) is first input. Based on the vertex data included in the input model data, vertex processing (shading by a vertex shader) is performed. 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のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。   In vertex processing (vertex shader processing), vertex movement processing, coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, etc. according to a vertex processing program (vertex shader program, first shader program) Geometry processing is performed, and based on the processing result, the vertex data given to the vertex group constituting the object is changed (updated, adjusted). Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the polygon (primitive) 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.

ピクセル処理(ピクセルシェーダ処理)では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。   In pixel processing (pixel shader processing), according to the pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / changing, translucent composition, anti-aliasing, etc. The final drawing color of the pixels constituting the image is determined, and the drawing color of the perspective-converted model is output to the drawing buffer 174 (buffer that can store image information in units of pixels; VRAM, rendering target) (drawing) ) 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.

なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。   The vertex processing and pixel processing are realized by hardware that enables polygon (primitive) drawing processing 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は、ライティング処理部122、テクスチャマッピング部124、α値取得部126、αブレンディング部128を含む。なおこれらの一部を省略する構成としてもよい。   The image generation unit 120 includes a lighting processing unit 122, a texture mapping unit 124, an α value acquisition unit 126, and an α blending unit 128. Note that some of these may be omitted.

ライティング処理部122は、照明モデル等に基づくライティング処理(シェーディング処理)を行う。具体的にはこのライティング処理は、光源情報(光源ベクトル、光源色、明るさ、光源タイプ等)、仮想カメラ(視点)の視線ベクトル、オブジェクト(半透明オブジェクト)の法線ベクトル、オブジェクトのマテリアル(色、材質)などを用いて行われる。なお照明モデルとしては、アンビエント光とディフューズ光だけを考慮したランバードの拡散照明モデルや、アンビエント光、ディフューズ光に加えてスペキュラ光も考慮するフォンの照明モデルやブリン・フォンの照明モデルなどがある。   The lighting processing unit 122 performs lighting processing (shading processing) based on an illumination model or the like. Specifically, this lighting processing includes light source information (light source vector, light source color, brightness, light source type, etc.), line-of-sight vector of virtual camera (viewpoint), normal vector of object (translucent object), object material ( Color, material) and the like. Illumination models include the Lumbard diffuse lighting model that considers only ambient light and diffuse light, the phone lighting model that considers specular light in addition to ambient light and diffuse light, and the Bling phone lighting model. is there.

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

α値取得部(α値演算部)126は、αブレンディングのためのα値を取得(演算)する処理を行う。ここでα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。   The α value acquisition unit (α value calculation unit) 126 performs a process of acquiring (calculating) an α value for α blending. Here, 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 translucency (equivalent to transparency and opacity) information, mask information, or bump information.

αブレンディング部128は、α値に基づくαブレンディング処理(色合成処理、半透明合成処理)を行う。ここでαブレンディング処理としては、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。   The α blending unit 128 performs α blending processing (color synthesis processing, translucent synthesis processing) based on the α value. Here, α blending processing includes normal α blending, addition α blending, subtraction α blending, and the like. For example, in the case of normal α blending, the following processing is performed.

=(1−α)×R+α×R
=(1−α)×G+α×G
=(1−α)×B+α×B
一方、加算αブレンディングの場合には下式の処理を行う。
R Q = (1−α) × R D + α × R S
G Q = (1−α) × G D + α × G S
B Q = (1−α) × B D + α × B S
On the other hand, in the case of addition α blending, the following processing is performed.

=R+α×R
=G+α×G
=B+α×B
また、減算αブレンディングの場合には下式の処理を行う。
R Q = R D + α × R S
G Q = G D + α × G S
B Q = B D + α × B S
In the case of subtractive α blending, the following processing is performed.

=R−α×R
=G−α×G
=B−α×B
ここで、R、G、Bは、描画バッファ174(フレームバッファ、色バッファ)に既に描画されている画像(元画像)の色成分(ディスティネーション色)であり、R、G、Bは、描画バッファ174に描画すべき画像の色成分(ソース色)である。また、R、G、Bは、αブレンディング処理により得られる画像の色成分(最終色)である。
R Q = R D −α × R S
G Q = G D -α × G S
B Q = B D -α × B S
Here, R D , G D , and B D are color components (destination colors) of an image (original image) already drawn in the drawing buffer 174 (frame buffer, color buffer), and R S , G S , B S are color components (source colors) of the image to be drawn in the drawing buffer 174. R Q , G Q , and B Q are color components (final colors) of the image obtained by the α blending process.

そして本実施形態ではライティング処理部122が、窓オブジェクト等の半透明オブジェクトのライティング処理を行い、半透明オブジェクトの光の反射色(スペキュラ色、疑似スペキュラ色)を求める。具体的にはライティング処理部122は、照明モデルに基づいてスペキュラ色を求め、求められたスペキュラ色に基づいて、半透明オブジェクトの反射色を求める。或いはテクスチャマッピング部124が、半透明オブジェクトの周囲の環境(周囲の画像)を表す環境テクスチャを半透明オブジェクトに対して環境マッピングする。そしてライティング処理部122は、この環境マッピングで得られたマッピング色により、半透明オブジェクトの反射色を求める。   In this embodiment, the lighting processing unit 122 performs lighting processing of a semi-transparent object such as a window object, and obtains a light reflection color (specular color or pseudo-specular color) of the semi-transparent object. Specifically, the lighting processing unit 122 obtains a specular color based on the illumination model, and obtains a reflection color of the translucent object based on the obtained specular color. Alternatively, the texture mapping unit 124 maps the environment texture representing the environment (surrounding image) around the translucent object to the translucent object. Then, the lighting processing unit 122 obtains the reflection color of the translucent object based on the mapping color obtained by the environment mapping.

するとα値取得部126は、求められた半透明オブジェクトの反射色(例えばディフューズ色やアンビエント色を除いた反射色)の強さ(明るさ、インテンシティ、パワー)に応じてその値が変化するα値を求める。具体的には、半透明オブジェクトの反射色の強さを求め、反射色が強くなればなるほど半透明オブジェクトの色(ソース色)のブレンディング率が高くなるα値を求める。或いは、テクスチャ記憶部178に記憶される環境テクスチャのαチャネル(αプレーン)に、マッピング色の強さ(明るさ)に応じてその値が変化するα値を設定しておく。そしてα値取得部126は、環境マッピング部124による環境マッピングにより、マッピング色である半透明オブジェクトの反射色の強さに応じてその値が変化するα値を取得してもよい。   Then, the α value acquisition unit 126 changes its value according to the strength (brightness, intensity, power) of the obtained reflection color (for example, reflection color excluding diffuse color and ambient color) of the translucent object. Find the alpha value to be Specifically, the intensity of the reflection color of the semi-transparent object is obtained, and the α value at which the blending rate of the color of the semi-transparent object (source color) increases as the reflection color becomes stronger. Alternatively, an α value whose value changes according to the strength (brightness) of the mapping color is set in the α channel (α plane) of the environmental texture stored in the texture storage unit 178. Then, the α value acquisition unit 126 may acquire an α value whose value changes according to the strength of the reflection color of the translucent object that is the mapping color by the environment mapping by the environment mapping unit 124.

そしてαブレンディング部128は、半透明オブジェクトの色(ソース色)と、半透明オブジェクトの描画先の色であるディスティネーション色(描画バッファ174に描かれている色)とを、α値に基づいてブレンディング(合成)する。具体的には、少なくともスペキュラ色とディフューズ色とアンビエント色に基づいて求められた半透明オブジェクトの色と、ディスティネーション色とを、α値取得部126により求められたα値に基づいてブレンディングする。   Then, the α blending unit 128 determines the color of the semi-transparent object (source color) and the destination color (color drawn in the drawing buffer 174) that is the drawing destination color of the semi-transparent object based on the α value. Blend. Specifically, the color of the translucent object obtained based on at least the specular color, the diffuse color, and the ambient color and the destination color are blended based on the α value obtained by the α value acquisition unit 126. .

音生成部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.本実施形態の手法
2.1 窓の表現
図2(A)において、車を表す移動体MOBには、車のフロントガラスの窓を表す半透明オブジェクトWOBが設けられている。なお以下では、移動体が車であり、半透明オブジェクトが窓オブジェクトである場合を例に取り説明するが、本実施形態はこれに限定されない。例えば移動体は車に限定されず、例えば戦闘機、列車、ロボット等であってもよい。また半透明オブジェクトは窓オブジェクトに限定されず、例えば水面オブジェクト等であってもよい。
2. 2. Method of Present Embodiment 2.1 Window Representation In FIG. 2A, a mobile object MOB representing a car is provided with a translucent object WOB representing a car windshield window. In the following, a case where the moving body is a car and the translucent object is a window object will be described as an example. However, the present embodiment is not limited to this. For example, the moving body is not limited to a car, and may be a fighter, a train, a robot, or the like. The translucent object is not limited to a window object, and may be a water surface object, for example.

図2(A)において、プレーヤの仮想現実感の向上のためには、窓に対する光源LSや背景の光の映り込みについてもリアルに表現できることが望ましい。また、窓が透けて、移動体MOBの内部の様子が見える透過表現を実現できることが望ましい。   In FIG. 2A, in order to improve the player's virtual reality, it is desirable that the light source LS and the background light reflection on the window can be realistically expressed. In addition, it is desirable to be able to realize a transparent expression in which the window can be seen and the inside of the moving body MOB can be seen.

しかしながら、これまでの画像生成システムでは、このような窓への光源や背景の光の映り込み表現と、窓を介した移動体内部の透過表現の両立が難しいという課題があった。   However, the conventional image generation systems have a problem that it is difficult to achieve both the expression of the reflection of the light source and the background light in the window and the transmission expression inside the moving object through the window.

例えば図2(B)においてソース色CSは、窓を表す半透明オブジェクトWOBの色(オブジェクト色、反射色、マテリアル色)であり、ディスティネーション色CDは、半透明オブジェクトWOBの描画先の色(描画バッファの色)である。   For example, in FIG. 2B, the source color CS is the color of the translucent object WOB representing the window (object color, reflection color, material color), and the destination color CD is the color of the drawing destination of the translucent object WOB ( Drawing buffer color).

窓への光源や背景の光の映り込み表現は、例えば照明モデル(モデルの演算式、光源情報、法線情報、仮想カメラ情報)に基づいて、半透明オブジェクトWOBの光の反射色を求め、求められた反射色に基づいて、窓オブジェクトWOBの色CSを求めることで実現できる。   The reflection expression of the light source and background light on the window is obtained, for example, based on an illumination model (model arithmetic expression, light source information, normal information, virtual camera information), and the reflected color of light of the translucent object WOB is obtained. This can be realized by obtaining the color CS of the window object WOB based on the obtained reflection color.

一方、窓を介した移動体内部の透過表現は、半透明オブジェクトWOBの色CSと、移動体内部のシートやドライバの色であるCDとを、α値に基づいてブレンディングすることで実現できる。   On the other hand, the transparent expression inside the moving object through the window can be realized by blending the color CS of the translucent object WOB and the CD which is the color of the sheet or driver inside the moving object based on the α value.

この場合、例えば透明度が高い透き通った窓を表現するためには、半透明オブジェクトWOBの色CSのブレンディング率であるα値を小さくすればよい。このようにα値を小さくして、窓の透過率を高くすれば、車の窓を介して内部の様子がよく見えるようになり、画像のリアル度を増すことができる。   In this case, for example, in order to express a transparent window with high transparency, the α value that is the blending rate of the color CS of the translucent object WOB may be reduced. Thus, if the α value is reduced and the transmittance of the window is increased, the interior can be clearly seen through the window of the car, and the realism of the image can be increased.

ところが、α値を小さくすると、半透明オブジェクトWOBの色CSのブレンディング率が小さくなってしまう。従って、窓のマテリアルとしての色のみならず、光源や環境の映り込みによる反射色のブレンディング率も小さくなり、光源や環境の映り込み画像が薄くなって、目立たなくなってしまう。この結果、透明な窓ガラスに光源や環境が強く映り込んで見えるようなリアルな画像を表現できず、プレーヤの仮想現実感の向上が不十分となる。   However, if the α value is decreased, the blending rate of the color CS of the translucent object WOB is decreased. Accordingly, not only the color as the window material, but also the blending rate of the reflected color due to the reflection of the light source and the environment is reduced, and the reflected image of the light source and the environment becomes thin and becomes inconspicuous. As a result, it is not possible to express a realistic image in which the light source and environment are reflected strongly on the transparent window glass, and the virtual reality of the player is insufficiently improved.

2.2 反射色の強さによるα値の制御
このような課題を解決するために本実施形態では、半透明オブジェクトWOBの反射色の強さ(明るさ)に応じてα値を制御する手法を採用している。
2.2 Control of α value by intensity of reflected color In order to solve such a problem, in the present embodiment, a method of controlling the α value according to the intensity (brightness) of the reflected color of the translucent object WOB. Is adopted.

例えば図3(A)、図3(B)では、半透明オブジェクトWOBのライティング処理を行い、WOBの光の反射色(例えばディフューズ色、アンビエント色を除く反射色)を求める。そして求められた反射色の強さに応じて、α値を変化させる。   For example, in FIGS. 3A and 3B, the lighting processing of the translucent object WOB is performed, and the reflection color of the WOB light (for example, the reflection color excluding the diffuse color and the ambient color) is obtained. Then, the α value is changed according to the obtained intensity of the reflected color.

例えば図3(A)のように半透明オブジェクトWOBの反射色が弱い場合(インテンシティ、スペキュラパワーが小さい場合)には、色CDに対する色CSのブレンディング率に相当するα値を小さくする。一方、図3(B)のように半透明オブジェクトWOBの反射色が強い場合(インテンシティ、スペキュラパワーが大きい場合)には、α値を大きくする。このようにすれば、半透明オブジェクトWOBの反射色(スペキュラ色)が強くなればなるほど、色CDに対する半透明オブジェクトWOBの色CSのブレンディング率が高くなるαブレンディング処理を実現できる。これにより、透明度が高い窓に光源や環境がリアルに映り込んで見える表現を実現できる。   For example, when the reflection color of the translucent object WOB is weak as shown in FIG. 3A (when intensity and specular power are small), the α value corresponding to the blending rate of the color CS with respect to the color CD is reduced. On the other hand, when the reflection color of the translucent object WOB is strong as shown in FIG. 3B (when intensity and specular power are large), the α value is increased. In this way, it is possible to realize an α blending process in which the blending rate of the color CS of the translucent object WOB with respect to the color CD increases as the reflection color (specular color) of the translucent object WOB increases. As a result, it is possible to realize an expression in which a light source and an environment are reflected in a realistically reflected window.

即ち図3(A)では、ピクセルPXAにおける光の反射色が弱いため、PXAにおけるα値は小さくなる。従って、色CSのブレンディング率も小さくなり、ピクセルPXAでは半透明オブジェクトWOBの色CSが薄くなり、下の色CDがよく見えるようになる。従って、このピクセルPXAでは、透明な窓を介して移動体の内部がハッキリと見えるようになる。   That is, in FIG. 3A, since the reflected color of light at the pixel PXA is weak, the α value at PXA is small. Accordingly, the blending rate of the color CS is also reduced, and the color CS of the translucent object WOB is lightened in the pixel PXA, so that the lower color CD can be seen well. Therefore, in the pixel PXA, the inside of the moving body can be clearly seen through the transparent window.

一方、図3(B)では、ピクセルPXBにおける光の反射色が強いため、PXBにおけるα値は大きくなる。従って、色CSのブレンディング率も大きくなり、ピクセルPXBでは下の色CDよりも半透明オブジェクトWOBを色CSの方が濃くなる。従って、このピクセルPXBでは、光源や環境の映り込みがハッキリと見えるようになる。   On the other hand, in FIG. 3B, since the reflected color of light at the pixel PXB is strong, the α value at PXB is large. Accordingly, the blending rate of the color CS is also increased, and the color CS of the translucent object WOB is darker than the lower color CD of the pixel PXB. Therefore, in this pixel PXB, the reflection of the light source and the environment can be clearly seen.

例えば図4、図5に本実施形態により生成された画像の例を示す。図4は、車の窓の光の反射色が弱く、光源や環境の映り込みが弱い場合の画像の例である。図4では、窓に対する映り込みがなく、透明な窓を介して車内部のシートやドライバの様子がハッキリと透けて見える画像が生成されている。   For example, FIGS. 4 and 5 show examples of images generated by this embodiment. FIG. 4 is an example of an image when the reflected color of light from a car window is weak and the reflection of a light source or environment is weak. In FIG. 4, an image is generated in which there is no reflection on the window and the state of the seat inside the vehicle and the driver can be clearly seen through the transparent window.

一方、図5は、車の窓の光の反射色が強く、光源や環境の映り込みが強い場合の画像の例である。図5では、窓に対して光源や環境が強く映り込んだ画像が生成されており、現実世界に近いリアルな画像の生成に成功している。   On the other hand, FIG. 5 is an example of an image when the reflected color of light from a car window is strong and the reflection of a light source or environment is strong. In FIG. 5, an image in which the light source and the environment are reflected strongly in the window is generated, and a real image close to the real world has been successfully generated.

そして本実施形態によれば、例えば移動体である車が移動し、車、仮想カメラ、光源、周囲の環境の間の位置関係が変化し、窓に対する光の反射色の強弱が変化すると、それに応じて窓への光源や環境の映り込みもリアルタイムに変化するようになる。例えば、車、仮想カメラ、光源、環境の間の位置関係が第1の位置関係である場合には図4に示すような画像が生成され、第2の位置関係である場合には図5に示すような画像が生成される。従って、位置関係の変化により窓の映り込み画像がリアルタイムに変化するため、これまでにないリアルな画像を生成できる。   According to the present embodiment, for example, when a car that is a moving body moves, the positional relationship between the car, the virtual camera, the light source, and the surrounding environment changes, and the intensity of the reflected color of light with respect to the window changes, Correspondingly, the light source and the reflection of the environment on the window also change in real time. For example, when the positional relationship among the car, virtual camera, light source, and environment is the first positional relationship, an image as shown in FIG. 4 is generated, and when the positional relationship is the second positional relationship, FIG. An image as shown is generated. Accordingly, the reflected image of the window changes in real time due to the change in the positional relationship, so that an unprecedented realistic image can be generated.

2.3 照明モデルによるライティング処理
次に、ライティング処理による反射色の求め方の具体例について説明する。現実世界での照光現象をシミュレートするための数学的モデルとして、この種の画像生成システムでは種々の照明モデルが用いられている。図6(A)、図6(B)に、光源が平行光である場合の照明モデルの例を示す。
2.3 Lighting Processing by Lighting Model Next, a specific example of how to obtain the reflected color by lighting processing will be described. As a mathematical model for simulating an illumination phenomenon in the real world, various illumination models are used in this type of image generation system. FIGS. 6A and 6B show examples of illumination models when the light source is parallel light.

図6(A)はフォンの照明モデルを説明する図であり、この照明モデルは下式(1)のように表される。   FIG. 6A is a diagram for explaining the lighting model of the phone, and this lighting model is represented by the following equation (1).

I=Ksp×(L・R)×Isp+Kdf×(N・L)×Idf+Kam×Iam (1)
ここで、Ksp、Kdf、Kamは、各々、スペキュラ光、ディフューズ光、アンビエント光についての反射率(物体色)であり、Isp、Idf、Iamは、スペキュラ光、ディフューズ光、アンビエント光の輝度(強さ、光源色)である。Nはオブジェクト(移動体、窓オブジェクト)の法線ベクトルであり、Lは光源(平行光源)LSのベクトルであり、Rは反射ベクトルであり、R=−E+2(N・E)Nと表すことができる。nは鏡面反射指数(ハイライト特性係数)である。
I = Ksp * (L * R) n * Isp + Kdf * (N * L) * Idf + Kam * Iam (1)
Here, K sp , K df , and K am are reflectances (object colors) for specular light, diffuse light, and ambient light, respectively, and I sp , I df , and I am are specular light and diffuse light, respectively. It is the brightness (intensity, light source color) of light and ambient light. N is a normal vector of an object (moving object, window object), L is a vector of a light source (parallel light source) LS, R is a reflection vector, and R = −E + 2 (N · E) N Can do. n is a specular reflection index (highlight characteristic coefficient).

このフォンの照明モデルでは、スペキュラ光の強さはライトベクトルLと反射ベクトルRの内積のべき乗で表される。従って、ライトベクトルLと反射ベクトルRの向きが近くなる場所ほど、スペキュラ光が強くなる。また鏡面反射指数nが例えば10以下というように小さい場合には、広い範囲にわたって鏡面反射のハイライトが広がり、鏡面反射指数Pが例えば100ぐらいに大きい場合には、ハイライトが小さな点になる。   In this Phong illumination model, the intensity of specular light is expressed as the power of the inner product of the light vector L and the reflection vector R. Therefore, the specular light becomes stronger as the direction of the light vector L and the reflection vector R becomes closer. When the specular reflection index n is as small as 10 or less, for example, the specular reflection highlight spreads over a wide range, and when the specular reflection index P is as large as about 100, the highlight becomes a small point.

図6(B)はブリン・フォンの照明モデルを説明する図であり、この照明モデルは下式(2)のように表される。   FIG. 6B is a diagram for explaining an illumination model of Brin Fong, and this illumination model is expressed by the following equation (2).

I=Ksp×(N・H)×Isp+Kdf×(N・L)×Idf+Kam×Iam (2)
ここで、Hはハーフベクトルであり、H=(E+L)/|E+L|と表すことができる。
I = Ksp * (N * H) n * Isp + Kdf * (N * L) * Idf + Kam * Iam (2)
Here, H is a half vector and can be expressed as H = (E + L) / | E + L |.

このブリン・フォンの照明モデルでは、スペキュラ光の強さは法線ベクトルNとハーフベクトルHの内積のべき乗で表される。従って、法線ベクトルNとハーフベクトルHの向きが近くなる場所ほど、スペキュラ光が強くなる。   In the Brin von lighting model, the intensity of specular light is expressed by the power of the inner product of the normal vector N and the half vector H. Accordingly, the specular light becomes stronger as the direction of the normal vector N and the half vector H becomes closer.

本実施形態では、上式(1)、(2)に示すような照明モデルに基づいて、スペキュラ光による反射色であるスペキュラ色を求め、求められたスペキュラ色に基づいて、半透明オブジェクトの反射色を求める。そして、スペキュラ色により求められた反射色の強さに応じてその値が変化するα値を求める。   In the present embodiment, a specular color, which is a reflected color by specular light, is obtained based on the illumination model as shown in the above formulas (1) and (2), and the reflection of the translucent object is based on the obtained specular color. Find the color. Then, an α value whose value changes according to the intensity of the reflected color obtained from the specular color is obtained.

例えば上式(1)のフォンの照明モデルでは、スペキュラ色はCsp=Ksp×(L・R)×Ispというように求められる。また上式(2)のブリン・フォンの照明モデルでは、スペキュラ色はCsp=Ksp×(N・H)×Ispというように求められる。即ち光源ベクトルLと、仮想カメラVCの視線ベクトルEと、半透明オブジェクト(移動体)の法線ベクトルNに基づいて、スペキュラ色Cspが求められる。 For example, in the phone lighting model of the above equation (1), the specular color is obtained as C sp = K sp × (L · R) n × I sp . Further, in the Brin von illumination model of the above formula (2), the specular color is obtained as C sp = K sp × (N · H) n × I sp . That is, the specular color Csp is obtained based on the light source vector L, the line-of-sight vector E of the virtual camera VC, and the normal vector N of the translucent object (moving body).

そして、求められたスペキュラ色Cspに基づいて、反射色(スペキュラ色)の強さパラメータSP=F(Csp)が求められ、強さパラメータSPに基づいて、α値α=G(SP)が求められる。なお、FはCspを引数とする所定の関数を表し、GはSPを引数とする所定の関数を表す。 Then, based on the specular color C sp obtained, reflection color strength parameter SP = F in (specular color) (C sp) is determined on the basis of the strength parameter SP, alpha value alpha = G (SP) Is required. Note that F represents a predetermined function with C sp as an argument, and G represents a predetermined function with SP as an argument.

このように照明モデルに基づきスペキュラ色を求め、このスペキュラ色に基づきα値を求めれば、スペキュラ色の強弱に応じてα値を変化させることが可能になる。従って、例えばスペキュラ光の鏡面反射が弱い領域ではα値が小さくなる一方で、スペキュラ光の鏡面反射が強い領域ではα値が大きくなる表現が可能になる。これにより、透明な窓ガラスに対するスペキュラ光の映り込みのリアルな画像表現が可能になる。   Thus, if the specular color is obtained based on the illumination model and the α value is obtained based on the specular color, the α value can be changed according to the strength of the specular color. Therefore, for example, an expression in which the α value is small in a region where specular reflection of specular light is weak, while an α value is large in a region where specular reflection of specular light is strong is possible. As a result, a realistic image representation of the specular light reflected on the transparent window glass becomes possible.

なお本実施形態で用いる照明モデルは上式(1)(2)に限定されない。例えば上式(1)(2)と数学的にほぼ等価な照明モデルであってもよいし、上式(1)(2)の照明モデルに対して明るさ補正等を行ってもよい。或いは、上式(1)(2)とは異なる式で表される照明モデルを用いてもよい。   The illumination model used in this embodiment is not limited to the above formulas (1) and (2). For example, an illumination model that is mathematically substantially equivalent to the above equations (1) and (2) may be used, or brightness correction or the like may be performed on the illumination models of the above equations (1) and (2). Alternatively, an illumination model represented by an expression different from the above expressions (1) and (2) may be used.

2.4 環境マッピングによるライティング処理
図7(A)では、移動体MOBへの背景の光の映り込みを表現するために、環境マッピングを利用している。具体的には、キューブオブジェクトCOB(広義には環境マッピング用オブジェクト)の画像を、環境テクスチャとしてオブジェクト空間で移動する移動体MOBに対して環境マッピングする。なお図8に、キューブ環境マッピングを用いる場合の環境テクスチャの例を示す。
2.4 Lighting Processing by Environment Mapping In FIG. 7A, environment mapping is used to express the reflection of background light on the mobile MOB. Specifically, an environment mapping is performed on an image of a cube object COB (environment mapping object in a broad sense) with respect to a moving body MOB that moves in an object space as an environment texture. FIG. 8 shows an example of an environment texture when cube environment mapping is used.

例えば図7(A)において、仮想カメラVCは移動体MOBに追従して移動しており、仮想カメラVCから見える画像には移動体MOBの画像が映し出されている。この時、キューブオブジェクトCOBの内側には、仮想カメラVCにより周囲を見回した時の背景画像が描かれており、この背景画像を、環境テクスチャとして移動体MOBにマッピングする。このようにすれば、周囲の環境を表す環境テクスチャが、移動体MOBの窓(半透明オブジェクト)に対してもマッピングされるようになり、窓への背景の光の映り込みを実現できる。そして、このような環境マッピングで得られたマッピング色により、窓の反射色を求め、求められた反射色の強さに応じてα値を変化させる。   For example, in FIG. 7A, the virtual camera VC moves following the moving body MOB, and an image of the moving body MOB is displayed in an image seen from the virtual camera VC. At this time, a background image when the surroundings are looked around by the virtual camera VC is drawn inside the cube object COB, and this background image is mapped to the moving body MOB as an environmental texture. In this way, the environment texture representing the surrounding environment can be mapped to the window (semi-transparent object) of the moving object MOB, and the reflection of background light on the window can be realized. Then, the reflection color of the window is obtained from the mapping color obtained by such environment mapping, and the α value is changed according to the obtained intensity of the reflection color.

このようにすれば、窓に対する背景の光の映り込みが、移動体MOB、仮想カメラVC等の位置関係に応じて、リアルタイムに変化するようになる。即ち、映り込みが少ない位置関係にある場合には、図4のような画像が生成され、映り込みが多い位置関係にある場合には、図5のような画像が生成されるようになり、更にリアルな映り込み表現を実現できる。   In this way, the reflection of background light on the window changes in real time in accordance with the positional relationship between the moving object MOB, the virtual camera VC, and the like. That is, when there is a positional relationship with less reflection, an image as shown in FIG. 4 is generated, and when there is a positional relationship with more reflection, an image as shown in FIG. 5 is generated. In addition, realistic reflection expression can be realized.

例えば図6(A)、図6(B)の照明モデルを用いる手法では、平行光源の鏡面反射による映り込みしか表現できない。これに対して図7(A)の環境マッピングを用いる手法では、周囲の複雑な背景の光の映り込みを表現できる。即ち図5に示すように、車内部が透けてみる透明な窓ガラスに対して、背景の明るい部分が映り込むリアルな表現を実現できる。   For example, in the method using the illumination model shown in FIGS. 6A and 6B, only reflection due to specular reflection of a parallel light source can be expressed. On the other hand, in the method using the environment mapping in FIG. 7A, it is possible to express the reflection of light in the surrounding complicated background. That is, as shown in FIG. 5, it is possible to realize a realistic expression in which a bright portion of the background is reflected on a transparent window glass through which the interior of the vehicle can be seen.

なお図7(A)の環境マッピングは以下の手法で実現できる。即ち図7(A)において移動体MOBの各点(頂点、ピクセル、面)には法線ベクトルNが設定される。この場合に、例えば仮想カメラVCの視線ベクトルと法線ベクトルNとに基づいて、光の反射ベクトルRを求める。そしてこの反射ベクトルRを用いて環境テクスチャをフェッチする。具体的には、反射ベクトルRの例えばX、Y座標(或いは座標変換後のX、Y座標)に基づいて、所定の演算式により、環境マッピングのためのテクスチャ座標U、Vを求める。そして求められたテクスチャ座標U、Vに基づいて、キューブオブジェクトCOBの画像(環境テクスチャ)をサンプリングして、移動体MOBにマッピングする。このようにすれば、移動体MOBや仮想カメラVCの位置関係に応じてリアルに変化する映り込み画像を、移動体MOBにマッピングできる。   The environment mapping in FIG. 7A can be realized by the following method. That is, in FIG. 7A, a normal vector N is set for each point (vertex, pixel, surface) of the moving object MOB. In this case, for example, the light reflection vector R is obtained based on the line-of-sight vector and the normal vector N of the virtual camera VC. Then, the environment texture is fetched using the reflection vector R. Specifically, based on, for example, the X and Y coordinates (or the X and Y coordinates after coordinate conversion) of the reflection vector R, texture coordinates U and V for environment mapping are obtained by a predetermined arithmetic expression. Based on the obtained texture coordinates U and V, an image (environmental texture) of the cube object COB is sampled and mapped to the moving object MOB. In this way, it is possible to map a reflected image that changes realistically according to the positional relationship between the mobile object MOB and the virtual camera VC to the mobile object MOB.

なお図7(A)では、キューブ環境マッピングの例を示しているが、本実施形態の環境マッピングはこのようなキューブ環境マッピングに限定されず、スフィア環境マッピング、パラボロイド環境マッピング、シリンダ環境マッピングなどであってもよい。また、スペキュラ光による鏡面反射の表現は、図7(B)に示すように、円の中心に近づくほど明るくなり、円の中心から遠ざかるほど暗くなる反射マップテクスチャを用いた反射マッピングにより実現してもよい。   Although FIG. 7A shows an example of cube environment mapping, the environment mapping according to the present embodiment is not limited to such cube environment mapping, and includes sphere environment mapping, paraboloid environment mapping, cylinder environment mapping, and the like. There may be. In addition, as shown in FIG. 7B, the expression of specular reflection by specular light is realized by reflection mapping using a reflection map texture that becomes brighter as it approaches the center of the circle and becomes darker as it moves away from the center of the circle. Also good.

2.5 α値の演算
次に、α値の具体的な演算手法について説明する。例えば図9(A)、図9(B)では、半透明オブジェクトWOBの反射色の強さパラメータ(明るさパラメータ)をSPとし、マテリアルパラメータをP1、P2とした場合に、これらのパラメータSP、P1、P2を用いた演算式によりα値を求めている。例えば反射色の強さパラメータは下式のような演算式により求めることができる。
2.5 Calculation of α Value Next, a specific calculation method of the α value will be described. For example, in FIGS. 9A and 9B, when the intensity parameter (brightness parameter) of the reflection color of the translucent object WOB is SP and the material parameters are P1 and P2, these parameters SP, The α value is obtained by an arithmetic expression using P1 and P2. For example, the intensity parameter of the reflected color can be obtained by an arithmetic expression such as the following expression.

SP=F(Csp)=K×Rsp+K×Gsp+K×Bsp (3)
ここで、K、K、Kとしては、RGB−YUV変換においてRGB成分をY成分に変換する係数等を用いることができ、例えばK=0.299、K=0.587、K=0.114である。これにより反射色の強さ(明るさ、輝度)を抽出できる。
SP = F (C sp) = K 1 × R sp + K 2 × G sp + K 3 × B sp (3)
Here, as K 1 , K 2 , and K 3 , coefficients that convert RGB components into Y components in RGB-YUV conversion can be used. For example, K 1 = 0.299, K 2 = 0.587, K is a 3 = 0.114. Thereby, the intensity (brightness and luminance) of the reflected color can be extracted.

また、α値は例えば下式のような演算式で求めることができる。   Further, the α value can be obtained by an arithmetic expression such as the following expression.

α=G(SP)=P1+P2×SP (4)
ここで、マテリアルパラメータP1は、半透明オブジェクトWOBのデフォルトの透明度を表すパラメータであり、マテリアルパラメータP2は、反射色強度−α値の変換係数パラメータである。
α = G (SP) = P1 + P2 × SP (4)
Here, the material parameter P1 is a parameter representing the default transparency of the translucent object WOB, and the material parameter P2 is a conversion coefficient parameter of reflected color intensity-α value.

そして本実施形態では、半透明オブジェクトWOBのマテリアル(種類、材質)に応じて異なった値に設定されるマテリアルパラメータP1、P2に基づいて、α値を求めている。   In this embodiment, the α value is obtained based on the material parameters P1 and P2 set to different values depending on the material (type and material) of the translucent object WOB.

例えば図9(A)では、マテリアルパラメータP1が小さな値に設定されており、これにより、透明度が高い透明ガラスを表現できる。一方、図9(B)ではマテリアルパラメータP1が大きな値に設定されており、これにより、透明度が低いくもりガラス(スモークガラス)を表現できる。例えばP1=0に設定すると、反射色が映り込まない部分においては、α=0になり、下の色CDが完全に透けて見えるようになる。一方、P1を大きくすると、反射色が映り込まない部分においても、α=P1になるため、半透明な部分を介して下の色CDが見えるようになる。またマテリアルパラメータP2を大きな値に設定すればするほど、反射色の強い部分での透明度と反射色の弱い部分での透明度との差が大きくなる。   For example, in FIG. 9A, the material parameter P1 is set to a small value, and thereby, transparent glass with high transparency can be expressed. On the other hand, in FIG. 9B, the material parameter P1 is set to a large value, and thereby, a cloudy glass (smoke glass) with low transparency can be expressed. For example, when P1 = 0 is set, α = 0 is set in the portion where the reflected color is not reflected, and the lower color CD can be completely seen through. On the other hand, when P1 is increased, α = P1 even in a portion where the reflected color is not reflected, so that the lower color CD can be seen through the translucent portion. In addition, the larger the material parameter P2 is set, the greater the difference between the transparency in the portion where the reflection color is strong and the transparency in the portion where the reflection color is weak.

このように上式(4)の演算式によりα値を求めれば、マテリアルパラメータP1、P2を制御することで、種々のマテリアルの半透明オブジェクトWOBを表現できるようになり、少ない処理負荷で多様な画像表現を実現できる。また例えばマテリアルパラメータP1、P2を、ゲーム処理に結果に応じてリアルタイムに変化させれば、アニメーション的な表現も可能になり、更に多様な画像表現を実現できる。   Thus, if the α value is obtained by the above equation (4), the semi-transparent object WOB of various materials can be expressed by controlling the material parameters P1 and P2, and various processing loads can be achieved with a small processing load. Image representation can be realized. Further, for example, if the material parameters P1 and P2 are changed in real time in accordance with the result of the game processing, animation expression can be realized, and various image expressions can be realized.

なおα値の取得手法は上式(3)、(4)を用いる手法に限定されない。例えば上式(3)とは異なる演算式(例えば係数や次数や関数の形が異なる式)で反射光の強さを求めてもよいし、上式(4)とは異なる演算式(例えば次数や次数や関数の形が異なる式)でα値を求めてもよい。また、反射光の強さを求めずに、法線ベクトル、視線ベクトル、光源ベクトル等に基づいて直接にα値を求めることも可能である。   The α value acquisition method is not limited to the method using the above equations (3) and (4). For example, the intensity of reflected light may be obtained by an arithmetic expression different from the above expression (3) (for example, an expression having a different coefficient, order, or function), or an arithmetic expression different from the above expression (4) (for example, an order). Alternatively, the α value may be obtained by an equation having a different order or function form. It is also possible to directly obtain the α value based on the normal vector, the line-of-sight vector, the light source vector, etc. without obtaining the intensity of the reflected light.

或いは、環境マッピングを有効活用してα値を取得してもよい。例えば図10では、環境テクスチャの色チャネル(色プレーン、色テクセル)には半透明オブジェクトのマッピング色Cmpが設定されている。一方、環境テクスチャのαチャネル(αプレーン、αテクセル)には、マッピング色Cmpの強さ(明るさ)に応じてその値が変化するα値が設定される。即ちマッピング色Cmpが強くなればなるほど、半透明オブジェクトの色のブレンディング率が高くなるα値が設定される。 Alternatively, the α value may be acquired by effectively using environment mapping. For example, in FIG. 10, the mapping color Cmp of the translucent object is set in the color channel (color plane, color texel) of the environmental texture. On the other hand, an α value whose value changes according to the strength (brightness) of the mapping color C mp is set in the α channel (α plane, α texel) of the environment texture. That is, an α value is set such that the higher the mapping color C mp is, the higher the blending rate of the color of the translucent object is.

このようにすれば、環境マッピングを利用して、マッピング色Cmpである半透明オブジェクトの反射色の強さに応じてその値が変化するα値を取得できるようになる。即ち、図7(A)のように環境マッピングにより反射色を求めている場合には、反射色となるマッピング色Cmpのフェッチの際に、α値もフェッチできる。従って、上式(3)、(4)のような演算も不要となり、環境マッピングを有効活用してα値を取得できるため、処理負荷を軽減できる。 In this way, it is possible to acquire an α value whose value changes according to the intensity of the reflection color of the translucent object, which is the mapping color Cmp , using environment mapping. That is, when the reflection color is obtained by environment mapping as shown in FIG. 7A, the α value can also be fetched at the time of fetching the mapping color Cmp that becomes the reflection color. Accordingly, calculations such as the above formulas (3) and (4) are not required, and the α value can be acquired by effectively using environment mapping, so that the processing load can be reduced.

2.6 スペキュラ色の強さによるα値の演算
図11では、反射色のうちディフューズ色やアンビエント色を除くスペキュラ色の強さに応じてα値を演算している。
2.6 Calculation of α Value According to Specular Color Strength In FIG. 11, the α value is calculated according to the intensity of the specular color excluding the diffuse color and the ambient color among the reflected colors.

具体的には図6(A)、図6(B)で説明した手法により、照明モデルによるスペキュラ色Csp’を求める。また図7(A)で説明した手法により、環境マッピングのマッピング色Cmpを擬似的なスペキュラ色として求める。そしてCsp’Cmpにより、α値の算出に用いるスペキュラ色Csp=Csp’+Cmpを求める。 Specifically, the specular color C sp ′ based on the illumination model is obtained by the method described in FIGS. 6 (A) and 6 (B). Further, the mapping color Cmp of the environment mapping is obtained as a pseudo specular color by the method described with reference to FIG. The 'by C mp, specular color C sp = C sp used to calculate α value' C sp seek + C mp.

また照明モデル(例えばランバードの拡散照明モデル)を用いてディフューズ色Cdf、アンビエント色Camを求める。例えばディフューズ色Cdf、アンビエント色Camは、下式の照明モデルにより求めることができる。 Further, the diffuse color C df and the ambient color C am are obtained using an illumination model (for example, a Lumbard diffuse illumination model). For example, the diffuse color C df and the ambient color C am can be obtained by the following illumination model.

I=Kdf×(N・L)×Idf+Kam×Iam (5)
そして、このようにして求められたスペキュラ色Csp、ディフューズ色Cdf、アンビエント色Camにより、半透明オブジェクトの色CS(ソース色)を、下式のように求めることができる。
I = K df × (N · L) × I df + K am × I am (5)
Then, the color CS (source color) of the translucent object can be obtained from the specular color C sp , diffuse color C df , and ambient color C am obtained as described above, as shown in the following equation.

CS=Csp+Cdf+Cam (6)
このように半透明オブジェクトの色CSは、少なくともスペキュラ色Cspとディフューズ色Cdfとアンビエント色Camに基づいて求められる。
CS = C sp + C df + C am (6)
Color CS of such translucent object is determined based on at least specular color C sp and diffuse color C df and ambient color C am.

そして、最終的な色CQは、ソース色CSとディフューズ色CDとをα値に基づいてαブレンディングすることにより、下式のように求めることができる。   The final color CQ can be obtained by the following equation by α blending the source color CS and the diffuse color CD based on the α value.

CQ=(1−α)×CD+α×CS (7)
この時、α値は図11のA1に示すように、スペキュラ色Csp=Csp’+Cmpにより求められる。具体的にはスペキュラ色Csp(広義には反射色)の強さパラメータSP=F(Csp)が求められ、強さパラメータSPによりα値α=G(SP)が求められる。
CQ = (1-α) × CD + α × CS (7)
At this time, the α value is obtained from the specular color C sp = C sp ′ + C mp as indicated by A1 in FIG. Specifically, the intensity parameter SP = F (C sp ) of the specular color C sp (reflection color in a broad sense) is obtained, and the α value α = G (SP) is obtained from the intensity parameter SP.

このように図11では、反射光のうちディフューズ色Cdfとアンビエント色Camを除くスペキュラ色Cspを求め、スペキュラ色Cspの強さに応じてα値を変化させている。このようにすることで、半透明オブジェクトに対するよりリアルな映り込み表現を実現できる。即ちα値の取得にディフューズ色Cdfとアンビエント色Camを用いると、マテリアルの色等がα値に影響を及ぼしてしまう。例えば白い半透明オブジェクトでは、光の映り込みが強くない領域においてもα値が大きくなってしまい、リアルな映り込み表現が難しくなる。これに対して、スペキュラ色Cspの強さに応じてα値を変化させれば、光の映り込みが強い領域ではα値が大きくなり、光の映り込みが弱い領域ではα値が大きくならないため、半透明オブジェクトへのよりリアルな映り込み表現を実現できる。従って、画像のリアル度の向上のためには、図11のようにスペキュラ色Cspの強さに応じてα値を変化させる手法が望ましい。 In this way 11 obtains the specular color C sp excluding diffuse color C df and ambient color C am of the reflected light, and changing the α value according to the strength of the specular color C sp. In this way, a more realistic reflection expression for a semi-transparent object can be realized. That is, when the diffuse color C df and the ambient color C am are used for obtaining the α value, the color of the material affects the α value. For example, in the case of a white translucent object, the α value becomes large even in an area where the reflection of light is not strong, and it becomes difficult to express realistic reflection. In contrast, by changing the α value according to the strength of the specular color C sp, in reflection is strong region of the light becomes large α value, in reflection of the light is weak region does not become α value is larger Therefore, a more realistic reflection expression on the translucent object can be realized. Therefore, in order to improve the real degree of the image, a technique of changing the α value according to the strength of the specular color C sp as shown in FIG. 11 is desirable.

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

まず、移動体を含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定処理を行う(ステップS1)。次に、車等の移動体をオブジェクト空間内で移動させる移動体演算処理を行う(ステップS2)。具体的には、操作部160からの操作データやプログラムなどに基づいて、1フレームごとの移動体の位置の変化、方向の変化、動作の変化が、リアルタイムに演算される。   First, an object space setting process for arranging and setting a plurality of objects including a moving object in the object space is performed (step S1). Next, a moving body calculation process for moving a moving body such as a car in the object space is performed (step S2). Specifically, based on operation data from the operation unit 160, a program, and the like, a change in the position of the moving body, a change in direction, and a change in operation for each frame are calculated in real time.

次に頂点シェーダプログラムによる頂点シェーダ処理を行う(ステップS3)。この頂点シェーダ処理により得られた頂点座標、視線ベクトル、光源ベクトル、法線ベクトル等は、出力レジスタに格納され、ピクセルシェーダ処理に渡される。   Next, vertex shader processing by the vertex shader program is performed (step S3). Vertex coordinates, line-of-sight vectors, light source vectors, normal vectors, and the like obtained by this vertex shader processing are stored in an output register and passed to pixel shader processing.

次に、ピクセルシェーダプログラムによるピクセルシェーダ処理を開始する(ステップS4)。このピクセルシェーダ処理によりステップS5〜S12の処理が行われる。   Next, pixel shader processing by the pixel shader program is started (step S4). By this pixel shader process, the processes of steps S5 to S12 are performed.

具体的には、まず、図6(A)、図6(B)で説明したように、光源ベクトルL、視線ベクトルE、法線ベクトルNに基づいて、スペキュラ色Csp’を求める(ステップS5)。また図7(A)で説明したように、環境マッピングを行いマッピング色Cmpをフェッチする(ステップS6)。そしてスペキュラ色Csp=Csp’+Cmpを求める(ステップS7)。 Specifically, first, as described with reference to FIGS. 6A and 6B, the specular color C sp ′ is obtained based on the light source vector L, the line-of-sight vector E, and the normal vector N (step S5). ). Further, as described with reference to FIG. 7A, environment mapping is performed and the mapping color Cmp is fetched (step S6). Then, the specular color C sp = C sp '+ C mp is obtained (step S7).

次にスペキュラ色Cspの強さパラメータSP=F(Csp)=K×Rsp+K×Gsp+K×Bspを求める(ステップS8)。そして、マテリアルパラメータP1、P2と強さパラメータSPに基づき、α=G(SP)=P1+P2×SPを求める(ステップS9)。 Then determine the specular color C strength parameter of sp SP = F (C sp) = K 1 × R sp + K 2 × G sp + K 3 × B sp ( step S8). Then, α = G (SP) = P1 + P2 × SP is obtained based on the material parameters P1 and P2 and the strength parameter SP (step S9).

次に、照明モデルに基づきディフューズ色Cdf、アンビエント色Camを求める(ステップS10)。そしてスペキュラ色Csp、ディフューズ色Cdf、アンビエント色Camに基づいて半透明オブジェクトの色CS=Csp+Cdf+Camを求める(ステップS11)。そして、色CSとディスティネーション色CDを、ステップS9で求められたα値に基づきブレンディングし、最終的な色CQ=(1−α)×CD+α×CSを求める(ステップS12)。 Next, the diffuse color C df and the ambient color C am are obtained based on the illumination model (step S10). Then, based on the specular color C sp , the diffuse color C df , and the ambient color C am , the color CS = C sp + C df + C am of the translucent object is obtained (step S11). Then, the color CS and the destination color CD are blended based on the α value obtained in step S9 to obtain a final color CQ = (1−α) × CD + α × CS (step S12).

図13は図10の手法を実現する処理のフローチャートである。ステップS21〜ステップS25では、図12のステップS1〜S5と同様の処理を行う。次に、環境マッピングを行い、マッピング色Cmpのみならずα値をフェッチする(ステップS26)。このα値は、マッピング色Cmpの強さに応じてその値が変化するα値となっている。 FIG. 13 is a flowchart of processing for realizing the method of FIG. In steps S21 to S25, processing similar to that in steps S1 to S5 in FIG. 12 is performed. Next, environment mapping is performed to fetch not only the mapping color C mp but also the α value (step S26). This α value is an α value that changes in accordance with the strength of the mapping color Cmp .

次に、スペキュラ色Csp=Csp’+Cmpを求める(ステップS27)。そして図13では図12のステップS8、S9の処理が省略される。そしてステップS28〜S30では、図12のステップS10〜S12と同様の処理を行う。この場合に、ステップS30では、ステップS26の環境マッピングによりフェッチされたα値に基づき、αブレンディング処理が行われる。 Next, the specular color C sp = C sp ′ + C mp is obtained (step S27). In FIG. 13, steps S8 and S9 in FIG. 12 are omitted. In steps S28 to S30, processing similar to that in steps S10 to S12 in FIG. 12 is performed. In this case, in step S30, α blending processing is performed based on the α value fetched by the environment mapping in step S26.

3.ハードウェア構成
図14(A)に本実施形態を実現できるハードウェアの構成例を示す。
3. Hardware Configuration FIG. 14A shows a hardware configuration example that can realize the present embodiment.

CPU900(メインプロセッサ)は、複数のCPUコア1、CPUコア2、CPUコア3を含むマルチコアプロセッサである。またCPU900は図示しないキャッシュメモリを含む。CPUコア1、2、3の各々にはベクタ演算器等が設けられている。そしてCPUコア1、2、3の各々は、例えば2つのH/Wスレッド処理をコンテクストスイッチをすることなしに並列実行でき、マルチスレッド機能がハードウェアでサポートされている。そして3つのCPUコア1、2、3の合計で、6つのH/Wスレッド処理を並列実行できる。   The CPU 900 (main processor) is a multi-core processor including a plurality of CPU cores 1, CPU cores 2, and CPU cores 3. The CPU 900 includes a cache memory (not shown). Each of the CPU cores 1, 2, and 3 is provided with a vector calculator and the like. Each of the CPU cores 1, 2, and 3 can execute, for example, two H / W thread processes in parallel without performing a context switch, and a multi-thread function is supported by hardware. A total of three CPU cores 1, 2, and 3 can execute six H / W thread processes in parallel.

GPU910(描画プロセッサ)は、頂点処理やピクセル処理を行って、描画(レンダリング)処理を実現する。具体的には、シェーダプログラムに従って、頂点データの作成・変更やピクセル(フラグメント)の描画色の決定を行う。1フレーム分の画像がVRAM920(フレームバッファ)に書き込まれると、その画像はビデオ出力を介してTVなどのディスプレイに表示される。なおメインメモリ930はCPU900やGPU910のワークメモリとして機能する。またGPU910では、複数の頂点スレッド、複数のピクセルスレッドが並列実行され、描画処理のマルチスレッド機能がハードウェアでサポートされている。またGPU910にはハードウェアのテッセレータも備えられている。またGPU910は、頂点シェーダとピクセルシェーダとがハードウェア的に区別されていないユニファイド・シェーダ・タイプとなっている。   The GPU 910 (drawing processor) performs vertex processing and pixel processing to realize drawing (rendering) processing. Specifically, according to the shader program, the vertex data is created / changed and the drawing color of the pixel (fragment) is determined. When an image for one frame is written into the VRAM 920 (frame buffer), the image is displayed on a display such as a TV via a video output. The main memory 930 functions as a work memory for the CPU 900 and the GPU 910. Further, in the GPU 910, a plurality of vertex threads and a plurality of pixel threads are executed in parallel, and a multi-thread function of drawing processing is supported by hardware. The GPU 910 is also provided with a hardware tessellator. The GPU 910 is a unified shader type in which the vertex shader and the pixel shader are not distinguished in terms of hardware.

ブリッジ回路940(サウスブリッジ)は、システム内部の情報流通を制御する回路であり、USBコントローラ(シリアルインターフェース)、ネットワーク(イーサネット(登録商標))の通信コントローラ、IDEコントローラ、或いはDMAコントローラなどのコントローラを内蔵する。そしてこのブリッジ回路940により、ゲームコントローラ942、メモリーカード944、HDD946、DVDドライブ948との間のインターフェース機能が実現される。   The bridge circuit 940 (south bridge) is a circuit that controls the flow of information inside the system, and includes a controller such as a USB controller (serial interface), a network (Ethernet (registered trademark)) communication controller, an IDE controller, or a DMA controller. Built in. The bridge circuit 940 implements an interface function among the game controller 942, the memory card 944, the HDD 946, and the DVD drive 948.

なお本実施形態を実現できるハードウェア構成は図14(A)に限定されず、例えば図14(B)のような構成であってもよい。   Note that the hardware configuration capable of realizing this embodiment is not limited to FIG. 14A, and may be, for example, a configuration as shown in FIG.

図14(B)ではCPU902が、プロセッサエレメントPPと8つのプロセッサエレメントPE1〜PE8を含む。プロセッサエレメントPPは汎用的なプロセッサコアであり、プロセッサエレメントPE1〜PE8は比較的シンプルな構成のプロセッサコアである。そしてプロセッサエレメントPPとプロセッサエレメントPE1〜PE8のアーキテクチャは異なっており、プロセッサエレメントPE1〜PE8は、複数のデータに対して1命令で同じ処理を同時にできるSIMD型のプロセッサコアとなっている。これによりストリーミング処理などのマルチメディア処理を効率的に実行できる。プロセッサエレメントPPは、2つのH/Wスレッド処理を並列実行でき、プロセッサエレメントPE1〜PE8の各々は、1つのH/Wスレッド処理を実行できる。従って、CPU902では、合計で10個のH/Wスレッド処理の並列実行が可能になる。   In FIG. 14B, the CPU 902 includes a processor element PP and eight processor elements PE1 to PE8. The processor element PP is a general-purpose processor core, and the processor elements PE1 to PE8 are processor cores having a relatively simple configuration. The architectures of the processor element PP and the processor elements PE1 to PE8 are different, and the processor elements PE1 to PE8 are SIMD type processor cores that can simultaneously perform the same processing on a plurality of data with one instruction. Thereby, multimedia processing such as streaming processing can be executed efficiently. The processor element PP can execute two H / W thread processes in parallel, and each of the processor elements PE1 to PE8 can execute one H / W thread process. Therefore, the CPU 902 can execute a total of 10 H / W thread processes in parallel.

図14(B)では、GPU912とCPU902の連携が密になっており、GPU912は、CPU902側のメインメモリ930に直接にレンダリング処理を行うことができる。また例えばCPU902がジオメトリ処理を行って、頂点データを転送したり、GPU912からCPU902にデータを戻すことも容易にできる。またCPU902が、レンダリングのプリプロセッシング処理やポストプロセッシング処理を行うことも容易であり、テッセレーション(平面分割)やドットフィルをCPU902が実行できる。例えば抽象度の高い処理はCPU902が行い、抽象度が低い細かな処理はGPU912が行うというような役割分担が可能である。   In FIG. 14B, the GPU 912 and the CPU 902 are closely linked, and the GPU 912 can directly perform the rendering process on the main memory 930 on the CPU 902 side. Further, for example, the CPU 902 can perform geometry processing to transfer vertex data, or easily return data from the GPU 912 to the CPU 902. It is also easy for the CPU 902 to perform rendering pre-processing and post-processing, and the CPU 902 can execute tessellation (plane division) and dot fill. For example, the CPU 902 can perform a process with a high level of abstraction, and the GPU 912 can perform a detailed process with a low level of abstraction.

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

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(環境マッピング用オブジェクト、反射色等)と共に記載された用語(キューブオブジェクト、スペキュラ色等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are intended to be included in the scope of the present invention. For example, a term (cube object, specular color, etc.) written together with a different term (environment mapping object, reflection color, etc.) in a broader or synonymous manner at least once in the specification or drawing is used anywhere in the specification or drawing. Can also be replaced by the different terms.

また、ライティング処理、環境マッピング処理、α値取得処理、αブレンディング処理も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   Also, the lighting process, the environment mapping process, the α value acquisition process, and the α blending process are not limited to those described in this embodiment, and techniques equivalent to these are also included in the scope of the present invention. The present invention can be applied to various games. 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 game images, and a mobile phone. it can.

本実施形態の画像生成システムのブロック図の例。The example of the block diagram of the image generation system of this embodiment. 図2(A)、図2(B)は車の窓に対する光の映り込み表現の説明図。FIG. 2A and FIG. 2B are explanatory diagrams of light reflection expression on a car window. 図3(A)、図3(B)は反射色の強さによるα値の制御手法の説明図。3A and 3B are explanatory diagrams of a method for controlling the α value based on the intensity of the reflected color. 本実施形態により生成された画像の例。The example of the image produced | generated by this embodiment. 本実施形態により生成された画像の例。The example of the image produced | generated by this embodiment. 図6(A)、図6(B)はスペキュラ色の照明モデルの説明図。6A and 6B are explanatory diagrams of a specular illumination model. 図7(A)、図7(B)は環境マッピング、反射マッピングの説明図。7A and 7B are explanatory diagrams of environment mapping and reflection mapping. 環境テクスチャの例。Example of environmental texture. 図9(A)、図9(B)はα値の演算手法の説明図。9A and 9B are explanatory diagrams of an α value calculation method. 環境テクスチャのαチャネルに設定されるα値を利用する手法の説明図。Explanatory drawing of the method of using alpha value set to alpha channel of environmental texture. スペキュラ色の強さに応じてα値を変化させる手法の説明図。Explanatory drawing of the method of changing (alpha) value according to the intensity of a specular color. 本実施形態の詳細な処理を説明するフローチャート。The flowchart explaining the detailed process of this embodiment. 本実施形態の詳細な処理を説明するフローチャート。The flowchart explaining the detailed process of this embodiment. 図14(A)、図14(B)はハードウェア構成例。FIG. 14A and FIG. 14B are hardware configuration examples.

符号の説明Explanation of symbols

100 処理部、108 ゲーム演算部、110 オブジェクト空間設定部、
112 移動体演算部、114 仮想カメラ制御部、120 画像生成部、
122 ライティング処理部、124 テクスチャマッピング部、126 α値取得部、
128 αブレンディング部、130 音生成部、160 操作部、170 記憶部、
172 主記憶部、174 描画バッファ、176 モデルデータ記憶部、
178 テクスチャ記憶部、180 情報記憶媒体、190 表示部、192 音出力部、
194 補助記憶装置、196 通信部
100 processing unit, 108 game calculation unit, 110 object space setting unit,
112 moving body calculation unit, 114 virtual camera control unit, 120 image generation unit,
122 lighting processing unit, 124 texture mapping unit, 126 α value acquisition unit,
128 α blending unit, 130 sound generation unit, 160 operation unit, 170 storage unit,
172 Main storage unit, 174 drawing buffer, 176 model data storage unit,
178 texture storage unit, 180 information storage medium, 190 display unit, 192 sound output unit,
194 Auxiliary storage device, 196 communication unit

Claims (15)

半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部として、
コンピュータを機能させ
前記α値取得部は、
前記半透明オブジェクトの反射色の強さパラメータをSPとし、マテリアルパラメータをP1、P2とした場合に、α=P1+P2×SPの演算式でα値を求めることを特徴とするプログラム。
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
As an α blending unit that blends the color of the semi-transparent object and the destination color that is the drawing destination color of the semi-transparent object based on the obtained α value,
Make the computer work ,
The α value acquisition unit
A program for obtaining an α value by an arithmetic expression of α = P1 + P2 × SP, where SP is a reflection color intensity parameter of the translucent object and P1 and P2 are material parameters .
請求項において、
前記α値取得部は、
前記半透明オブジェクトのマテリアルに応じて異なった値に設定される前記マテリアルパラメータP1、P2に基づいて、α値を求めることを特徴とするプログラム。
In claim 1 ,
The α value acquisition unit
A program for obtaining an α value based on the material parameters P1 and P2 set to different values depending on the material of the translucent object.
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部として、
コンピュータを機能させ
前記ライティング処理部は、
光源ベクトルと、仮想カメラの視線ベクトルと、前記半透明オブジェクトの法線ベクトルとに基づいて、前記半透明オブジェクトのスペキュラ色を求め、求められたスペキュラ色に基づいて、前記半透明オブジェクトの反射色を求め、
前記α値取得部は、
前記スペキュラ色により求められた反射色の強さに応じてその値が変化するα値を求めることを特徴とするプログラム。
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
As an α blending unit that blends the color of the semi-transparent object and the destination color that is the drawing destination color of the semi-transparent object based on the obtained α value,
Make the computer work ,
The lighting processing unit
A specular color of the translucent object is obtained based on a light source vector, a line-of-sight vector of a virtual camera, and a normal vector of the translucent object, and a reflection color of the translucent object based on the obtained specular color Seeking
The α value acquisition unit
A program for obtaining an α value whose value changes in accordance with the intensity of the reflected color obtained from the specular color .
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部として、
コンピュータを機能させ
前記ライティング処理部は、
前記環境マッピングで得られたマッピング色により、前記半透明オブジェクトの反射色を求め、
前記α値取得部は、
前記環境マッピングのマッピング色により求められた反射色の強さに応じてその値が変化するα値を求めることを特徴とするプログラム。
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
A texture mapping unit that performs environment mapping of the environment texture representing the environment around the translucent object to the translucent object;
As an α blending unit that blends the color of the semi-transparent object and the destination color that is the drawing destination color of the semi-transparent object based on the obtained α value,
Make the computer work ,
The lighting processing unit
Based on the mapping color obtained by the environment mapping, the reflection color of the translucent object is obtained,
The α value acquisition unit
A program for obtaining an α value whose value changes according to the intensity of the reflected color obtained from the mapping color of the environment mapping .
請求項4において、
前記ライティング処理部は、
前記環境マッピングで得られたマッピング色と、照明モデルに基づき求められた前記半透明オブジェクトのスペキュラ色とに基づいて、前記半透明オブジェクトの反射色を求め、
前記α値取得部は、
前記環境マッピングのマッピング色及び前記照明モデルによる前記スペキュラ色に基づき求められた反射色の強さに応じてその値が変化するα値を求めることを特徴とするプログラム。
In claim 4,
The lighting processing unit
The mapping color obtained in environment mapping, based on the specular color of the translucent object sought et the basis of the illumination model, obtains the reflection color of the translucent object,
The α value acquisition unit
A program for obtaining an α value whose value changes in accordance with the intensity of the reflection color obtained based on the mapping color of the environment mapping and the specular color based on the illumination model .
請求項3乃至5のいずれかにおいて、
前記α値取得部は、
前記半透明オブジェクトの反射色が強くなればなるほど前記半透明オブジェクトの色のブレンディング率が高くなるα値を求め、
前記αブレンディング部は、
前記半透明オブジェクトの反射色が強くなればなるほどディスティネーション色に対する前記半透明オブジェクトの色のブレンディング率が高くなるαブレンディング処理を行うことを特徴とするプログラム。
In any of claims 3 to 5 ,
The α value acquisition unit
Obtaining an α value at which the blending rate of the color of the translucent object becomes higher as the reflection color of the translucent object becomes stronger,
The α blending part is
A program for performing an α blending process in which the blending rate of the color of the semi-transparent object with respect to the destination color increases as the reflection color of the semi-transparent object increases.
請求項3乃至6のいずれかにおいて、
前記α値取得部は、
前記半透明オブジェクトの反射色の強さパラメータをSPとし、マテリアルパラメータをP1、P2とした場合に、α=P1+P2×SPの演算式でα値を求めることを特徴とするプログラム。
In any one of Claims 3 thru | or 6 .
The α value acquisition unit
A program for obtaining an α value by an arithmetic expression of α = P1 + P2 × SP, where SP is a reflection color intensity parameter of the translucent object and P1 and P2 are material parameters.
請求項において、
前記α値取得部は、
前記半透明オブジェクトのマテリアルに応じて異なった値に設定される前記マテリアルパラメータP1、P2に基づいて、α値を求めることを特徴とするプログラム。
In claim 7 ,
The α value acquisition unit
A program for obtaining an α value based on the material parameters P1 and P2 set to different values depending on the material of the translucent object.
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部として、
コンピュータを機能させ、
前記環境テクスチャの色チャネルには前記半透明オブジェクトのマッピング色が設定され、前記環境テクスチャのαチャネルには、前記マッピング色の強さに応じてその値が変化するα値が設定され、
前記α値取得部は、
前記環境マッピングにより、前記マッピング色である前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めることを特徴とするプログラム。
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
A texture mapping unit that performs environment mapping of the environment texture representing the environment around the translucent object to the translucent object;
As an α blending unit that blends the color of the semi-transparent object and the destination color that is the drawing destination color of the semi-transparent object based on the obtained α value,
Make the computer work,
A mapping color of the translucent object is set in the color channel of the environment texture, and an α value whose value changes according to the strength of the mapping color is set in the α channel of the environment texture,
The α value acquisition unit
A program for obtaining an α value whose value changes according to the intensity of reflection color of the translucent object, which is the mapping color, by the environment mapping .
請求項1乃至のいずれかにおいて、
前記αブレンディング部は、
少なくともスペキュラ色とディフューズ色とアンビエント色に基づいて求められた半透明オブジェクトの色と、ディスティネーション色とを、求められたα値に基づいてブレンディングすることを特徴とするプログラム。
In any one of Claims 1 thru | or 9 ,
The α blending part is
A program characterized by blending at least a color of a semi-transparent object obtained based on a specular color, a diffuse color, and an ambient color, and a destination color based on the obtained α value.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至10のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。 A computer-readable information storage medium, wherein the program according to any one of claims 1 to 10 is stored. 画像を生成する画像生成システムであって、
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含み、
前記α値取得部は、
前記半透明オブジェクトの反射色の強さパラメータをSPとし、マテリアルパラメータをP1、P2とした場合に、α=P1+P2×SPの演算式でα値を求めることを特徴とする画像生成システム。
An image generation system for generating an image,
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
An α blending unit that blends the color of the semi-transparent object and the destination color that is the drawing destination color of the semi-transparent object based on the obtained α value;
The α value acquisition unit
An image generation system characterized in that an α value is obtained by an arithmetic expression of α = P1 + P2 × SP where SP is a reflection color intensity parameter of the translucent object and P1 and P2 are material parameters .
画像を生成する画像生成システムであって、
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含み、
前記ライティング処理部は、
光源ベクトルと、仮想カメラの視線ベクトルと、前記半透明オブジェクトの法線ベクトルとに基づいて、前記半透明オブジェクトのスペキュラ色を求め、求められたスペキュラ色に基づいて、前記半透明オブジェクトの反射色を求め、
前記α値取得部は、
前記スペキュラ色により求められた反射色の強さに応じてその値が変化するα値を求めることを特徴とする画像生成システム。
An image generation system for generating an image,
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
The color of the translucent object, said destination color and the color of drawing destination of the semi-transparent object, see contains an α blending unit for blending based on the α value determined,
The lighting processing unit
A specular color of the translucent object is obtained based on a light source vector, a virtual camera line-of-sight vector, and a normal vector of the translucent object, and based on the obtained specular color, the reflection color of the translucent object Seeking
The α value acquisition unit
An image generation system characterized in that an α value whose value changes in accordance with the intensity of a reflected color obtained from the specular color is obtained .
画像を生成する画像生成システムであって、
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含み、
前記ライティング処理部は、
前記環境マッピングで得られたマッピング色により、前記半透明オブジェクトの反射色を求め、
前記α値取得部は、
前記環境マッピングのマッピング色により求められた反射色の強さに応じてその値が変化するα値を求めることを特徴とする画像生成システム。
An image generation system for generating an image,
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
A texture mapping unit that performs environment mapping of the environment texture representing the environment around the translucent object to the translucent object;
The color of the translucent object, said destination color and the color of drawing destination of the semi-transparent object, see contains an α blending unit for blending based on the α value determined,
The lighting processing unit
Based on the mapping color obtained by the environment mapping, the reflection color of the translucent object is obtained,
The α value acquisition unit
An image generation system characterized in that an α value whose value changes according to the intensity of a reflected color obtained from the mapping color of the environment mapping is obtained .
画像を生成する画像生成システムであって、
半透明オブジェクトのライティング処理を行い、前記半透明オブジェクトの光の反射色を求めるライティング処理部と、
求められた前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めるα値取得部と、
前記半透明オブジェクトの周囲の環境を表す環境テクスチャを前記半透明オブジェクトに対して環境マッピングするテクスチャマッピング部と、
前記半透明オブジェクトの色と、前記半透明オブジェクトの描画先の色であるディスティネーション色とを、求められたα値に基づいてブレンディングするαブレンディング部とを含み、
前記環境テクスチャの色チャネルには前記半透明オブジェクトのマッピング色が設定され、前記環境テクスチャのαチャネルには、前記マッピング色の強さに応じてその値が変化するα値が設定され、
前記α値取得部は、
前記環境マッピングにより、前記マッピング色である前記半透明オブジェクトの反射色の強さに応じてその値が変化するα値を求めることを特徴とする画像生成システム。
An image generation system for generating an image,
A lighting processing unit that performs lighting processing of the translucent object and obtains a light reflection color of the translucent object;
An α value obtaining unit for obtaining an α value whose value changes according to the intensity of the reflected color of the obtained translucent object;
A texture mapping unit that performs environment mapping of the environment texture representing the environment around the translucent object to the translucent object;
The color of the translucent object, said destination color and the color of drawing destination of the semi-transparent object, see contains an α blending unit for blending based on the α value determined,
A mapping color of the translucent object is set in the color channel of the environment texture, and an α value whose value changes according to the strength of the mapping color is set in the α channel of the environment texture,
The α value acquisition unit
An image generation system characterized in that an α value whose value changes according to the intensity of the reflected color of the translucent object, which is the mapping color, is obtained by the environment mapping .
JP2006256056A 2006-09-21 2006-09-21 Program, information storage medium, and image generation system Active JP4824514B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006256056A JP4824514B2 (en) 2006-09-21 2006-09-21 Program, information storage medium, and image generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006256056A JP4824514B2 (en) 2006-09-21 2006-09-21 Program, information storage medium, and image generation system

Publications (2)

Publication Number Publication Date
JP2008077408A JP2008077408A (en) 2008-04-03
JP4824514B2 true JP4824514B2 (en) 2011-11-30

Family

ID=39349393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256056A Active JP4824514B2 (en) 2006-09-21 2006-09-21 Program, information storage medium, and image generation system

Country Status (1)

Country Link
JP (1) JP4824514B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224775A (en) * 2009-03-23 2010-10-07 Dainippon Printing Co Ltd Eye-catch synthesizing device and method
KR102223064B1 (en) 2014-03-18 2021-03-04 삼성전자주식회사 Image processing apparatus and method
EP3731191A4 (en) 2017-12-19 2021-10-27 Sony Interactive Entertainment Inc. Image generation device and image generation method
CN113706428B (en) * 2021-07-02 2024-01-05 杭州海康威视数字技术股份有限公司 Image generation method and device
WO2024090022A1 (en) * 2022-10-24 2024-05-02 ソニーグループ株式会社 Information processing device, information processing method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3648404B2 (en) * 1999-05-12 2005-05-18 大日本印刷株式会社 Image generating apparatus and recording medium
JP2001325606A (en) * 2000-05-12 2001-11-22 Sekisui House Ltd Method for illuminating residence on cg image and recording medium
JP3549871B2 (en) * 2001-07-27 2004-08-04 株式会社ソニー・コンピュータエンタテインメント Drawing processing apparatus and method, recording medium storing drawing processing program, drawing processing program
JP2003099801A (en) * 2001-09-25 2003-04-04 Toyota Motor Corp Image display method of three-dimensional model, image display device, image display program and recording medium thereof
JP4001556B2 (en) * 2003-02-10 2007-10-31 株式会社バンダイナムコゲームス GAME DEVICE AND INFORMATION STORAGE MEDIUM

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4734138B2 (en) Program, information storage medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4824514B2 (en) Program, information storage medium, and image generation system
JP4865472B2 (en) Program, information storage medium, and image generation system
JP4734137B2 (en) Program, information storage medium, and image generation system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP4827250B2 (en) Program, information storage medium, and image generation system
JP2006323512A (en) Image generation system, program, and information storage medium
JP4073031B2 (en) Program, information storage medium, and image generation system
JP4488346B2 (en) Program, information storage medium, and image generation system
JP5253118B2 (en) Image generation system, program, and information storage medium
JP4782583B2 (en) Program, information storage medium, and image generation system
US7710419B2 (en) Program, information storage medium, and image generation system
JP4913399B2 (en) Program, information storage medium, and image generation system
JP4528008B2 (en) Program, information storage medium, and image generation system
JP4056035B2 (en) Image generation system, program, and information storage medium
JP2010033288A (en) Image generation system, program and information storage medium
JP2011215724A (en) Program, information storage medium, and image generation system
US7724255B2 (en) Program, information storage medium, and image generation system
JP2010033299A (en) Image generation system, program and information storage medium
JP4865471B2 (en) Program, information storage medium, and image generation system
JP2008077406A (en) Image generation system, program, and information storage medium
JP2010033295A (en) Image generation system, program and information storage medium
JP2010033253A (en) Program, information storage medium, and image generation system
JP4688648B2 (en) Program, information storage medium, and image generation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110906

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110908

R150 Certificate of patent or registration of utility model

Ref document number: 4824514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250