JP4447000B2 - 画像生成システム、プログラム及び情報記憶媒体 - Google Patents

画像生成システム、プログラム及び情報記憶媒体 Download PDF

Info

Publication number
JP4447000B2
JP4447000B2 JP2006340101A JP2006340101A JP4447000B2 JP 4447000 B2 JP4447000 B2 JP 4447000B2 JP 2006340101 A JP2006340101 A JP 2006340101A JP 2006340101 A JP2006340101 A JP 2006340101A JP 4447000 B2 JP4447000 B2 JP 4447000B2
Authority
JP
Japan
Prior art keywords
image
mode
unit
period
rewritten
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.)
Expired - Fee Related
Application number
JP2006340101A
Other languages
English (en)
Other versions
JP2007087425A5 (ja
JP2007087425A (ja
Inventor
聡 大内
健祐 中西
文啓 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006340101A priority Critical patent/JP4447000B2/ja
Publication of JP2007087425A publication Critical patent/JP2007087425A/ja
Publication of JP2007087425A5 publication Critical patent/JP2007087425A5/ja
Application granted granted Critical
Publication of JP4447000B2 publication Critical patent/JP4447000B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
従来より、仮想的な3次元空間であるオブジェクト空間内において所与の視点(仮想カメラ)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。競争ゲーム(カーゲーム)を楽しむことができる画像生成システムを例にとれば、プレーヤは、操作部(ステアリング、シフトレバー、アクセルペダル、ブレーキペダル等)を用いて移動オブジェクト(自プレーヤ移動オブジェクト、自車)を操作し、他のプレーヤ(コンピュータプレーヤ又は他の人間プレーヤ)が操作する移動オブジェクト(他プレーヤ移動オブジェクト、他車)と競争することでゲームを楽しむ。
さて、このような画像生成システムでは、1フレーム周期に全てのオブジェクトの描画処理を完了しなければならないという課題がある。このような課題を解決する従来技術としては、例えば、視点からの距離に応じて移動オブジェクトの精密度(ポリゴン数)を変化させるLOD(Level Of Detail)と呼ばれる技術や、視点から近い順に移動オブジェクトに付された順序番号に基づいて移動オブジェクトの精密度を変化させる技術などがある。
国際公開第96/08298号公報
しかしながら、例えば、マルチプレーヤゲーム用に表示画面を分割する場合などにおいては、上記のような従来技術を用いても、1フレーム周期に描画処理を完了させることが間に合わなくなる場合がある。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、画面分割モード等のモードにおいて高品質な画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
本発明は、画像生成を行う画像生成システムであって、オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部とを含み、前記描画部が、表示画面が複数の画面に分割される画面分割モード時に、周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行う画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、画面分割モード時においては、周期T(例えばフレーム周期)ではなく周期N×T毎に描画領域(全描画領域)の書き換えが行われる(描画領域の更新周期がN×Tになる)。従って、画面分割モード時における描画処理に時間的な余裕が生まれ、高品質な画像を生成できるようになる。なお画面分割モードにおいても、画面分割数が少ない場合(例えば2画面分割又は3画面分割等)には、周期T毎に描画領域の書き換えを行ってもよい。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画面分割モード時には、表示画面が第1〜第Kのプレーヤ用(Kは2以上の整数)の第1〜第Kの画面に分割され、前記描画部が、オブジェクト空間において第1〜第Kのプレーヤの視点から見えるべき第1〜第Kの画像を、第1〜第Kの画面に対応する、フレームバッファの第1〜第Kの描画領域に描画するようにしてもよい。
このように表示画面を分割し、各プレーヤの視点から見えるべき画像を分割画面に表示する手法では、プレーヤの人数が増えるほど描画処理の負荷が重くなってしまう。しかしながら本発明では、このような場合にも、周期N×T毎に描画処理が行われるようになるため、高品質な画像を生成できる。
なお、本発明の画面分割モードは、上記のようなマルチプレーヤゲーム用に表示画面が分割されるモードには限定されない。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、移動オブジェクトの移動情報を求め、移動オブジェクトをオブジェクト空間内で移動させる処理を行う移動処理部を含み(該移動処理部として機能させるプログラム又は該プログラムを記憶した情報記憶媒体であって)、前記移動処理部が、画面分割モード時に周期N×T毎に描画領域の書き換えが行われている場合にも、移動オブジェクトの移動情報を求める処理を周期T毎に行うようにしてもよい。
このようにすれば、描画領域の書き換えについては周期N×T毎に行われている場合にも、移動処理については周期T毎に行われるようになり、移動処理の演算精度については維持できる。また描画領域の描画周期が変化した場合にも、移動処理の処理内容(プログラム)については変更しなくても済むようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、フレームバッファが第1〜第Nの描画領域を有し、前記描画部が、第1〜第Nの描画領域を第1〜第Nの描画領域の順に周期T毎に順次書き換えることで、全描画領域の書き換えを周期N×T毎に行うようにしてもよい。
本発明によれば、第1の描画領域が書き換えられ、次に第2の描画領域の書き換えられ・・・次に第Nの描画領域が書き換えられるというように、周期T毎に第1〜第Nの描画領域が順次書き換えられる(順次描画される)。これにより、全描画領域の書き換えを周期N×T毎に行う処理を実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画面分割モード時には、表示画面が第1〜第Kのプレーヤ用(Kは2以上の整数)の第1〜第Kの画面に分割され、前記描画部が、オブジェクト空間において第1〜第Kのプレーヤの視点から見えるべき第1〜第Kの画像を、第1〜第Kの画面に対応する、フレームバッファの第1〜第Kの描画領域に描画し、前記第1〜第Nの描画領域の境界が、前記第1〜第Kの描画領域の境界の一部又は全部と一致するようにしてもよい。
このようにすれば、第1〜第Kの画面の境界の一部又は全部が、第1〜第Nの描画領域の境界と一致するようになるため、その境界において表示物にずれが生じる事態の発生を防止できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、フレームバッファが描画領域と表示領域を有し、前記描画部が、フレームバッファの描画領域の奇数走査ラインのフレーム画像と偶数走査ラインのフレーム画像のいずれか一方を、周期T毎に交互に、フレームバッファの表示領域にコピーしてもよい。
このようにすれば、例えばインタレース走査方式の場合に、フレームバッファの表示領域の大きさを小さくすることが可能になり、メモリ容量を節約できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部が、周期N×T毎に描画領域の書き換えを行う場合には、周期T毎に描画領域の書き換えを行う場合に比べて、より高精細のフレーム画像を描画領域に描画してもよい。
また本発明は、画像生成を行う画像生成システムであって、オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部とを含み、前記描画部が、第1のモードでは周期T毎に描画領域の書き換えを行い、第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行うと共に、周期T毎に描画領域の書き換えを行う場合に比べて、より高精細のフレーム画像を描画領域に描画する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
本発明によれば、第1のモードでは周期T毎に描画領域(全描画領域)の書き換えが行われる(描画領域の更新周期がTになる)。一方、第2のモードでは周期N×T毎に描画領域(全描画領域)の書き換えが行われるようになる(描画領域の更新周期がN×Tになる)。そして第2のモードでは、第1のモードに比べて高精細の描画処理が行われる。従って、描画周期は長くなるものの、描画フレーム画像の精細度については向上できるようになる。
以下、本実施形態について図面を用いて説明する。
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図1の構成要素(各部)を全て含む必要はなく、その一部(例えば操作部160、携帯型情報記憶装置194又は通信部196等)を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、タッチパネル、或いは筺体などのハードウェアにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
情報記憶媒体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が行うゲーム処理としては、例えば、ゲームに登場するオブジェクト(表示物)を配置する処理、オブジェクトを移動させる処理、オブジェクトを動作させる処理(モーション再生処理)、オブジェクトを表示する処理、ゲームを進行させる処理、或いはゲーム結果を演算する処理などがある。
処理部100は、モード設定部110、移動処理部112、動作処理部114、ジオメトリ処理部116、描画部(画像生成部)120、音生成部130を含む。
モード設定部110は、ゲームにおける各種のモードを設定するための処理を行う。具体的には、モード設定画面を表示するための処理、操作部160によりプレーヤがモード設定画面で入力した操作データを受け付ける処理、或いは受け付けた操作データに基づいてモードを決定する処理などを行う。
モード設定部110により設定されるモードとしては、ゲームに参加するプレーヤの人数(画面分割数)についてのモード(1人プレーヤモード〜4人プレーヤモード)、フレームレート(1秒間当たりのフレーム数、Frame Per Second)の設定モード、或いは描画の精細度(ポリゴン数、マップ分割数、又はレンダリング方式等)の設定モードなどがある。
移動処理部112(シミュレーション演算部)は、移動オブジェクト(オブジェクト)の移動情報(位置情報、方向情報、速度情報或いは加速度情報)を求める処理を行う。即ち、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、移動オブジェクトをオブジェクト空間内で移動させる処理を行う。
より具体的には、移動処理部112は、移動オブジェクトの位置や回転角度(方向)を例えば1フレーム(1/60秒等)毎に変化させる。例えば(k−1)フレームでの移動オブジェクトの位置(X、Y又はZ座標)、回転角度(X、Y又はZ軸回りの回転角度)をPk-1、θk-1とし、オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)をΔP、Δθとする。するとkフレームでの移動オブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
Pk=Pk-1+ΔP (1)
θk=θk-1+Δθ (2)
なお移動処理部112で行われる処理は上式(1)(2)の処理に限定されず、(1)(2)と均等な処理でもよい。
動作処理部114(シミュレーション演算部)は、移動オブジェクトの動作情報(移動オブジェクトの各パーツの位置情報、方向情報)を求める処理を行う。即ち、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、移動オブジェクトを動作(モーション、アニメーション)させる処理を行う。
より具体的には、動作処理部114は、移動オブジェクトのモーションをモーションデータに基づいて再生する処理等を行う。即ち、移動オブジェクト(モデルオブジェクト、スケルトン、キャラクタ)を構成する各パーツオブジェクト(スケルトンを構成する骨)の位置又は回転角度(方向)等を含むモーションデータを、記憶部170(モーションデータ記憶部)から読み出す。そして、移動オブジェクトの各パーツオブジェクト(骨)を動かすことで(スケルトン形状を変形させることで)、移動オブジェクトのモーションを再生する。
ジオメトリ処理部116はオブジェクトに対してジオメトリ処理を施す。より具体的には、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理を行う。そしてジオメトリ処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)を作成し、作成された描画データ(プリミティブ面データ)を描画部120に出力する。
描画部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部160に出力する。より具体的には、ジオメトリ処理部116からの描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数のプリミティブ面)の画像を、フレームバッファ(ピクセル単位で画像情報を記憶できるバッファ)174に描画する。更に具体的には、ジオメトリ処理後のオブジェクトの画像を含むフレーム画像(1画面分の画像)をフレームバッファ174(VRAM)の描画領域(描画用に確保された領域)に描画し、周期T(フレーム周期。例えば1/60秒)毎に描画領域の書き換え(更新)を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
そして本実施形態では描画部120が、画面分割モード(表示画面が複数の画面に分割されるモード)時において、周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行う。より具体的には、表示画面が分割されない通常モードでは、周期T毎に(フレームレートFPSで)、フレームバッファ174の描画領域の書き換えを行う。一方、画面分割モードでは、周期N×T毎に(FPS/Nで)、描画領域の書き換えを行う。別の言い方をすれば表示画面の分割数に応じて(設定されるモードに応じて)、描画周期(フレームレート)を変化させる。このようにすることで、描画処理に時間的な余裕ができるため、画面分割モード時においても高品質な画像を生成できる。
なお画面分割モードの設定はモード設定部110により行われる。また、描画周期がT(フレーム周期)からN×T(フレーム周期のN倍)に切り替えられる画面分割数は任意である。例えば通常モードから2画面分割モードになった時に描画周期をTからN×Tに切り替えてもよいし、2画面分割モードから3画面分割モードになった時、或いは3画面分割モードから4画面分割モードになった時に、TからN×Tに切り替えてもよいし、また画面分割数が増えるにつれて、周期N×TのNを次第に増やすようにしてもよい。
また描画部120は、第1のモード(例えばフレームレートが大きく設定されるモード、描画処理の精細度が低精細に設定されるモード、画面分割数が少なく設定されるモード、或いは参加プレーヤ又は移動オブジェクトの数が少なく設定されるモード)では、周期T(フレームレートFPS)毎にフレームバッファ174の描画領域の書き換えを行う。一方、第2のモード(例えばフレームレートが小さく設定されるモード、描画処理の精細度が高精細に設定されるモード、画面分割数が多く設定されるモード、或いは参加プレーヤ又は移動オブジェクトの数が多く設定されるモード)では、周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行うと共に、より高精細のフレーム画像(オブジェクトのポリゴン数が多い、表示されるオブジェクトの数が多い、或いはレンダリングの精度が高いフレーム画像)を描画領域に描画する。このようにすることで、描画周期(フレームレート)とLOD(Level Of detail)とのトレードオフを図ることができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
2.1 画面分割数に応じた描画周期の制御
本実施形態では、画面分割数に応じて描画周期(フレームレート)を制御している。
図2(A)に、表示画面SC(表示部の画面)が分割されない通常モード時のゲーム画像の例を示す。プレーヤはこの表示画面SCに表示されるゲーム画像を見ながら、操作部を用いて移動オブジェクトMOB(車等)を操作し、コース上で走行させる。そして表示画面SCには、オブジェクト空間(仮想3次元空間)においてそのプレーヤの視点から見える画像(フレーム画像)が表示される。
一方、図2(B)に、表示画面が複数の画面に分割される画面分割モード時のゲーム画像の例を示す。図2(B)では、表示画面SCが第1、第2、第3、第4のプレーヤ(以下、適宜1P、2P、3P、4Pプレーヤと呼ぶ)用の画面SC1、SC2、SC3、SC4に分割されている。
そして図3に示すように、これらの画面SC1〜SC4(広義には第1〜第Kの画面)には、オブジェクト空間において1P〜4Pプレーヤ(広義には第1〜第Kのプレーヤ)の視点VP1〜VP4から見える画像が表示される。即ち、オブジェクト空間において1P〜4Pプレーヤの視点から見えるべき画像(第1〜第Kの画像、透視変換画像)が、画面SC1〜SC4に対応する、フレームバッファの描画領域DR1〜DR4に描画される。
そして1P〜4Pプレーヤは、これらの画面SC1〜SC4に表示される画像(1P〜4Pプレーヤ用の画像)を見ながら、操作部を用いて移動オブジェクトMOB1〜MOB4を操作し、マルチプレーヤゲーム(競争ゲーム、対戦ゲーム、協力ゲーム)を楽しむ。
さて図2(B)に示す画面分割モードでは、1P〜4Pプレーヤ用の移動オブジェクトMOB1〜MOB4や、マップ、建物、空などの背景についても、画面SC1〜SC4に表示しなければならない。即ち図2(B)では、図2(A)と同じ描画データ量の表示物を4セット分描画しなければならない。従って、図2(A)に比べて描画処理の負荷は4倍程度になってしまう。このため、LODなどの技術により描画データ量を減らしても、1フレーム周期T(例えば1/60秒)内で描画処理を完了できないおそれがあることが判明した。
そこで本実施形態では画面分割数に応じて描画周期(フレームレート)を可変に制御する手法を採用している。
具体的には図4に示すように、通常モード時(図2(A))には、周期T(フレーム周期)毎にフレームバッファの描画領域の書き換え(全描画領域の画像データの書き換え。描画領域の書き換えの開始)を行う。即ち全てのフレーム1、2、3、4、5、6・・・において描画領域の書き換え(更新)を行う。別の言い方をすれば描画領域の更新周期をTに設定する。
一方、画面分割モード時(図2(B))には、例えば周期2T(広義にはN×T。以下も同様)毎に描画領域の書き換え(全描画領域の画像データの書き換え。描画領域の書き換えの開始)を行う。即ち例えば奇数フレーム1、3、5・・・(又は偶数フレーム2、4、6・・・)の開始(垂直同期割り込み)に同期して、描画領域の書き換え(更新)を開始する。別の言い方をすれば画面更新周期を2T(N×T)に設定する。
このようにすれば、画面分割モード時においては、周期Tではなく周期2Tの期間内に、描画領域の書き換え処理(画像データの描画処理)を完了できればよいことになる。従って、描画処理に時間的な余裕が生じ、例えば4セット分のオブジェクト(移動オブジェクト、背景オブジェクト)を描画しなければならない4画面分割モードでも、描画周期内に全てのオブジェクトを描画することが可能になる。これにより、表示されないオブジェクトが生じたり、映像が分解写真のように飛び飛びになってしまうような事態が発生するのを防止できる。
なお図4では、通常モード時における描画周期をTとし、4画面分割モード時における描画周期を2Tとしているが、描画周期N×TのNの設定は任意である。例えば、2画面分割モード又は3画面分割モードになったときに、描画周期をTから2Tに切り替えてもよい。或いは、2画面分割モードではN=2に設定し、3画面分割モード以上ではN>3に設定することも可能である。
またフレーム周期Tは、表示部の垂直同期割り込み(垂直同期信号)に基づいて決められる。具体的にはフレーム周期Tは、垂直同期割り込み(VSYNC)の第1のパルスがアクティブになってから次の第2のパルスがアクティブになるまでの間の期間である。例えばフレームレートFPS(Frame Per Second)が60である場合には、T=1/60秒になる。従って周期T毎に描画領域を更新する場合には、垂直同期割り込みがアクティブになる毎に、描画領域の更新を1回行い、周期N×T毎に描画領域を更新する場合には、垂直同期割り込みがN回アクティブになる毎に、描画領域の更新を1回行うことになる。
また図2(B)、図3では、マルチプレーヤゲームの各プレーヤ用に表示画面を分割する例について説明したが、本実施形態の画面分割モードはこれに限定されない。例えば、サブ画面(バックミラーに映る画像、又は双眼鏡やスコープなどの光学機器を介して見える画像などが表示される画面)とメイン画面に分割するような画面分割モードにも、本実施形態の原理は適用できる。
2.2 移動オブジェクトの移動処理
本実施形態では図4に示すように描画周期(フレームレート)については画面分割数に応じて変化させている。しかしながら、その一方で、移動オブジェクトの移動処理(シミュレーション処理、パラメータの数値演算処理、操作データを受け付ける処理、動作処理)の周期については、画面分割数に依らずに一定にしている。
より具体的には図5のA1に示すように、操作部からの操作データ等に基づいて移動オブジェクトMOBの移動情報(位置、方向、速度又は加速度等)を求め、MOBをオブジェクト空間内で移動させる処理については、例えばフレーム周期T毎に行う。即ちフレーム1、2、3、4、5・・・における移動オブジェクトMOBの位置P1、P2、P3、P4、P5・・・、方向(角度)D1、D2、D3、D4、D5・・・を所定のアルゴリズムに従ったシミュレーション演算(数値演算)により求める。例えば、フレーム2での位置P2は、フレーム1での位置P1と、フレーム1での速度(フレーム周期Tで移動する距離)に基づき求めることができる(前述の式(1)(2)参照)。そして、この速度は、加速度や空力抵抗や摩擦抵抗などに基づき求めることができ、加速度は、アクセルの踏み具合(エンジン出力)やブレーキの踏み具合(ブレーキング能力)などに基づき求めることができる。
一方、図5のA2に示すように、描画領域の書き換え(描画領域への描画)については、周期2×T(N×T)毎に行う。即ち例えば奇数フレーム1、3、5・・・(又は偶数フレーム2、4、6・・・)の開始に同期して、描画処理の書き換えを開始する。
このようにすれば、移動オブジェクトMOBの移動処理については、短い周期T毎に行われるため、正確な数値演算が可能になる。従って、移動オブジェクトMOBの動きが不自然になったり、数値演算の誤差が大きくなりすぎてしまう事態を防止できる。一方、描画領域の書き換えは周期2T毎に行われるため、描画処理に時間的な余裕ができ、高品質な画像を生成できる。更に、描画領域の書き換えを周期T毎に行う場合と周期2T毎に行う場合とで、移動処理(シミュレーション処理)のプログラムモジュールについては、共通に使用できる。従って、プログラムの開発労力の軽減化や開発期間の短縮化を図れる。
なお、描画領域の書き換えを周期N×T毎に行っている場合にも周期T毎に行うことが望ましい処理は、移動オブジェクトの移動処理に限定されない。例えば、操作データを受け付ける処理(サンプリングする処理)、オブジェクトのモーション再生処理、或いはステータスパラメータなどの各種パラメータ値を演算する処理なども、周期T毎に行うことが望ましい。
2.3 分割された描画領域毎の描画処理
本実施形態では、フレームバッファに第1〜第Nの描画領域を確保する。そして、第1〜第Nの描画領域を、例えば第1〜第Nの描画領域の順に、周期T毎に順次書き換えて行くことで、周期N×T毎の全描画領域の書き換えを実現している。
具体的には図6に示すように、フレーム1では上側の第1の描画領域DRAの書き換えを行い、フレーム2では下側の第2の描画領域DRBの書き換えを行う。同様に、フレーム3、4、5では、描画領域DRA、DRB、DRAの順で書き換えを行う。即ち描画領域DRA、DRBを周期T毎に交互に書き換える(半分ずつ書き換える)。このようにすれば、結局、全描画領域の書き換えは、周期2T(N×T)毎に完了するようになる。従って、画面分割モード時等に描画領域の書き換えを周期2T(N×T)毎に行う手法を、簡単に実現できるようになる。
なお図6ではフレームバッファの描画領域を2分割にした場合を示したが、3分割以上にしてもよい。例えば、描画領域を、第1、第2、第3、第4の描画領域に分割した場合には、フレーム1では第1の描画領域、フレーム2では第2の描画領域、フレーム3では第3の描画領域、フレーム4では第4の描画領域、フレーム5では第1の描画領域、フレーム6では第2の描画領域というように、描画領域を書き換えればよい。
またフレームバッファ(VRAM)に、描画領域(描画バッファ)に加えて表示領域(表示バッファ)を確保する場合には、フレームバッファの描画領域の書き換えの前に、フレームバッファの描画領域からフレームバッファの表示領域へと、フレーム画像(既に書き換えが完了したフレーム画像)をコピーする。この場合のコピーは例えば全てのフレームで行う。また表示部には、フレームバッファの表示領域に記憶されるフレーム画像が表示される。
そしてインタレース方式の場合には、フレームバッファの描画領域の奇数走査ラインのフレーム画像と、偶数走査ラインのフレーム画像のいずれか一方を、周期T毎に交互に、フレームバッファの表示領域にコピーする。
より具体的には図7に示すように、例えば奇数フレーム1、3、5・・・では、奇数走査ラインのフレーム画像を描画領域から表示領域にコピーし、偶数フレーム2、4、6・・・では、偶数走査ラインのフレーム画像を描画領域から表示領域にコピーする。このようにすれば図7に示すように表示領域の大きさ(メモリ容量)を描画領域の半分にすることができ、メモリ容量を節約できる。
即ち、描画領域を分割せずに全描画領域を周期2T毎に書き換える手法では、表示領域は、周期2Tの期間に亘ってフレーム画像を保持しておく必要があるため、表示領域の大きさを描画領域と同じ大きさに設定する必要がある。
これに対して、図6、図7の手法では、全描画領域の半分の領域であるDRA又はDRBだけを書き換えればよいため、周期T内で書き換えを完了できる。従って、周期T毎に描画領域から表示領域へとフレーム画像をコピーしても、描画途中の画像がコピーされてしまうというような不具合が生じない。従って、表示領域の大きさを描画領域の半分に設定しても、上記のような不具合が生じなくなり、描画領域を分割せずに全描画領域を周期2T毎に書き換える手法に比べて、表示領域の大きさを小さくでき、メモリ容量を節約できる。
さて、図6のように描画領域を分割して描画処理を行う場合には、分割描画領域の境界と、分割画面(分割画面に対応する描画領域)の境界とを、少なくとも一部において一致させることが望ましい。
具体的には図8(A)に示すように、図2(B)の分割画面SC1〜SC4(第1〜第Kの画面)に対応する描画領域DR1〜DR4(第1〜第Kの描画領域)における境界BD13と、図6の手法で交互に書き換えられる上半分の描画領域DRAと下半分の描画領域DRB(第1〜第Nの描画領域)の境界BDABとが一致するようにする。或いは、左半分の描画領域DRCと右半分の描画領域DRDを交互に書き換える場合には、図8(B)に示すように、描画領域DR1〜DR4における境界BD12と、描画領域DRC、DRDの境界BDCDとが一致するようにする。
このようにすれば、例えば図8(C)のように境界BD13(BDAB)で表示物にずれが生じて画像が低品質化してしまう事態を防止できる。即ち、図8(A)の手法によれば、描画領域DRA、DRBの境界BDABは、図2(B)の分割画面SC1、SC2とSC3、SC4の境界BDSC(BD13)に一致するようになる。そして、この境界BDSCの上側と下側には、異なるプレーヤのゲーム画像を表示されるため、図8(C)に示すような表示物のずれは、元々、問題にならない。従って、表示物のずれにより画像が低品質化してしまう事態を防止でき、高品質な画像を生成できる。
2.4 LODとのトレードオフ
周期N×T毎に描画領域を書き換える手法は、LODとのトレードオフとしても用いることができる。
例えば図9のように、第1のモードにおいては、周期T毎に描画領域の書き換えを行う。一方、第2のモードにおいては、周期2T(N×T)毎に描画領域の書き換えを行うと共に、周期T毎に描画領域の書き換えを行う場合に比べて、より高精細(高精密度)のフレーム画像を描画領域に描画する。
即ち第1のモードでは、通常の精細度で描画処理が行われるため、周期T(フレーム周期)に同期して描画領域の書き換えを行っても、周期T内で描画処理を完了させることができる。一方、第2のモードでは、高精細で描画処理が行われるため、周期T内では描画処理を完了できないおそれがある。しかしながら図9の手法では第2のモードにおいては周期2T内に描画領域の書き換えを完了すればよいため、高精細モードであっても描画処理を無事に完了できる。
従って、例えばフレーム画像の精細度よりもフレームレートの速さを優先する場合には、第1のモードで描画処理を行う。一方、フレームレートの速さよりもフレーム画像の精細度を優先する場合には、第2のモードで描画処理を行う。このようにすれば、プレーヤに種々の選択枝を与えることができ、生成される画像のバラエティ度を増すことができる。
なおフレーム画像の精細度を制御する手法としては種々の手法がある。例えば図10(A)に示すように移動オブジェクトのポリゴン数(広義にはプリミティブ面数)を変化させて、描画処理の精細度を制御してもよい。例えば第1のモードではポリゴン数の少ない移動オブジェクトを使用し、第2のモードではポリゴン数の多い移動オブジェクトを使用する。
また、図10(B)に示すようにマップ(地形を表現するマップ)の分割数を変化させて、描画処理の精細度を制御してもよい。例えば、第1のモードでは分割数の少ないマップを使用し、第2のモードでは分割数の多いマップを使用する。
また、表示画面に表示するオブジェクト(表示物)の数を変化させて、描画処理の精細度を制御してもよい。例えば第1のモードでは、登場するオブジェクトの数を少なくし、第2のモードではオブジェクト数を多くする。
また、オブジェクトにマッピングするテクスチャの種類を変化させて、描画処理の精細度を制御してもよい。例えば第1のモードでは、通常の精細度のテクスチャをオブジェクトにマッピングし、第2のモードでは高精細なテクスチャをオブジェクトにマッピングする。
また、レンダリング方式を変化させて、描画処理の精細度を制御してもよい。例えば、第1のモードでは、通常の精細度のフレーム画像を生成できるレンダリング方式を採用し、第2のモードでは、高精細なフレーム画像を生成できるレンダリング方式を採用する。より具体的には、例えば第1のモードではグーローシェーディングの照明モデルでレンダリングを行い、第2のモードではフォンシェーディングの照明モデルでレンダリングを行う。或いは第1のモードでは通常の光源数でシェーディング処理を行い、第2のモードでは光源数を増やしてシェーディング処理を行う。或いは第1のモードでは処理負荷が低い影生成アルゴリズムを採用し、第2のモードでは処理負荷は高いがリアルな影を生成できる影生成アルゴリズムを採用する。
なお、第1、第2のモードの切り替えは、プレーヤがモード設定画面で選択することで行ってもよいし、ゲームの進行状況や、ゲーム場面や、ゲームの内容などに応じて、コンピュータ(プログラム)が自動的に切り替えてもよい。
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図11〜図13のフローチャートを用いて説明する。
図11は、画面分割数に応じて描画周期を変化させる処理を実現するフローチャートである。
まず、プレーヤの人数の設定が行われる(ステップS1)。そして、iを0に設定する(ステップS2)。そしてプレーヤの人数が3〜4人か否かを判断し(ステップS3)、3〜4人(3〜4画面分割)の場合にはNを2に設定し、1〜2人(画面分割無し。2画面分割)の場合には、N=1に設定する(ステップS4、S5)。
次にiが0か否かを判断する(ステップS6)。そして、iが0の場合には、フレームバッファの描画領域から表示領域へのフレーム画像(画像データ)のコピーを行う(ステップS7)。一方、iが0ではない場合にはステップS7の処理を省略する。
次に図5で説明した移動オブジェクトの移動処理(1フレーム単位の数値パラメータ類の演算を行うシミュレーション処理)を行う(ステップS8)。
次に、iが0か否かを判断し(ステップS9)、iが0の場合には全描画領域の描画・書き換え処理を行う(ステップS10)。一方、iが0ではない場合には、ステップS10の処理を省略する。
次に、iをi+1にインクリメントする(ステップS11)。そして、Nがiに等しいか否かを判断し(ステップS12)、等しい場合にはiを0に設定する(ステップS13)。そして、その他の処理を行う(ステップS14)。
そして、次のフレームが始まっているか否かを判断する(ステップS15)。例えば、垂直同期割り込みが発生している場合には、次のフレームが始まっていると判断できる。そして、次のフレームが始まっている場合には、ゲーム終了か否かを判断し(ステップS16)、ゲーム終了ではない場合にはステップS6に戻る。
図11の処理によれば、3〜4画面分割の時には、例えば最初のフレーム(奇数フレーム)ではステップS7、S10のコピー及び描画・書き換え処理が行われ、次のフレーム(偶数フレーム)ではステップS7、S10のコピー及び描画・書き換え処理が行われないようになる。一方、画面分割無し又は2画面分割の場合には、どのフレームにおいてもステップS7、S10のコピー及び描画・書き換え処理が行われるようになる。これにより図4で説明した手法を実現できる。
図12は図6で説明した処理を実現するフローチャートである。
まず、プレーヤの人数の設定が行われる(ステップS21)。そして、iを2に設定する(ステップS22)。
次に、フレームバッファの描画領域から表示領域へのフレーム画像のコピーを行う(ステップS23)。そして図5で説明した移動オブジェクトの移動処理(シミュレーション処理)を行う(ステップS24)。
次に、プレーヤの人数が3〜4人か否かを判断し(ステップS25)、1〜2人(画画面分割無し、2画面分割)の場合には、全描画領域の描画・書き換え処理を行う(ステップS26)。
一方、3〜4人(3〜4画面分割)の場合には、iが1か否かを判断する(ステップS27)。そしてiが1の場合には上側の第1の描画領域(DRA)の描画・書き換え処理を行う(ステップS28)。一方、iが1ではない場合には下側の第2の描画領域(DRB)の描画・書き換え処理を行う(ステップS29)。
次に、iをi−1にデクリメントし(ステップS30)、iが0か否かを判断する(ステップS31)。そして、iが0の場合には、iを2に設定し直す(ステップS32)。一方、iが0ではない場合にはステップS32の処理を省略する。
次に、その他の処理を行う(ステップS33)。そして次のフレームが始まっているか否かを判断する(ステップS34)。そして、次のフレームが始まっている場合には、ゲーム終了か否かを判断し(ステップS35)、ゲーム終了ではない場合にはステップS23に戻る。
図12の処理によれば、3〜4画面分割の時には、例えば最初のフレーム(奇数フレーム)では、ステップS28の第1の描画領域の描画・書き換え処理が行われ、次のフレーム(偶数フレーム)では、ステップS29の第2の描画領域の描画・書き換え処理が行われるようになる。一方、画面分割無し又は2画面分割の場合には、どのフレームにおいてもステップS26の全画面領域の描画・書き換え処理が行われるようになる。これにより図6で説明した手法を実現できる。
図13は図9で説明した処理を実現するフローチャートである。
まず、iを0に設定する(ステップS41)。またフレームレート(描画周期)の設定が行われる(ステップS42)。
次に、設定されたフレームレートが30FPS(Frame Per Second)か否かを判断し(ステップS43)、フレームレートが30FPSの場合にはNを2に設定する(ステップS44)。一方、フレームレートが60FPSの場合にはNを1に設定する(ステップS45)。
次に、iが0か否かを判断し(ステップS46)、iが0ならばフレームバッファの描画領域から表示領域へのコピーを行う(ステップS47)。一方、iが0ではない場合にはステップS47の処理を省略する。
次に、移動処理(シミュレーション処理)を行う(ステップS48)。そして、iが0か否かを判断し(ステップS49)、iが0の場合には、Nが1か否かを判断する(ステップS50)。そして、Nが1の場合には、通常の精細度の描画処理で描画領域の描画・書き換えを行う(ステップS51)。一方、Nが1ではない場合には、高精細の描画処理で描画領域の描画・書き換えを行う(ステップS52)。なお、iが0ではない場合にはステップS50、S51、S52の処理を省略する。
次に、iをi+1にインクリメントする(ステップS53)。そして、Nがiと等しいか否かを判断し(ステップS54)、等しい場合にはiを0に設定する(ステップS55)。一方、等しくない場合にはステップS55の処理を省略する。
次に、その他の処理を行う(ステップS56)。そして次のフレームが始まっているか否かを判断する(ステップS57)。そして、次のフレームが始まっている場合には、ゲーム終了か否かを判断し(ステップS58)、ゲーム終了ではない場合にはステップS46に戻る。
図13の処理によれば、フレームレートが30FPSの場合(第2のモードの場合)には、例えば最初のフレーム(奇数フレーム)では、ステップS52の高精細の描画・書き換え処理が行われ、次のフレーム(偶数フレーム)では、ステップS52の描画・書き換え処理は行われないようになる。一方、フレームレートが60FPSの場合(第1のモードの場合)には、どのフレームにおいても、ステップS51の通常の精細度の描画・書き換え処理が行われるようになる。これにより図9で説明した手法を実現できる。
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図14を用いて説明する。
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
描画プロセッサ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は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
なお、本実施形態の各部(各手段)は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
図15(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102(レバー、ボタン)を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本実施形態の各部を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
図15(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
図15(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-n(ゲーム機、携帯電話)とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納プログラム(格納情報)は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリなどの情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
なお、図15(C)の構成の場合に、本実施形態の各部を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本実施形態の各部を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
例えば、明細書又は図面中の記載において広義な用語(第1〜第Kの画面、第1〜第Kのプレーヤ、N×T、プリミティブ面、シミュレーション処理、第1〜第Nの描画領域等)として引用された用語(画面SC1〜SC4、1P〜4Pプレーヤ、2T、ポリゴン、移動処理、描画領域DRA・DRB等)は、明細書又は図面中の他の記載においても広義な用語に置き換えることができる。
また画面や描画領域の分割数や分割の仕方も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
また描画処理(書き換え処理)、コピー処理の順序や手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
本実施形態の画像生成システムの機能ブロック図である。 図2(A)(B)は画面分割モードの説明図である。 画面分割モード時の画像生成手法の説明図である。 画面分割数に応じてフレームレートを変える手法の説明図である。 移動処理(シミュレーション処理)の説明図である。 描画領域を分割して書き換える手法の説明図である。 インタレース走査方式の場合のコピー手法の説明図である。 図8(A)(B)(C)は境界を一致させる手法の説明図である。 描画処理の精細度に応じてフレームレートを変える手法の説明図である。 図10(A)(B)は描画精細度を変える手法の説明図である。 本実施形態の処理のフローチャート例である。 本実施形態の処理のフローチャート例である。 本実施形態の処理のフローチャート例である。 ハードウェア構成例である。 図15(A)〜(C)は種々の形態のシステム例である。
符号の説明
100 処理部、110 モード設定部、112 移動処理部、
114 動作処理部、116 ジオメトリ処理部、120 描画部、
130 音生成部、160 操作部、170 記憶部、172 主記憶部、
174 フレームバッファ、180 情報記憶媒体、190 表示部
192 音出力部、194 携帯型情報記憶装置、196 通信部

Claims (17)

  1. 画像生成を行う画像生成システムであって、
    オブジェクト空間に配置された視点を基準としてオブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画することによって、周期T毎に描画領域の書き換えを行う描画部とを含み、
    表示画面が複数の分割画面に分割される画面分割モード時に、オブジェクト空間に各分割画面に対応する複数の視点が配置され、
    前記描画部が、
    前記画面分割モード時に、前記複数の視点のそれぞれから見えるべき画像のそれぞれを複数のフレーム画像として、前記フレームバッファを前記複数の分割画面に対応させて分割した複数の分割描画領域のそれぞれに対して、周期N×T毎(Nは2以上の整数)に各分割描画領域に対応する各フレーム画像を描画することによって全ての分割描画領域の書き換えを行うことを特徴とする画像生成システム。
  2. 請求項1において、
    前記複数の分割描画領域の境界が前記複数の分割画面の境界の一部又は全部と一致するように、前記フレームバッファの描画領域が前記複数の分割描画領域に分割されていることを特徴とする画像生成システム。
  3. 請求項1又は2において、
    フレームバッファが描画領域と表示領域を有し、
    前記描画部が、
    フレームバッファの描画領域の奇数走査ラインのフレーム画像と偶数走査ラインのフレーム画像のいずれか一方を、周期T毎に交互に、フレームバッファの表示領域にコピーすることを特徴とする画像生成システム。
  4. 請求項1乃至3のいずれかにおいて、
    前記描画部が、
    フレームバッファの描画領域を複数の分割描画領域に分割して周期N×T毎に全ての描画領域の書き換えを行う場合には、フレームバッファの描画領域を分割せずに周期T毎に全ての描画領域の書き換えを行う場合に比べて精細度を高めた画像を前記複数のフレーム画像として前記複数の分割描画領域に描画することを特徴とする画像生成システム。
  5. 画像生成を行う画像生成システムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と
    移動オブジェクトの移動情報を求め、移動オブジェクトをオブジェクト空間内で移動させるシミュレーション処理を行う移動処理部とを含み、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い
    前記移動処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記シミュレーション処理を周期T毎に行うことを特徴とする画像生成システム。
  6. 画像生成を行う画像生成システムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    操作データを受け付ける処理を行う受け付け部とを含み、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記受け付け部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記操作データを受け付ける処理を周期T毎に行うことを特徴とする画像生成システム。
  7. 画像生成を行う画像生成システムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    オブジェクトのモーション再生処理を行う再生処理部とを含み、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記再生処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記オブジェクトのモーション再生処理を周期T毎に行うことを特徴とする画像生成システム。
  8. 画像生成を行う画像生成システムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    パラメータ値を演算する処理を行う演算処理部とを含み、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記演算処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、パラメータ値を演算する処理を周期T毎に行うことを特徴とする画像生成システム。
  9. 画像を生成するためのプログラムであって、
    オブジェクト空間に配置された視点を基準としてオブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画することによって、周期T毎に描画領域の書き換えを行う描画部として、
    コンピュータを機能させると共に、
    前記ジオメトリ処理部が、
    表示画面が複数の分割画面に分割される画面分割モード時にオブジェクト空間に配置された複数の視点を基準として、各視点から見えるオブジェクトに対してジオメトリ処理を施し、
    前記描画部が、
    前記画面分割モード時に、前記複数の視点のそれぞれから見えるべき画像のそれぞれを複数のフレーム画像として、前記フレームバッファを前記複数の分割画面に対応させて分割した複数の分割描画領域のそれぞれに対して、周期N×T毎(Nは2以上の整数)に各分割描画領域に対応する各フレーム画像を描画することによって全ての分割描画領域の書き換えを行うことを特徴とするプログラム。
  10. 請求項において、
    前記複数の分割描画領域の境界が前記複数の分割画面の境界の一部又は全部と一致するように、前記フレームバッファの描画領域が前記複数の分割描画領域に分割されていることを特徴とするプログラム。
  11. 請求項9又は10において、
    フレームバッファが描画領域と表示領域を有し、
    前記描画部が、
    フレームバッファの描画領域の奇数走査ラインのフレーム画像と偶数走査ラインのフレーム画像のいずれか一方を、周期T毎に交互に、フレームバッファの表示領域にコピーすることを特徴とするプログラム。
  12. 請求項9乃至11のいずれかにおいて、
    前記描画部が、
    フレームバッファの描画領域を複数の分割描画領域に分割して周期N×T毎に全ての描画領域の書き換えを行う場合には、フレームバッファの描画領域を分割せずに周期T毎に全ての描画領域の書き換えを行う場合に比べて精細度を高めた画像を前記複数のフレーム画像として前記複数の分割描画領域に描画することを特徴とするプログラム。
  13. 画像を生成するためのプログラムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と
    移動オブジェクトの移動情報を求め、移動オブジェクトをオブジェクト空間内で移動させるシミュレーション処理を行う移動処理部として、
    コンピュータを機能させると共に、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い
    前記移動処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記シミュレーション処理を周期T毎に行うことを特徴とするプログラム。
  14. 画像を生成するためのプログラムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    操作データを受け付ける処理を行う受け付け部として、
    コンピュータを機能させると共に、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記受け付け部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記操作データを受け付ける処理を周期T毎に行うことを特徴とするプログラム。
  15. 画像を生成するためのプログラムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    オブジェクトのモーション再生処理を行う再生処理部として、
    コンピュータを機能させると共に、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記再生処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、前記オブジェクトのモーション再生処理を周期T毎に行うことを特徴とするプログラム。
  16. 画像を生成するためのプログラムであって、
    オブジェクトに対してジオメトリ処理を施すジオメトリ処理部と、
    ジオメトリ処理後のオブジェクトの画像を含むフレーム画像をフレームバッファの描画領域に描画し、周期T毎に描画領域の書き換えを行う描画部と、
    パラメータ値を演算する処理を行う演算処理部として、
    コンピュータを機能させると共に、
    前記描画部が、
    第1のモードでは周期T毎に描画領域の書き換えを行い、
    第2のモードでは周期N×T毎(Nは2以上の整数)に描画領域の書き換えを行い、
    前記演算処理部が、
    第2のモード時に周期N×T毎に描画領域の書き換えが行われている場合にも、パラメータ値を演算する処理を周期T毎に行うことを特徴とするプログラム。
  17. コンピュータ読み取り可能な情報記憶媒体であって、請求項9乃至16のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2006340101A 2006-12-18 2006-12-18 画像生成システム、プログラム及び情報記憶媒体 Expired - Fee Related JP4447000B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006340101A JP4447000B2 (ja) 2006-12-18 2006-12-18 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006340101A JP4447000B2 (ja) 2006-12-18 2006-12-18 画像生成システム、プログラム及び情報記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002329814A Division JP3990258B2 (ja) 2002-11-13 2002-11-13 画像生成システム、プログラム及び情報記憶媒体

Publications (3)

Publication Number Publication Date
JP2007087425A JP2007087425A (ja) 2007-04-05
JP2007087425A5 JP2007087425A5 (ja) 2007-05-31
JP4447000B2 true JP4447000B2 (ja) 2010-04-07

Family

ID=37974288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006340101A Expired - Fee Related JP4447000B2 (ja) 2006-12-18 2006-12-18 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4447000B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379955B2 (en) * 2010-11-27 2013-02-19 Intrinsic Medical Imaging, LLC Visualizing a 3D volume dataset of an image at any position or orientation from within or outside
EP3207967A1 (en) 2016-02-22 2017-08-23 Nintendo Co., Ltd. Information processing apparatus, information processing system, information processing method, and information processing program
JP6564335B2 (ja) * 2016-02-22 2019-08-21 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム
JP6564334B2 (ja) * 2016-02-22 2019-08-21 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、および情報処理プログラム

Also Published As

Publication number Publication date
JP2007087425A (ja) 2007-04-05

Similar Documents

Publication Publication Date Title
JP3668019B2 (ja) 記録媒体、画像処理装置および画像処理方法
US8072458B2 (en) Storage medium having game program stored thereon and game apparatus
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3990258B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4447000B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216158A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
JP4502678B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4333889B2 (ja) 画像生成システム及び情報記憶媒体
JP4651204B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2001084402A (ja) 画像生成システム及び情報記憶媒体
JP4632855B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007272273A (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2005209217A (ja) ゲームシステム及び情報記憶媒体
JP2006268103A (ja) プログラム、情報記憶媒体、モデルデータ構造及び画像生成システム
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP2006318196A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4394211B2 (ja) 画像生成システム及び情報記憶媒体
JP2004038639A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2003051032A (ja) ゲーム情報、情報記憶媒体、及びゲーム装置
JP4054708B2 (ja) ゲーム装置およびゲームプログラム
JP4771903B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4162125B2 (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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

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

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4447000

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130129

Year of fee payment: 3

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