JP2006268103A - プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム - Google Patents

プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム Download PDF

Info

Publication number
JP2006268103A
JP2006268103A JP2005081567A JP2005081567A JP2006268103A JP 2006268103 A JP2006268103 A JP 2006268103A JP 2005081567 A JP2005081567 A JP 2005081567A JP 2005081567 A JP2005081567 A JP 2005081567A JP 2006268103 A JP2006268103 A JP 2006268103A
Authority
JP
Japan
Prior art keywords
vertex
normal vector
model
luminance
boundary
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
JP2005081567A
Other languages
English (en)
Other versions
JP4073031B2 (ja
Inventor
Yasuyuki Kobori
寧之 小堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2005081567A priority Critical patent/JP4073031B2/ja
Publication of JP2006268103A publication Critical patent/JP2006268103A/ja
Application granted granted Critical
Publication of JP4073031B2 publication Critical patent/JP4073031B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

【課題】 少ない処理負荷でジャギーの見えにくい画像を生成することができるプログラム、情報記憶媒体、モデルデータ構造及び画像生成システムを提供する。
【解決手段】 オブジェクト面S1とオブジェクト面S2とで構成されるエッジを面取りするためのオブジェクト面S3を含むようにモデルオブジェクトを定義する。モデルデータでは、オブジェクト面S1を構成する頂点V1〜V4に対して、オブジェクト面S1に垂直な法線ベクトルNv1〜Nv4が設定され、かつオブジェクト面S2を構成する頂点V5〜V8に対して、オブジェクト面S2に垂直な法線ベクトルNv5〜Nv8が設定されている。そして、オブジェクト面S1とオブジェクト面S3との境界上の頂点V3,V4に設定される法線ベクトルNv3,Nv4と、オブジェクト面S2とオブジェクト面S3との境界上の頂点V5,V6に設定される法線ベクトルNv5,Nv6とに基づいて、オブジェクト面S3についてのシェーディング処理を行う。
【選択図】 図10

Description

本発明は、プログラム、情報記憶媒体、モデルデータ構造及び画像生成システムに関する。
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実感を体験できるものとして人気が高い。格闘ゲーム(対戦アクションゲーム)を楽しむことができる画像生成システムを例にとれば、プレーヤは、操作部(コントローラ、レバー、ボタン等)を用いてプレーヤキャラクタ(プレーヤオブジェクト)を操作して、コンピュータや相手プレーヤが操作する敵キャラクタ(敵オブジェクト)と格闘対戦することでゲームを楽しむ。
このような画像生成システムでは、プレーヤの仮想現実感を向上するために、高品質な画像を生成することが望まれている。ところが、何ら工夫を行わずにレンダリングを行うと、画像に表されたオブジェクト面(例えばポリゴン、プリミティブ)の縁にジャギーが発生してしまうという問題がある。特に、角柱や階段などの面間に鋭い角(ハードエッジ)を有するモデルでは、各面をくっきりと色分けして表現するフラットシェーディングが行われるが、フラットシェーディングされたモデルは、各面の境界における色差のために、ジャギーが非常に目立ってしまい、高品質な画像を生成することが難しい。
この場合、ジャギーを除去する手法として、アンチエイリアス処理やデフリッカ処理などを行う手法もあるが、これらの手法は、専用のハードウェアを必要としたり、処理負荷が大きくなるなどの問題がある。
本発明は、上記事情を鑑みてなされたものであり、その目的は、少ない処理負荷でジャギーの見えにくい画像を生成することができるプログラム、情報記憶媒体、モデルデータ構造及び画像生成システムを提供することにある。
本発明は、オブジェクト空間における所与の視点から見える画像を生成するための画像生成システムであって、第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された法線ベクトルに基づいて、前記モデルオブジェクトについてのシェーディング処理を行うシェーディング処理部を含む描画部と、を含み、前記モデルデータでは、前記第1の面を構成する頂点に対して、該第1の面の法線ベクトルが設定され、かつ前記第2の面を構成する頂点に対して、該第2の面の法線ベクトルが設定され、前記シェーディング処理部が、前記第1の面と前記第3の面との境界上の頂点に設定される前記第1の面の法線ベクトルと、前記第2の面と前記第3の面との境界上の頂点に設定される前記第2の面の法線ベクトルとに基づいて、前記第3の面についてのシェーディング処理を行う画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
コンピュータとは、プロセッサ(処理部:CPUあるいはGPUなど)、メモリ(記憶部)、入力装置、及び出力装置を基本的な構成要素とする物理的装置をいう。以下においても同様である。
本発明によれば、第1の面を構成する頂点については、第1の面に垂直なベクトルが法線ベクトルとして設定されており、第2の面を構成する頂点については、第2の面に垂直なベクトルが法線ベクトルが設定されているため、これらの頂点法線ベクトルに基づくシェーディング処理では、フラットシェーディングと同様に面ごとにくっきりとした色が設定される。そして、第1の面と第2の面とのエッジを面取りするための第3の面については、第1の面との境界上の頂点に設定された法線ベクトルと第2の面との境界上の頂点に設定された法線ベクトルを用いてシェーディング処理が行われるため、第1の面の描画ピクセルの色と第2の面の描画ピクセルの色とを補間するように描画ピクセルの色が決定される。従って、第1の面と第2の面との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくい画像を生成することができる。
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記モデルデータ記憶部が、多角形ストリップによって分割されたプリミティブによって前記モデルオブジェクトを定義する前記モデルデータを記憶するようにしてもよい。このようにすれば、頂点演算数をエッジの面取りをしていないモデルオブジェクトに対してフラットシェーディングを行う場合と同じあるいはフラットシェーディングを行う場合よりも少なくすることができる。すなわち、第3の面を設けておくことによりモデルオブジェクトの構成頂点数が増加しても演算負荷を従来の手法と同程度あるいは従来の手法以下に抑えることができる。多角形ストリップとしては、例えば、ポリゴンから3つの頂点で構成されるプリミティブを、頂点を共有するように生成するトライアングルストリップがある。なお、ポリゴンを四角形のプリミティブ(クワッドメッシュ)に分割するようにしてもよい。
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記シェーディング処理部が、前記第1の面と前記第3の面との境界上の頂点に設定された法線ベクトルに基づき求められる輝度と、前記第2の面と前記第3の面との境界上の頂点に設定された法線ベクトルとに基づき求められる輝度とを補間することによって、前記第3の面の描画ピクセルの輝度を決定するシェーディング処理を行うようにしてもよい。このようにすれば、第3の面に対してグローシェーディングが施された画像を生成することができ、第1の面と第2の面の境界付近における色差を低減することができる。
また本発明の画像生成システム、プログラム及び情報記憶媒体では、前記シェーディング処理部が、前記第1の面と前記第3の面との境界上の頂点に設定された法線ベクトルと、前記第2の面と前記第3の面との境界上の頂点に設定された法線ベクトルとに基づく補間処理によって、前記第3の面の描画ピクセルの法線ベクトルを求め、求められた法線ベクトルに基づき該第3の面の描画ピクセルの輝度を決定するシェーディング処理を行うようにしてもよい。このようにすれば、第3の面に対してフォンシェーディングが施された画像を生成することができ、第1の面と第2の面の境界付近における色差を低減することができる。
また本発明は、オブジェクト空間における所与の視点から見える画像を生成するため画像生成システムであって、第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された輝度に基づいて、シェーディング処理が施されたモデルオブジェクトを描画する描画部と、を含み、前記第1の面を構成する頂点に対して設定される第1の面の法線ベクトルと、前記第2の面を構成する頂点に対して設定される第2の面の法線ベクトルとに基づく光源計算により予め求められた各頂点の輝度が前記モデルデータに設定されており、前記描画部が、前記第1の面と前記第3の面との境界上の頂点に設定された輝度と、前記第2の面と前記第3の面との境界上の頂点に設定された輝度とを補間することによって、前記第3の面の描画ピクセルの輝度を決定する画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、第1の面と第2の面との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくいシェーディング処理が施された画像を生成することができる。
また本発明は、コンピュータがモデルオブジェクトに対して行うシェーディング処理に用いられるモデルデータ構造であって、第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルが設定され、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルが設定された法線ベクトルデータと、を含み、前記位置座標データ及び前記法線ベクトルデータは、前記コンピュータが、前記モデルオブジェクトを構成する頂点の輝度を求める光源計算と、該光源計算により求められた頂点間の輝度を補間して描画ピクセルの輝度を求める補間処理とを含む前記モデルオブジェクトのシェーディング処理に利用されるモデルデータ構造に関係する。
本発明のモデルデータ構造を用いてシェーディング処理を行えば、第1の面と第2の面との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくい画像を生成することができる。
また本発明は、コンピュータがモデルオブジェクトに対して行うシェーディング処理に用いられるモデルデータ構造であって、第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルが設定され、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルが設定された法線ベクトルデータと、を含み、前記位置座標データ及び前記法線ベクトルデータは、前記コンピュータが、前記モデルオブジェクトを構成する頂点間の法線ベクトルを補間して描画ピクセルの法線ベクトルを求める補間処理と、前記補間処理により求められた前記描画ピクセルの法線ベクトルに基づいて該描画ピクセルの輝度を求める光源計算とを含む前記モデルオブジェクトのシェーディング処理に利用されるモデルデータ構造に関係する。
本発明のモデルデータ構造を用いてシェーディング処理を行えば、第1の面と第2の面との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくい画像を生成することができる。
また本発明は、コンピュータがモデルオブジェクトを描画する処理に用いられるモデルデータ構造であって、第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、前記モデルオブジェクトを構成する頂点の輝度を設定した輝度データと、を含み、前記輝度データは、前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルを設定し、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルを設定した場合に、該各頂点に設定される法線ベクトルに基づく光源計算によって予め求められており、前記位置座標データ及び前記輝度データは、前記コンピュータが、前記モデルオブジェクトを構成する頂点間の輝度を補間して描画ピクセルの輝度を求める補間処理を含む前記モデルオブジェクトの描画処理に利用されるモデルデータ構造に関係する。
本発明のモデルデータ構造を用いて描画処理を行えば、第1の面と第2の面との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくい画像を生成することができる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤがプレーヤオブジェクト(プレーヤが操作するプレーヤキャラクタ)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種モデルオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのモデルオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でモデルオブジェクトを配置する。モデルオブジェクトを定義するモデルデータは、モデルデータ記憶部176に記憶されている。
移動・動作処理部112は、モデルオブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、モデルオブジェクトをオブジェクト空間内で移動させたり、モデルオブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、モデルオブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、モデルオブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば仮想カメラによりモデルオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、モデルオブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたモデルオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(モデルデータ)に基づいて、透視変換後(ジオメトリ処理後)のモデルオブジェクト(1又は複数のプリミティブ)を描画バッファ174(フレームバッファや中間バッファ(ワークバッファ)などのピクセル単位で画像情報を記憶できるバッファ。VRAM)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように描画処理を行う。
描画部120は、ジオメトリ処理部122、シェーディング処理部124、αブレンディング部126、陰面消去部128を含む。
ジオメトリ処理部122は、モデルオブジェクトに対してジオメトリ処理を行う。具体的には、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理を行う。そして、ジオメトリ処理後(透視変換後)のモデルデータ(モデルオブジェクトの頂点の位置座標、テクスチャ座標、輝度データ(色データ;ディフューズ、スペキュラー)、法線ベクトル、或いはα値等)は、主記憶部172に保存される。
シェーディング処理部124は、モデルオブジェクトに対して陰影付けをするシェーディング処理を行う。具体的には、ジオメトリ処理部122で行われた光源計算の結果(陰影情報)に基づき、モデルオブジェクトの描画ピクセルの輝度を調整する。必要に応じて、ジオメトリ処理部122で光源計算を行わずに、シェーディング処理部124で光源計算を行わせてもよい。輝度は、頂点に設定される輝度を線形補間したり、頂点に設定された法線ベクトルを補間して、その補間された法線ベクトルに基づき光源計算を行って求めることができる。このようなシェーディング処理として、例えば、グローシェーディング(Gourand Shading)やフォンシェーディング(Phong Shading)などのスムーズシェーディングをオブジェクトに対して行うことができる。
例えば、グローシェーディングを行う場合には、頂点の輝度を所与の照明モデル(例えば、フォンの照明モデル)に基づく光源計算により求め、ラスタライズ(走査変換)されたプリミティブ(あるいはポリゴン)の描画ピクセル(画素)の輝度をその周囲の頂点の輝度から線形補間することにより求める。
また例えば、フォンシェーディングを行う場合には、ラスタライズ(走査変換)されたプリミティブ(あるいはポリゴン)の描画ピクセルの法線ベクトルを周囲の頂点の法線ベクトルから線形補間することにより求め、求められた法線ベクトルに基づき、その描画ピクセルの輝度を所与の照明モデル(例えば、フォンの照明モデル)に基づく光源計算により求める。
ここで光源計算を、例えばフォンの照明モデルに基づいて行う場合には、図2に示すような表示モデル上の任意の点Pおける視線に対する反射光の輝度Ipを求めることになる。図2において、Lは光源、Iiは光源ベクトル、Iaは環境光ベクトル、Nvは点Pの法線ベクトル、VCは仮想カメラ(視点)であるとすると、輝度Ipは、下式(A1)に従って求められる。なおこのような輝度計算は、各色成分(RGB成分)について行われる。
Ip=(kd・cosθ+ks・cosγ)Ii+ka・Ia (A1)
(kd:拡散反射率、ks:鏡面反射率、n:ハイライト特性係数、ka:環境反射率)
αブレンディング部126は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。例えば通常αブレンディングの場合には下式(1)〜(3)の処理を行う。
=(1−α)×R+α×R (1)
=(1−α)×G+α×G (2)
=(1−α)×B+α×B (3)
また、加算αブレンディングの場合には下式(4)〜(6)の処理を行う。
=R+α×R (4)
=G+α×G (5)
=B+α×B (6)
また、減算αブレンディングの場合には下式(7)〜(9)の処理を行う。
=R−α×R (7)
=G−α×G (8)
=B−α×B (9)
ここで、R、G、Bは、描画バッファ174に既に描画されている画像(元画像)のRGB成分であり、R、G、Bは、描画バッファ174に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
隠面消去部128は、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ178(奥行きバッファ)を用いて、Zバッファ法(奥行き比較法、Zテスト)により隠面消去処理を行う。すなわちモデルオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ178に格納されるZ値を参照する。そして参照されたZバッファ178のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ178のZ値を新たなZ値に更新する。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお本実施形態の手法は、以下において説明するモデルのみならず、種々のモデルの表現に適用できる。
本実施形態では、ハードエッジ(鋭い角)で表現されることを所望する複数のオブジェクト面からなる表示モデルについて、各オブジェクト面で形成されるエッジを面取りするためのオブジェクト面を含むようにモデルデータを構築してモデルオブジェクトを定義し、このモデルオブジェクトに対していわゆるスムーズシェーディングにより陰影付けを行う手法を採用する。
例えば、図3(A)に示すようなオブジェクト面S1(第1の面)とオブジェクト面S2(第2の面)とにより形成されるエッジがハードエッジで表現されることが望まれる場合、図3(B)に示すように、オブジェクト面S1とオブジェクト面S2とのエッジを面取りしたオブジェクト面S3(第3の面)を含むようにモデルデータを構築する。また例えば、図4(A)に示すような、オブジェクト面S1〜S6(第1の面あるいは第2の面)による階段状の表示モデルについては、凹部と凸部が混在するが、このような場合においても同様であって、図4(B)に示すように、各オブジェクト面の間に形成されるエッジを面取りするオブジェクト面S7〜S11(第3の面)を含むようにモデルデータを構築する。
ところで従来、ハードエッジを表現しようとする場合には、フラットシェーディングが用いられてきた。フラットシェーディングでは、図5(A)に示すオブジェクト面S1,S2の向きを表す法線ベクトルNs1,Ns2に従った光源計算によりオブジェクト面ごとの色を決めていくシェーディング手法である。フラットシェーディングを使うシーンというのは、オブジェクト面S1,S2で形成されるエッジがある程度明確になるように表現したい場合などである。しかしながら、何ら工夫を施さずにフラットシェーディングを用いると、生成された画像にはジャギーが見えるようになる。これは、フラットシェーディングによりエッジを形成するオブジェクト面の間に大きな色差が生じてしまい、その色境界の線がピクセルの配列に沿っていない場合に、ジャギーとなって表示(描画)されてしまうからである。
このため、ジャギー対策としては、このようなエッジを形成するオブジェクト面S1,S2の境界におけるフラットシェーディングで発生した色差を減らせばよいと考えられる。色差をなだらかにする方法としては、シェーディング方法を変更して、グローシェーディングやフォンシェーディングなどのスムーズシェーディングを用いることが考えられる。しかしながら、スムーズシェーディングを用いる場合、図5(B)に示すように、オブジェクト面S1,S2(第1の面,第2の面)を構成する頂点Va〜Vcに設定される法線ベクトルNva〜Nvcは、周囲の頂点の法線ベクトルを補間して求められる。すると、図5(B)に示す例では、ピクセルの描画色がオブジェクト面S1,S2の全体にわたってなだらかに変化するように補間される陰影付けが行われる。その結果、ハードエッジで表現したいにもかかわらず、モデルオブジェクトが全体として丸みを帯びているように表現されてしまう。
このような現象は、エッジを面取りするようにモデルオブジェクトを定義した場合においても、同様に起こりうる。例えば、図6(A)に示すように、オブジェクト面S1,S2(第1の面,第2の面)によって形成されるエッジを面取りするためのオブジェクト面S3(第3の面)を含むようにモデルオブジェクトを定義した場合には、シェーディング時にオブジェクト面S3の法線も考慮する必要がでてくる。この場合に、何ら工夫せずにスムーズシェーディングを行ってしまうと、オブジェクト面S1とオブジェクト面S3の境界上の頂点Vb1には、オブジェクト面S1の面法線Ns1とオブジェクト面S3の面法線Ns3を補間した向きの法線ベクトルNvb1が設定され、またオブジェクト面S2とオブジェクト面S3の境界上の頂点Vb2には、オブジェクト面S2の面法線Ns2とオブジェクト面S3の面法線Ns3を補間した向きの法線ベクトルNvb2が設定されることによりオブジェクト面S1とオブジェクト面S2にまでスムーズシェーディングの効果が波及してしまい、モデルオブジェクトが全体として丸みを帯びているように表現されてしまう。
そこで、本実施形態では、図6(C)に示すように、オブジェクト面S1を構成する頂点V1,V2については、オブジェクト面S1の面法線Ns1と同じ向きのベクトルを法線ベクトルNva,Nvb1として設定し、オブジェクト面S2を構成する頂点Vb2,Vcについては、オブジェクト面S2の面法線Ns2と同じ向きのベクトルを法線ベクトルNvb2,Nvcとして設定したモデルデータによってモデルオブジェクトを定義する。このようにすると、オブジェクト面S3について考えると、オブジェクト面S1との境界上の頂点Vb1(オブジェクト面S1とオブジェクト面S3とが共有する頂点)にオブジェクト面S1の面法線Ns1と同じ向きの法線ベクトルNvb1が設定され、オブジェクト面S2との境界上の頂点Vb2(オブジェクト面S2とオブジェクト面S3とが共有する頂点)については、オブジェクト面S2の面法線Ns2と同じ向きの法線ベクトルNvb2が設定されることになる。このようにモデルデータを構築して、グローシェーディングやフォンシェーディングなどのスムーズシェーディングを用いて陰影付けを行うと、オブジェクト面S1,S2については、フラットシェーディングを行った場合のようにくっきりとした面で表現されるようになり、オブジェクト面S3については、オブジェクト面S1の描画ピクセルの色とオブジェクト面S2の描画ピクセルの色を補間するように色差が少なく色がなだらかに変化した面で表現される。
例えば、本実施形態の手法に基づいて定義されたモデルオブジェクトに対してグローシェーディングを行う場合には、まず、各頂点に設定された法線ベクトルに基づき光源計算を行い、各頂点の輝度(色成分毎(RGB成分)の輝度、いわゆる頂点色)を求める。そして、ラスタサイズ(走査変換)により特定された各オブジェクト面S1〜S3の描画ピクセルの輝度(色成分毎の輝度、すなわちピクセルの描画色)を線形補間により求める。例えば、図7(A)に示すように、頂点Vw〜Vzで構成されるオブジェクト面S3(第3の面)に対応する描画ピクセルP3の輝度P3は、オブジェクト面S1(第1の面)とオブジェクト面S3との境界上の描画ピクセルP1の輝度I1と、オブジェクト面S2(第2の面)とオブジェクト面S3との境界上の描画ピクセルP2の輝度I2とを線形補間したものとなる。なお、描画ピクセルP1の輝度I1は、頂点Vwの輝度Iwと頂点Vxの輝度Ixとを線形補間したものとなるが、本実施形態の手法では、頂点Vwと頂点Vxには、オブジェクト面S1の面法線と同じ向きのベクトルが法線ベクトルとして設定されているため、I1=Iw=Ixの関係が成立する。また描画ピクセルP2の輝度I2は、頂点Vyの輝度Iyと頂点Vzの輝度Izとを線形補間したものとなるが、本実施形態の手法では、頂点Vyと頂点Vzには、オブジェクト面S2の面法線と同じ向きのベクトルが法線ベクトルとして設定されているため、I2=Iy=Izの関係が成立する。また上記の描画ピクセルP3の輝度I3を求める線形補間は、実際には、オブジェクト面S3をプリミティブに分割した状態で、分割されたプリミティブと走査線との交点に存在する描画ピクセルの輝度を線形補間することによって行われる。
また例えば、本実施形態の手法に基づいて定義されたモデルオブジェクトに対してフォンシェーディングを行う場合には、まず、ラスタサイズ(走査変換)により特定された各オブジェクト面S1〜S3の描画ピクセルの法線ベクトルを線形補間して求める。例えば、図7(B)に示すように、頂点Vw〜Vzで構成されるポリゴンS3(第3の面)に対応する描画ピクセルP3の法線ベクトルNv3は、オブジェクト面S1(第1の面)とオブジェクト面S3の境界上の描画ピクセルP1の法線ベクトルNv1と、オブジェクト面S2(第2の面)とオブジェクト面S3との境界上の描画ピクセルP2の法線ベクトルNv2とを線形補間したものとなる。なお、描画ピクセルP1の法線ベクトルNv1は、頂点Vwの法線ベクトルNvwと頂点Vxの法線ベクトルNvxとを線形補間したものとなるが、本実施形態の手法では、頂点Vwと頂点Vxには、オブジェクト面S1の面法線と同じ向きのベクトルが法線ベクトルとして設定されているため、実質的にNv1=Nvw=Nvxの関係が成立する。また描画ピクセルP2の法線ベクトルNv2は、頂点Vyの法線ベクトルNvyと頂点Vzの法線ベクトルNvzとを線形補間したものとなるが、本実施形態の手法では、頂点Vyと頂点Vzには、オブジェクト面S2の面法線と同じ向きのベクトルが法線ベクトルとして設定されているため、実質的にNv2=Nvy=Nvzの関係が成立する。また上記の描画ピクセルP3の法線ベクトルNv3を求める線形補間は、実際には、オブジェクト面S3をプリミティブに分割した状態で、分割されたプリミティブと走査線との交点に存在する描画ピクセルの法線ベクトルを線形補間することによって行われる。
以上に述べた本実施形態の手法によれば、オブジェクト面S1およびオブジェクト面S2については、スムーズシェーディングを行っても、フラットシェーディングを行った場合と同様に面ごとにくっきりと区別された色で描画される。そして、オブジェクト面S1とオブジェクト面S2とで形成されるエッジを面取りするオブジェクト面S3については、オブジェクト面S1との境界上の頂点Vw,Vxに設定された法線ベクトルと、オブジェクト面S2との境界上の頂点Vy,Vzに設定された法線ベクトルとを用いてシェーディング処理が行われるため、オブジェクト面S1の描画ピクセルの色とオブジェクト面S2の描画ピクセルの色とを補間するようにオブジェクト面S3の描画ピクセルの色が決定される。従って、オブジェクト面S1とオブジェクト面S2との境界における色差をなだらかにした画像を生成することができ、ハードエッジで表現されるモデルオブジェクトについてジャギーが見えにくい画像を生成することができる。
ところで、以上に述べたような手法でモデルオブジェクトを定義すると、モデルオブジェクトの構成頂点数が面取り用のオブジェクト面の分だけ増加することになる。しかしながら、モデルデータ構造とオブジェクト面をプリミティブに分割する方法を工夫することで、モデルオブジェクトについての演算頂点数を増やすことなくシェーディング処理を行わせることができる。
例えば、モデルオブジェクトを構成するオブジェクト面(ポリゴン)を演算処理の単位であるプリミティブ(プリミティブ面)に分割する方法としては、図8に示すように、独立した頂点のプリミティブに分割するトライアングルリストと、頂点を共有したプリミティブに分割するトライアングルストリップという方法がある。フラットシェーディングでは、プリミティブ毎に面の向きに従った法線ベクトルが必要であるため、オブジェクト面内で頂点の設定情報を共有することができない。このため、フラットシェーディングでは、トライアングルリストによりオブジェクト面をプリミティブに分割する必要がある。一方、本実施形態の手法のようにスムーズシェーディングを用いる場合には、補間処理を行うために、頂点の設定情報を共有することができるため、トライアングルストリップのような多角形ストリップによって、オブジェクト面がプリミティブ面に分割されるようにすることができる。このトライアングルストリップなどの多角形ストリップでは、頂点を共有することによりトライアングルリストによりプリミティブを生成する場合に比べて、演算頂点数を減らすことができる。具体的には、図9(A)に示すような表示モデルの場合、図9(B)に示すように、トライアングルストリップでプリミティブに分割すると、演算頂点数は、8頂点(V1〜V8)であるが、図9(C)に示すように、トライアングルリストでプリミティブに分割すると、演算頂点数は、12頂点(V1〜V12)となってしまう。このように、エッジの面取り用のオブジェクト面を設けておくことによりモデルオブジェクトの構成頂点数が増加しても、演算負荷を従来の手法と同程度あるいは従来の手法以下に抑えることができる。
以上に述べたモデルオブジェクトの構築手法とシェーディング手法に適したモデルデータ構造を図10に示す。このモデルデータ構造では、オブジェクト面S1〜S3(第1〜第3の面)が、トライアングルストリップによりプリミティブに分割されるように頂点の順列が設定されている。なおトライアングルリストによってオブジェクト面S1〜S3がプリミティブに分割されるように設定しておいてもよい。すなわち、頂点V1〜V3によりプリミティブP1が生成され、頂点V2〜V4によりプリミティブP2が生成され、・・・というように頂点の順列が設定されている。またこのモデルデータ構造は、頂点V1〜V8の頂点データとして、モデル毎に設定された代表点を原点とするモデル座標系における位置座標データ(X1,Y1,Z1)〜(X8,Y8,Z8)と、法線ベクトルデータNv1〜Nv8とを含む。位置座標データは、オブジェクト空間におけるモデルオブジェクトの配置設定情報に基づいて、モデル座標系からワールド座標系へ座標変換され、光源計算などに用いられる。また法線ベクトルデータは、上記手法に従って、頂点V1〜V4については、オブジェクト面S1の面法線と同じ向きのベクトルが法線ベクトルNv1〜Nv4として設定されており、頂点V5〜V8については、オブジェクト面S2の面法線の向きと同じ向きのベクトルが法線ベクトルNv5〜Nv8として設定されている。法線ベクトルデータは、グローシェーディングにおける頂点の輝度を求める光源計算や、フォンシェーディングにおける描画ピクセルの法線ベクトルを求める補間計算に用いられる。なお図10に示すモデルデータ構造には、モデルオブジェクトの各頂点に基本色(ディフューズ)を設定する頂点色データが含まれていてもよい。
また以上では、リアルタイムに光源計算を行うシェーディング手法を説明してきたが、予め光源計算を行って求めた色情報(輝度)をモデルデータ構造中に設定しておくようにしてもよい。その場合のモデルデータ構造を図11に示す。このモデルデータ構造は、法線ベクトルデータの代わりに、頂点V1〜V8についての頂点色データC1〜C8(色成分毎の輝度データ)を含む。頂点色データは、例えば、ディフューズやスペキュラーなどの色成分データ(RGB成分データあるいはRGBA成分データ(Aはα値))で設定することができる。このモデルデータ構造を用いた場合には、頂点色データに基づいて、描画ピクセルの色情報(色成分毎の輝度)が線形補間により求められてオブジェクト面S1〜S3(第1〜第3の面)にシェーディングが施された画像が生成される。なお図10に示すモデルデータ構造には、モデルオブジェクトの各頂点に法線ベクトルを設定する法線ベクトルデータが含まれていてもよい。
なおモデルデータ構造は、図10および図11に示したデータ以外のデータを含むように構築してもよい。例えば、頂点毎のテクスチャ座標やα値(A値)についてのデータを含んでいてもよい。
次に、本実施形態の手法を用いて描画された画像を従来の手法を用いて描画された画像と比較しながら示す。
図12(A)は、本実施形態の手法で構築されたモデルデータ構造を用いてグローシェーディングを施した角柱モデルの生成画像である。図12(B)は、面取りをしていない角柱モデルに対してフラットシェーディングを施した場合の生成画像である。また、図13(A)及び図12(B)に図12(A)及び図12(B)に示す画像の拡大画像を示す。これらの画像によれば、本実施形態の手法を用いた場合には、オブジェクト面が明確に色分けされてハードエッジが表現されており、かつジャギーが軽減されていることが分かる。
また本実施形態の手法は、曲面を持つモデルの縁においてハードエッジが存在する場合にも適用でき、アーチ形のモデルに対して本実施形態の手法を適用した生成画像の例を図14(A)及び図15(A)に示す。また図14(B)及び図15(B)に面取りをしないでフラットシェーディングを施した場合の生成画像の例を示す。図15(A)及び図15(B)は、図14(A)及び図14(B)に対応する拡大画像である。これらの画像によっても、本実施形態の手法を用いた場合には、オブジェクト面が明確に色分けされてハードエッジが表現されており、かつジャギーが軽減されていることが分かる。
3.本実施形態の処理
以下、本実施形態の詳細な処理例について図16のフローチャートを用いて説明する。
まず、モデルデータ記憶部からモデルデータを読み込む(ステップS10)。次にプレーヤの操作部の操作に応じたゲーム演算を行う(ステップS11)。例えば、モデルオブジェクトの配置、オブジェクトの移動・動作演算、仮想カメラの制御などを行う。次に、ゲーム演算の結果得られた描画データを描画部へ転送して(ステップS12)、描画データに基づいて、モデルオブジェクトに対してグローシェーディングやフォンシェーディングなどのスムーズシェーディングを行って、シェーディング後のモデルオブジェクトを描画バッファに描画する(ステップS13)。例えば、光源計算や法線ベクトルあるいは輝度の補間処理をして描画ピクセルの色を決定し、シェーディングが施された画像を生成する。
4.ハードウェア構成
図17に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明合成処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアス処理、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像(フレーム画像)はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語(オブジェクト面、プリミティブ、頂点色データなど)として引用された用語(第1〜第3の面、ポリゴン、輝度データなど)は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
またモデルデータの構築手法やシェーディング手法等についても、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図。 フォンの照明モデルの説明図。 図3(A)及び図3(B)は、モデルオブジェクトの例。 図4(A)及び図4(B)は、モデルオブジェクトの例。 図5(A)及び図5(B)は、従来の手法の説明図。 図6(A)〜図6(C)は、本実施形態の手法の説明図。 図7(A)は、グローシェーディングの説明図。図7(B)は、フォンシェーディングの説明図。 プリミティブの生成手法の説明図。 図9(A)及び図9(B)は、プリミティブの生成手法の説明図。 図10は、本実施形態のモデルデータ構造の説明図。 図11は、本実施形態のモデルデータ構造の説明図。 図12(A)は、本実施形態の手法を用いた生成画像の例。図12(B)は、従来の手法を用いた生成画像の例。 図13(A)は、本実施形態の手法を用いた生成画像の例。図13(B)は、従来の手法を用いた生成画像の例。 図14(A)は、本実施形態の手法を用いた生成画像の例。図14(B)は、従来の手法を用いた生成画像の例。 図15(A)は、本実施形態の手法を用いた生成画像の例。図15(B)は、従来の手法を用いた生成画像の例。 本実施形態の処理例を示すフローチャート。 ハードウェア構成例。
符号の説明
100 処理部、
110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、
120 画像生成部、
122 ジオメトリ処理部、124 シェーディング処理部、
126 αブレンディング部、128 隠面消去部、
130 音生成部、160 操作部、
170 記憶部、172 主記憶部、174 描画バッファ、
176 モデルデータ記憶部、178 Zバッファ、
180 情報記憶媒体、194 携帯型情報記憶装置、
190 表示部、192 音出力部、196 通信部

Claims (11)

  1. オブジェクト空間における所与の視点から見える画像を生成するためのプログラムであって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、
    前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された法線ベクトルに基づいて、前記モデルオブジェクトについてのシェーディング処理を行うシェーディング処理部を含む描画部として、
    コンピュータを機能させ、
    前記モデルデータでは、前記第1の面を構成する頂点に対して、該第1の面の法線ベクトルが設定され、かつ前記第2の面を構成する頂点に対して、該第2の面の法線ベクトルが設定され、
    前記シェーディング処理部が、
    前記第1の面と前記第3の面との境界上の頂点に設定される前記第1の面の法線ベクトルと、前記第2の面と前記第3の面との境界上の頂点に設定される前記第2の面の法線ベクトルとに基づいて、前記第3の面についてのシェーディング処理を行うことを特徴とするプログラム。
  2. 請求項1において、
    前記モデルデータ記憶部が、
    多角形ストリップによって分割されたプリミティブによって前記モデルオブジェクトを定義する前記モデルデータを記憶することを特徴とするプログラム。
  3. 請求項1または2において、
    前記シェーディング処理部が、
    前記第1の面と前記第3の面との境界上の頂点に設定された法線ベクトルに基づき求められる輝度と、前記第2の面と前記第3の面との境界上の頂点に設定された法線ベクトルとに基づき求められる輝度とを補間することによって、前記第3の面の描画ピクセルの輝度を決定するシェーディング処理を行うことを特徴とするプログラム。
  4. 請求項1または2において、
    前記シェーディング処理部が、
    前記第1の面と前記第3の面との境界上の頂点に設定された法線ベクトルと、前記第2の面と前記第3の面との境界上の頂点に設定された法線ベクトルとに基づく補間処理によって、前記第3の面の描画ピクセルの法線ベクトルを求め、求められた法線ベクトルに基づき該第3の面の描画ピクセルの輝度を決定するシェーディング処理を行うことを特徴とするプログラム。
  5. オブジェクト空間における所与の視点から見える画像を生成するためのプログラムであって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、
    前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された輝度に基づいて、シェーディング処理が施されたモデルオブジェクトを描画する描画部として、
    コンピュータを機能させ、
    前記第1の面を構成する頂点に対して設定される第1の面の法線ベクトルと、前記第2の面を構成する頂点に対して設定される第2の面の法線ベクトルとに基づく光源計算により予め求められた各頂点の輝度が前記モデルデータに設定されており、
    前記描画部が、
    前記第1の面と前記第3の面との境界上の頂点に設定された輝度と、前記第2の面と前記第3の面との境界上の頂点に設定された輝度とを補間することによって、前記第3の面の描画ピクセルの輝度を決定することを特徴とするプログラム。
  6. コンピュータにより読取可能な情報記憶媒体であって、請求項1〜5のいずれかに記載のプログラムを記憶することを特徴とする情報記憶媒体
  7. コンピュータがモデルオブジェクトに対して行うシェーディング処理に用いられるモデルデータ構造であって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、
    前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルが設定され、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルが設定された法線ベクトルデータと、
    を含み、
    前記位置座標データ及び前記法線ベクトルデータは、
    前記コンピュータが、前記モデルオブジェクトを構成する頂点の輝度を求める光源計算と、該光源計算により求められた頂点間の輝度を補間して描画ピクセルの輝度を求める補間処理とを含む前記モデルオブジェクトのシェーディング処理に利用されることを特徴とするモデルデータ構造。
  8. コンピュータがモデルオブジェクトに対して行うシェーディング処理に用いられるモデルデータ構造であって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、
    前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルが設定され、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルが設定された法線ベクトルデータと、
    を含み、
    前記位置座標データ及び前記法線ベクトルデータは、
    前記コンピュータが、前記モデルオブジェクトを構成する頂点間の法線ベクトルを補間して描画ピクセルの法線ベクトルを求める補間処理と、前記補間処理により求められた前記描画ピクセルの法線ベクトルに基づいて該描画ピクセルの輝度を求める光源計算とを含む前記モデルオブジェクトのシェーディング処理に利用されることを特徴とするモデルデータ構造。
  9. コンピュータがモデルオブジェクトを描画する処理に用いられるモデルデータ構造であって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを構成する頂点の位置座標データと、
    前記モデルオブジェクトを構成する頂点の輝度を設定した輝度データと、
    を含み、
    前記輝度データは、
    前記第1の面と前記第3の面との境界上の頂点に対して、前記第1の面の法線ベクトルを設定し、かつ前記第2の面と前記第3の面との境界上の頂点に対して、前記第2の面の法線ベクトルを設定した場合に、該各頂点に設定される法線ベクトルに基づく光源計算によって予め求められており、
    前記位置座標データ及び前記輝度データは、
    前記コンピュータが、前記モデルオブジェクトを構成する頂点間の輝度を補間して描画ピクセルの輝度を求める補間処理を含む前記モデルオブジェクトの描画処理に利用されることを特徴とするモデルデータ構造。
  10. オブジェクト空間における所与の視点から見える画像を生成するための画像生成システムであって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、
    前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された法線ベクトルに基づいて、前記モデルオブジェクトについてのシェーディング処理を行うシェーディング処理部を含む描画部と、
    を含み、
    前記モデルデータでは、前記第1の面を構成する頂点に対して、該第1の面の法線ベクトルが設定され、かつ前記第2の面を構成する頂点に対して、該第2の面の法線ベクトルが設定され、
    前記シェーディング処理部が、
    前記第1の面と前記第3の面との境界上の頂点に設定される前記第1の面の法線ベクトルと、前記第2の面と前記第3の面との境界上の頂点に設定される前記第2の面の法線ベクトルとに基づいて、前記第3の面についてのシェーディング処理を行うことを特徴とする画像生成システム。
  11. オブジェクト空間における所与の視点から見える画像を生成するための画像生成システムであって、
    第1の面と第2の面とで構成されるエッジを面取りするための第3の面を含むモデルオブジェクトを定義するモデルデータを記憶するモデルデータ記憶部と、
    前記モデルデータの前記モデルオブジェクトを構成する各頂点に設定された輝度情報に基づいて、シェーディングされたモデルオブジェクトを描画する描画部と、
    を含み、
    前記第1の面を構成する頂点に対して設定される第1の面の法線ベクトルと、前記第2の面を構成する頂点に対して設定される第2の面の法線ベクトルとに基づく光源計算により予め求められた各頂点の輝度情報が前記モデルデータに設定されており、
    前記描画部が、
    前記第1の面と前記第3の面との境界上の頂点に設定された輝度情報と、前記第2の面と前記第3の面との境界上の頂点に設定された輝度情報とを補間することによって、前記モデルオブジェクトの前記第3の面の描画ピクセルの輝度を決定することを特徴とする画像生成システム。
JP2005081567A 2005-03-22 2005-03-22 プログラム、情報記憶媒体及び画像生成システム Expired - Fee Related JP4073031B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005081567A JP4073031B2 (ja) 2005-03-22 2005-03-22 プログラム、情報記憶媒体及び画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005081567A JP4073031B2 (ja) 2005-03-22 2005-03-22 プログラム、情報記憶媒体及び画像生成システム

Publications (2)

Publication Number Publication Date
JP2006268103A true JP2006268103A (ja) 2006-10-05
JP4073031B2 JP4073031B2 (ja) 2008-04-09

Family

ID=37204056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005081567A Expired - Fee Related JP4073031B2 (ja) 2005-03-22 2005-03-22 プログラム、情報記憶媒体及び画像生成システム

Country Status (1)

Country Link
JP (1) JP4073031B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008041628A1 (fr) 2006-09-29 2008-04-10 Nec Corporation Terminal mobile ayant une fonction multitâches et procédé d'affichage d'icônes de tâche
JP4809480B2 (ja) * 2006-08-23 2011-11-09 メンタル イメージズ ゲーエムベーハー 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム
JP2017202409A (ja) * 2017-08-29 2017-11-16 株式会社三洋物産 遊技機
JP2018043108A (ja) * 2017-12-25 2018-03-22 株式会社三洋物産 遊技機

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809480B2 (ja) * 2006-08-23 2011-11-09 メンタル イメージズ ゲーエムベーハー 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム
WO2008041628A1 (fr) 2006-09-29 2008-04-10 Nec Corporation Terminal mobile ayant une fonction multitâches et procédé d'affichage d'icônes de tâche
JP2017202409A (ja) * 2017-08-29 2017-11-16 株式会社三洋物産 遊技機
JP2018043108A (ja) * 2017-12-25 2018-03-22 株式会社三洋物産 遊技機

Also Published As

Publication number Publication date
JP4073031B2 (ja) 2008-04-09

Similar Documents

Publication Publication Date Title
JP4771821B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804122B2 (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP2007140842A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006195882A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4651527B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4488346B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
US7724255B2 (en) Program, information storage medium, and image generation system
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2007164323A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4641831B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006252423A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006277488A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080121

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

Free format text: PAYMENT UNTIL: 20110201

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4073031

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110201

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120201

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120201

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130201

Year of fee payment: 5

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees