JP2002032790A - Game system and information storage medium - Google Patents

Game system and information storage medium

Info

Publication number
JP2002032790A
JP2002032790A JP2000219030A JP2000219030A JP2002032790A JP 2002032790 A JP2002032790 A JP 2002032790A JP 2000219030 A JP2000219030 A JP 2000219030A JP 2000219030 A JP2000219030 A JP 2000219030A JP 2002032790 A JP2002032790 A JP 2002032790A
Authority
JP
Japan
Prior art keywords
vector
reflection
coordinate system
reflection vector
axis
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.)
Granted
Application number
JP2000219030A
Other languages
Japanese (ja)
Other versions
JP4518643B2 (en
Inventor
Naohiro Saito
直宏 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP2000219030A priority Critical patent/JP4518643B2/en
Publication of JP2002032790A publication Critical patent/JP2002032790A/en
Application granted granted Critical
Publication of JP4518643B2 publication Critical patent/JP4518643B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a game system capable of realizing the representation of anisotropic reflection with a small quantity of processing burden, and to provide an information storage medium. SOLUTION: A reflection vector at each configuration point of an object is calculated on the basis of light source information and normal information, the direction of the reflection vector is changed into the direction of anisotropic reflection to obtain a 2nd reflection vector, and the shading processing of the object is performed on the basis of the 2nd reflection vector and line of sight information. The reflection vector R is subjected to coordinate transformation to a UVN coordinate system to calculate an RUVN, the direction of the RUVN is changed in the UVN coordinate system to obtain a 2nd reflection vector RUVN2, and the RUVN2 is returned to a world coordinate system to perform shading operation. The U and V axial components of the RUVN are scaled to change the directions of the RUVN. When the object is represented on a free-form surface, the U and V axes are set in the direction of a tangent vector at each configuration point on the free-form surface. Specular representation texture is mapped onto the object on the basis of texture coordinates calculated from the RUVN2.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ゲームシステム及
び情報記憶媒体に関する。
[0001] The present invention relates to a game system and an information storage medium.

【0002】[0002]

【背景技術及び発明が解決しようとする課題】従来よ
り、仮想的な3次元空間であるオブジェクト空間内の所
与の視点から見える画像を生成するゲームシステムが知
られており、いわゆる仮想現実を体験できるものとして
人気が高い。レーシングゲームを楽しむことができるゲ
ームシステムを例にとれば、プレーヤは、車(オブジェ
クト)を操作してオブジェクト空間内で走行させ、他の
プレーヤやコンピュータが操作する車と競争することで
3次元ゲームを楽しむ。
2. Description of the Related Art Conventionally, there has been known a game system for generating an image which can be viewed from a given viewpoint in an object space which is a virtual three-dimensional space. Popular as something you can do. For example, in the case of a game system in which a racing game can be enjoyed, a player operates a car (object) to run in an object space and competes with another player or a car operated by a computer to perform a three-dimensional game. Enjoy.

【0003】さて、このようなゲームシステムでは、プ
レーヤの仮想現実感の向上のために、よりリアルで高品
質な画像を生成することが重要な技術的課題になってい
る。このため、オブジェクトの表面での鏡面反射(スペ
キュラー)についても、よりリアルに表現できることが
望ましい。
In such a game system, it is an important technical problem to generate a more realistic and high-quality image in order to improve the virtual reality of the player. Therefore, it is desirable that specular reflection (specular) on the surface of the object can be expressed more realistically.

【0004】このような鏡面反射を実現する手法とし、
従来より、フォン(Phong)、ブリン(Blinn)などのモ
デルが知られている。しかしながら、これらのモデルは
いずれも等方性反射のモデルであり、反射光の強度分布
は等方的なものになっている。
[0004] As a technique for realizing such specular reflection,
Conventionally, models such as Phong and Blinn have been known. However, these models are all isotropic reflection models, and the intensity distribution of reflected light is isotropic.

【0005】一方、オブジェクトの表面上に一定方向の
傷がある場合には、反射光がその傷に影響され、特定の
方向に強く反射される現象が生じる。例えば、同心円状
の傷がついてるオーディオ機器のつまみに特有の明暗パ
ターンが見えたり、人間の髪の毛に「天使の輪」が見え
たりする現象である。
On the other hand, if there is a scratch in a certain direction on the surface of the object, the reflected light is affected by the scratch and a phenomenon occurs in which the reflected light is strongly reflected in a specific direction. For example, a phenomenon in which a light and dark pattern peculiar to a knob of an audio device having a concentric scratch is visible, or an "angel ring" is visible in human hair.

【0006】このような特有の明暗パターンを表現する
には、いわゆる異方性反射のモデルが必要になる。そし
て、このような異方性反射モデルの従来例については、
例えば”「異方性反射モデルに関する検討」,高木・横
井等,グラフィックスとCAD,11-1,1983.10.17”に
開示されている。
In order to express such a specific light and dark pattern, a so-called anisotropic reflection model is required. And about the conventional example of such an anisotropic reflection model,
For example, it is disclosed in "" A Study on Anisotropic Reflection Model ", Takagi and Yokoi et al., Graphics and CAD, 11-1, 1983.10.17".

【0007】例えばオブジェクト表面に図1(A)に示
すような傷があるとする。図1(A)の点Pの部分を局
所的に見ると、図1(B)に示すようになる。ここで、
面に垂直な法線ベクトルをNとし、傷に水平なベクトル
をUとし、傷に垂直なベクトルをVとする。また光源L
Sからの光源ベクトルLの点Pでの反射ベクトルをRと
する。この時、反射ベクトルRは下式(1)のようにな
る。
[0007] For example, assume that the surface of the object has a flaw as shown in FIG. FIG. 1B shows a local point P in FIG. 1A. here,
A normal vector perpendicular to the surface is N, a vector horizontal to the flaw is U, and a vector perpendicular to the flaw is V. Light source L
Let R be a reflection vector at a point P of a light source vector L from S. At this time, the reflection vector R is as shown in the following equation (1).

【0008】R=2(N・L)N−L (1) 一般的な反射モデルでは、上式(1)で求められた反射
ベクトルRと視線ベクトルとのなす角度に基づき鏡面反
射光(スペキュラー成分)の強度(輝度)が決定され
る。
R = 2 (NL) NL (1) In a general reflection model, specular reflection light (specular reflection) is obtained based on the angle between the reflection vector R and the line-of-sight vector obtained by the above equation (1). Component) is determined.

【0009】そして、鏡面反射光自体を扁平な楕円体の
強度分布でモデル化したのが図2(A)に示す大平のモ
デルである。即ち視線ベクトルEが楕円体ELPと交わ
る点までの長さDEに基づいて鏡面反射光の強度を求め
る。
The Ohira model shown in FIG. 2A is a model of the specular reflection light itself based on the intensity distribution of a flat ellipsoid. That is, the intensity of specular reflected light is obtained based on the length DE up to the point where the line-of-sight vector E intersects the ellipsoid ELP.

【0010】一方、図2(B)に示す高木・横井のモデ
ルでは、ブリンの微少平面モデルに異方性を持たせ、微
少平面の分布を楕円体モデルで解いている。
On the other hand, in the Takagi-Yokoi model shown in FIG. 2 (B), the fine plane model of Blin is made to have anisotropy, and the distribution of the fine plane is solved by an ellipsoid model.

【0011】しかしながら、このような大平や高木・横
井のモデルでは、楕円体モデルを用いるため、鏡面反射
光の強度の計算に多大な処理時間を要する。従って、リ
アルタイム処理が強く要求されるゲームシステムには不
向きなモデルである。
However, in such Ohira and Takagi / Yokoi models, since an ellipsoidal model is used, it takes a great deal of processing time to calculate the intensity of specular reflected light. Therefore, this model is not suitable for a game system that requires strong real-time processing.

【0012】また、大平や高木・横井のモデルでは、ス
カラー量である鏡面反射光の強度が計算結果として出力
される。従って、スペキュラー形状(ハイライト形状)
がポリゴン形状の影響を受けて不自然な形になるという
問題を、いわゆるスペキュラーマッピングの手法を利用
して解決できない。
In the Ohira and Takagi-Yokoi models, the intensity of specular reflected light, which is a scalar quantity, is output as a calculation result. Therefore, specular shape (highlight shape)
Cannot be solved by using a so-called specular mapping technique.

【0013】この場合、ノンリアルタイム処理のCG
(Computer Graphics)のようにピクセル単位で鏡面反
射光の強度を計算すれば、上記問題を解決できるが、こ
れは処理時間の更なる増加という問題を招く。
In this case, CG of non-real-time processing
The above problem can be solved by calculating the intensity of specular reflection light in pixel units as in (Computer Graphics), but this causes a problem of further increasing the processing time.

【0014】本発明は、以上のような課題に鑑みてなさ
れたものであり、その目的とするところは、異方性反射
の表現を少ない処理負担で実現できるゲームシステム及
び情報記憶媒体を提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has as its object to provide a game system and an information storage medium capable of realizing the expression of anisotropic reflection with a small processing load. It is in.

【0015】[0015]

【課題を解決するための手段】上記課題を解決するため
に、本発明は、画像生成を行うゲームシステムであっ
て、光源情報と法線情報とに基づいてオブジェクトの各
構成点での反射ベクトルを求める手段と、前記反射ベク
トルの方向を異方性反射の方向に変化させて、第2の反
射ベクトルを求める手段と、前記第2の反射ベクトルと
視点情報とに基づいてオブジェクトのシェーディング演
算を行う手段とを含むことを特徴とする。また本発明に
係る情報記憶媒体は、コンピュータにより使用可能な情
報記憶媒体であって、上記手段を実行するためのプログ
ラムを含むことを特徴とする。また本発明に係るプログ
ラムは、コンピュータにより使用可能なプログラム(搬
送波に具現化されるプログラムを含む)であって、上記
手段を実行するための処理ルーチンを含むことを特徴と
する。
In order to solve the above problems, the present invention relates to a game system for generating an image, comprising: a reflection vector at each constituent point of an object based on light source information and normal line information. Means for determining the second reflection vector by changing the direction of the reflection vector to the direction of anisotropic reflection, and shading calculation of the object based on the second reflection vector and the viewpoint information. And means for performing the operation. Further, an information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. Further, the program according to the present invention is a program usable by a computer (including a program embodied in a carrier wave), and includes a processing routine for executing the above means.

【0016】本発明によれば、光源情報(例えば光源ベ
クトル、光源位置)と法線情報(例えば法線ベクトル、
面の方向を表す情報)に基づいて、オブジェクトの各構
成点(例えば頂点、プリミティブ点)での反射ベクトル
が求められる。そして、この反射ベクトルを、異方性反
射の方向(例えば、オブジェクトに傷等があると想定し
ている場合には、その傷に垂直な方向)に変化させるこ
とで、第2の反射ベクトルが求められる。そして、この
第2の反射ベクトルを用いて、オブジェクトのシェーデ
ィング演算が行われる。
According to the present invention, light source information (eg, light source vector, light source position) and normal line information (eg, normal vector,
A reflection vector at each component point (for example, a vertex or a primitive point) of the object is obtained based on the information indicating the direction of the surface. By changing this reflection vector in the direction of anisotropic reflection (for example, in the case where it is assumed that the object has a flaw or the like, the direction perpendicular to the flaw), the second reflection vector is changed. Desired. Then, the shading calculation of the object is performed using the second reflection vector.

【0017】このようにすることで本発明によれば、楕
円体モデルを用いる従来の手法に比べて、非常に負荷の
少ない演算処理で異方性反射を表現できる。従って、リ
アルタイム処理が要求されるゲームシステムに最適な異
方性反射モデルを構築できる。
In this way, according to the present invention, anisotropic reflection can be expressed by a calculation process with a very small load as compared with the conventional method using an ellipsoid model. Therefore, it is possible to construct an anisotropic reflection model optimal for a game system that requires real-time processing.

【0018】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記反射ベクトルを、異方性
反射の方向を定義する第2の座標系に座標変換し、前記
第2の座標系において前記反射ベクトルの方向を変化さ
せて前記第2の反射ベクトルを求め、前記第2の座標系
での前記第2の反射ベクトルを前記第1の座標系に座標
変換し、前記第1の座標系での前記第2の反射ベクトル
に基づいてオブジェクトのシェーディング演算を行うこ
とを特徴とする。
Further, the game system, the information storage medium and the program according to the present invention convert the reflection vector into a second coordinate system which defines the direction of anisotropic reflection, and convert the reflection vector in the second coordinate system. The second reflection vector is obtained by changing the direction of the reflection vector, and the second reflection vector in the second coordinate system is coordinate-transformed to the first coordinate system. A shading operation of an object is performed based on the second reflection vector.

【0019】このようにすれば、例えば各構成点に設定
された第2の座標系において、統一的な処理で反射ベク
トルの方向を変化させることができるようになり、処理
の簡素化を図れる。
In this way, for example, in the second coordinate system set for each constituent point, the direction of the reflection vector can be changed by unified processing, and the processing can be simplified.

【0020】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記第2の座標系が、異方性
反射の方向を表す第1の軸と該第1の軸に交差する第2
の軸を有する場合において、前記第2の座標系での前記
反射ベクトルの方向を前記第1、第2の軸のいずれかの
方向に変化させて、前記第2の反射ベクトルを求めるこ
とを特徴とする。
Further, in the game system, the information storage medium and the program according to the present invention, the second coordinate system may include a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis.
Wherein the direction of the reflection vector in the second coordinate system is changed to any one of the first and second axes to obtain the second reflection vector. And

【0021】このようにすれば、例えば各構成点に設定
された第2の座標系において、反射ベクトルの方向を第
1、第2の軸のいずれかの方向に変化させるという簡素
な処理で、異方性反射を表現できる。
According to this configuration, for example, in the second coordinate system set for each constituent point, the direction of the reflection vector is changed to any one of the first and second axes. Anisotropic reflection can be expressed.

【0022】なお、オブジェクトの表面に想定される傷
の方向は、第1、第2の軸のいずれの方向であってもよ
い。
The direction of the flaw assumed on the surface of the object may be any one of the first and second axes.

【0023】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記第2の座標系が、異方性
反射の方向を表す第1の軸と該第1の軸に交差する第2
の軸を有する場合において、前記第2の座標系での前記
反射ベクトルの前記第1の軸の成分を第1の係数でスケ
ーリングすると共に、前記第2の座標系での前記反射ベ
クトルの前記第2の軸の成分を第2の係数でスケーリン
グすることで、前記第2の反射ベクトルを求めることを
特徴とする。
Further, in the game system, the information storage medium and the program according to the present invention, the second coordinate system may include a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis.
And the component of the first axis of the reflection vector in the second coordinate system is scaled by a first coefficient, and the second component of the reflection vector in the second coordinate system is The second reflection vector is obtained by scaling a component of the second axis by a second coefficient.

【0024】このようにすれば、反射ベクトルの第1、
第2の軸の成分を第1、第2の係数でスケーリングする
だけという簡素な処理で、第2の反射ベクトルを得るこ
とができ、処理負荷を大幅に軽減化できる。
By doing so, the first of the reflection vectors,
The second reflection vector can be obtained by a simple process of simply scaling the component of the second axis by the first and second coefficients, and the processing load can be greatly reduced.

【0025】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記第2の座標系が、異方性
反射の方向を表す第1の軸と該第1の軸に交差する第2
の軸を有し、オブジェクトが自由曲面により表される場
合において、自由曲面の各構成点での第1、第2の接線
ベクトルの方向に、前記第1、第2の軸が設定されるこ
と特徴とする。
Further, in the game system, the information storage medium and the program according to the present invention, the second coordinate system may include a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis.
When the object is represented by a free-form surface, the first and second axes are set in the directions of the first and second tangent vectors at the respective constituent points of the free-form surface. Features.

【0026】このようにすれば、自由曲面の各構成点で
の第1、第2の接線ベクトルを所与の計算式で求めるだ
けで、第2の座標系を設定できるようになり、第2の座
標系の設定処理を簡素化できる。また法線ベクトルを得
るために求める必要がある接線ベクトルを、第2の座標
系の設定処理のために有効利用できるようになり、処理
の効率化を図れる。
In this way, the second coordinate system can be set only by obtaining the first and second tangent vectors at each of the constituent points of the free-form surface by a given calculation formula. Can be simplified. In addition, a tangent vector that needs to be obtained in order to obtain a normal vector can be effectively used for the setting processing of the second coordinate system, and the processing efficiency can be improved.

【0027】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記第1、第2の接線ベクト
ルに基づき前記法線情報となる法線ベクトルが求めら
れ、該法線ベクトルの方向に、前記第2の座標系の第3
の軸が設定されることを特徴とする。
In the game system, the information storage medium and the program according to the present invention, a normal vector serving as the normal information is obtained based on the first and second tangent vectors. The third of the second coordinate system
Is set.

【0028】このようにすれば、この法線ベクトルを法
線情報として用いて反射ベクトルを求めることができる
ようになると共に、この法線ベクトルを得るために求め
た接線ベクトルを第2の座標系の設定処理に有効利用で
きるようになるため、処理の効率化を図れる。
In this manner, the reflection vector can be obtained by using the normal vector as the normal information, and the tangent vector obtained to obtain the normal vector is determined by the second coordinate system. Can be effectively used for the setting process, and the efficiency of the process can be improved.

【0029】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、スペキュラー表現テクスチャ
のテクスチャ座標を前記第2の反射ベクトルに基づいて
求め、求められたテクスチャ座標に基づいて前記スペキ
ュラー表現テクスチャをオブジェクトにマッピングする
ことを特徴とする。
Further, the game system, the information storage medium and the program according to the present invention determine the texture coordinates of the specular expression texture based on the second reflection vector, and convert the specular expression texture into an object based on the determined texture coordinates. Is characterized in that

【0030】このようにすれば、スペキュラー形状(ハ
イライト形状)がプリミティブ面(ポリゴン等)の形状
の影響を受けて不自然な形になるという問題を効果的に
解決できるようになる。
This makes it possible to effectively solve the problem that the specular shape (highlight shape) becomes unnatural due to the influence of the shape of the primitive surface (polygon or the like).

【0031】また本発明に係るゲームシステム、情報記
憶媒体及びプログラムは、前記第2の反射ベクトルの方
向が視線ベクトルの方向に一致した場合に前記スペキュ
ラー表現テクスチャに描かれたハイライト画像の中心が
参照される変換を前記第2の反射ベクトルに対して施
し、前記テクスチャ座標を求めることを特徴とする。
In the game system, the information storage medium and the program according to the present invention, when the direction of the second reflection vector coincides with the direction of the line-of-sight vector, the center of the highlight image drawn on the specular expression texture is adjusted. The reference transformation is performed on the second reflection vector to obtain the texture coordinates.

【0032】このようにすれば、スペキュラー表現テク
スチャを参照するためのテクスチャ座標を簡素な処理で
求めることができるようになる。
In this manner, texture coordinates for referring to the specular expression texture can be obtained by a simple process.

【0033】[0033]

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

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

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

【0036】記憶部170は、処理部100や通信部1
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
The storage unit 170 stores the processing unit 100 and the communication unit 1
A work area such as 96
It can be realized by hardware such as.

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

【0038】なお、情報記憶媒体180に格納される情
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80には、本発明の処理を行うためのプログラム、画像
データ、音データ、表示物の形状データ、本発明の処理
を指示するための情報、或いはその指示に従って処理を
行うための情報などを含ませることができる。
Some or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the power to the system is turned on. Information storage medium 1
80 includes a program for performing the processing of the present invention, image data, sound data, shape data of a display object, information for instructing the processing of the present invention, information for performing the processing according to the instruction, and the like. Can be made.

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

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

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

【0042】通信部196は、外部(例えばホスト装置
や他のゲームシステム)との間で通信を行うための各種
の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
The communication unit 196 performs various controls for performing communication with the outside (for example, a host device or another game system), and has a function of various processors or a communication ASIC. This can be realized by hardware, a program, or the like.

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

【0044】処理部100(プロセッサ)は、操作部1
60からの操作データやプログラムなどに基づいて、ゲ
ーム処理、画像生成処理、或いは音生成処理などの各種
の処理を行う。この処理部100の機能は、各種プロセ
ッサ(CPU、DSP等)又はASIC(ゲートアレイ
等)などのハードウェアや、所与のプログラム(ゲーム
プログラム)により実現できる。
The processing section 100 (processor) includes the operation section 1
Various processes such as a game process, an image generation process, and a sound generation process are performed based on the operation data from 60 or a program. The function of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.) or ASIC (gate array, etc.), or a given program (game program).

【0045】ここで、処理部100が行うゲーム処理と
しては、コイン(代価)の受け付け処理、各種モードの
設定処理、ゲームの進行処理、選択画面の設定処理、オ
ブジェクト(1又は複数のプリミティブ面)の位置や回
転角度(X、Y又はZ軸回り回転角度)を求める処理、
オブジェクトを動作させる処理(モーション処理)、視
点の位置(仮想カメラの位置)や視線角度(仮想カメラ
の回転角度)を求める処理、マップオブジェクトなどの
オブジェクトをオブジェクト空間へ配置する処理、ヒッ
トチェック処理、ゲーム結果(成果、成績)を演算する
処理、複数のプレーヤが共通のゲーム空間でプレイする
ための処理、或いはゲームオーバー処理などを考えるこ
とができる。
Here, the game processing performed by the processing unit 100 includes coin (price) reception processing, various mode setting processing, game progress processing, selection screen setting processing, and objects (one or more primitive planes). Processing for determining the position and rotation angle (rotation angle about the X, Y or Z axis)
Processing to move objects (motion processing); processing to determine the viewpoint position (virtual camera position) and viewing angle (virtual camera rotation angle); processing to place objects such as map objects in object space; hit check processing; A process for calculating a game result (result, performance), a process for a plurality of players to play in a common game space, a game over process, and the like can be considered.

【0046】また、処理部100は、上記のゲーム処理
結果に基づいて例えばオブジェクト空間内において所与
の視点(仮想カメラ)から見える画像を生成し、表示部
190に出力する。
Further, the processing section 100 generates an image that can be viewed from a given viewpoint (virtual camera) in the object space, for example, based on the result of the game processing, and outputs the generated image to the display section 190.

【0047】更に、処理部100は、上記のゲーム処理
結果に基づいて各種の音処理を行い、BGM、効果音、
又は音声などの音を生成し、音出力部192に出力す
る。
Further, the processing section 100 performs various kinds of sound processing based on the results of the game processing, and performs BGM, sound effects,
Alternatively, a sound such as voice is generated and output to the sound output unit 192.

【0048】なお、処理部100の機能は、その全てを
ハードウェアにより実現してもよいし、その全てをプロ
グラムにより実現してもよい。或いは、ハードウェアと
プログラムの両方により実現してもよい。
Note that all of the functions of the processing unit 100 may be realized by hardware, or all of the functions may be realized by a program. Alternatively, it may be realized by both hardware and a program.

【0049】処理部100は、反射ベクトル演算部11
0、反射ベクトル変化部112、シェーディング演算部
114、描画部130を含む。
The processing unit 100 includes a reflection vector calculation unit 11
0, a reflection vector changing unit 112, a shading calculation unit 114, and a drawing unit 130.

【0050】ここで、反射ベクトル演算部110は、光
源情報(光源位置、光源ベクトル等)と法線情報(法線
ベクトル、面の方向を表す情報等)とに基づいて、オブ
ジェクトの各構成点(頂点、プリミティブ点等)での反
射ベクトルを求める。
Here, the reflection vector calculation unit 110 calculates each component point of the object based on light source information (light source position, light source vector, etc.) and normal line information (normal vector, information indicating the direction of a surface, etc.). Find the reflection vector at (vertex, primitive point, etc.).

【0051】反射ベクトル変化部112は、反射ベクト
ル演算部110で求められた反射ベクトルの方向を、異
方性反射の方向(傷の方向により特定される方向)に変
化させて、第2の反射ベクトルを求める。より具体的に
は、反射ベクトルを、第1の座標系(例えばワールド座
標系)から、異方性反射の方向を定義する第2の座標系
に座標変換する。次に、この第2の座標系において反射
ベクトルの方向を変化させて第2の反射ベクトルを求め
る。そして、第2の座標系での第2の反射ベクトルを第
1の座標系に座標変換して戻す。
The reflection vector changing unit 112 changes the direction of the reflection vector obtained by the reflection vector calculation unit 110 to the direction of anisotropic reflection (the direction specified by the direction of the flaw), and performs the second reflection. Find a vector. More specifically, the reflection vector is coordinate-transformed from a first coordinate system (for example, a world coordinate system) to a second coordinate system that defines the direction of anisotropic reflection. Next, a second reflection vector is obtained by changing the direction of the reflection vector in the second coordinate system. Then, the second reflection vector in the second coordinate system is coordinate-converted back to the first coordinate system.

【0052】シェーディング演算部114は、反射ベク
トル変化部112で求められた第2の反射ベクトルと、
視点情報(視点位置、視線ベクトル等)とに基づいて、
オブジェクトのシェーディング演算を行う。この場合の
シェーディング演算は、第2の反射ベクトルと視線ベク
トルとのなす角度に基づいて鏡面反射光の強度(輝度)
を求めるフォン(Phong)のモデルで実現してもよい
し、物体の表面を微少平面の集合と考えるブリン(Blin
n)のモデルで実現してもよい。或いは、第2の反射ベ
クトルに基づきテクスチャ座標を求め、このテクスチャ
座標に基づきスペキュラー表現テクスチャをオブジェク
トにマッピングするスペキュラーマッピングで実現して
もよい。
The shading calculation unit 114 calculates the second reflection vector obtained by the reflection vector changing unit 112,
Based on viewpoint information (viewpoint position, gaze vector, etc.)
Performs shading operations on objects. The shading calculation in this case is based on the angle (luminance) of the specular reflected light based on the angle between the second reflection vector and the line-of-sight vector.
May be realized by Phong's model, or Blin, which considers the surface of an object as a set of micro-planes
It may be realized by the model of n). Alternatively, texture coordinates may be obtained based on the second reflection vector, and specular mapping may be realized by mapping a specular expression texture to an object based on the texture coordinates.

【0053】描画部130はジオメトリ処理(座標変
換、クリッピング処理、透視変換、或いは光源計算等)
後のオブジェクト(1又は複数プリミティブ面)の画像
を、描画領域174(フレームバッファ、ワークバッフ
ァ等のピクセル単位で画像情報を記憶できる領域)に描
画する処理を行う。
The drawing unit 130 performs geometry processing (coordinate conversion, clipping processing, perspective conversion, light source calculation, etc.)
A process of drawing an image of the subsequent object (one or more primitive surfaces) in a drawing area 174 (an area where image information can be stored in pixel units such as a frame buffer and a work buffer) is performed.

【0054】なお、ジオメトリ処理後の描画データ(構
成点に付与される位置座標、テクスチャ座標、色(輝
度)データ、法線ベクトル或いはα値等)は、主記憶部
172に格納される。描画部130は、この描画データ
(ポリゴンデータ)に基づいて描画処理を行う。
The drawing data (position coordinates, texture coordinates, color (luminance) data, normal vector, α value, etc.) given to the constituent points after the geometry processing are stored in the main storage unit 172. The drawing unit 130 performs a drawing process based on the drawing data (polygon data).

【0055】描画部130が含むテクスチャマッピング
部132は、テクスチャ記憶部176に記憶されるテク
スチャをオブジェクトにマッピングするための処理を行
う。
The texture mapping unit 132 included in the drawing unit 130 performs a process for mapping the texture stored in the texture storage unit 176 to the object.

【0056】例えばスペキュラーマッピングを行う場合
には、反射ベクトル変化部112で得られた第2の反射
ベクトルに基づいてテクスチャ座標が求められ、そのテ
クスチャ座標がオブジェクトの各構成点(頂点)に対し
て付与される。そして、テクスチャマッピング部132
は、各構成点に付与されたテクスチャ座標により指定さ
れるスペキュラー表現テクスチャ(例えば、マッピング
すべきハイライト画像が描かれたテクスチャ)をテクス
チャ記憶部176から読み出して、オブジェクトにマッ
ピングする。
For example, when performing specular mapping, texture coordinates are obtained based on the second reflection vector obtained by the reflection vector changing unit 112, and the texture coordinates are determined for each constituent point (vertex) of the object. Granted. Then, the texture mapping unit 132
Reads a specular expression texture (for example, a texture on which a highlight image to be mapped is drawn) specified by texture coordinates assigned to each constituent point from the texture storage unit 176 and maps the texture onto an object.

【0057】なお、本実施形態のゲームシステムは、1
人のプレーヤのみがプレイできるシングルプレーヤモー
ド専用のシステムにしてもよいし、このようなシングル
プレーヤモードのみならず、複数のプレーヤがプレイで
きるマルチプレーヤモードも備えるシステムにしてもよ
い。
It should be noted that the game system according to the present embodiment
The system may be a system dedicated to the single player mode in which only one player can play, or a system having not only such a single player mode but also a multi-player mode in which a plurality of players can play.

【0058】また複数のプレーヤがプレイする場合に、
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末(ゲーム機、携帯電話)を用いて生成してもよい。
When a plurality of players play,
The game image and the game sound to be provided to the plurality of players may be generated using one terminal, or may be generated using a plurality of terminals (game machine, mobile phone, etc.) connected via a network (transmission line, communication line) or the like. ) May be generated.

【0059】2.本実施形態の特徴 2.1 反射ベクトルの方向の変化による異方性反射の
表現 異方性反射の性質を有するオブジェクトの表面には、あ
る特定方向に傷がついていると考えられる。この傷の存
在により、オブジェクトの表面に入射された光の多く
は、傷の向きに垂直な方向に反射される。従って、傷が
ないオブジェクトの表面での反射ベクトルの方向を、オ
ブジェクトの表面上の傷を考慮した方向に変化させるこ
とができれば、異方性反射モデルを構築できる。
2. 2. Features of the Present Embodiment 2.1 Expression of Anisotropic Reflection by Changing Direction of Reflection Vector The surface of an object having the property of anisotropic reflection is considered to be damaged in a specific direction. Due to the presence of the flaw, much of the light incident on the surface of the object is reflected in a direction perpendicular to the direction of the flaw. Therefore, if the direction of the reflection vector on the surface of the object having no flaw can be changed to a direction considering the flaw on the surface of the object, an anisotropic reflection model can be constructed.

【0060】そこで本実施形態では、まず、図4(A)
に示すように、光源LSからの光源ベクトルをLとし、
面に垂直な法線ベクトルをNとした場合に、オブジェク
トの各構成点(頂点、プリミティブ点等)での反射ベク
トルRを下式(2)のように求める。即ち、光源情報
(L)と法線情報(N)とに基づいて反射ベクトルRを
求める。
Therefore, in this embodiment, first, FIG.
, The light source vector from the light source LS is L,
Assuming that the normal vector perpendicular to the surface is N, the reflection vector R at each component point (vertex, primitive point, etc.) of the object is obtained as in the following equation (2). That is, the reflection vector R is obtained based on the light source information (L) and the normal line information (N).

【0061】R=2(N・L)N−L (2) なお図4(A)において、オブジェクトの表面上の傷
は、U軸方向或いはV軸方向のいずかの方向に発生して
いると想定されている。
R = 2 (NL) NL (2) In FIG. 4A, the scratch on the surface of the object occurs in either the U-axis direction or the V-axis direction. It is assumed that

【0062】そして本実施形態では、上式(2)で求め
られた反射ベクトルRを、図4(B)に示すように、異
方性反射の方向に変化させて、反射ベクトルR2(第2
の反射ベクトル)を得る。
In this embodiment, the reflection vector R obtained by the above equation (2) is changed in the direction of anisotropic reflection as shown in FIG.
Is obtained.

【0063】より具体的には、傷の向きがU軸(第1、
第2の軸の一方の軸)の方向であると想定されている場
合には、図4(B)に示すように、反射ベクトルRの方
向をV軸の方に変化させて(回転させて)、反射ベクト
ルR2を得る。このようにすれば、オブジェクトの各構
成点での反射ベクトルの方向を、傷に垂直なV軸の方に
一律に変化させることができる。
More specifically, the direction of the wound is U-axis (first,
If it is assumed that the direction is one of the second axes (as one of the second axes), the direction of the reflection vector R is changed toward the V axis (by rotating it) as shown in FIG. ) To obtain a reflection vector R2. This makes it possible to uniformly change the direction of the reflection vector at each component point of the object toward the V axis perpendicular to the flaw.

【0064】一方、傷の向きがV軸(第1、第2の軸の
他方の軸)の方向であると想定されている場合には、図
4(B)とは逆に、反射ベクトルRの方向をU軸の方に
変化させて(回転させて)、反射ベクトルR2を得る。
このようにすれば、オブジェクトの各構成点での反射ベ
クトルの方向を、傷に垂直なU軸の方に一律に変化させ
ることができる。
On the other hand, when it is assumed that the direction of the flaw is the direction of the V axis (the other of the first and second axes), the reflection vector R is opposite to that of FIG. Is changed (rotated) toward the U axis to obtain a reflection vector R2.
In this way, the direction of the reflection vector at each component point of the object can be uniformly changed toward the U-axis perpendicular to the flaw.

【0065】そして本実施形態では、このようにして得
られた反射ベクトルR2を用いてシェーディング演算を
行い、オブジェクトの各構成点での鏡面反射光の強度
(輝度)を求める。
In this embodiment, shading calculation is performed using the reflection vector R2 obtained as described above, and the intensity (luminance) of specular reflection light at each component point of the object is obtained.

【0066】例えばフォンのモデルを利用する場合に
は、反射ベクトルR2と視線ベクトルとのなす角度をθ
とした場合に、PS×COSnθの計算を行い、鏡面反射
光の強度を求める。なお、PSはスペキュラー係数(ス
ペキュラー成分の最大係数)であり、nは累乗の係数で
ある。nを変化させることでハイライトの広がり具合を
制御できる。
For example, when a phone model is used, the angle between the reflection vector R2 and the line-of-sight vector is θ
Is calculated, P S × COS n θ is calculated, and the intensity of the specular reflected light is obtained. Incidentally, P S is the specular coefficient (maximum coefficient of specular component), n is the coefficient of power. By changing n, the extent of the highlight can be controlled.

【0067】また、ブリンのモデルを利用する場合に
は、反射ベクトルR2と光源ベクトルLとの中間ベクト
ルを求め、この中間ベクトルと視線ベクトルとに基づい
て鏡面反射光の強度を求めればよい。
When the Brin model is used, an intermediate vector between the reflection vector R2 and the light source vector L is obtained, and the intensity of the specular reflected light may be obtained based on the intermediate vector and the line-of-sight vector.

【0068】以上のようにして鏡面反射光の強度を求め
ることで、本実施形態では、オブジェクトの表面での反
射光の異方性反射の表現を、少ない処理負担で実現して
いる。これにより、オーディオ機器のつまみの表面に見
える特有の明暗パターン(ブラシ効果)や、人間の髪の
毛に見える「天使の輪」(ヘアライン効果)などの画像
を、少ない処理負担で生成できるようになる。
By calculating the intensity of the specular reflected light as described above, in the present embodiment, the expression of the anisotropic reflection of the reflected light on the surface of the object is realized with a small processing load. This makes it possible to generate an image such as a unique light / dark pattern (brush effect) visible on the surface of the knob of the audio device or an “angel ring” (hairline effect) that looks like human hair with a small processing load.

【0069】反射ベクトルの方向を変化させる処理は、
より具体的には以下のような手法により実現できる。
The process of changing the direction of the reflection vector is as follows:
More specifically, it can be realized by the following method.

【0070】(I)まず図5に示すように、上式(2)
の計算に基づき、オブジェクトOBの各構成点(頂点)
での反射ベクトルR(第1の反射ベクトル)をワールド
座標系(XW、YW、ZW)において求める。
(I) First, as shown in FIG.
Based on the calculation of the above, each constituent point (vertex) of the object OB
Is obtained in the world coordinate system (XW, YW, ZW).

【0071】(II)次に、図5のA1に示すように、反
射ベクトルR(RX、RY、RZ)を、ワールド座標系
(第1の座標系)からUVN座標系(第2の座標系)に
座標変換して、UVN座標系での反射ベクトルRUVN
(RU、RN、RV)を得る。この座標変換は例えば下
式(3)のようにして実現できる。
(II) Next, as shown by A1 in FIG. 5, the reflection vector R (RX, RY, RZ) is converted from the world coordinate system (first coordinate system) to the UVN coordinate system (second coordinate system). ) Is converted to a reflection vector RUVN in the UVN coordinate system.
(RU, RN, RV). This coordinate conversion can be realized, for example, by the following equation (3).

【0072】[0072]

【数1】 ここで、UVN座標系のU軸及びV軸の一方の軸は、各
構成点での傷の方向を表す軸であり、U軸及びV軸の他
方の軸は上記一方の軸に直交する軸である。そして、上
式(3)の(UX、UY、UZ)はU軸方向の単位ベク
トルであり、(VX、VY、VZ)はV軸方向の単位ベ
クトルである。また、N軸は、法線ベクトルの方向に設
定された軸であり、上式(3)の(NX、NY、NZ)
は、N軸方向の単位ベクトルである。
(Equation 1) Here, one of the U axis and the V axis of the UVN coordinate system is an axis representing the direction of a flaw at each component point, and the other axis of the U axis and the V axis is an axis orthogonal to the one axis. It is. Then, (UX, UY, UZ) in the above equation (3) is a unit vector in the U-axis direction, and (VX, VY, VZ) is a unit vector in the V-axis direction. Further, the N axis is an axis set in the direction of the normal vector, and (NX, NY, NZ) in the above equation (3).
Is a unit vector in the N-axis direction.

【0073】なお、U軸、V軸は互いに直交していなく
てもよく、互いに交差する軸であればよい。また、N軸
も、法線ベクトルの方向の軸でなくてもよく、U軸及び
V軸に交差する軸であればよい。
The U axis and the V axis do not have to be orthogonal to each other, but may be any axes that intersect each other. Also, the N axis need not be the axis in the direction of the normal vector, and may be any axis that intersects the U axis and the V axis.

【0074】(III)次に、図5のA2に示すように、
UVN座標系において反射ベクトルRUVN(RU、R
N、RV)の方向を変化させて、反射ベクトルR2UV
N(R2U、R2N、R2V)を求める。これは例えば
下式(4)により求めることができる。
(III) Next, as shown at A2 in FIG.
In the UVN coordinate system, the reflection vector RUVN (RU, R
N, RV) to change the reflection vector R2UV.
N (R2U, R2N, R2V) is obtained. This can be obtained, for example, by the following equation (4).

【0075】[0075]

【数2】 ここで、CUはU軸成分でのスケーリング係数であり、
CVはV軸方向でのスケーリング係数である。
(Equation 2) Here, CU is a scaling factor in the U-axis component,
CV is a scaling coefficient in the V-axis direction.

【0076】(IV)次に、図5のA3に示すように、反
射ベクトルR2UVN(R2U、R2N、R2V)を、
UVN座標系からワールド座標系に座標変換して、ワー
ルド座標系での反射ベクトルR2(R2X、R2Y、R
2Z)を求める。これは例えば下式(5)により求める
ことができる。
(IV) Next, as shown at A3 in FIG. 5, the reflection vector R2UVN (R2U, R2N, R2V) is
The coordinates are converted from the UVN coordinate system to the world coordinate system, and the reflection vector R2 (R2X, R2Y, R2) in the world coordinate system is converted.
2Z). This can be obtained, for example, by the following equation (5).

【0077】[0077]

【数3】 以上のように本実施形態では、異方性反射の方向を定義
するUVN座標系を設定し、このUVN座標系において
反射ベクトルRUVNを変化させて反射ベクトルR2U
VNを求めるようにしている。このようにすれば、上式
(4)のように、反射ベクトルRUVNのU軸成分RU
を係数CUでスケーリングし、V軸成分RVを係数CV
でスケーリングするだけという非常な簡素な処理で、反
射ベクトルRUVNを異方性反射の方向に変化させて反
射ベクトルR2UVNを得ることができるようになる。
(Equation 3) As described above, in the present embodiment, the UVN coordinate system that defines the direction of anisotropic reflection is set, and the reflection vector RUVN is changed in this UVN coordinate system to change the reflection vector R2U.
VN is calculated. By doing so, the U-axis component RU of the reflection vector RUVN is calculated as in the above equation (4).
Is scaled by a coefficient CU, and the V-axis component RV is
The reflection vector RUVN can be obtained by changing the reflection vector RUVN in the direction of anisotropic reflection by a very simple process of only scaling with R.

【0078】例えば、U軸方向に傷の方向を設定する場
合には、図6(A)に示すように、U軸方向のスケーリ
ング係数CUを1.0よりも小さくすればよい。例えば
図6(A)では、CU=0.5、CV=2.0に設定さ
れている。このようにすることで、反射ベクトルは、傷
に垂直な方向であるV軸の方向に変化し、異方性反射を
表現できるようになる。
For example, when the direction of the flaw is set in the U-axis direction, the scaling coefficient CU in the U-axis direction may be made smaller than 1.0, as shown in FIG. For example, in FIG. 6A, CU = 0.5 and CV = 2.0. By doing so, the reflection vector changes in the direction of the V axis, which is the direction perpendicular to the flaw, so that anisotropic reflection can be expressed.

【0079】一方、V軸方向に傷の方向を設定する場合
には、図6(B)に示すように、V軸方向のスケーリン
グ係数CVを1.0よりも小さくすればよい。例えば図
6(B)では、CU=2.0、CV=0.5に設定され
ている。このようにすることで、反射ベクトルは、傷に
垂直な方向であるU軸の方向に変化し、異方性反射を表
現できるようになる。
On the other hand, when the direction of the flaw is set in the V-axis direction, the scaling coefficient CV in the V-axis direction may be made smaller than 1.0, as shown in FIG. For example, in FIG. 6B, CU = 2.0 and CV = 0.5. By doing so, the reflection vector changes in the direction of the U-axis, which is the direction perpendicular to the flaw, and anisotropic reflection can be expressed.

【0080】なお、スケーリング係数により反射ベクト
ルの方向を変化させる手法では、反射ベクトルの方向が
象限を越えては変化しないことを前提としている。
The method of changing the direction of the reflection vector using the scaling coefficient is based on the premise that the direction of the reflection vector does not change beyond the quadrant.

【0081】また、図6(A)、(B)では、スケーリ
ング係数CU、CVを用いて反射ベクトルRUVNの方
向を変化させているが、RUVNをN軸回りで回転させ
ることでRUVNの方向を変化させる手法を採用しても
よい。但し、この手法では、反射ベクトルを回転させる
処理や、反射ベクトルの方向が象限を越えて変化しない
ように制御する処理が必要になるため、処理負荷が重く
なるという不利点がある。
In FIGS. 6A and 6B, the direction of the reflection vector RUVN is changed by using the scaling coefficients CU and CV. A changing method may be adopted. However, this method has a disadvantage of increasing the processing load because it requires a process of rotating the reflection vector and a process of controlling the direction of the reflection vector so as not to change beyond the quadrant.

【0082】これに対して、スケーリング係数で反射ベ
クトルの方向を変化させる手法では、スケーリング係数
を反射ベクトルの各成分に乗算するだけで済むと共に、
反射ベクトルの方向が象限を越えて変化しないように制
御する処理も不要となるため、処理負荷が非常に軽いと
いう利点がある。
On the other hand, the method of changing the direction of the reflection vector by the scaling coefficient only requires multiplying each component of the reflection vector by the scaling coefficient.
Since there is no need to perform processing for controlling the direction of the reflection vector so as not to change beyond the quadrant, there is an advantage that the processing load is very light.

【0083】図7(A)は、オブジェクトOBに対し
て、異方性反射の処理を行わずに通常のシェーディング
処理を行った場合の生成画像例である。異方性反射の処
理を行わない場合には、反射光の強度分布は等方的なも
のになるため、オブジェクトOBの表面には通常形状の
ハイライトが生じる。
FIG. 7A is an example of a generated image in a case where the normal shading processing is performed on the object OB without performing the anisotropic reflection processing. When the anisotropic reflection processing is not performed, the intensity distribution of the reflected light is isotropic, and thus a highlight having a normal shape is generated on the surface of the object OB.

【0084】図7(B)は、従来の楕円体モデルを用い
て異方性反射を表現した場合の生成画像例である。図7
(B)では、オブジェクトOBの上面に同心円状の傷が
あると想定されており、ブラシ効果が表現されたハイラ
イト画像が生成されている。
FIG. 7B is an example of a generated image when anisotropic reflection is expressed using a conventional ellipsoid model. FIG.
In (B), it is assumed that there is a concentric scratch on the upper surface of the object OB, and a highlight image expressing a brush effect is generated.

【0085】一方、図7(C)は、本実施形態の手法に
より異方性反射を表現した場合の生成画像例である。図
7(C)では、図6(A)、(B)で説明したスケーリ
ング係数がCU=0.5、CV=2.0に設定されてい
る。これにより、オブジェクトOBの上面に同心円状の
傷がある場合に見えるブラシ効果のハイライト画像を生
成できる。
FIG. 7C shows an example of a generated image when anisotropic reflection is expressed by the method of the present embodiment. In FIG. 7C, the scaling coefficients described in FIGS. 6A and 6B are set to CU = 0.5 and CV = 2.0. Thereby, it is possible to generate a highlight image of the brush effect that appears when there is a concentric scratch on the upper surface of the object OB.

【0086】図8(A)は、従来の楕円体モデルを用い
て異方性反射を表現した場合の生成画像例である。図8
(A)では、オブジェクトOBの中心から放射状に傷が
あると想定されており、ヘアライン効果(髪の毛の天使
の輪)が表現されたハイライト画像が生成されている。
FIG. 8A is an example of a generated image when anisotropic reflection is expressed using a conventional ellipsoid model. FIG.
In (A), it is assumed that there is a flaw radially from the center of the object OB, and a highlight image expressing a hairline effect (an angel ring of hair) is generated.

【0087】一方、図8(B)は、本実施形態の手法に
より異方性反射を表現した場合の生成画像例である。図
8(B)では、スケーリング係数がCU=2.0、CV
=0.5に設定されている。これにより、オブジェクト
OBの中心から放射状に傷がある場合に見えるヘアライ
ン効果のハイライト画像を生成できる。
FIG. 8B shows an example of a generated image when anisotropic reflection is expressed by the method of the present embodiment. In FIG. 8 (B), the scaling coefficient is CU = 2.0, CV
= 0.5. Thereby, it is possible to generate a highlight image of the hairline effect that appears when there is a scratch radially from the center of the object OB.

【0088】図9(A)〜(D)、図10(A)〜
(D)に、スケーリング係数CU、CVを徐々に変化さ
せた場合に本実施形態により生成されるオブジェクトO
Bの画像の例を示す。
FIGS. 9A to 9D and FIGS.
(D) shows an object O generated according to the present embodiment when the scaling coefficients CU and CV are gradually changed.
4 shows an example of an image of B.

【0089】図9(A)では、CU=0.5、CV=
2.0に設定されている。そして、図9(B)、
(C)、(D)、図10(A)、(B)、(C)、
(D)では、CUが0.2ずつ増加し、CVが0.2ず
つ減少している。図9(A)では、ブラシ効果のハイラ
イト画像が生成され、図10(D)ではヘアライン効果
のハイライト画像が生成される。
In FIG. 9A, CU = 0.5, CV =
It is set to 2.0. And FIG. 9 (B),
(C), (D), FIGS. 10 (A), (B), (C),
In (D), the CU increases by 0.2 and the CV decreases by 0.2. In FIG. 9A, a highlight image of the brush effect is generated, and in FIG. 10D, a highlight image of the hairline effect is generated.

【0090】このように本実施形態によれば、スケーリ
ング係数CU、CVの値を所望の値に変化させるだけ
で、オブジェクトの表面上に想定する傷の方向を任意に
制御でき、ブラシ効果やヘアライン効果などの多様なハ
イライト画像の生成に成功している。
As described above, according to the present embodiment, the direction of the flaw assumed on the surface of the object can be arbitrarily controlled only by changing the values of the scaling coefficients CU and CV to desired values, and the brush effect and the hairline can be controlled. Various highlight images such as effects have been successfully generated.

【0091】2.2 自由曲面の利用 次に、オブジェクトを自由曲面で表す場合について説明
する。オブジェクトを自由曲面で表すと、図5で説明し
たUVN座標系を簡易な処理で設定することができる。
2.2 Use of Free-Form Surface Next, a case where an object is represented by a free-form surface will be described. If the object is represented by a free-form surface, the UVN coordinate system described with reference to FIG. 5 can be set by simple processing.

【0092】自由曲面の構成点Puv(u,v)のx成
分であるPxuv(u,v)は下式(6)のように求め
られる。
P x uv (u, v), which is the x component of the constituent point Puv (u, v) of the free-form surface, is obtained by the following equation (6).

【0093】[0093]

【数4】 Puv(u,v)のy成分、z成分についても、上式
(6)と同様の式により求めることができる。
(Equation 4) The y component and z component of Puv (u, v) can also be obtained by the same equation as the above equation (6).

【0094】なお、有理化を行った場合には下式(7)
のようになる。
When rationalization is performed, the following equation (7) is used.
become that way.

【0095】[0095]

【数5】 上式(6)、(7)において、Q00〜Q33は制御点であ
る。
(Equation 5) In the above equations (6) and (7), Q 00 to Q 33 are control points.

【0096】またNu0,4〜Nu3,4、Nv0,4〜Nv3,4
は混ぜ合わせ関数である。これらの混ぜ合わせ関数は、
下式(8)、(9)の再帰形表現の漸化式(DeBoorCox
の漸化式)と、下式(10)のノットベクトルTU、T
Vとに基づき求めることができる。
Nu 0,4 to Nu 3,4 , Nv 0,4 to Nv 3,4
Is a blending function. These blending functions are
The recurrence formula (DeBoorCox)
And the knot vectors TU, T of the following equation (10):
V.

【0097】[0097]

【数6】 (Equation 6)

【0098】[0098]

【数7】 ノットベクトルは、パラメータの節目を数値の列として
与えるベクトルである。ノットベクトルのノット間隔
(ノットベクトルの隣り合う要素間の数値差)が一定で
ある場合には、ユニフォーム(Uniform)と呼ばれ、ノ
ット間隔が一定でない場合は、ノンユニフォーム(Non
Uniform)と呼ばれる。
(Equation 7) The knot vector is a vector that gives a parameter node as a sequence of numerical values. When the knot interval of the knot vector (the numerical difference between adjacent elements of the knot vector) is constant, it is called a uniform. When the knot interval is not constant, the non-uniform (Non-uniform) is used.
Uniform).

【0099】ノンユニフォーム(Non Uniform)で、有
理化(Rational)されたBスプラインが、NURBS
(Non Uniform Rational B-Spline)である。
A non-uniform, Rationalized B-spline is represented by NURBS
(Non Uniform Rational B-Spline).

【0100】図11に、本実施形態により生成された曲
面パッチ20(自由曲面)の例を示す。
FIG. 11 shows an example of a surface patch 20 (free-form surface) generated according to the present embodiment.

【0101】上式(6)又は(7)から明らかなよう
に、曲面パッチ20の各構成点は、制御点Q00〜Q33
混ぜ合わせ関数Nu0,4〜Nu3,4、Nv0,4〜Nv3,4
基づき求められる。この場合、パラメータuの変域はu
3≦u<u4となり、パラメータvの変域はv3≦v<v4
になる。
As is apparent from the above equations (6) and (7), each constituent point of the curved surface patch 20 is composed of control points Q 00 to Q 33 and a combination function Nu 0,4 to Nu 3,4 , Nv 0. , it obtained based on 4 ~Nv 3,4. In this case, the domain of the parameter u is u
3 ≦ u <u 4 , and the domain of the parameter v is v 3 ≦ v <v 4
become.

【0102】一方、曲面パッチ22を生成する場合に
は、使用する制御点のセットが、Q00〜Q33からQ01
34に変わる。そして、曲面パッチ22の各構成点は、
制御点Q01〜Q34と混ぜ合わせ関数Nu1,4〜Nu4,4
Nv0,4〜Nv3,4に基づき求められる。この場合、パラ
メータuの変域はu4≦u<u5となり、パラメータvの
変域はv3≦v<v4になる。
On the other hand, when the curved surface patch 22 is generated, the set of control points to be used is from Q 00 to Q 33 to Q 01 to Q 01 .
It changes to Q 34. And each constituent point of the curved surface patch 22 is:
Control points Q 01 to Q 34 and mixing functions Nu 1,4 to Nu 4,4 ,
It is determined based on Nv 0,4 to Nv 3,4 . In this case, the range of the parameter u is u 4 ≦ u <u 5 , and the range of the parameter v is v 3 ≦ v <v 4 .

【0103】本実施形態により生成された曲面パッチ2
0の各構成点は、ポリゴンの頂点に設定され、これらの
頂点により構成されるポリゴンが画面上に表示されるこ
とになる。
A surface patch 2 generated according to the present embodiment
Each component point of 0 is set to a vertex of the polygon, and the polygon constituted by these vertices is displayed on the screen.

【0104】図12に、自由曲面(NURBS)で表さ
れたオブジェクトOB(ワイヤーフレーム表示)の画像
の例を示す。曲面の分割数を制御することで、オブジェ
クトOBの精密度を変化させることができる。
FIG. 12 shows an example of an image of an object OB (wire frame display) represented by a free-form surface (NURBS). By controlling the number of divisions of the curved surface, the precision of the object OB can be changed.

【0105】さて、オブジェクトを自由曲面で表した場
合には、曲面の接線(傾き)ベクトルを簡易に求めるこ
とができる。
When an object is represented by a free-form surface, a tangent (inclination) vector of the surface can be easily obtained.

【0106】例えば、図13において、構成点Pでのu
方向の接線ベクトルUVECのx成分は下式(11)の
計算を行うことで求めることができる。y成分、z成分
も同様である。
For example, in FIG.
The x component of the tangent vector UVEC in the direction can be obtained by calculating the following equation (11). The same applies to the y component and the z component.

【0107】[0107]

【数8】 また、v方向の接線ベクトルVVECのx成分は下式
(12)の計算を行うことで求めることができる。y成
分、z成分も同様である。
(Equation 8) Further, the x component of the tangent vector VVEC in the v direction can be obtained by calculating the following equation (12). The same applies to the y component and the z component.

【0108】[0108]

【数9】 なお、上式(12)、(13)は有理化を行わない場合の式
であるが、有理化を行う場合も同様にして求めることが
できる。
(Equation 9) Note that the above equations (12) and (13) are equations in the case where rationalization is not performed, but can be similarly calculated when rationalization is performed.

【0109】また、上式(12)、(13)により求め
られた接線ベクトルUVEC、VVECの外積を計算す
ることで、図13に示すように、構成点Pでの法線ベク
トルNを求めることができる。
By calculating the cross product of the tangent vectors UVEC and VVEC obtained by the above equations (12) and (13), the normal vector N at the constituent point P is obtained as shown in FIG. Can be.

【0110】そして、接線ベクトルUVECの方向に図
5で説明したUVN座標系のU軸を設定し、接線ベクト
ルVVECの方向にUVN座標系のV軸を設定し、法線
ベクトルNの方向にUVN座標系のN軸を設定する。
Then, the U axis of the UVN coordinate system described in FIG. 5 is set in the direction of the tangent vector UVEC, the V axis of the UVN coordinate system is set in the direction of the tangent vector VVEC, and the UVN is set in the direction of the normal vector N. Set the N axis of the coordinate system.

【0111】このようにすれば、オブジェクトの各構成
点に対して図5に示すようなUVN座標系を設定でき
る。そして、この各構成点に設定されたUVN座標系に
おいて図5のA2に示すように反射ベクトルの方向を変
化させれば、異方性反射を表現できるようになる。
In this way, a UVN coordinate system as shown in FIG. 5 can be set for each constituent point of the object. Then, by changing the direction of the reflection vector in the UVN coordinate system set for each of the constituent points as indicated by A2 in FIG. 5, anisotropic reflection can be expressed.

【0112】このように、オブジェクトを自由曲面を表
した場合には、反射ベクトルを変化させるUVN座標系
を、比較的簡易な処理で設定できるという利点がある。
As described above, when the object is represented by a free-form surface, there is an advantage that the UVN coordinate system for changing the reflection vector can be set by relatively simple processing.

【0113】また、法線ベクトルNを得るために求める
接線ベクトルUVEC、VVECを、UVN座標系の設
定処理のために有効利用できるようになり、処理の効率
化を図れる。
Further, the tangent vectors UVEC and VVEC obtained to obtain the normal vector N can be effectively used for the setting processing of the UVN coordinate system, and the processing efficiency can be improved.

【0114】なお、オブジェクトをポリゴンで表現した
場合にも、例えば以下に述べるような手法でUVN座標
系を設定できる。
It should be noted that even when the object is represented by polygons, the UVN coordinate system can be set, for example, by the following method.

【0115】例えば図14(A)では、オブジェクトO
B(OB1、OB2又はOB3)のローカル座標系(X
L、YL、ZL)において、YL軸を中心としオブジェ
クトOBの各構成点(頂点)を通る円を想定し、この円
の接線ベクトルUVECの方向にU軸を設定する。そし
て、この接線ベクトルUVECと各構成点に付与されて
いる法線ベクトルとの外積を計算することでV軸の方向
を求める。このようにすることで、オブジェクトOBの
各構成点(頂点)に対してUVN座標系を設定できるよ
うになる。
For example, in FIG.
B (OB1, OB2 or OB3) in the local coordinate system (X
(L, YL, ZL), a circle centering on the YL axis and passing through each constituent point (vertex) of the object OB is assumed, and the U axis is set in the direction of the tangent vector UVEC of this circle. Then, the direction of the V-axis is obtained by calculating the cross product of the tangent vector UVEC and the normal vector given to each component point. By doing so, a UVN coordinate system can be set for each constituent point (vertex) of the object OB.

【0116】そしてこの手法によれば、図14(B)に
示すように、一定方向(接線ベクトルUVECの方向又
はUVECに垂直な方向)に傷がついた金属板等での異
方性反射を表現できるようになる。
According to this method, as shown in FIG. 14B, anisotropic reflection on a metal plate or the like damaged in a certain direction (the direction of the tangent vector UVEC or the direction perpendicular to the UVEC) is prevented. Be able to express.

【0117】2.3 スペキュラーマッピング さて図4(B)や上式(5)で得られた反射ベクトルR
2を用い行うシェーディング演算は、いわゆるスペキュ
ラーマッピングにより実現することが望ましい。反射ベ
クトルR2と視線ベクトルのなす角度により鏡面反射の
強度を計算するフォンのモデル等では、スペキュラー形
状(ハイライト形状)がポリゴン(広義にはプリミティ
ブ面)形状の影響を受けて不自然な形になるという問題
が生じる場合があるからである。
2.3 Specular Mapping The reflection vector R obtained from FIG.
2 is desirably realized by so-called specular mapping. In a phone model or the like that calculates the intensity of specular reflection based on the angle between the reflection vector R2 and the line-of-sight vector, the specular shape (highlight shape) becomes unnatural due to the influence of the polygon (primitive surface in a broad sense). This is because there is a case where the problem of

【0118】しかしながら、前述した大平や高木・横井
のモデルでは、スカラー量である鏡面反射光の強度が計
算結果として出力される。従って、スペキュラー形状が
ポリゴン形状の影響で不自然な形になるという問題を、
いわゆるスペキュラーマッピングの手法により解決でき
ない。
However, in the Ohira and Takagi / Yokoi models described above, the intensity of specular reflection light, which is a scalar quantity, is output as a calculation result. Therefore, the problem that the specular shape becomes unnatural due to the influence of the polygon shape,
It cannot be solved by the so-called specular mapping technique.

【0119】この場合、ノンリアルタイム処理のCGの
ようにピクセル単位で鏡面反射光の強度を計算すれば、
スペキュラー形状がポリゴン形状に依存してしまうとい
う問題を解決できる。しかしながら、この解決手法は、
リアルタイム処理が要求されるゲームシステムにおいて
は非現実的である。
In this case, if the intensity of the specular reflected light is calculated in pixel units as in non-real-time processing CG,
The problem that the specular shape depends on the polygon shape can be solved. However, this solution
This is impractical in a game system that requires real-time processing.

【0120】これに対して本実施形態では、スカラー量
ではなく、反射ベクトルR2が上式(5)のように求め
られる。従って、この反射ベクトルR2に基づいてテク
スチャ座標を求め、このテクスチャ座標に基づいてスペ
キュラー表現テクスチャをオブジェクトにマッピングす
るようにすれば、スペキュラーマッピングを実現できる
ようになる。
On the other hand, in the present embodiment, the reflection vector R2 is obtained as in the above equation (5) instead of the scalar amount. Therefore, if the texture coordinates are obtained based on the reflection vector R2 and the specular expression texture is mapped to the object based on the texture coordinates, the specular mapping can be realized.

【0121】より具体的には例えば図15(A)に示す
ようなスペキュラー表現テクスチャを用意する。なお、
このスペキュラー表現テクスチャはリアルタイムに生成
してもよい。
More specifically, for example, a specular expression texture as shown in FIG. 15A is prepared. In addition,
This specular expression texture may be generated in real time.

【0122】図15(A)に示すスペキュラー表現テク
スチャでは、その中心に例えば白いハイライト(光源)
画像が描かれており、中心から周囲に向かうにつれてそ
の輝度が徐々に減衰し、黒に変化して行く。なお、後述
する最終的な極座標変換の後のハイライト画像が所望の
適切な形状になるように、スペキュラー表現テクスチャ
に描かれるハイライト画像の形状を変形しておくことが
望ましい。
In the specular expression texture shown in FIG. 15A, for example, a white highlight (light source)
The image is drawn, and the brightness gradually decreases from the center to the periphery and changes to black. It is desirable to deform the shape of the highlight image drawn on the specular expression texture so that the highlight image after the final polar coordinate transformation described later has a desired appropriate shape.

【0123】この図15(A)に示すスペキュラー表現
テクスチャにより、図15(B)に示すような仮想球3
0を想定する。
With the specular expression texture shown in FIG. 15A, the virtual sphere 3 shown in FIG.
Assume 0.

【0124】そして図16に示すように、オブジェクト
OBを内包するように仮想球30を設定する。次に、光
源ベクトルLに基づき構成点Pでの反射ベクトルを求
め、この反射ベクトルから、本実施形態の手法で、異方
性反射を考慮した反射ベクトルR2を求める。そして、
この反射ベクトルR2と仮想球30との交点PRを求め
ることで、スペキュラー表現テクスチャのテクスチャ座
標TX、TY(コーディネート値)を求め、これらのT
X、TYを構成点Pに設定する。
Then, as shown in FIG. 16, the virtual sphere 30 is set so as to include the object OB. Next, a reflection vector at the constituent point P is obtained based on the light source vector L, and a reflection vector R2 considering anisotropic reflection is obtained from the reflection vector by the method of the present embodiment. And
By obtaining the intersection PR between the reflection vector R2 and the virtual sphere 30, the texture coordinates TX and TY (coordinate values) of the specular expression texture are obtained.
X and TY are set to the constituent points P.

【0125】そして、このようにして各構成点に設定さ
れたテクスチャ座標TX、TYに基づいて、図15
(A)に示すスペキュラー表現テクスチャをオブジェク
トOBにマッピングして、スペキュラーマッピングを実
現する。
Then, based on the texture coordinates TX and TY set for each constituent point in this way, FIG.
The specular expression texture shown in (A) is mapped to the object OB to realize specular mapping.

【0126】以上のようにすれば、スペキュラー形状
(ハイライト形状)がポリゴン形状の影響を受けないよ
うになるため、より自然でリアルな画像を生成できるよ
うになる。
In this way, since the specular shape (highlight shape) is not affected by the polygon shape, a more natural and realistic image can be generated.

【0127】3.本実施形態の処理 次に、本実施形態の処理の詳細例について、図17、図
18のフローチャートを用いて説明する。
[0127] 3. Next, a detailed example of the processing of the present embodiment will be described with reference to the flowcharts of FIGS.

【0128】まずPN(構成点の番号)を0に設定する
(ステップS1)。
First, PN (number of a constituent point) is set to 0 (step S1).

【0129】次に、構成点(頂点)PNでの接線ベクト
ルUVEC、VVECを上式(11)、(12)などに
基づいて求める(ステップS2)。
Next, the tangent vectors UVEC and VVEC at the constituent points (vertexes) PN are obtained based on the above equations (11) and (12) (step S2).

【0130】次に、図13で説明したように、接線ベク
トルUVEC、VVECの外積計算を行い、法線ベクト
ルNを求める(ステップS3)。
Next, as described with reference to FIG. 13, the cross product of the tangent vectors UVEC and VVEC is calculated to obtain the normal vector N (step S3).

【0131】次に、光源情報、構成点PNの位置、構成
点PNでの法線ベクトルNに基づき反射ベクトルRを求
める(ステップS4)。例えば点光源の場合には、光源
位置と構成点PNの位置とを結ぶベクトルを図4(A)
の光源ベクトルLとして求め、この光源ベクトルLと法
線ベクトルNとに基づき反射ベクトルRを求める。一
方、平行光源の場合には、平行光源からの光源ベクトル
Lと法線ベクトルNとに基づき反射ベクトルRを求め
る。
Next, a reflection vector R is obtained based on the light source information, the position of the constituent point PN, and the normal vector N at the constituent point PN (step S4). For example, in the case of a point light source, a vector connecting the light source position and the position of the constituent point PN is shown in FIG.
And a reflection vector R is determined based on the light source vector L and the normal vector N. On the other hand, in the case of a parallel light source, the reflection vector R is obtained based on the light source vector L from the parallel light source and the normal vector N.

【0132】次に、図5のA1で説明したように、ワー
ルド座標系からUVN座標系(UVEC、VVEC、N
で構成される座標系)に反射ベクトルRを座標変換し、
RUVNを求める(ステップS5)。
Next, as described in A1 of FIG. 5, the world coordinate system is changed from the UVN coordinate system (UVEC, VVEC, N
Coordinate transformation of the reflection vector R into a coordinate system
RUVN is obtained (step S5).

【0133】次に、図5のA2で説明したように、UV
N座標系においてRUVNに対して、異方性反射の方向
を表す係数CU、CVに基づくスケーリング計算を行
い、反射ベクトルR2UVNを求める(ステップS
6)。
Next, as described with reference to A2 in FIG.
In the N coordinate system, scaling calculation is performed on RUVN based on coefficients CU and CV representing the directions of anisotropic reflection to obtain a reflection vector R2UVN (step S2).
6).

【0134】次に、図5のA3で説明しように、R2U
VNをワールド座標系に座標変換し、反射ベクトルR2
を求める(ステップS7)。
Next, as described with reference to A3 in FIG.
VN is transformed into a world coordinate system, and a reflection vector R2
Is obtained (step S7).

【0135】次に、R2と視線ベクトルとのなす角度θ
に基づき、例えばPS×COSnθの計算を行い、構成点
PNでの鏡面反射光の強度を求める(ステップS8)。
Next, the angle θ between R2 and the line-of-sight vector
Based on, for example, performs the computation of P S × COS n θ, obtains the intensity of the specular reflection light in the configuration point PN (step S8).

【0136】次に、PNがPENDよりも大きいか否か
を判断し、PENDよりも小さい場合には、PNを1だ
けインクリメントし(ステップS10)、ステップS2
に戻る。一方、PENDよりも大きい場合には処理を終
了する。
Next, it is determined whether or not PN is larger than PEND. If smaller than PEND, PN is incremented by 1 (step S10), and step S2 is performed.
Return to On the other hand, if it is larger than PEND, the process ends.

【0137】図18は、スペキュラーマッピングを行う
場合のフローチャートである。スペキュラーマッピング
を行う場合には、図17のステップS8において図18
の処理を行うことになる。
FIG. 18 is a flowchart in the case of performing specular mapping. When specular mapping is performed, in step S8 in FIG.
Will be performed.

【0138】まず、オブジェクトの中心を仮想球の中心
に設定した場合に、オブジェクトの中心と仮想球上のハ
イライト画像の中心(マップの中心)とを結ぶ方向を、
視線ベクトルの方向に一致させるマトリクスMを求める
(ステップS11)。
First, when the center of the object is set to the center of the virtual sphere, the direction connecting the center of the object and the center of the highlight image on the virtual sphere (the center of the map) is
A matrix M that matches the direction of the line-of-sight vector is obtained (step S11).

【0139】即ち図19(A)に示すように、その中心
がオブジェクトOBの中心と一致するような仮想球30
を想定する。そして、例えばオブジェクトに設定された
XYZ座標系(各構成点に設定してもよい)において視
点VPの方へと向かう視線ベクトルをEとした場合に、
図19(B)、(C)に示すように、視線ベクトルE’
の方向がX’軸の負側方向に向くようなX’Y’Z’座
標系を想定する。すると、上記のマトリクスMは、下式
(13)のように、視線ベクトルE’をEに変換するマ
トリクスとなる。
That is, as shown in FIG. 19A, the virtual sphere 30 whose center coincides with the center of the object OB.
Is assumed. Then, for example, when a line-of-sight vector heading toward the viewpoint VP in the XYZ coordinate system set for the object (may be set for each constituent point) is E,
As shown in FIGS. 19B and 19C, the line-of-sight vector E ′
Is assumed to be in the X'Y'Z 'coordinate system in which the direction of. Then, the above-described matrix M is a matrix that converts the line-of-sight vector E ′ into E as in the following Expression (13).

【0140】E=M×E’ (13) 上式(13)より、 E’=M-1×E (14) となる。上式(14)において、M-1はMの逆変換マト
リクスである。
E = M × E ′ (13) From the above equation (13), E ′ = M −1 × E (14) In the above equation (14), M −1 is an inverse transformation matrix of M.

【0141】そして、この逆変換マトリクスM-1に基づ
いて下式(15)のように反射ベクトルR2を変換し
て、反射ベクトルR2’を求める(ステップS12)。
Then, based on the inverse transformation matrix M- 1 , the reflection vector R2 is converted as shown in the following equation (15) to obtain a reflection vector R2 '(step S12).

【0142】R2’=M-1×R2 (15) 次に、図19(D)に示すように、反射ベクトルR2’
を極座標変換して、テクスチャ座標TX、TYを求める
(ステップS13)。
R2 ′ = M −1 × R2 (15) Next, as shown in FIG. 19D, the reflection vector R2 ′
Is converted to polar coordinates to obtain texture coordinates TX and TY (step S13).

【0143】即ち、図19(D)に示すように、反射ベ
クトルR2’をX’Z’平面に投影したベクトルをR
2”とし、R2”とX’軸とのなす角度をθ1(度)と
する。また反射ベクトルR2’とY’軸のなす角度をθ
2(度)とする。この場合に、下式(16)のようにし
てテクスチャ座標TX、TYを求めることができる。
That is, as shown in FIG. 19D, a vector obtained by projecting the reflection vector R2 ′ onto the X′Z ′ plane is represented by R
2 ″, and the angle between R2 ″ and the X ′ axis is θ1 (degree). The angle between the reflection vector R2 ′ and the Y ′ axis is θ
2 (degrees). In this case, the texture coordinates TX and TY can be obtained as in the following equation (16).

【0144】 TX=θ1/360 TY=θ2/180 (16) 例えば上式(16)において、θ1=180(度)、θ
2=90(度)とした場合には、図19(D)から明ら
かなように、反射ベクトルR2’の方向と視線ベクトル
E’の方向とが一致する。そして、この時のテクスチャ
座標は、TX=0.5、TY=0.5となり、スペキュ
ラー表現テクスチャのハイライト画像の中心(マップの
中心)が参照されることになる。即ち、上式(15)の
変換は、反射ベクトルの方向が視線ベクトルの方向に一
致した場合に、スペキュラー表現テクスチャのハイライ
ト画像の中心が参照されるような変換であるということ
ができる。
TX = θ1 / 360 TY = θ2 / 180 (16) For example, in the above equation (16), θ1 = 180 (degrees), θ
When 2 = 90 (degrees), as is clear from FIG. 19D, the direction of the reflection vector R2 ′ matches the direction of the line-of-sight vector E ′. The texture coordinates at this time are TX = 0.5, TY = 0.5, and the center of the highlight image of the specular expression texture (the center of the map) is referred to. That is, it can be said that the conversion of the above equation (15) is such that when the direction of the reflection vector matches the direction of the line-of-sight vector, the center of the highlight image of the specular expression texture is referred to.

【0145】最後に、求められたテクスチャ座標TX、
TYを構成点PN(頂点)に付与する(ステップS1
4)。このテクスチャ座標TX、TYを用いて、図15
(A)に示すようなスペキュラー表現テクスチャをオブ
ジェクトOBにマッピングすることで、いわゆるスペキ
ュラーマッピングを実現できる。
Finally, the obtained texture coordinates TX,
TY is assigned to the constituent point PN (vertex) (step S1)
4). Using these texture coordinates TX and TY, FIG.
The so-called specular mapping can be realized by mapping the specular expression texture as shown in FIG.

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

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

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

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

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

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

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

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

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

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

【0156】DMAコントローラ970は、プロセッ
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
[0156] The DMA controller 970 provides a DM between the processor and the memory (RAM, VRAM, ROM, etc.).
A transfer is controlled.

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

【0158】通信インターフェース990は、ネットワ
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他のゲ
ームシステムとの間でのデータ転送が可能になる。
[0158] The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, a network connected to the communication interface 990 may be a communication line (analog telephone line, ISDN), a high-speed serial bus, or the like. Then, data can be transferred via the Internet by using a communication line. Further, by using the high-speed serial bus, data transfer with another game system becomes possible.

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

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

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

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

【0163】図21(C)に、ホスト装置1300と、
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-n(ゲーム機、携帯電話)とを含むシス
テムに本実施形態を適用した場合の例を示す。この場
合、上記格納情報は、例えばホスト装置1300が制御
可能な磁気ディスク装置、磁気テープ装置、メモリ等の
情報記憶媒体1306に格納されている。端末1304
-1〜1304-nが、スタンドアロンでゲーム画像、ゲー
ム音を生成できるものである場合には、ホスト装置13
00からは、ゲーム画像、ゲーム音を生成するためのゲ
ームプログラム等が端末1304-1〜1304-nに配送
される。一方、スタンドアロンで生成できない場合に
は、ホスト装置1300がゲーム画像、ゲーム音を生成
し、これを端末1304-1〜1304-nに伝送し端末に
おいて出力することになる。
FIG. 21C shows a host device 1300,
The host device 1300 and the network 1302 (LA
N or a wide area network such as the Internet).
An example in which the present embodiment is applied to a system including 4-1 to 1304-n (game machine, mobile phone) will be described. In this case, the storage information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300. Terminal 1304
If -1 to 1304-n are capable of generating a game image and a game sound in a stand-alone manner, the host device 13
From 00, game images and game programs for generating game sounds are delivered to the terminals 1304-1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and game sound, transmits them to the terminals 1304-1 to 1304-n, and outputs them.

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

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

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

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

【0168】また反射ベクトルの方向を変化させる手法
としては、処理の簡素化の観点からは図5で説明した手
法が特に望ましいが、本発明はこれに限定されず種々の
変形実施が可能である。
As a method of changing the direction of the reflection vector, the method described with reference to FIG. 5 is particularly desirable from the viewpoint of simplification of processing. However, the present invention is not limited to this, and various modifications can be made. .

【0169】また第2の座標系の設定手法も、図13や
図14(A)、(B)で説明した手法に限定されるもの
ではない。
The method of setting the second coordinate system is not limited to the method described with reference to FIGS. 13, 14A and 14B.

【0170】また、シェーディング演算により得られた
鏡面反射光の強度(輝度)をα値(各ピクセルに関連づ
けられて記憶される情報であり色情報以外のプラスアル
ファの情報)に設定し、このα値に基づいてα合成(α
ブレンディング、α加算)を行い、例えばガラス表面上
の傷で反射光が異方性反射する様子を表現してもよい。
Also, the intensity (luminance) of the specular reflection light obtained by the shading operation is set to an α value (information stored in association with each pixel and information of plus alpha other than the color information). Α synthesis based on the value (α
Blending, α addition) may be performed to express, for example, a state in which reflected light is anisotropically reflected by a scratch on the glass surface.

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

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

【図面の簡単な説明】[Brief description of the drawings]

【図1】図1(A)、(B)は、異方性反射について説
明するための図である。
FIGS. 1A and 1B are diagrams for explaining anisotropic reflection. FIG.

【図2】図2(A)、(B)は、楕円体モデルを用いて
異方性反射を実現する手法について説明するための図で
ある。
FIGS. 2A and 2B are diagrams for explaining a method of realizing anisotropic reflection using an ellipsoid model.

【図3】本実施形態のゲームシステムの機能ブロック図
の例である。
FIG. 3 is an example of a functional block diagram of the game system of the embodiment.

【図4】図4(A)、(B)は、反射ベクトルの方向を
変化させて異方性反射を実現する手法について説明する
ための図である。
FIGS. 4A and 4B are diagrams for explaining a method of realizing anisotropic reflection by changing the direction of a reflection vector.

【図5】UVN座標系で反射ベクトルの方向を変化させ
て異方性反射を実現する手法について説明するための図
である。
FIG. 5 is a diagram for describing a method of realizing anisotropic reflection by changing the direction of a reflection vector in a UVN coordinate system.

【図6】図6(A)、(B)は、スケーリング係数を用
いて反射ベクトルの方向を変化させる手法について説明
するための図である。
FIGS. 6A and 6B are diagrams for explaining a method of changing the direction of a reflection vector using a scaling coefficient.

【図7】図7(A)はノーマルシェーディングの場合、
図7(B)は楕円体モデルを用いた場合、図7(C)は
本実施形態の手法を用いた場合の生成画像例である。
FIG. 7A shows a case of normal shading.
FIG. 7B is an example of a generated image when an ellipsoid model is used, and FIG. 7C is an example of a generated image when the method of the present embodiment is used.

【図8】図8(A)は楕円体モデルを用いた場合、図8
(B)は本実施形態の手法を用いた場合の生成画像例で
ある。
FIG. 8A shows a case where an ellipsoid model is used;
(B) is an example of a generated image when the method of the present embodiment is used.

【図9】図9(A)、(B)、(C)、(D)は、スケ
ーリング係数を徐々に変化させた場合の生成画像例であ
る。
FIGS. 9A, 9B, 9C, and 9D are examples of generated images when the scaling coefficient is gradually changed.

【図10】図10(A)、(B)、(C)、(D)も、
スケーリング係数を徐々に変化させた場合の生成画像例
である。
FIG. 10 (A), (B), (C), (D) also
It is an example of a generated image when the scaling coefficient is gradually changed.

【図11】オブジェクトを自由曲面で表現する手法につ
いて説明するための図である。
FIG. 11 is a diagram for describing a method of expressing an object by a free-form surface.

【図12】オブジェクトを自由曲面で表現する手法につ
いて説明するための図である。
FIG. 12 is a diagram for describing a method of expressing an object by a free-form surface.

【図13】各構成点での接線ベクトルを求めて、UVN
座標系を設定する手法について説明するための図であ
る。
FIG. 13 shows a tangent vector at each constituent point,
FIG. 6 is a diagram for describing a method of setting a coordinate system.

【図14】図14(A)、(B)は、オブジェクトがポ
リゴンで表現される場合におけるUVN座標系の設定手
法について説明するための図である。
FIGS. 14A and 14B are diagrams for describing a setting method of a UVN coordinate system when an object is represented by a polygon.

【図15】図15(A)、(B)は、スペキュラー表現
テクスチャと仮想球について説明するための図である。
FIGS. 15A and 15B are diagrams for explaining a specular expression texture and a virtual sphere; FIG.

【図16】スペキュラーマッピングについて説明するた
めの図である。
FIG. 16 is a diagram for explaining specular mapping.

【図17】本実施形態の処理の詳細例について示すフロ
ーチャートである。
FIG. 17 is a flowchart illustrating a detailed example of a process according to the embodiment;

【図18】本実施形態の処理の詳細例について示すフロ
ーチャートである。
FIG. 18 is a flowchart illustrating a detailed example of a process according to the present embodiment.

【図19】図19(A)、(B)、(C)、(D)は、
スペキュラー表現テクスチャのテクスチャ座標の求め方
について説明するための図である。
FIGS. 19 (A), (B), (C), (D)
FIG. 4 is a diagram for explaining how to obtain texture coordinates of a specular expression texture.

【図20】本実施形態を実現できるハードウェアの構成
の一例を示す図である。
FIG. 20 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.

【図21】図21(A)、(B)、(C)は、本実施形
態が適用される種々の形態のシステムの例を示す図であ
る。
FIGS. 21A, 21B, and 21C are diagrams showing examples of various types of systems to which the present embodiment is applied.

【符号の説明】[Explanation of symbols]

OB オブジェクト LS 光源 VP 視点 L 光源ベクトル N 法線ベクトル R、R2、RUVN、R2UVN 反射ベクトル 20、22 曲面パッチ 30 仮想球 100 処理部 110 反射ベクトル演算部 112 反射ベクトル変化部 114 シェーディング演算部 130 描画部 132 テクスチャマッピング部 160 操作部 170 記憶部 172 主記憶部 174 描画領域 176 テクスチャ記憶部 180 情報記憶媒体 190 表示部 192 音出力部 194 携帯型情報記憶装置 196 通信部 OB object LS light source VP viewpoint L light source vector N normal vector R, R2, RUVN, R2UVN reflection vector 20, 22 curved surface patch 30 virtual sphere 100 processing unit 110 reflection vector calculation unit 112 reflection vector change unit 114 shading calculation unit 130 drawing unit 132 Texture mapping unit 160 Operation unit 170 Storage unit 172 Main storage unit 174 Drawing area 176 Texture storage unit 180 Information storage medium 190 Display unit 192 Sound output unit 194 Portable information storage device 196 Communication unit

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 画像生成を行うゲームシステムであっ
て、 光源情報と法線情報とに基づいてオブジェクトの各構成
点での反射ベクトルを求める手段と、 前記反射ベクトルの方向を異方性反射の方向に変化させ
て、第2の反射ベクトルを求める手段と、 前記第2の反射ベクトルと視点情報とに基づいてオブジ
ェクトのシェーディング演算を行う手段と、 を含むことを特徴とするゲームシステム。
1. A game system for generating an image, comprising: means for obtaining a reflection vector at each constituent point of an object based on light source information and normal line information; A game system comprising: means for changing a direction to obtain a second reflection vector; and means for performing a shading operation on an object based on the second reflection vector and viewpoint information.
【請求項2】 請求項1において、 前記反射ベクトルを、異方性反射の方向を定義する第2
の座標系に座標変換し、前記第2の座標系において前記
反射ベクトルの方向を変化させて前記第2の反射ベクト
ルを求め、前記第2の座標系での前記第2の反射ベクト
ルを前記第1の座標系に座標変換し、前記第1の座標系
での前記第2の反射ベクトルに基づいてオブジェクトの
シェーディング演算を行うことを特徴とするゲームシス
テム。
2. The method according to claim 1, wherein the reflection vector is a second vector defining a direction of anisotropic reflection.
Coordinate transformation into a coordinate system of, the direction of the reflection vector is changed in the second coordinate system to obtain the second reflection vector, and the second reflection vector in the second coordinate system is 1. A game system, wherein coordinates are transformed into one coordinate system, and an object shading operation is performed based on the second reflection vector in the first coordinate system.
【請求項3】 請求項2において、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有する場合におい
て、 前記第2の座標系での前記反射ベクトルの方向を前記第
1、第2の軸のいずれかの方向に変化させて、前記第2
の反射ベクトルを求めることを特徴とするゲームシステ
ム。
3. The method according to claim 2, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. The direction of the reflection vector in the coordinate system 2 is changed to one of the first and second axes, and the direction of the second
A game system characterized by calculating a reflection vector of a game.
【請求項4】 請求項2又は3において、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有する場合におい
て、 前記第2の座標系での前記反射ベクトルの前記第1の軸
の成分を第1の係数でスケーリングすると共に、前記第
2の座標系での前記反射ベクトルの前記第2の軸の成分
を第2の係数でスケーリングすることで、前記第2の反
射ベクトルを求めることを特徴とするゲームシステム。
4. The case according to claim 2, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. A component of the first axis of the reflection vector in the second coordinate system is scaled by a first coefficient, and a component of the second axis of the reflection vector in the second coordinate system is converted to a second component. A game system, wherein the second reflection vector is obtained by scaling by a coefficient of 2.
【請求項5】 請求項2乃至4のいずれかにおいて、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有し、オブジェクト
が自由曲面により表される場合において、 自由曲面の各構成点での第1、第2の接線ベクトルの方
向に、前記第1、第2の軸が設定されること特徴とする
ゲームシステム。
5. The second coordinate system according to claim 2, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. In the case where the object is represented by a free-form surface, the first and second axes are set in directions of first and second tangent vectors at respective constituent points of the free-form surface. system.
【請求項6】 請求項5において、 前記第1、第2の接線ベクトルに基づき前記法線情報と
なる法線ベクトルが求められ、該法線ベクトルの方向
に、前記第2の座標系の第3の軸が設定されることを特
徴とするゲームシステム。
6. The method according to claim 5, wherein a normal vector serving as the normal information is obtained based on the first and second tangent vectors, and a normal vector of the second coordinate system in the direction of the normal vector is obtained. A game system wherein three axes are set.
【請求項7】 請求項1乃至6のいずれかにおいて、 スペキュラー表現テクスチャのテクスチャ座標を前記第
2の反射ベクトルに基づいて求め、求められたテクスチ
ャ座標に基づいて前記スペキュラー表現テクスチャをオ
ブジェクトにマッピングすることを特徴とするゲームシ
ステム。
7. The specular expression texture according to claim 1, wherein texture coordinates of a specular expression texture are obtained based on the second reflection vector, and the specular expression texture is mapped to an object based on the obtained texture coordinates. A game system, characterized in that:
【請求項8】 請求項7において、 前記第2の反射ベクトルの方向が視線ベクトルの方向に
一致した場合に前記スペキュラー表現テクスチャに描か
れたハイライト画像の中心が参照される変換を前記第2
の反射ベクトルに対して施し、前記テクスチャ座標を求
めることを特徴とするゲームシステム。
8. The transformation according to claim 7, wherein, when the direction of the second reflection vector coincides with the direction of the line-of-sight vector, the conversion is performed by referring to the center of a highlight image drawn on the specular expression texture.
A reflection vector, and obtaining the texture coordinates.
【請求項9】 コンピュータが使用可能な情報記憶媒体
であって、 光源情報と法線情報とに基づいてオブジェクトの各構成
点での反射ベクトルを求める手段と、 前記反射ベクトルの方向を異方性反射の方向に変化させ
て、第2の反射ベクトルを求める手段と、 前記第2の反射ベクトルと視点情報とに基づいてオブジ
ェクトのシェーディング演算を行う手段と、 を実行するためのプログラムを含むことを特徴とする情
報記憶媒体。
9. An information storage medium usable by a computer, comprising: means for obtaining a reflection vector at each constituent point of an object based on light source information and normal line information; Means for obtaining a second reflection vector by changing the direction of reflection, and means for performing shading calculation of an object based on the second reflection vector and the viewpoint information. Characteristic information storage medium.
【請求項10】 請求項9において、 前記反射ベクトルを、異方性反射の方向を定義する第2
の座標系に座標変換し、前記第2の座標系において前記
反射ベクトルの方向を変化させて前記第2の反射ベクト
ルを求め、前記第2の座標系での前記第2の反射ベクト
ルを前記第1の座標系に座標変換し、前記第1の座標系
での前記第2の反射ベクトルに基づいてオブジェクトの
シェーディング演算を行うことを特徴とする情報記憶媒
体。
10. The method according to claim 9, wherein the reflection vector is a second vector defining a direction of anisotropic reflection.
Coordinate transformation into a coordinate system of, the direction of the reflection vector is changed in the second coordinate system to obtain the second reflection vector, and the second reflection vector in the second coordinate system is An information storage medium, which performs coordinate conversion to one coordinate system and performs a shading operation on an object based on the second reflection vector in the first coordinate system.
【請求項11】 請求項10において、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有する場合におい
て、 前記第2の座標系での前記反射ベクトルの方向を前記第
1、第2の軸のいずれかの方向に変化させて、前記第2
の反射ベクトルを求めることを特徴とする情報記憶媒
体。
11. The method according to claim 10, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. The direction of the reflection vector in the coordinate system 2 is changed to one of the first and second axes, and the direction of the second
An information storage medium, wherein a reflection vector of the information storage medium is obtained.
【請求項12】 請求項10又は11において、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有する場合におい
て、 前記第2の座標系での前記反射ベクトルの前記第1の軸
の成分を第1の係数でスケーリングすると共に、前記第
2の座標系での前記反射ベクトルの前記第2の軸の成分
を第2の係数でスケーリングすることで、前記第2の反
射ベクトルを求めることを特徴とする情報記憶媒体。
12. The method according to claim 10, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. A component of the first axis of the reflection vector in the second coordinate system is scaled by a first coefficient, and a component of the second axis of the reflection vector in the second coordinate system is changed to a second component. An information storage medium, wherein the second reflection vector is obtained by scaling by a coefficient of 2.
【請求項13】 請求項10乃至12のいずれかにおい
て、 前記第2の座標系が、異方性反射の方向を表す第1の軸
と該第1の軸に交差する第2の軸を有し、オブジェクト
が自由曲面により表される場合において、 自由曲面の各構成点での第1、第2の接線ベクトルの方
向に、前記第1、第2の軸が設定されること特徴とする
情報記憶媒体。
13. The system according to claim 10, wherein the second coordinate system has a first axis representing a direction of anisotropic reflection and a second axis intersecting the first axis. When the object is represented by a free-form surface, the first and second axes are set in directions of first and second tangent vectors at respective constituent points of the free-form surface. Storage medium.
【請求項14】 請求項13において、 前記第1、第2の接線ベクトルに基づき前記法線情報と
なる法線ベクトルが求められ、該法線ベクトルの方向
に、前記第2の座標系の第3の軸が設定されることを特
徴とする情報記憶媒体。
14. The method according to claim 13, wherein a normal vector serving as the normal information is obtained based on the first and second tangent vectors, and a normal vector of the second coordinate system in the direction of the normal vector is obtained. An information storage medium, wherein three axes are set.
【請求項15】 請求項9乃至14のいずれかにおい
て、 スペキュラー表現テクスチャのテクスチャ座標を前記第
2の反射ベクトルに基づいて求め、求められたテクスチ
ャ座標に基づいて前記スペキュラー表現テクスチャをオ
ブジェクトにマッピングすることを特徴とする情報記憶
媒体。
15. The specular expression texture according to claim 9, wherein texture coordinates of the specular expression texture are obtained based on the second reflection vector, and the specular expression texture is mapped to the object based on the obtained texture coordinates. An information storage medium characterized by the above-mentioned.
【請求項16】 請求項15において、 前記第2の反射ベクトルの方向が視線ベクトルの方向に
一致した場合に前記スペキュラー表現テクスチャに描か
れたハイライト画像の中心が参照される変換を前記第2
の反射ベクトルに対して施し、前記テクスチャ座標を求
めることを特徴とする情報記憶媒体。
16. The transformation according to claim 15, wherein, when the direction of the second reflection vector coincides with the direction of the line-of-sight vector, the conversion is performed by referring to the center of a highlight image drawn on the specular expression texture.
An information storage medium, wherein the texture coordinates are obtained by applying the reflection vector to the reflection vector.
JP2000219030A 2000-07-19 2000-07-19 GAME SYSTEM AND INFORMATION STORAGE MEDIUM Expired - Fee Related JP4518643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000219030A JP4518643B2 (en) 2000-07-19 2000-07-19 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000219030A JP4518643B2 (en) 2000-07-19 2000-07-19 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Publications (2)

Publication Number Publication Date
JP2002032790A true JP2002032790A (en) 2002-01-31
JP4518643B2 JP4518643B2 (en) 2010-08-04

Family

ID=18713884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000219030A Expired - Fee Related JP4518643B2 (en) 2000-07-19 2000-07-19 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP4518643B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004053800A1 (en) * 2002-12-06 2004-06-24 Konami Corporation Image processing device, image processing method, program and information storing medium
KR100824055B1 (en) 2006-07-18 2008-04-21 엠텍비젼 주식회사 System and method for processing 3d specular refraction lighting
US7577270B2 (en) 2004-05-18 2009-08-18 Pioneer Corporation Dome-shaped diaphragm and speaker
JP7138994B1 (en) * 2022-04-27 2022-09-20 Activ8株式会社 Image processing program, image processing apparatus, and image processing method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109224448B (en) * 2018-09-25 2021-01-01 北京天马时空网络技术有限公司 Method and device for stream rendering

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6479888A (en) * 1987-09-22 1989-03-24 Dainippon Printing Co Ltd Method and device for treating surface of substance in expressing three-dimensional substance as two-dimensional substance

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6479888A (en) * 1987-09-22 1989-03-24 Dainippon Printing Co Ltd Method and device for treating surface of substance in expressing three-dimensional substance as two-dimensional substance

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004053800A1 (en) * 2002-12-06 2004-06-24 Konami Corporation Image processing device, image processing method, program and information storing medium
US7577270B2 (en) 2004-05-18 2009-08-18 Pioneer Corporation Dome-shaped diaphragm and speaker
KR100824055B1 (en) 2006-07-18 2008-04-21 엠텍비젼 주식회사 System and method for processing 3d specular refraction lighting
JP7138994B1 (en) * 2022-04-27 2022-09-20 Activ8株式会社 Image processing program, image processing apparatus, and image processing method

Also Published As

Publication number Publication date
JP4518643B2 (en) 2010-08-04

Similar Documents

Publication Publication Date Title
JP3777288B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3442344B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4518643B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2006323512A (en) Image generation system, program, and information storage medium
JP4229319B2 (en) Image generation system, program, and information storage medium
JP3656012B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001229403A (en) Game system and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3254195B2 (en) Image generation system and information storage medium
JP3377490B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3431562B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3614340B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2002373348A (en) Image generation system, program and information storage medium
JP2002216167A (en) Image generation system, program and information storage medium
JP4592039B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4632530B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP2003162734A (en) Game system and information storage medium
JP2003006673A (en) Image generating system, program and information storage medium
JP3538392B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP2002216151A (en) Image generation system, program and information storage medium
JP2002190032A (en) Game system, program and information storage medium
JP2003157446A (en) Game system and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

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: 20100512

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: 20100518

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4518643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130528

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140528

Year of fee payment: 4

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

LAPS Cancellation because of no payment of annual fees