JP2001084398A - 画像生成システム及び情報記憶媒体 - Google Patents
画像生成システム及び情報記憶媒体Info
- Publication number
- JP2001084398A JP2001084398A JP25556399A JP25556399A JP2001084398A JP 2001084398 A JP2001084398 A JP 2001084398A JP 25556399 A JP25556399 A JP 25556399A JP 25556399 A JP25556399 A JP 25556399A JP 2001084398 A JP2001084398 A JP 2001084398A
- Authority
- JP
- Japan
- Prior art keywords
- value
- shift
- primitive
- polygon
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Generation (AREA)
Abstract
を少ない処理負担で解決できる画像生成システム及び情
報記憶媒体を提供すること。 【解決手段】 ジオメトリ処理後のポリゴンPL1、P
L2が同一のZ値を有する場合に、少なくとも一方のポ
リゴンのZ値にZシフト値を加減算する。これにより、
同一のポリゴンが異なる形状(頂点)の三角形ポリゴン
(描画部の描画単位)に分割された場合に生じる表示エ
ラー(陰面消去の誤り)を防止する。補間処理(DD
A)の演算誤差よりも大きな値のZ値を加減算する。Z
値にZシフト値を加減算するか否かを、ポリゴンやその
集合に関連づけられた識別情報や、Z値の大小に応じて
判断する。Z値に加減算するZシフト値を、Z値の大小
に応じて変化させる。
Description
及び情報記憶媒体に関する。
り、仮想的な3次元空間であるオブジェクト空間内の所
与の視点(仮想カメラ)から見える画像を生成する画像
生成システムが知られており、いわゆる仮想現実を体験
できるものとして人気が高い。レーシングゲームを楽し
むことができる画像生成システムを例にとれば、プレー
ヤは、レーシングカー(オブジェクト)を操作してオブ
ジェクト空間内で走行させ、他のプレーヤやコンピュー
タが操作するレーシングカーと競争することで3次元ゲ
ームを楽しむ。
視点から見えない部分を消去し、視点から見える部分だ
けを表示するための陰面消去が必要になる。そして、こ
の陰面消去の中で代表的なもとのしては、奥行きソート
法と呼ばれるものや、Zバッファ法と呼ばれるものが知
られている。
からの距離に応じてポリゴン(広義には面)をソーティ
ングし、視点から遠い順にポリゴンを描画する。この奥
行きソート法には、アルゴリズムが簡易であると共に陰
面消去の処理負荷が軽いという利点がある反面、代表値
によるソーティングだけでは正確な陰面消去ができない
という不利点がある。なお、奥行きソート法において正
確な陰面消去を実現する従来技術としては、例えば特開
平6−203172号公報に開示される技術が知られて
いる。
クセル(ドット)についてのZ値(奥行き値)を格納す
るZバッファを用意し、このZバッファを利用して陰面
消去を行う。このZバッファ法では、奥行きソート法に
比べて陰面消去の処理負荷が重いという不利点がある反
面、ピクセル単位で陰面消去が行われるため、奥行きソ
ート法よりも正確な陰面消去が可能になるという利点が
ある。
各ピクセルのZ値は、ポリゴンの各頂点のZ値に基づく
補間演算により求められる。そして、この補間演算の誤
差に起因して、ポリゴンの前後関係が狂ってしまい、本
来は後ろに隠されるべきポリゴンの各部分が、前に表示
されてしまうという問題があることが判明した。
れたものであり、その目的とするところは、Zバッファ
法における陰面消去の誤りの問題を少ない処理負担で解
決できる画像生成システム及び情報記憶媒体を提供する
ことにある。
に、本発明は、画像を生成するための画像生成システム
であって、ジオメトリ処理後の複数のプリミティブ面が
同一又はほぼ同一のZ値を有する場合において、複数の
プリミティブ面の中の少なくとも1つのプリミティブ面
のZ値に対して、Zシフト値を加算又は減算するZシフ
ト手段と、前記Z値が格納されるZバッファを用いて陰
面消去を行いながら、プリミティブ面を描画する描画手
段とを含むことを特徴とする。また本発明に係る情報記
憶媒体は、コンピュータにより使用可能な情報記憶媒体
であって、上記手段を実行するためのプログラムを含む
ことを特徴とする。また本発明に係るプログラムは、コ
ンピュータにより使用可能なプログラム(搬送波に具現
化されるプログラムを含む)であって、上記手段を実行
するための処理ルーチンを含むことを特徴とする。
て同一(又はほぼ同一)のZ値(奥行き値)を有するプ
リミティブ面(ポリゴン、曲面等)のZ値に対して、Z
シフト値が加算又は減算(シフト)される。従って、こ
れらのプリミティブ面が重ねて描画された場合等におい
ても、補間処理の演算誤差等に起因して陰面消去に誤り
が生じる問題を、少ない処理負担で解決できる。
記憶媒体及びプログラムは、前記描画手段が、前記プリ
ミティブ面単位で描画処理を行う場合において、処理対
象となる面を、複数のプリミティブ面に分割する手段
(該手段を実行するためのプログラム)を含むことを特
徴とする。このように、面(例えば四角形以上のポリゴ
ン)が複数のプリミティブ面(例えば三角形ポリゴン)
に分割される場合には、分割の仕方によって、面が、異
なる形状のプリミティブ面に分割されてしまう場合があ
る。このような場合にも、本発明によれば、プリミティ
ブ面のZ値にZシフト値を加算又は減算することで、陰
面消去に誤りが生じる問題を解決できる。
記憶媒体及びプログラムは、前記描画手段が、プリミテ
ィブ面の頂点のZ値に基づき、プリミティブ面の各ピク
セルのZ値を補間演算する補間手段を含み、前記Zシフ
ト手段が、前記補間手段の演算誤差よりも大きな値のZ
シフト値を、プリミティブ面のZ値に対して加算又は減
算することを特徴とする。このようにすれば、補間処理
の演算誤差に起因する陰面消去の誤りの問題を効果的に
解決できる。
記憶媒体及びプログラムは、プリミティブ面がZシフト
値の加算又は減算の対象か否かを識別するための識別情
報が、1又は複数のプリミティブ面に対して予め関連づ
けて設定され、前記Zシフト手段が、プリミティブ面の
Z値にZシフト値を加算又は減算するか否かを、前記識
別情報に基づいて判断することを特徴とする。このよう
にすれば、処理対象となるプリミティブ面が、Zシフト
値の加算又は減算対象となるか否かを、簡易な処理で判
断できるようになる。
記憶媒体及びプログラムは、前記Zシフト手段が、プリ
ミティブ面のZ値にZシフト値を加算又は減算するか否
かを、Z値の大小に応じて判断することを特徴とする。
このようにすれば、例えば、Z値の精度が高い場合に
は、Zシフト処理を省略して処理負担を軽減化したり、
Z値の精度が低い場合には、Zシフト値を加算又は減算
して、Z値比較のエラーが発生する事態を防止できるよ
うになる。
記憶媒体及びプログラムは、前記Zシフト手段が、プリ
ミティブ面のZ値に加算又は減算するZシフト値を、Z
値の大小に応じて変化させることを特徴とする。このよ
うにすれば、Z値の精度の高低に応じた最適なZシフト
値をZ値に加算又は減算できるようになる。
ついて図面を用いて説明する。なお以下では、処理対象
となる面(或いはプリミティブ面)がポリゴンである場
合について説明するが、本発明は、ポリゴン以外の面
(例えば曲面)にも適用できる。
図において本実施形態は、少なくとも処理部100を含
めばよく(或いは処理部100と記憶部170、或いは
処理部100と記憶部170と情報記憶媒体180を含
めばよく)、それ以外のブロック(例えば操作部16
0、表示部190、音出力部192、携帯型情報記憶装
置194、通信部196)については、任意の構成要素
とすることができる。
御、システム内の各ブロックへの命令の指示、ゲーム処
理、画像処理、音処理などの各種の処理を行うものであ
り、その機能は、各種プロセッサ(CPU、DSP
等)、或いはASIC(ゲートアレイ等)などのハード
ウェアや、所与のプログラム(ゲームプログラム)によ
り実現できる。
入力するためのものであり、その機能は、レバー、ボタ
ン、筺体などのハードウェアにより実現できる。
96などのワーク領域となるもので、その機能はRAM
などのハードウェアにより実現できる。
能な記憶媒体)180は、プログラムやデータなどの情
報を格納するものであり、その機能は、光ディスク(C
D、DVD)、光磁気ディスク(MO)、磁気ディス
ク、ハードディスク、磁気テープ、或いはメモリ(RO
M)などのハードウェアにより実現できる。処理部10
0は、この情報記憶媒体180に格納される情報に基づ
いて本発明(本実施形態)の種々の処理を行う。即ち情
報記憶媒体180には、本発明(本実施形態)の手段
(特に処理部100に含まれるブロック)を実行するた
めの情報(プログラム或いはプログラム及びデータ)が
格納される。
報の一部又は全部は、システムへの電源投入時等に記憶
部170に転送されることになる。また情報記憶媒体1
80に記憶される情報は、本発明の処理を行うためのプ
ログラムコード、画像データ、音データ、表示物の形状
データ、テーブルデータ、リストデータ、本発明の処理
を指示するための情報、その指示に従って処理を行うた
めの情報等の少なくとも1つを含むものである。
れた画像を出力するものであり、その機能は、CRT、
LCD、或いはHMD(ヘッドマウントディスプレイ)
などのハードウェアにより実現できる。
された音を出力するものであり、その機能は、スピーカ
などのハードウェアにより実現できる。
個人データやセーブデータなどが記憶されるものであ
り、この携帯型情報記憶装置194としては、メモリカ
ードや携帯型ゲーム装置などを考えることができる。
や他の画像生成システム)との間で通信を行うための各
種の制御を行うものであり、その機能は、各種プロセッ
サ、或いは通信用ASICなどのハードウェアや、プロ
グラムなどにより実現できる。
るためのプログラム或いはデータは、ホスト装置(サー
バー)が有する情報記憶媒体からネットワーク及び通信
部196を介して情報記憶媒体180に配信するように
してもよい。このようなホスト装置(サーバー)の情報
記憶媒体の使用も本発明の範囲内に含まれる。
像生成部130、音生成部150を含む。
価)の受け付け処理、各種モードの設定処理、ゲームの
進行処理、選択画面の設定処理、オブジェクトの位置や
回転角度(X、Y又はZ軸回り回転角度)を求める処
理、オブジェクトを動作させる処理(モーション処
理)、視点位置(仮想カメラの位置)や視線角度(仮想
カメラの回転角度)を求める処理、マップオブジェクト
などのオブジェクトをオブジェクト空間へ配置する処
理、ヒットチェック処理、ゲーム結果(成果、成績)を
演算する処理、複数のプレーヤが共通のゲーム空間でプ
レイするための処理、或いはゲームオーバー処理などの
種々のゲーム処理を、操作部160からの操作データ
や、携帯型情報記憶装置194からの個人データ、保存
データや、ゲームプログラムなどに基づいて行う。
からの指示等にしたがって各種の画像処理を行い、例え
ばオブジェクト空間内において仮想カメラ(視点)から
見える画像を生成して、表示部190に出力する。ま
た、音生成部150は、ゲーム処理部110からの指示
等にしたがって各種の音処理を行い、BGM、効果音、
音声などの音を生成し、音出力部192に出力する。
30、音生成部150の機能は、その全てをハードウェ
アにより実現してもよいし、その全てをプログラムによ
り実現してもよい。或いは、ハードウェアとプログラム
の両方により実現してもよい。
32(3次元座標演算部)、描画部140(レンダリン
グ部)を含む。
変換、クリッピング処理、透視変換、或いは光源計算な
どの種々のジオメトリ処理(3次元座標演算)を行う。
そして、ジオメトリ処理後(透視変換後)のポリゴンデ
ータ(頂点座標、Z値、頂点テクスチャ座標、輝度デー
タ等)は、描画部140に転送される。
変換後)のポリゴンデータと、テクスチャ記憶部176
に記憶されるテクスチャとに基づいて、ポリゴンをフレ
ームバッファ174に描画する。これにより、オブジェ
クト空間内において仮想カメラ(視点)から見える画像
が生成されるようになる。
34、分割部138を含む。
理後の複数のポリゴン(広義にはプリミティブ面)が同
一(又はほぼ同一)のZ値を有する場合に(描画座標系
において同一のZ値を有する場合に)、これらの少なく
とも1つのポリゴンのZ値に対して、Zシフト値を加減
算(加算又は減算)する処理を行う。本実施形態では、
このようにZ値にZシフト値を加減算することで、Zバ
ッファ法における陰面消去の誤りの問題を解決してい
る。
を、複数のK角形ポリゴン(Kは定数であり、例えばK
=3)に分割する処理を行う。即ち分割部138は、ポ
リゴンを、描画部140の描画単位に分割する。このよ
うにすることで、描画部140が例えば三角形ポリゴン
しか扱えないような場合も、適正なポリゴン描画が可能
になる。
そして、判断部136は、処理対象となるポリゴンのZ
値にZシフト値を加減算するか否かを判断する。
ト値を加減算するか否かを、そのポリゴン(或いはポリ
ゴンの集合)に対して関連づけられた識別情報(ポリゴ
ンがZシフト値の加減算の対象か否かを識別するための
情報)や、Z値の大小などに応じて判断する。また判断
部136は、ポリゴンのZ値にどのような値のZシフト
値を加減算するかについても判断する。より具体的に
は、ポリゴンのZ値に加減算するZシフト値を、Z値の
大小に応じて変化させるようにする。このようにするこ
とで、Z値の精度の高低に応じた最適なZシフト値を加
減算できるようになる。
部144を含む。
(例えば3頂点)のZ値に基づき、ポリゴンの各ピクセ
ルのZ値を、DDAなどの補間演算により求める。そし
て、上述のZシフト部134は、この補間部142での
演算誤差よりも大きな値のZシフト値を、ポリゴンのZ
値に対して加減算することになる。
格納されるZバッファ178を用いて、Zバッファ法の
アルゴリズムにしたがった陰面消去を行う。
1人のプレーヤのみがプレイできるシングルプレーヤモ
ード専用のシステムにしてもよいし、このようなシング
ルプレーヤモードのみならず、複数のプレーヤがプレイ
できるマルチプレーヤモードも備えるシステムにしても
よい。
これらの複数のプレーヤに提供するゲーム画像やゲーム
音を、1つの端末を用いて生成してもよいし、ネットワ
ーク(伝送ライン、通信回線)などで接続された複数の
端末を用いて生成してもよい。
の形状は、描画処理の高速化を図るために、一定形状に
固定されている場合がある。より具体的には、描画部1
40が、その仕様上、三角形ポリゴンしか扱うことがで
きない場合がある。このような場合には、頂点数が4個
以上のポリゴンについては、描画部140にそのデータ
を転送する前に、三角形のポリゴンに分割しておく必要
がある。
部138は、処理対象となる六角形ポリゴンを、頂点V
E0、VE1、VE2を有する三角形ポリゴンP0と、
頂点VE0、VE2、VE3を有する三角形ポリゴンP
1と、頂点VE0、VE3、VE4を有する三角形ポリ
ゴンP2と、頂点VE0、VE4、VE5を有する三角
形ポリゴンP3に分割する。そして、描画部140は、
これらの分割された各三角形ポリゴン毎に描画処理を行
うことになる。
ては、同一座標の頂点を有するポリゴンであっても、分
割の仕方によっては、分割後の三角形ポリゴンの頂点構
成が異なったものになってしまう場合があることが判明
した。
が、頂点VE0、VE1、VE2を有する三角形ポリゴ
ンPAと、頂点VE0、VE2、VE3を有する三角形
ポリゴンPBに分割されている。
の四角形ポリゴンが、頂点VE0、VE1、VE3を有
する三角形ポリゴンPCと、頂点VE1、VE2、VE
3を有する三角形ポリゴンPDに分割されている。
A、PBに分割されたのに対して、図2(C)では、こ
れらと異なる形状の三角形ポリゴンPC、PDに分割さ
れている。
(D)に示すように、描画座標系(例えばスクリーン座
標系)において同一座標(同一Z値)を持つがプロパテ
ィ(色情報、半透明情報、バンプ情報、輝度情報、反射
率情報、屈折率情報、深さ情報等)が異なる複数のポリ
ゴンPL1、PL2を、フレームバッファに重ねて描画
する場合がある。例えば、ポリゴンPL1に対して半透
明の色のポリゴンPL2を重ね書きして、ポリゴンPL
1の色とポリゴンPL2の色をαブレンディングする。
或いは、下地のテクスチャ(例えば車のボディのテクス
チャ)がマッピングされたポリゴンPL1の上に、オー
バレイ物(例えば車の汚れ、ステッカー)のテクスチャ
がマッピングされたポリゴンPL2を重ね書きして、マ
ルチテクスチャマッピングを実現する。或いは、ポリゴ
ンPL1の上に、周囲の環境を表す環境テクスチャがマ
ッピングされたポリゴンPL2を重ね書きして、環境マ
ッピングを実現する。
ように、同一座標(同一Z値)を有するポリゴンであっ
ても、異なった形状の三角形ポリゴンに分割される場合
がある。
三角形ポリゴンPA1とPB1に分割され、ポリゴンP
L2は三角形ポリゴンPA2とPB2に分割されてい
る。そして、この場合には、PA1とPA2、PB1と
PB2は同一形状(頂点)の三角形ポリゴンになるた
め、正しい表示が行われる。
PL1は三角形ポリゴンPA1とPB1に分割され、ポ
リゴンPL2は三角形ポリゴンPC2とPD2に分割さ
れている。そして、この場合には、PA1とPC2、P
B1とPD2は異なる形状の三角形ポリゴンになるた
め、表示エラーが生じてしまう。即ち、ポリゴンの前後
関係が狂ってしまい、本来ならば後ろに隠れるべきポリ
ゴンPL1のピクセルがポリゴンPL2の手前に表示さ
れる事態が生じてしまう。
の通りである。
頂点のZ値に基づいて、ポリゴンの各ピクセル(ドッ
ト)のZ値をDDAなどの手法により算出する。ところ
が、この補間処理には、通常、例えば1LSB程度の演
算誤差(累積誤差)がある。この演算誤差は、補間部1
42のハードウェア構成等を高性能なものにすれば小さ
くできるが、これは、ハードウェアのコスト増を招く。
従って、この演算誤差を零にすることは実質的に極めて
難しい。
同一である場合には、通常、後にポリゴンデータが転送
されてきた方を上書きするように設定されている。
リゴンPA1とPA2、PB1とPB2の形状(頂点)
は同一になっている。従って、補間処理により得られる
PA1とPA2の各ピクセルのZ値は、たとえ演算誤差
があっても、同一になる。同様に、補間処理により得ら
れるPB1とPB2の各ピクセルのZ値も、たとえ演算
誤差があっても、同一になる。従って、この場合には、
全てのピクセルにおいて、ポリゴンPA1の上にポリゴ
ンPA2が上書きされ、ポリゴンPB1の上にポリゴン
PB2が上書きされるようになる。従って、設定通りに
ポリゴンが描画されるようになり、正しい表示になる。
角形ポリゴンPA1とPC2、PB1とPD2の形状は
異なっている。従って、補間処理により得られるPA1
とPC2の各ピクセルのZ値が、本来は同じ値になるべ
きなのに、演算誤差の存在に起因して、異なった値にな
ってしまう場合がある。同様に、補間処理により得られ
るPB1とPD2の各ピクセルのZ値も、演算誤差の存
在に起因して、異なった値になってしまう場合がある。
このため、本来は隠れるべきポリゴンPA1、PB1の
ピクセルが、ポリゴンPC2、PD2の手前に表示され
る事態が生じ、エラー表示となってしまう。
を解決するために図4に示すような手法を採用してい
る。
(PA1、PB1)、PL2(PC2、PD2)が同一
のZ値を有する場合(ポリゴンが描画座標系で同一座標
を有する場合)に、ポリゴンPL1やPL2のZ値に、
Zシフト値を加減算(Zシフト処理)する。例えば図4
では、ポリゴンPL1のZ値にZシフト値を加算した
り、ポリゴンPL2のZ値からZシフト値を減算する
(視点から遠いほどZ値が大きい場合)。このようにす
ることで、たとえ補間処理に演算誤差があったとして
も、ポリゴンPL1の上に正しくポリゴンPL2が上書
きされるようになり、エラー表示の発生を防止できる。
ジオメトリ処理前のポリゴンの座標に操作を加える手法
も考えることができる。しかしながら、この手法による
と、本来ならば1枚のポリゴンとして表示されるべきも
のが、見る方向によって2枚のポリゴンとして表示され
たり、ポリゴンの輪郭の部分にちらつきが発生するなど
の問題が生じる。
処理後のポリゴンのZ値(陰面消去に使用されるZ値)
に対してZシフト値が加減算される。従って、実際に表
示されるポリゴン(オブジェクト)の表示状態に悪影響
が及ぶのを防止でき、上記のような問題が発生するのを
防止できる。
シフト値を加減算する処理だけであるため、処理負担も
非常に軽い。
(頂点のZ値)が完全に同一である場合について説明し
たが、ポリゴンのZ値が微小に異なる場合(ほぼ同一の
場合)にも、本実施形態は適用できる。
ゴンPL2よりも微少に大きい場合には、ポリゴンPL
1の上にPL2が上書きされなければならない。
り、その演算誤差が、ポリゴンPL1、PL2間のZ値
の差よりも大きい場合には、本来は上書きされるべきポ
リゴンPL2がPL1の下に来てしまう問題が生じる。
1、PL2のZ値が微小に異なる場合(ほぼ同一の場
合)にも、Zシフト値を加減算することで、上記のよう
な問題の発生を防止できる。
さは、図1の補間部142でのDDAの演算誤差よりも
大きな値にすることが望ましい。
の演算誤差が、例えば、−N×LSB〜N×LSBの場
合には、加減算するZシフト値の大きさを、−(N+
K)×LSB〜(N+K)×LSBにする(但し、K≧
1)。このようにすれば、演算誤差に起因する陰面消去
の誤りの問題を効果的に解決できる。
い場合には、それに応じて、Zシフト値を大きくするこ
とが望ましい。即ち、上記のKを大きくする。このよう
にすれば、3枚以上のポリゴンが重ね書きされた場合に
も、正しい前後関係でこれらのポリゴンを描画できるよ
うになる。
加減算するかは、ポリゴン(又はポリゴンの集合)に対
して予め関連づけて設定された識別情報に基づいて判断
することが望ましい。
を行うか否かを示すシフトフラグSFL(ポリゴンがZ
シフト値の加減算の対象か否かを識別するための識別情
報)が、各ポリゴンに対して予め関連づけて設定されて
いる。例えば、図6では、SFLが1となっているポリ
ゴンPL1、PL3、PL4に対してはZシフト処理が
行われ、SFLが0となっているポリゴンPL2に対し
てはZシフト処理が行われない。このような設定を予め
行っておくことで、Zシフト処理の際に、どのポリゴン
が処理対象になるかを簡易に判断できるようになる。こ
れにより、処理負担を大幅に軽減できる。
値に加減算するZシフト値についても、各ポリゴンに対
して予め関連づけて設定されている。このようにZシフ
ト値についてもポリゴン(又はポリゴンの集合)に予め
関連づけておけば、Zシフト処理の負荷を軽減できると
共に、各ポリゴンに最適なZシフト値を加減算できるよ
うになる。
Z値比較(前後関係判断)のエラーは、Z値が小さいほ
ど生じやすくなる。従って、ポリゴンのZ値にZシフト
値を加減算するか否かを、Z値の大小に応じて判断する
ようにしてもよい。
Z値ZV(=Z座標ZC)が例えばLZよりも小さい場
合には、Zシフト処理を行うようにし、ZVがLZ以上
の場合には、Zシフト処理を行わないようにする。
は、ZVの精度が相対的に低く、Z値比較のエラーが生
じやすくなる。従って、この場合には、Z値比較のエラ
ーの発生を防止するためにZシフト処理を行うようにす
る。
精度が相対的に高く、Z値比較のエラーが生じにくい。
従って、この場合には、Zシフト処理を行わないように
して、処理負荷の軽減化を図る。
のまま用いない場合もある。例えば図7(B)では、Z
V=1/ZCとなっており、視点から遠いほどZ値が小
さくなっている。
遠い場合にZVの精度が相対的に低くなる。従って、Z
値比較のエラーの発生を防止するために、Zシフト処理
を行うようにする。一方、図7(B)においては、視点
から近い場合にZVの精度が相対的に高くなる。従っ
て、処理負担の軽減化を図るために、Zシフト処理を行
わないようにする。
ト値の大きさを、Z値の大小に応じて変化させるように
してもよい。
場合には、Z値ZVの精度が相対的に低くなり、Z値比
較のエラーが生じやすい。従って、この場合には、Zシ
フト値を大きくし、Z値比較のエラーの発生を強く防止
する。
ZVの精度が中ぐらいである。従って、この場合には、
Zシフト値も中ぐらいにする。
度が相対的に高くなり、Z値比較のエラーが生じにく
い。従って、この場合には、Zシフト値を小さくし、Z
シフト値の加減算が起因となって陰面消去の判断にかえ
って誤りが生じてしまう事態を防止する。
じた最適なZシフト値をZ値に加減算できるようにな
る。従って、Z値比較のエラーの発生を効果的に防止で
きると共に、Zシフト処理が起因となる陰面消去の判断
の誤りの問題も解決できる。
0、図11のフローチャートを用いて説明する。
対象となるポリゴンを、描画部140の描画単位である
三角形ポリゴンに分割する(ステップS1)。
2)。より具体的には、ローカル座標系からワールド座
標系へ座標変換、ワールド座標系から視点座標系への座
標変換、クリッピング処理、スクリーン座標系への透視
変換などを行う。なお、三角形ポリゴンへの分割処理
は、ステップS2の中で行ってもよいし、ステップS2
の後に行ってもよい。
(ポリゴンがZシフト処理の対象か否かを示す識別情
報)が1か否かを判断する(ステップS3)。そして、
SFL=1の場合には、Z値にZシフト値を加減算する
Zシフト処理を行い(ステップS4)、SFL=0の場
合にはZシフト処理を省略する。
頂点テクスチャ座標、輝度等)を描画部140に転送す
る(ステップS5)。そして、描画部140は、Zバッ
ファを用いた陰面消去を行いながら、ポリゴンデータに
基づいて描画処理を行う(ステップS6)。
か否かをZ値の大小に応じて判断する場合のフローチャ
ートである。
即ち図10では、図7(A)で説明したように、Z値Z
VがLZよりも小さい場合には、Z値にZシフト値を加
減算する。これにより、Z値比較のエラーの発生を防止
できる。一方、ZVがLZ以上の場合には、Zシフト処
理を省略する。これにより、処理負担の軽減化を図れ
る。
大きさをZ値の大小に応じて変化させる場合のフローチ
ャートである。
である。
LZ1≦ZVの場合には、Zシフト値=ZS0にする
(ステップS24)。即ち、Zシフト値を小さくし、Z
シフト値の加減算が起因となって陰面消去の判断にかえ
って誤りが生じる事態を防止する。
Zシフト値=ZS1(>ZS0)にする(ステップS2
5)。即ち、この場合にはZシフト値を中ぐらいの値に
する。
フト値=ZS2(>ZS1)にする(ステップS2
6)。即ち、Zシフト値を大きくし、Z値比較のエラー
の発生を防止する。
値の精度)に応じた適切なZシフト値をZ値に加減算で
きるようになる。
例について図12を用いて説明する。
(情報記憶媒体)に格納されたプログラム、通信インタ
ーフェース990を介して転送されたプログラム、或い
はROM950(情報記憶媒体の1つ)に格納されたプ
ログラムなどに基づき動作し、ゲーム処理、画像処理、
音処理などの種々の処理を実行する。
900の処理を補助するものであり、高速並列演算が可
能な積和算器や除算器を有し、マトリクス演算(ベクト
ル演算)を高速に実行する。例えば、オブジェクトを移
動させたり動作(モーション)させるための物理シミュ
レーションに、マトリクス演算などの処理が必要な場合
には、メインプロセッサ900上で動作するプログラム
が、その処理をコプロセッサ902に指示(依頼)す
る。
換、透視変換、光源計算、曲面生成などのジオメトリ処
理を行うものであり、高速並列演算が可能な積和算器や
除算器を有し、マトリクス演算(ベクトル演算)を高速
に実行する。例えば、座標変換、透視変換、光源計算な
どの処理を行う場合には、メインプロセッサ900で動
作するプログラムが、その処理をジオメトリプロセッサ
904に指示する。
た画像データや音データを伸張するデコード処理を行っ
たり、メインプロセッサ900のデコード処理をアクセ
レートする処理を行う。これにより、オープニング画
面、インターミッション画面、エンディング画面、或い
はゲーム画面などにおいて、MPEG方式等で圧縮され
た動画像を表示できるようになる。なお、デコード処理
の対象となる画像データや音データは、ROM950、
CD982に格納されたり、或いは通信インターフェー
ス990を介して外部から転送される。
ミティブ面)の描画(レンダリング)処理を高速に実行
するものである。ポリゴンの描画の際には、メインプロ
セッサ900は、DMAコントローラ970の機能を利
用して、ポリゴンデータを描画プロセッサ910に渡す
と共に、必要であれば、VRAM920のテクスチャ記
憶部924にテクスチャを転送する。すると、描画プロ
セッサ910は、これらのポリゴンデータやテクスチャ
に基づいて、Zバッファ926を利用した陰面消去等を
行いながら、ポリゴンを、VRAM920のフレームバ
ッファ922に高速に描画する。また、描画プロセッサ
910は、αブレンディング(半透明処理)、ミップマ
ッピング、フォグ処理、トライリニア・フィルタリン
グ、アンチエリアシング、シェーディング処理なども行
うことができる。そして、1フレーム分の画像がフレー
ムバッファ922に書き込まれると、その画像はディス
プレイ912に表示される。
ルのADPCM音源などを内蔵し、BGM、効果音、音
声などの高品位のゲーム音を生成する。生成されたゲー
ム音は、スピーカ932から出力される。
タや、メモリカード944からのセーブデータ、個人デ
ータは、シリアルインターフェース940を介してデー
タ転送される。
が格納される。なお、業務用ゲームシステムの場合に
は、ROM950が情報記憶媒体として機能し、ROM
950に各種プログラムが格納されることになる。な
お、ROM950の代わりにハードディスクを利用する
ようにしてもよい。
域として用いられる。
サ、メモリ(RAM、VRAM、ROM等)間でのDM
A転送を制御するものである。
データ、或いは音データなどが格納されるCD982
(情報記憶媒体)を駆動し、これらのプログラム、デー
タへのアクセスを可能にする。
ークを介して外部との間でデータ転送を行うためのイン
ターフェースである。この場合に、通信インターフェー
ス990に接続されるネットワークとしては、通信回線
(アナログ電話回線、ISDN)、高速シリアルバスな
どを考えることができる。そして、通信回線を利用する
ことでインターネットを介したデータ転送が可能にな
る。また、高速シリアルバスを利用することで、他の画
像生成システム、他のゲームシステムとの間でのデータ
転送が可能になる。
ードウェアのみにより実行してもよいし、情報記憶媒体
に格納されるプログラムや通信インターフェースを介し
て配信されるプログラムのみにより実行してもよい。或
いは、ハードウェアとプログラムの両方により実行して
もよい。
プログラムの両方により実行する場合には、情報記憶媒
体には、本発明の各手段をハードウェアを利用して実行
するためのプログラム(プログラム、データ)が格納さ
れることになる。より具体的には、上記プログラムが、
ハードウェアである各プロセッサ902、904、90
6、910、930等に処理を指示すると共に、必要で
あればデータを渡す。そして、各プロセッサ902、9
04、906、910、930等は、その指示と渡され
たデータとに基づいて、本発明の各手段を実行すること
になる。
ムシステムに適用した場合の例を示す。プレーヤは、デ
ィスプレイ1100上に映し出されたゲーム画像を見な
がら、レバー1102、ボタン1104等を操作してゲ
ームを楽しむ。内蔵されるシステムボード(サーキット
ボード)1106には、各種プロセッサ、各種メモリな
どが実装される。そして、本発明の各手段を実行するた
めのプログラム(或いはプログラム、データ)は、シス
テムボード1106上の情報記憶媒体であるメモリ11
08に格納される。以下、この情報を格納情報と呼ぶ。
ームシステムに適用した場合の例を示す。プレーヤはデ
ィスプレイ1200に映し出されたゲーム画像を見なが
ら、ゲームコントローラ1202、1204を操作して
ゲームを楽しむ。この場合、上記格納情報は、本体シス
テムに着脱自在な情報記憶媒体であるCD1206、或
いはメモリカード1208、1209等に格納されてい
る。
このホスト装置1300とネットワーク1302(LA
Nのような小規模ネットワークや、インターネットのよ
うな広域ネットワーク)を介して接続される端末130
4-1〜1304-nとを含むシステムに本実施形態を適用
した場合の例を示す。この場合、上記格納情報は、例え
ばホスト装置1300が制御可能な磁気ディスク装置、
磁気テープ装置、メモリ等の情報記憶媒体1306に格
納されている。端末1304-1〜1304-nが、スタン
ドアロンでゲーム画像、ゲーム音を生成できるものであ
る場合には、ホスト装置1300からは、ゲーム画像、
ゲーム音を生成するためのゲームプログラム等が端末1
304-1〜1304-nに配送される。一方、スタンドア
ロンで生成できない場合には、ホスト装置1300がゲ
ーム画像、ゲーム音を生成し、これを端末1304-1〜
1304-nに伝送し端末において出力することになる。
明の各手段を、ホスト装置(サーバー)と端末とで分散
して実行するようにしてもよい。また、本発明の各手段
を実行するための上記格納情報を、ホスト装置(サーバ
ー)の情報記憶媒体と端末の情報記憶媒体に分散して格
納するようにしてもよい。
用ゲームシステムであってもよいし業務用ゲームシステ
ムであってもよい。そして、業務用ゲームシステムをネ
ットワークに接続する場合には、業務用ゲームシステム
との間で情報のやり取りが可能であると共に家庭用ゲー
ムシステムとの間でも情報のやり取りが可能な携帯型情
報記憶装置(メモリカード、携帯型ゲーム装置)を用い
ることが望ましい。
のに限らず、種々の変形実施が可能である。
明においては、従属先の請求項の構成要件の一部を省略
する構成とすることもできる。また、本発明の1の独立
請求項に係る発明の要部を、他の独立請求項に従属させ
ることもできる。
リゴンである場合について説明したが、プリミティブ面
が曲面等である場合にも本発明は適用できる。
減算と均等な処理を行う場合も、本発明の範囲内に含ま
れる。
加算又は減算の対象となるかの判断手法も、図6、図7
(A)、(B)で説明した手法が特に望ましいが、これ
に限定されるものではない。
図5、図8で説明した手法が特に望ましいが、これに限
定されるものではない。
庭用ゲームシステム、多数のプレーヤが参加する大型ア
トラクションシステム、シミュレータ、マルチメディア
端末、画像生成システム、ゲーム画像を生成するシステ
ムボード等の種々の画像生成システムに適用できる。
例である。
や、ポリゴンの重ね書きについて説明するための図であ
る。
なる表示エラーの問題について説明するための図であ
る。
ある。
値の大きさを決定する手法について説明するための図で
ある。
するための図である。
減算するか否かをZ値の大小に応じて判断する手法につ
いて説明するための図である。
大小に応じて変化させる手法について説明するための図
である。
チャートである。
ーチャートである。
ーチャートである。
の一例を示す図である。
態が適用される種々の形態のシステムの例を示す図であ
る。
Claims (12)
- 【請求項1】 画像を生成するための画像生成システム
であって、 ジオメトリ処理後の複数のプリミティブ面が同一又はほ
ぼ同一のZ値を有する場合において、複数のプリミティ
ブ面の中の少なくとも1つのプリミティブ面のZ値に対
して、Zシフト値を加算又は減算するZシフト手段と、 前記Z値が格納されるZバッファを用いて陰面消去を行
いながら、プリミティブ面を描画する描画手段と、 を含むことを特徴とする画像生成システム。 - 【請求項2】 請求項1において、 前記描画手段が、前記プリミティブ面単位で描画処理を
行う場合において、 処理対象となる面を、複数のプリミティブ面に分割する
手段を含むことを特徴とする画像生成システム。 - 【請求項3】 請求項1又は2において、 前記描画手段が、 プリミティブ面の頂点のZ値に基づき、プリミティブ面
の各ピクセルのZ値を補間演算する補間手段を含み、 前記Zシフト手段が、 前記補間手段の演算誤差よりも大きな値のZシフト値
を、プリミティブ面のZ値に対して加算又は減算するこ
とを特徴とする画像生成システム。 - 【請求項4】 請求項1乃至3のいずれかにおいて、 プリミティブ面がZシフト値の加算又は減算の対象か否
かを識別するための識別情報が、1又は複数のプリミテ
ィブ面に対して予め関連づけて設定され、 前記Zシフト手段が、 プリミティブ面のZ値にZシフト値を加算又は減算する
か否かを、前記識別情報に基づいて判断することを特徴
とする画像生成システム。 - 【請求項5】 請求項1乃至4のいずれかにおいて、 前記Zシフト手段が、 プリミティブ面のZ値にZシフト値を加算又は減算する
か否かを、Z値の大小に応じて判断することを特徴とす
る画像生成システム。 - 【請求項6】 請求項1乃至5のいずれかにおいて、 前記Zシフト手段が、 プリミティブ面のZ値に加算又は減算するZシフト値
を、Z値の大小に応じて変化させることを特徴とする画
像生成システム。 - 【請求項7】 コンピュータが使用可能な情報記憶媒体
であって、 ジオメトリ処理後の複数のプリミティブ面が同一又はほ
ぼ同一のZ値を有する場合において、複数のプリミティ
ブ面の中の少なくとも1つのプリミティブ面のZ値に対
して、Zシフト値を加算又は減算するZシフト手段と、 前記Z値が格納されるZバッファを用いて陰面消去を行
いながら、プリミティブ面を描画する描画手段と、 を実行するためのプログラムを含むことを特徴とする情
報記憶媒体。 - 【請求項8】 請求項7において、 前記描画手段が、前記プリミティブ面単位で描画処理を
行う場合において、 処理対象となる面を、複数のプリミティブ面に分割する
手段を実行するためのプログラムを含むことを特徴とす
る情報記憶媒体。 - 【請求項9】 請求項7又は8において、 前記描画手段が、 プリミティブ面の頂点のZ値に基づき、プリミティブ面
の各ピクセルのZ値を補間演算する補間手段を含み、 前記Zシフト手段が、 前記補間手段の演算誤差よりも大きな値のZシフト値
を、プリミティブ面のZ値に対して加算又は減算するこ
とを特徴とする情報記憶媒体。 - 【請求項10】 請求項7乃至9のいずれかにおいて、 プリミティブ面がZシフト値の加算又は減算の対象か否
かを識別するための識別情報が、1又は複数のプリミテ
ィブ面に対して予め関連づけて設定され、 前記Zシフト手段が、 プリミティブ面のZ値にZシフト値を加算又は減算する
か否かを、前記識別情報に基づいて判断することを特徴
とする情報記憶媒体。 - 【請求項11】 請求項7乃至10のいずれかにおい
て、 前記Zシフト手段が、 プリミティブ面のZ値にZシフト値を加算又は減算する
か否かを、Z値の大小に応じて判断することを特徴とす
る情報記憶媒体。 - 【請求項12】 請求項7乃至11のいずれかにおい
て、 前記Zシフト手段が、 プリミティブ面のZ値に加算又は減算するZシフト値
を、Z値の大小に応じて変化させることを特徴とする情
報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25556399A JP4391632B2 (ja) | 1999-09-09 | 1999-09-09 | 画像生成システム及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25556399A JP4391632B2 (ja) | 1999-09-09 | 1999-09-09 | 画像生成システム及び情報記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001084398A true JP2001084398A (ja) | 2001-03-30 |
JP4391632B2 JP4391632B2 (ja) | 2009-12-24 |
Family
ID=17280469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25556399A Expired - Lifetime JP4391632B2 (ja) | 1999-09-09 | 1999-09-09 | 画像生成システム及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4391632B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002042162A (ja) * | 2000-07-27 | 2002-02-08 | Namco Ltd | ゲームシステム及び情報記憶媒体 |
JP2006087707A (ja) * | 2004-09-24 | 2006-04-06 | Samii Kk | 画像処理装置、画像処理方法、及びプログラム |
JP2010191916A (ja) * | 2009-02-20 | 2010-09-02 | Nintendo Co Ltd | 描画処理装置、および、描画処理プログラム |
-
1999
- 1999-09-09 JP JP25556399A patent/JP4391632B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002042162A (ja) * | 2000-07-27 | 2002-02-08 | Namco Ltd | ゲームシステム及び情報記憶媒体 |
JP4512240B2 (ja) * | 2000-07-27 | 2010-07-28 | 株式会社バンダイナムコゲームス | ゲームシステム及び情報記憶媒体 |
JP2006087707A (ja) * | 2004-09-24 | 2006-04-06 | Samii Kk | 画像処理装置、画像処理方法、及びプログラム |
JP2010191916A (ja) * | 2009-02-20 | 2010-09-02 | Nintendo Co Ltd | 描画処理装置、および、描画処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4391632B2 (ja) | 2009-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3249955B2 (ja) | 画像生成システム及び情報記憶媒体 | |
US7479961B2 (en) | Program, information storage medium, and image generation system | |
US7015908B2 (en) | Image generation system and information storage medium | |
JP3280355B2 (ja) | 画像生成システム及び情報記憶媒体 | |
US7106324B1 (en) | Image generating system and program | |
JP4318240B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4223244B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3413383B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP3656012B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP4229319B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4804120B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP4391632B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4512240B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2001325605A (ja) | ゲームシステム及び情報記憶媒体 | |
JP3297410B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4245356B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2001229403A (ja) | ゲームシステム及び情報記憶媒体 | |
JP3254195B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4574058B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4394211B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP2003162734A (ja) | ゲームシステム及び情報記憶媒体 | |
JP4803909B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4728510B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2005275795A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4391633B2 (ja) | 画像生成システム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090624 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090824 |
|
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: 20090930 |
|
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: 20091008 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4391632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131016 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 |
|
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 |
|
EXPY | Cancellation because of completion of term |