JP2000242811A - 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 - Google Patents

画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体

Info

Publication number
JP2000242811A
JP2000242811A JP11045535A JP4553599A JP2000242811A JP 2000242811 A JP2000242811 A JP 2000242811A JP 11045535 A JP11045535 A JP 11045535A JP 4553599 A JP4553599 A JP 4553599A JP 2000242811 A JP2000242811 A JP 2000242811A
Authority
JP
Japan
Prior art keywords
vertex
model
data
list
polygon
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
JP11045535A
Other languages
English (en)
Other versions
JP4206547B2 (ja
JP2000242811A5 (ja
Inventor
Tomoaki Saito
智昭 斉藤
Takashi Ando
隆 安藤
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.)
Sega Corp
Original Assignee
Sega Enterprises 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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP04553599A priority Critical patent/JP4206547B2/ja
Priority to ES00301217T priority patent/ES2250075T3/es
Priority to EP00301217A priority patent/EP1031946B1/en
Priority to DE60024514T priority patent/DE60024514T2/de
Priority to US09/506,812 priority patent/US6437779B1/en
Publication of JP2000242811A publication Critical patent/JP2000242811A/ja
Publication of JP2000242811A5 publication Critical patent/JP2000242811A5/ja
Application granted granted Critical
Publication of JP4206547B2 publication Critical patent/JP4206547B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 (修正有) 【課題】一体整形モデルのキャラクタをリアルタイムで
描画することができる画像処理方法、一体整形モデルの
データ構造及び画像処理方法を実行するプログラムを記
録した記録媒体を提供する。 【解決手段】画像処理方法は、階層構造のトレース順に
複数のモデルに対応する共有頂点バッファを生成する工
程と、ゲーム進行データに基づいてモデルの位置を設定
したモデルマトリクスデータを生成する工程と、モデル
の頂点リストが有する頂点データに対して、モデルマト
リクスデータに従うマトリクス演算と、移動後の頂点デ
ータにウエイト値を反映するウエイト演算とを行い、当
該演算された頂点データを、共有頂点バッファ内の前記
頂点IDに従う領域に格納又は加算して共有頂点データ
を生成する工程と、ポリゴンを、共有頂点データに従っ
てレンダリングするレンダリング工程とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リアルタイムで画
像処理を行う画像処理方法、リアルタイムで画像処理を
行うに適した画像データ構造を生成する画像処理方法、
及び当該画像データ構造または画像処理プログラムを記
録した記録媒体に関する。
【0002】
【従来の技術】家庭用のビデオゲーム機等において、ゲ
ームの進行に同期してリアルタイムでゲーム内のオブジ
ェクトの動画が作成される。かかるゲーム機における画
像処理は、例えばフレーム期間という短い期間内でオペ
レータからの入力操作信号に応答して、ゲーム内のオブ
ジェクトの位置を移動させ、その移動位置に対応した画
像を画像メモリ(フレームメモリ)内に描画する必要が
ある。
【0003】ゲーム内のオブジェクトのうち、生き物な
どのキャラクタは、動作の中で手足や首の動きに伴いそ
れらの関節部分や筋肉の部分も動き、しかも、その関節
部分等では他のポリゴンの動きに応じて異なる形状の関
節になることが、より自然な動きを表現するためには必
要である。或いは、例えば人間の上腕と肩の部分や上腕
と腕の部分では、ポリゴンの動きによっては、上腕や肩
の筋肉が盛り上がるなどの動きが含まれることが、より
自然な動きを表現するためには必要である。
【0004】このような関節部分などに自然な動きを与
える描画方法として、関節の両側のモ デルに対して接
続すべき頂点を指定し、その頂点間に関節用のポリゴン
を追加する方法がある。しかし、かかる描画方法では画
一的なポリゴンによって関節部分が描画されることにな
り、関節の角度の変化に対して対応する動きを与えるこ
とができず、不自然な画像しか生成できない。
【0005】より自然な動きを描画するために、三次元
モデラによりエンベロープと呼ばれる一体整形モデルを
利用することが、映画などのリアルタイム処理を必要と
しないCGムービー(コンピュータ・グラフィックを利
用した映画)における画像処理の分野で提案されてい
る。この一体整形モデルは、オブジェクト(キャラク
タ)をポリゴンとそれに影響を与える骨部分とで構成し
たモデルを利用する。即ち、一体整形モデルは、キャラ
クタの外面であって実際に動いて描画されるポリゴン
と、そのポリゴンの位置に一定のウエイトで影響を与え
る骨部分(bone)とで構成される。そして、ポリゴンの
位置に影響を与える骨部分の新たな位置を、オペレータ
の操作入力に従って求められる位置変換用マトリクスに
より演算し、その骨部分からの影響度(ウエイト)に応
じてポリゴンの頂点の位置を求める。その求められた頂
点に対してポリゴンをレンダリング(描画)すること
で、複雑な動きをポリゴンに与えることができる。
【0006】図1は、上記のCGムービーにおける一体
整形モデルの動きの例を示す図である。図1に示された
モデルは、腕部分1と手の部分2とで構成されるモデル
であり、図1(A)は、その基本姿勢の状態を示す。か
かる状態から、腕部分1の上腕3がより垂直になり、腕
部分1の肘の部分4はより水平方向に曲げられるとする
と、図1(B)の如き状態になることが望まれる。即
ち、上腕3と肘の部分4を接続する関節部分が自然に曲
がった形状になり、かつ上腕3の内側の筋肉3Aが盛り
上がるような動きが望まれる。
【0007】図2は、従来のCGムービーにおける一体
整形モデルを利用した画像処理を説明する図である。ま
た、図3は、その画像処理手順を示すフローチャート図
である。図2には、一体整形モデル(エンベロープ)の
モデルのデータ構造620が示される。この例では、モ
デル1〜7の合計7個のモデルが図示されるツリー状の
階層構造をなす。そして、各モデルのデータ構造は、モ
デル4のデータ624とモデル7のデータ627に示さ
れる通りである。
【0008】モデルは、表示されるポリゴンを有する場
合は、そのポリゴンの構成要素である頂点を有する。従
って、モデル4のデータ構造624には、頂点リスト6
32とその頂点の組み合わせからなるポリゴンリスト6
35が含まれる。頂点リスト632には、各頂点のモデ
ルのローカル座標系での位置情報と法線データとが含ま
れる。また、各モデルは、通常その上の階層のモデルに
対する相対的な位置を示す情報であるモデルマトリクス
631を有する。例えば、モデル4の場合は、モデル3
に対する相対的な位置情報として、回転(ローテーショ
ン)、移動(トランスレーション)及びサイズ(スケー
ル)を有する。かかる位置情報からなるモデルマトリク
ス631は、モデル3の座標系からモデル4の座標系に
変換する時のマトリクスデータともいえる。
【0009】更に、モデル4のデータ構造624は、モ
デル4が影響を与える他のモデルの頂点と、その影響度
であるウエイト値からなるウエイトリスト633を有す
る。例えば、図1の例では、肘の部分4のモデルは、上
腕3の筋肉3Aの部分に対して所定のウエイト値で影響
を与える。従って、肘部分4のモデルのウエイトリスト
には、上腕3のモデルのIDとその頂点インデックス
(頂点ID)及びそのウエイト値が含まれる。
【0010】仮に、図2のモデル構造の内、モデル4を
図1の肘部分4、モデル7を上腕部分3とすると、上腕
部分3の動きと肘部分4の動きに影響を受けた結果、上
腕部分3のモデルにおける筋肉部分3Aでの頂点の位置
が変化し、筋肉部分3Aが盛り上がった画像が描画され
る。そこで、図3に従って、CGムービーなどで一般的
に行われている三次元モデラーの画像処理の手順を説明
する。まず、全てのモデルの動きを実現するためのマト
リクスを計算し、各モデルのデータ構造に格納する(ス
テップ602)。そして、ウエイトリスト633を参照
し、自分(モデル4)が影響するモデル(モデル7)の
頂点インデックス(頂点ID)が示す頂点座標と法線デ
ータ(頂点データ)を、モデル7の頂点リスト632か
ら読み出し(ステップ603)、その読み出した頂点デ
ータを、基本姿勢時の関係からモデル4のローカル座標
系に所属させた場合の頂点データに変換し、その変換し
た頂点座標と法線データに、モデル4のモデルマトリク
スを乗算する(ステップ604)。更に、モデルマトリ
クスを乗算した頂点座標と法線データに、ウエイトリス
ト内のウエイト値を乗算した値を、モデル7のデータ構
造627内におけるウエイト頂点リスト634内の値に
積算する。
【0011】上記の手順603,604,605を、ウ
エイトリスト全てについて実行し(ステップ606)、
更に、全てのモデルについて実行する(ステップ60
7)。その結果、全てのモデルが持つ実頂点におけるキ
ャラクタの動きに対応する座標変換と、他のモデルから
の影響度に応じた位置移動が行われる。そこで、全ての
モデルにおけるウエイト頂点リストの法線ベクトルを正
規化し、後のレンダリング時における光源処理に使用で
きる形態にする(ステップ608)。そして、ウエイト
頂点リスト内の頂点位置を参照しながら、ポリゴンリス
トにあるポリゴンの描画(レンダリング)を実行する
(ステップ609)。
【0012】上記の演算は、全てのモデルの頂点に対し
て全てマトリクス演算とウエイト演算を行い、それらの
演算が終了してからポリゴンのレンダリング処理を行
う。或いは、一つの頂点に注目して、その頂点に対して
影響を与えるモデルのマトリクス演算、ウエイト演算を
行い、その頂点の新たな頂点座標を求め、最後のレンダ
リング処理を行う。
【0013】
【発明が解決しようとする課題】しかしながら、上記の
CGムービーにおける画像処理方法は、ゲーム機におい
て行われるリアルタイムでの高速画像処理には適用不可
能である。即ち、全てのモデルの頂点に対してマトリク
ス演算とウエイト演算を行う場合は、モデルのデータ構
造内において、異なるモデルの頂点リストやモデルマト
リクスを参照しながら、演算を行う必要がある。かかる
演算を、メモリ上に分散されたモデルデータの階層構造
内をポインタを利用した参照手順を伴って行う場合、ポ
インタの変更を頻繁に且つ多数回行わなければならな
い。従って、かかる演算をゲーム機で行おうとすると、
ゲーム機内のCPUに設けられたキャッシュメモリの使
用効率が悪い。また、一つの頂点に注目してマトリクス
演算とウエイト演算を行う場合でも、全ての頂点に対し
てウエイト演算のためのバッファ領域を確保する必要が
ある。かかる演算も、スーパーコンピュータ等の大容量
のメモリと高速の演算能力を有する場合は別として、簡
単な構成のゲーム機で実行すると、利用すべきメモリ領
域が膨大になり、リアルタイムでの処理は困難であり、
現実的ではない。
【0014】そこで、本発明の目的は、一体整形モデル
を利用してリアルタイムで画像処理を行うことができる
画像処理方法、その画像処理に利用する一体整形モデル
の画像データを生成する画像処理方法、及び当該画像デ
ータや画像処理プログラムを記録した記録媒体を提供す
ることにある。
【0015】更に、本発明の目的は、一体整形モデルを
利用してリアルタイムで画像処理を可能にする画像デー
タを三次元モデルデータから生成するコンバータプログ
ラムによる画像処理方法を提供することにある。
【0016】更に、本発明の目的は、キャラクタの動き
に応じて関節部分などが自然な形に変形することができ
る画像処理方法、それを実行する画像処理プログラムを
記録した記録媒体、その画像処理に適した構造のデータ
を記録した記録媒体を提供することにある。
【0017】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、階層構造でリンクされた複数のモデル
を有し、少なくとも第1のモデルはポリゴンを構成する
複数の頂点を有し、少なくとも第1の頂点の位置は複数
のモデルの位置と当該モデルからのウエイト値に従って
影響を受ける一体整形モデルデータを記録した記録媒体
において、前記複数のモデル内における複数の頂点のデ
ータを、モデル毎に格納する共有頂点バッファのフォー
マットデータと、前記頂点に影響を与えるモデル毎に形
成され、前記共有頂点バッファ内の頂点IDによって特
定された頂点データを有する頂点リストと、前記モデル
毎に形成され、前記複数のモデルの基本姿勢におけるモ
デル位置を設定したモデルマトリクスデータと、前記ポ
リゴンを有するモデル毎に形成され、前記頂点IDを属
性データとするポリゴンデータを有するポリゴンリスト
とを有し、前記頂点リスト内の頂点データには、少なく
とも頂点の位置データと、前記頂点リストが属するモデ
ルからのウエイト値及び当該頂点に対応する前記共有頂
点バッファ内の頂点IDとを有することを特徴とする一
体整形モデルデータを記録したコンピュータ読みとり可
能な記録媒体を提供する。
【0018】上記の一体整形モデルデータを記録した記
録媒体は、ゲーム機器などにおいてリアルタイムでモデ
ルの描画に必要な画像処理を行うことを可能にする。
【0019】更に、本発明は、上記の発明において、前
記複数のモデルから影響を受ける前記第1の頂点は、前
記複数のモデルの個数分だけの分配頂点データを有し、
当該分配頂点データは、前記第1の頂点に影響を与える
モデルの前記頂点リストに属することを特徴とする。
【0020】更に、本発明は、上記の発明において、前
記頂点リストは、前記モデルの階層構造に従ってトレー
スした時に最初に頂点演算が行われるスタートウエイト
頂点と、前記頂点演算が最初でも最後でもないミドルウ
エイト頂点と、前記頂点演算が最後に行われるエンドウ
エイト頂点とに分けられていることを特徴とする。
【0021】更に、本発明は、上記の発明において、前
記頂点リストは、更に、当該頂点リストが属するモデル
からのみ影響を受けるネイティブ頂点のデータを有する
ことを特徴とする。
【0022】更に、本発明は、上記の発明において、前
記頂点データは、前記頂点の座標データと法線データと
を有することを特徴とする。
【0023】更に、本発明は、上記の発明において、前
記頂点データは、それが属する頂点リストのモデルのロ
ーカル座標系に従うことを特徴とする。
【0024】更に、本発明は、上記の発明において、前
記共有頂点バッファ内の頂点IDは、各モデル毎の頂点
のエントリ番号と各モデル毎の頂点数に対応するオフセ
ット値とを有することを特徴とする。
【0025】更に、本発明は、上記の発明において、前
記ポリゴンリストは、所定のモデルの前記ポリゴンの描
画を指示する描画コマンド又は当該ポリゴンリストが属
するモデルのポリゴンの未描画を指示する未描画コマン
ドを有することを特徴とする。
【0026】上記の目的を達成するために、本発明は、
階層構造でリンクされた複数のモデルを有し、少なくと
も第1のモデルはポリゴンを構成する複数の頂点を有
し、少なくとも第1の頂点の位置は複数のモデルの位置
と当該モデルからのウエイト値に従って影響を受ける一
体整形モデルデータを記録した記録媒体において、前記
複数のモデル内における複数の頂点のデータを、モデル
毎に格納する共有頂点バッファのフォーマットデータ
と、前記頂点に影響を与えるモデル毎に形成され、前記
共有頂点バッファ内の頂点IDによって特定された頂点
データを有する頂点リストと、前記ポリゴンを有するモ
デル毎に形成され、前記頂点IDを属性データとするポ
リゴンデータを含むポリゴンリストとを有することを特
徴とする一体整形モデルデータを記録したコンピュータ
読みとり可能な記録媒体を提供する。
【0027】上記の目的を達成するために、本発明は、
階層構造でリンクされた複数のモデルを有し、少なくと
も第1のモデルはポリゴンを構成する複数の頂点を有
し、少なくとも第1の頂点の位置は複数のモデルの位置
と当該モデルからのウエイト値に従って影響を受ける一
体整形モデルデータを元モデルデータから変換する画像
処理方法において、前記元モデルデータは、前記階層構
造でリンクされた複数のモデルデータを有し、前記元モ
デルデータは、当該モデル内の頂点データを有する元頂
点リストと、当該モデルが影響を与える頂点データを有
するウエイトリストと、前記頂点リスト内の頂点IDを
属性データとする元ポリゴンリストとを有し、前記画像
処理方法は、前記複数のモデル内における複数の頂点の
データを、モデル毎に格納する共有頂点バッファのフォ
ーマットデータを生成する工程と、前記頂点に影響を与
えるモデル毎に形成され、前記共有頂点バッファ内の頂
点IDによって特定された頂点データを有する頂点リス
トを生成する工程と、前記ポリゴンを有するモデル毎に
形成され、前記頂点IDを属性データとするポリゴンデ
ータを有するポリゴンリストを生成する工程とを有する
ことを特徴とするモデルデータ変換用の画像処理方法を
提供する。
【0028】上記の画像処理方法によれば、リアルタイ
ムでの画像処理を可能にする一体整形モデルの変換デー
タを生成することができる。
【0029】更に、本発明は、上記の画像処理方法にお
いて、前記頂点リスト内の頂点データには、少なくとも
頂点の位置データと、前記頂点リストが属するモデルか
らのウエイト値及び当該頂点に対応する前記共有頂点バ
ッファ内の頂点IDとを有することを特徴とする。
【0030】更に、本発明は、上記の画像処理方法にお
いて、前記頂点リストを生成する工程は、前記複数のモ
デルから影響を受ける前記第1の頂点に対して、前記複
数のモデルの個数分だけの分配頂点を生成し、当該第1
の頂点に影響を与えるモデルの前記頂点リストに前記分
配頂点のデータを分配することを特徴とする。
【0031】更に、本発明は、上記の画像処理方法にお
いて、前記頂点リストを生成する工程は、前記頂点リス
ト内に前記頂点データを、前記モデルの階層構造に従っ
てトレースした時に最初に頂点演算が行われるスタート
ウエイト頂点と、前記頂点演算が最初でも最後でもない
ミドルウエイト頂点と、前記頂点演算が最後に行われる
エンドウエイト頂点とに分けることを特徴とする。
【0032】更に、本発明は、上記の画像処理方法にお
いて、前記頂点IDは、各モデル毎の頂点のエントリ番
号と各モデル毎の頂点数に対応するオフセット値とを有
することを特徴とする。
【0033】更に、本発明は、上記の画像処理方法にお
いて、前記画像処理方法は、更に、前記モデルの階層構
造に従うトレース順にモデルの頂点リスト内の頂点デー
タに対するダミー頂点演算を行い、1つのモデルの頂点
リストに対する前記ダミー頂点演算を終了した時に、当
該モ デル内の頂点に対するウエイト演算が終了しない
場合は、当該モデルのポリゴンリスト内に未描画コマン
ドを発生し、未描画モデル内の頂点に対するウエイト演
算が終了した場合は、前記ダミー頂点演算の対象モデル
のポリゴンリスト内に前記未描画モデルに対する描画コ
マンドを発生する描画コマンド生成工程を有することを
特徴とする。更に、本発明は、上記の画像処理方法にお
いて、前記画像処理方法は、更に、前記複数のモデルか
ら影響を受ける前記第1の頂点を、前記複数のモデルか
らの影響度が最も大きいモデルからのみ影響を受ける頂
点に変換し、当該モデルの前記頂点リストに前記頂点の
データを分配するワンウエイト用頂点リスト生成工程を
有することを特徴とする。
【0034】上記目的を達成するために、本発明は、階
層構造でリンクされた複数のモデルを有し、少なくとも
第1のモデルはポリゴンを構成する複数の頂点を有し、
少なくとも第1の頂点の位置は複数のモデルの位置と当
該モデルからのウエイト値に従って影響を受ける一体整
形モデルを描画する画像処理方法において、前記一体整
形モデルのデータが、前記複数のモデル内における複数
の頂点のデータを、モデル毎に格納する共有頂点バッフ
ァのフォーマットデータと、前記頂点に影響を与えるモ
デル毎に形成され、前記共有頂点バッファ内の頂点ID
によって特定された頂点データを有する頂点リストと、
前記ポリゴンを有するモデル毎に形成され、前記頂点I
Dを属性データとするポリゴンデータを含むポリゴンリ
ストとを有し、前記画像処理方法は、前記階層構造のト
レース順に前記複数のモデルに対応する共有頂点バッフ
ァを前記フォーマットデータに従って生成する工程と、
ゲーム進行データに基づいてモデルの位置を設定したモ
デルマトリクスデータを生成する工程と、前記モデルの
頂点リストが有する頂点データに対して、前記モデルマ
トリクスデータに従って移動後の頂点データを生成する
マトリクス演算と、前記移動後の頂点データに前記モデ
ルからのウエイト値を反映するウエイト演算とを行い、
当該演算された頂点データを、前記共有頂点バッファ内
の前記頂点IDに従う領域に格納又は加算して共有頂点
データを生成する工程と、前記ポリゴンを、前記共有頂
点データに従ってレンダリングするレンダリング工程と
を有することを特徴とする画像処理方法を提供する。
【0035】上記の画像処理方法によれば、一体整形モ
デルのキャラクタの描画をリアルタイムで行うことがで
きる。
【0036】更に、本発明は、上記の画像処理方法にお
いて、前記頂点リスト内の頂点データは、少なくとも頂
点の位置データと、前記頂点リストが属するモデルから
のウエイト値及び当該頂点に対応する前記共有頂点バッ
ファ内の頂点IDとを有し、前記共有頂点データを生成
する工程において、前記マトリクス演算では前記位置デ
ータに前記モデルマトリクスを乗算し、前記ウエイト演
算では前記演算された位置データに前記ウエイト値を乗
算することを特徴とする。
【0037】更に、本発明は、上記の画像処理方法にお
いて、前記頂点リストは、前記モデルの階層構造に従っ
てトレースした時に最初に頂点演算が行われるスタート
ウエイト頂点と、前記頂点演算が最初でも最後でもない
ミドルウエイト頂点と、前記頂点演算が最後に行われる
エンドウエイト頂点とに分けられ、前記共有頂点データ
を生成する工程において、前記スタートウエイト頂点に
対する前記演算された頂点データを、前記共有頂点バッ
ファ内の前記頂点IDに従う領域に格納し、前記ミドル
ウエイト頂点及びエンドウエイト頂点に対する前記演算
された頂点データを、前記共有頂点バッファ内の前記頂
点IDに従う領域内の頂点データに加算することを特徴
とする。
【0038】更に、本発明は、上記の画像処理方法にお
いて、前記ポリゴンリストは、所定のモデルの前記ポリ
ゴンの描画を指示する描画コマンド又は当該ポリゴンリ
ストが属するモデルのポリゴンの未描画を指示する未描
画コマンドを有し、前記レンダリング工程は、各モデル
の前記共有頂点データ生成工程が終了するたびに、当該
モデルのポリゴンリストを参照し、前記描画コマンドに
従って前記レンダリングを行うことを特徴とする。
【0039】更に、本発明は、上記の画像処理方法にお
いて、更に、前記レンダリングが行われたモデルに対応
する前記共有頂点バッファの領域を開放する工程を有す
ることを特徴とする。
【0040】更に、本発明は、上記の画像処理方法にお
いて、前記モデルデータは、更に、前記複数のモデルか
ら影響を受ける前記第1の頂点を、前記複数のモデルか
らの影響度が最も大きいモデルからのみ影響を受ける頂
点に変換し、当該モデルの前記頂点リストに前記頂点の
データを分配したワンウエイト用頂点リストを有し、前
記画像処理方法は、所定のモデルに対しては、前記ワン
ウエイト用頂点リストに従って前記共有頂点データの生
成を行うことを特徴とする。
【0041】上記の目的を達成するために、本発明は、
上記した画像処理方法をコンピュータに実行させるプロ
グラムを記録した記録媒体を提供する。この記録媒体に
よれば、ゲーム機器などにおいて一体整形モデルのキャ
ラクタをリアルタイムで描画処理することができる。
【0042】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を説明する。しかしながら、かかる実施の形
態例が、本発明の技術的範囲を限定するものではない。
【0043】図4は、本実施の形態例における三次元モ
デラーを利用して生成される一体整形モデルの例を示す
図である。図4の一体整形モデルは、図1に示したよう
な腕の動きを実現するための例である。モデルM1は、
実際に表示されるポリゴンを有し、かかるポリゴンは全
部で13個の実頂点V101〜V113を有する。この
モデルM1は、例えば図1における上腕3と肘部分4を
含むエンベロープである。また、モデルM1は、自分自
身の位置が例えば頂点V101,V107に対して10
0%影響を与える。従って、モデルM1は、実頂点に対
してウエイト値を有する骨モデルでもある。
【0044】モデルM2,M3,M4は、それぞれポリ
ゴンを含まず、従って、実頂点も有しない。但し、モデ
ルM2,M3,M4の動きは、モデルM1内の一部の頂
点に対して所定のウエイト値に従って影響を与える。即
ち、モデルM2,M3,M4は、実頂点に対してウエイ
ト値を有する骨モデルである。更に、モデル5は、図1
の手の部分2に該当するポリゴンを有し、ポリゴンを形
成する6個の実頂点V501〜V506は、他のモデル
からの影響は受けずに、モデルM5自身の位置によって
100%の影響を受ける。従って、モデル5は、自分の
頂点V501〜V506に影響を与える骨モデルでもあ
る。
【0045】図4に示した一体整形モデルは、エンベロ
ープとも呼ばれ、一般にゲームをデザインするデザイナ
により三次元モデラーの利用を介してデザインされる。
そして、デザイナは、各頂点が一つの或いは複数のモデ
ルから所定の割合で影響を受けることをデザインし、ゲ
ームプログラムの実行に伴い各モデルの位置を移動させ
ることで、初期値として決めた影響度(ウエイト値)に
応じて頂点の位置を移動させ、キャラクタに所望の動き
を与える。
【0046】図5は、図4の一体整形モデルのデータ構
成例である。モデルM1の下にモデルM2,M3,M5
がつなげられ(リンクされ)、更に、モデルM1の下に
モデルM4がつなげられる。このようなデータのツリー
構造は、モデルの階層構造の一例であり、それぞれのプ
ログラムに適した階層構造内に一体整形モデルを構成す
るモデルがつなげられればよい。図5に示したようなツ
リー構造の場合、一般には、モデルM1,M2,M3,
M5,M4の順にトレースされモデルデータへの処理が
行われる。かかるトレースの順番もプログラムに適した
順番にすることができる。
【0047】図5のデータ構成例において、各モデル
は、上層のモデルの座標系に対してそのモデルの座標系
がどれだけ移動すべきかを示すモデルマトリクスを有す
る。即ち、モデルマトリクスは、モデルの位置を設定す
るデータである。座標系については後に詳述するが、例
えば、各モデルはそれぞれのローカル座標系を有する。
それとは別に、全てのモデルに共通のグローバル座標系
が存在する。そして、例えば、モデルM2の移動後の位
置を定義するために、モデルM1のローカル座標系に対
するモデルM2のローカル座標系の位置関係として、回
転(ローテーション)、平行移動(トランスレーショ
ン)、縮尺(スケール)を含むモデルマトリクスが利用
される。従って、モデルM2のローカル座標系の位置座
標データや法線データに、このモデルマトリクスを積算
するマトリクス演算を行うことにより、モデルM1のロ
ーカル座標系の位置座標データや法線データに変換され
る。また、モデルM1のローカル座標系の位置座標デー
タや法線データに、モデル1のモデルマトリクスを積算
すれば、グローバル座標系における位置座標データや法
線データを求めることが可能になる。
【0048】このように、各モデル間のモデルマトリク
スによって、複数のモデルから構成されるキャラクタに
動きが与えられる。通常は、ゲームプログラム中のジオ
ミトリ機能によりかかるキャラクタの動きを示すモデル
マトリクスが作成される。また、モデルマトリクスは、
グローバル座標系とそのモデルのローカル座標系の位置
関係を示してもよい。
【0049】図6は、デザイナにより設定された各頂点
へのモデルからの影響度(ウエイト値)を示す図であ
る。図6の例では、モデルM1の頂点V101,V10
7は、モデルM1の動きに100%影響を受ける。従っ
て、モデルM1の骨部分の移動に伴って頂点V101,
V107の位置も同じ位置関係を保って移動する。ま
た、モデルM1の頂点V102,V103はモデルM
2,M3,M4の影響を図示されるウエイト値の割合で
受ける。従って、これらの頂点は、モデルM2,M3,
M4の移動に伴って図示されるウエイト値の分だけそれ
らの移動の影響を受ける。例えば、モデルM4が大きく
上方に移動すると、その移動の程度の40%分だけこれ
らの頂点は影響を受ける。例えば、頂点V102,V1
03を上腕部の筋肉の部分3Aに対応付けると、モデル
M4を適宜移動することで、上腕部の筋肉部3Aを適切
に盛り上げることが可能になる。
【0050】モデルM1の頂点V104,V105,V
108〜V111は、図示される通り、モデルM2,M
3から図示されるウエイト値の割合で影響を受ける。更
に、頂点V106,V112は、モデルM3からのみ影
響を受ける。従って、頂点V106,V112は、モデ
ルM3が移動するとそのままの位置関係を維持して移動
する。更に、頂点V113は、モデルM4から100%
のウエイト値で影響を受ける。
【0051】モデルM5は、モデルM1に接続される部
分で、図1の例では手の部分2に対応する。この手の部
分2は、特に腕の位置によってその形状が変化する必要
はなく、モデルM5の骨部分に100%の影響を受け
る。
【0052】図6に示した各頂点のウエイト値は、キャ
ラクタをデザインしたデザイナによって初期値として設
定される。デザイナは、かかるウエイト値を設定するこ
とにより、ゲーム進行中にモデルマトリクスによりモデ
ルの移動を行うことで、各頂点の位置を自在に制御する
ことができる。頂点の位置が決定すれば、その後複数の
頂点により決められたポリゴンが、描画部(レンダリン
グ部)により画像メモリ内にレンダリングされる。
【0053】図7は、一体整形モデル(エンベロープ)
の移動例を示す図である。この例は、図4に示した基本
姿勢にある一体整形モデルが、図1(B)の如く移動し
た場合に対する一体整形モデルを示す。図1(B)に示
したような動きを実現するために、一体整形モデルを構
成するモデルM1〜M4が次の通り移動する。即ち、モ
デルM1,M2は、より垂直方向に回転し、モデルM3
はより水平方向に回転移動する。それに伴い、モデルM
5もモデルM3の先端の位置に整合するように移動す
る。また、モデルM4は、主に上腕の筋肉の盛り上がり
3Aを表現するためのモデルであり、図7に示される通
り、より上方により垂直方向に回転移動する。
【0054】その結果、頂点V102,V103はモデ
ルM4の動きに影響を受けて筋肉が盛り上がるように移
動し、また頂点V113はモデルM4の動きに連動して
移動する。頂点V101,V107は、それぞれモデル
M1の動きに連動して移動するだけであり、更に、頂点
V104,V105,V108〜V111は、モデルM
2,M3の動きに影響を受けた位置に移動する。従っ
て、頂点V104,V109,V110などにより形成
さえるポリゴンは、腕を曲げた時の自然な肘の関節形状
に変化する。また、頂点V112はモデルM3の動きに
連動して移動する。更に、モデルM5の各頂点は、それ
ぞれモデルM5の動きにあわせてそのまま移動する。
【0055】そして、移動後の頂点の位置に対して、各
頂点の間を埋めるポリゴンがそれぞれレンダリングされ
ることで、図1(B)の如き上腕3をより垂直方向に下
げて肘4をより水平方向に曲げ、上腕の筋肉部分3Aが
盛り上がり、腕の先に手の部分2が接続された画像が生
成される。モデルM2,M3,M4は、それぞれポリゴ
ンを有していないので実頂点はなく、これらのモデルは
画像内には表示されない。
【0056】図8は、一体整形モデルにおけるウエイト
計算方法を説明する図である。図8には、図4の基本姿
勢の状態であった一体整形モデルが、図7の移動後の状
態になる場合について、特に頂点V102,V103と
それに影響を与えるモデルM2,M3,M4の関係が示
される。また、図9は、一体整形モデルにおけるモデル
の移動計算(マトリクス計算)と頂点のウエイト計算の
手順を示すフローチャート図である。
【0057】図8(A)は基本姿勢の状態のモデルM
2,M3,M4を示す。すでに述べた通り、モデルM
2,M3,M4は、それぞれのローカル座標系CDM
2,CDM3,CDM4を有する。また、全てのモデル
に共通のグローバル座標系CDGBも設定される。図4
に示された一体整形モデルにおいて、頂点V102,V
103は、モデルM2、M3、M4から影響(ウエイト
値)を受けるようにデザイナにより設定される。即ち、
図6に示したようなウエイト値があらかじめ初期値とし
て設定される。そこで、ウエイト計算を行うために、こ
の頂点V102,V103は、それぞれその頂点に影響
を与えるモデルM2,M3,M4に属する3つの頂点
(分配頂点)に分けられ、それぞれの対応するモデルに
分配される(図9中S1)。例えば、頂点V102は、
分配頂点V102(M2)、V102(M3)、V10
2(M4)に分けられ、それぞれの影響を与えるモデル
M2,M3,M4に分配される。頂点V103について
も、同様に3つの分配頂点に分けられ、影響を与えるモ
デルに分配される。
【0058】その結果、モデルM2には、頂点V102
(M2)とV103(M2)が属することになる。同様
にして、モデルM3には、頂点V102(M3)とV1
03(M3)が属し、モデルM4には、V102(M
4)とV103(M4)が属する。そして、各モデルに
属する頂点の基本姿勢状態での位置座標は、各モデルの
ローカル座標系に変換される(図9中S2)。例えば、
頂点V102(M2)と頂点V103(M2)の絶対座
標は、モデルM2のモデルマトリクスに従ってモデルM
2のローカル座標系CDM2に変換される。それ以外の
頂点についても同様に属するモデルのローカル座標系に
変換される。この結果、各頂点は、それらが属するモデ
ルと一体に移動することになる。
【0059】次に、図8(B)は、各モデルM2,M
3,M4がそれぞれ図7の如く移動した状態を示す。各
モデルの移動は、それぞれのモデルマトリクスを設定す
ることにより制御される(図9中S3)。例えば、モデ
ルM2のローカル座標系CDM2は、図示しないモデル
M1のローカル座標系に対してモデルM2のモデルマト
リクスに対応する回転、平行移動、拡大・縮小した位置
に移動する。また、モデルM2に属する頂点V102
(M2)とV103(M2)は、基本姿勢の状態のモデ
ルM2に対する位置を保ちながら、モデルM2の移動に
従って移動する。即ち、頂点V102(M2)とV10
3(M2)の位置は、モデルM2のローカル座標系の中
では何ら移動することはない。従って、モデルM2が移
動することに伴う頂点V102(M2)とV103(M
2)の位置も、モデルM2のモデルマトリクスを利用し
たマトリクス計算をすることにより、求めることができ
る(図9中S4)。
【0060】モデルM3に属する頂点V102(M3)
とV103(M3)も、モデルM4に属する頂点V10
2(M4)とV103(M4)も同様にして、それぞれ
のモデルの移動に伴い移動し、それらの位置は、それぞ
れのモデルのモデルマトリクスを利用したマトリクス計
算をすることで求められる。
【0061】次に、各モデルに分配した頂点の例えばグ
ローバル座標系における位置が求められると、各モデル
が頂点に与えるウエイト値(影響度)に応じたウエイト
演算が行われる(図9中S5)。例えば、図6のウエイ
ト値によれば、モデルM2,M3,M4からのウエイト
値は、両頂点共に、30%、30%、40%である。従
って、頂点V102について説明すれば、頂点V102
(M2)の頂点座標値に0.3を乗算し、頂点V102
(M3)の頂点座標値に0.3を乗算し、更に頂点V1
02(M4)の頂点座標に0.4を乗算し、それらを積
算(加算)することにより、各モデルからの影響度(ウ
エイト値)に応じた新たな頂点V102の位置座標が求
められる。即ち、図8(B)中に二重丸で示した頂点V
102が、3つの分配頂点V102(M2)、V102
(M3)、V102(M4)から30%、30%、40
%のウエイト値により求められた実頂点の位置である。
3つの分配頂点V102(M2)、V102(M3)、
V102(M4)のグローバル座標系におけるX座標値
を、X2,X3,X4とすると、二重丸で示した実頂点
V102のX座標値X102は、 X102=0.3×X2+0.3×X3+0.4×X4 で求められる。かかる計算が、ウエイト計算である。
【0062】このようにして求められた二重丸で示した
ウエイト計算後の頂点の座標値や法線データを利用し
て、複数の頂点からなるポリゴンのレンダリングが行わ
れる。例えば、複数の頂点で結ばれたポリゴン内のピク
セルの色データは、ラスタスキャン法により頂点座標に
対するピクセル座標の内分比を求め、頂点データやテキ
スチャデータなどから、その内分比を利用した補間演算
により求められる。上記の頂点座標に加えて、通常は頂
点の法線ベクトルについてのデータも利用される。上記
と同じウエイト演算により二重丸の頂点における法線デ
ータが求められ、かかる法線データを利用して光源に対
する拡散光の演算などが行われる。これらのレンダリン
グ方法は、本発明の話題とするところではなく、一般的
なレンダリング方法が利用されことができる。
【0063】以上が、3Dモデラーを利用した一体整形
モデル(エンベロープ)によるキャラクタの動きを実現
する方法である。上記説明した通り、一体整形モデルを
利用した場合、各モデルは自分の実頂点データに加え
て、影響を与える頂点のデータも有する必要があり、各
モデルの位置をモデルマトリクスを利用した演算により
求める工程、同様にモデルマトリクスを利用して影響を
与える頂点の位置を求める工程、それら頂点に対してウ
エイト演算により影響度を考慮した新たな位置と法線デ
ータを求める工程、そうして求めた頂点データを利用し
て各モデルのポリゴンのレンダリングを行う工程などが
必要である。このような工程を伴う一体整形モデルに対
する処理を、ゲーム機器のようなスーパーコンピュータ
と比較すると簡単な演算機能や少ないメモリ容量しか有
しないハードウエアを利用して、リアルタイムで行う必
要がある。
【0064】本実施の形態例では、一体整形モデルの元
モデルデータから、上記のデータ処理の一部を予め行っ
て得られた変換データを利用する。この変換データは、
ゲーム機器によるリアルタイムでの演算、処理に適した
形態を有し、かかる変換データが、キャラクタデータと
してゲーム機器用の記録媒体、例えばCDROMやゲー
ムカセット、に記録される。
【0065】図10は、本実施の形態例における一体整
形モデルの元データと描画ライブラリ用の変換データの
関係を示す図である。本実施の形態例によれば、CGム
ービーなどにおいて利用される三次元モデラーにより生
成された一体整形モデルの元データ100が、本発明に
より提供される新規なコンバータプログラムにより、描
画ライブラリ用の変換データ110に変換される。この
変換データ110は、ゲーム進行中にダイナミックに変
化するデータを含まず、ゲーム機が実行するゲームプロ
グラムを記録した記録媒体内の描画ライブラリ(描画処
理プログラム)によって、ゲーム進行中のキャラクタ等
のダイナミックな動きを演算するために最適化されたデ
ータフォーマットを有する。従って、この変換データ1
10は、あらかじめコンバータプログラムによって元デ
ータから変換されて生成され、ゲーム用の記録媒体、例
えばCDROM内に記録される。
【0066】図11は、ゲーム用の記録媒体(例えばC
DROM)内の構成と、ゲーム機のハードウエアとの関
係を示す図である。図11に示されるとおり、ゲーム用
の記録媒体10内には、ゲームの進行に同期して、ゲー
ムのストーリやキャラクタを含むオブジェクトの動きを
制御するゲームプログラム12と、コンバータにより元
データから変換されて生成されたモデルの変換データ1
10と、画像処理を行う描画ライブラリ(プログラムの
一種)14などが記録される。かかるゲーム用記録媒体
10は、ゲーム機のハードウエア20に装着され、適宜
読み出されて、そのゲームプログラムが実行され、モデ
ルの変換データを利用して描画ライブラリ12が実行さ
れ、その結果、例えばフレーム毎の様に短時間毎の画像
が生成される。
【0067】図11には、ゲーム機のハードウエア20
の構成が示される。ゲーム機のハードウエア20は、演
算処理を行うCPU22と、ゲーム用記録媒体10のプ
ログラムやモデルの変換データを一時的に読み込み、ま
た演算処理のバッファメモリとして利用されるシステム
メモリ(RAM)24とがバスにより接続される。ま
た、バスアービタ38を介して、描画ライブラリによっ
て生成される描画コマンドに従ってレンダリングを行う
レンダリングプロセッサ26と、そのプロセッサ26に
より描画された画像信号が記録されるフレームメモリ2
8と、音声データを生成するオーディオプロセッサ30
と、その生成した音声データを記録するオーディオメモ
リ32とが接続される。フレームメモリ28に記録され
た画像データ及びオーディオメモリ32に記録された音
声データが、モニタテレビ等の表示装置34から表示さ
れ、出力される。また、ゲーム機器20内のバスアービ
タ38はインターフェースとしての機能も有し、ゲーム
の入力用操作パッド42が入力手段として接続され、モ
デム40を介して外部の通信回線と接続される。また、
バスアービタ38は、ブートROM36とも接続され、
電源投入時のブート動作が、このブートROMのデータ
を実行することにより行われる。更に、ゲーム機器20
は、ゲーム用の記録媒体10、例えばCDROMやゲー
ムカートリッジ、をバスアービタ38を介して接続し、
外部記録装置として利用する。
【0068】ゲーム用記録媒体10に記録されているモ
デルの変換データ110は、描画ライブラリ14による
画像処理の負担を軽減できるデータフォーマットに変換
されている。このデータフォーマットについては、後述
するが、モデルの変換データ110は、描画ライブラリ
14に最適なデータ構造であるので、ゲーム進行中に移
動するキャラクタの一体整形モデルの画像処理がリアル
タイムで可能になる。
【0069】図12は、三次元モデラによる一体整形モ
デルのデータから変換データを作成するまでの概略的フ
ローチャート図である。ゲームの作成には、通常ゲーム
のストーリなどを創作する企画と、ゲーム内のキャラク
タなどのオブジェクトをデザインするデザイナと、ゲー
ムプログラムを創作するプログラマとにより行われる。
三次元モデラーは、より自然な動きを持つキャラクタを
提供するために上記のデザイナにより利用され、エンベ
ロープと呼ばれる一体整形モデルの元データが生成され
る(S10)。この一体整形モデルについては、前述し
た通りであり、例えば、従来例として図2に示した通
り、モデル毎に、モデルマトリクスと、頂点データと、
ウエイトリストなどを有する。モデルマトリクスは、モ
デルの階層構造(ツリー構造)における上層のモデルに
対する回転、平行移動、拡大・縮小についてのマトリク
スデータである。また、頂点データは、実頂点に対応す
るデータであり、頂点の位置座標データと法線ベクトル
についての法線データを少なくとも含む。それ以外に、
頂点データには、例えば不透明度を示すα値、テキスチ
ャデータに対応するテキスチャ座標などが含まれる。ま
た、ウエイトリストは、そのモデルが影響を与える実頂
点のID(モデルIDとそれに属する頂点ID)と、ウ
エイト値を少なくとも有する。このウエイトリストを展
開したのが、図6に示されたデータである。
【0070】次に、コンバータプログラムにより、一体
整形モデルの元データから描画ライブラリ用のデータフ
ォーマットに対応した変換データが生成される(S1
2)。この変換データの詳細は後に説明するが、概略的
に述べると、実頂点をウエイトなしのネイティブ頂点
と、ウエイト計算が必要なスタートウエイト頂点、ミド
ルウエイト頂点及びエンドウエイト頂点とからなる4つ
のグループに分ける。スタートウエイト頂点は、ウエイ
ト計算において最初にウエイト値の乗算が行われる頂点
であり、ミドルウエイト頂点は、ウエイト計算において
その次にウエイト値の乗算が行われる頂点であり、エン
ドウエイト頂点は、ウエイト計算で最後にウエイト値の
乗算が行われる頂点である。ウエイト計算の順番は、通
常モデルの階層構造(ツリー構造)のトレース順に従っ
て決定される。各グループに分配された頂点は、それぞ
れの頂点が属するモデル毎にソーティングされる。
【0071】そして、実頂点を重複することなく示すネ
イティブ頂点とスタートウエイト頂点からなる共有頂点
バッファのフォーマットが生成され、その共有頂点バッ
ファに並べられる実頂点に対して、モデルの属性にかか
わらず統一的な頂点IDが与えられる。共有頂点バッフ
ァ内のネイティブ頂点とスタートウエイト頂点とで構成
される実頂点のリストは、それら実頂点が属するモデル
毎の固まりになる。各モデル毎の共有頂点リストは、更
に、それらの実頂点に影響を与えるモデル毎にソーティ
ングされ、モデル毎の順番で格納される。かかる共有頂
点バッファに並べられたモデル毎の実頂点リストに対し
て、統一的な頂点IDが与えられ、後のウエイト計算で
の参照手順を簡素化する。上記の様に生成された共有頂
点バッファは、従来のウエイト計算を伴わないモデルの
実頂点リストと同等の単純なデータ構造を有する。
【0072】共有頂点バッファのフォーマットに加え
て、4つのグループに分けられた頂点は、それらの頂点
に対して影響を与えるモデルに分配される。そして、各
モデル毎に分配された頂点からなる頂点リストが生成さ
れる。この頂点リストは、上記4つのグループ、ネイテ
ィブ、スタートウエイト、ミドルウエイト及びエンドウ
エイトにソーティングされ、格納される。また、この頂
点リスト内の頂点データには、モデル内のローカル座標
に従う頂点座標データと、法線データ、及び必要に応じ
て影響を与える実頂点の共有頂点バッファ内の頂点ID
を引用したウエイトデータを含む。即ち、スタートウエ
イト、ミドルウエイト、及びエンドウエイトに属する頂
点データには、上記のウエイトデータが含まれ、ネイテ
ィブに属する頂点データには含まれない。
【0073】このモデル毎の頂点リストには、そのモデ
ルからのみ影響を受ける(ワンウエイトの)ネイティブ
頂点と、他のモデルと共にそのモデルが影響を与える
(マルチウエイトの)スタートウエイト頂点、ミドルウ
エイト頂点、エンドウエイト頂点とが、一元的にまとめ
られる。かかる頂点リストと共有頂点バッファにより、
描画ライブラリは、リアルタイムでの画像処理を行う。
【0074】モデルの変換データには、更に、ポリゴン
リストが含まれる。このポリゴンリストは、そのポリゴ
ンを構成する複数の頂点データを有する。但し、このポ
リゴンリスト内の頂点データは、共有頂点バッファ内の
実頂点に与えられた頂点IDを属性データとする。更
に、ポリゴンリストには、好ましくはそのモデルのレン
ダリング(描画)を行うべきか否かを示す描画コマンド
も含まれる。この描画コマンドは、コンバータにより生
成され、描画ライブラリにより参照される。
【0075】以上の通り、コンバータにより生成される
変換データ110には、実頂点のリストを意味する共有
頂点バッファのフォーマットと、各モデルに分配された
頂点リストと、各モデルのポリゴンリストとを有する。
図9に戻って説明すると、コンバータによる変換手順に
は、図9の実頂点のモデルへの分配(S1)と、そのモ
デル内のローカル座標系への変換(S2)とを含み、更
に、描画ライブラリにより実行されるモデルマトリクス
を利用した移動計算(マトリクス演算)(S3、S4)
とその後のウエイト値を利用したウエイト演算(S5)
を行うのに最適な変換データの生成が行われる。この変
換データについては、後に図4,図7の例を元に再度説
明する。
【0076】さて、変換データ110の生成と共に、上
記したプログラマによりゲームプログラムが作成される
(S14)。そして、図11に示したとおり、ゲームプ
ログラム12と、モデルの変換データ110と、描画ラ
イブラリ14とが、ゲーム用記録媒体10内に記録され
る(S16)。
【0077】図13は、ゲームにおけるのフローチャー
ト図である。ゲームを行う場合、まずゲーム用記録媒体
10をゲーム機器に装着する(S20)。ゲーム装置
は、記録媒体のゲームプログラムに従ってゲームを実行
し、キャラクタを構成するモデルの移動用のモデルマト
リクスを生成する(S22)。移動用のモデルマトリク
スは、前述した通り、上層のモデルに対する移動、回
転、拡大・縮小などのパラメータからなるマトリクスで
あり、モデル或いはそのポリゴンの頂点座標にモデルマ
トリクスを乗算することにより新たな移動後の座標が求
められる。
【0078】次に、ゲーム機器は、描画ライブラリを実
行する(S24)。モデルの変換データ110は、全て
のモデルの実頂点について統一したIDを与えた共有頂
点バッファのフォーマット、モデル毎に分配された頂点
リスト、モデル毎のポリゴンリストを有する。モデル毎
の頂点リストは、後述する通り他のモデルから影響を受
けない頂点(ネイティブ頂点)と、他のモデルからも影
響を受ける頂点(スタートウエイト、ミドルウエイト、
エンドウエイト)とからなり、更に他のモデルから影響
を受ける頂点は、影響を与える当該他のモデル毎にソー
トされている。また、モデル毎の頂点リストは、共有頂
点バッファ内の統一された頂点IDに従って、影響を与
える他の頂点IDを引用する。そして、モデル毎のポリ
ゴンリストには、モデルを構成するポリゴンの頂点ID
を属性データとする頂点データが含まれ、またウエイト
計算が終了したモデルについての描画コマンドや、ウエ
イト計算が終了しないモデルについての未描画コマンド
が含まれる。更に、共有頂点バッファは、描画ライブラ
リが画像処理を行う段階で、ゲーム機器内のシステムメ
モリ(RAM)内に展開される。
【0079】描画ライブラリの概略的手順では、まず、
ゲームプログラムにより作成された移動用マトリクスを
各モデルの頂点の座標データに対して乗算することで、
新たな移動後の頂点の座標データを求める。この工程
は、図9のステップS4に対応する。更に、その頂点デ
ータに基づき、モデルの階層構造のトレース順に従って
且つモデル内の頂点リストの順番にウエイト計算を行
い、影響を与える頂点に対応する共有頂点バッファ内の
領域にその計算結果を書込みまたは積算(加算)する。
この工程は、図9のステップS5に対応する。次に、描
画ライブラリは、各モデルのポリゴンリスト内の描画コ
マンドに従って、共有頂点バッファ内に格納された頂点
座標及び法線データを参照してモデル内のポリゴンの描
画(レンダリング)を行い、ポリゴン内のピクセルの色
データなどを含む画像データを、フレームバッファ28
内に記録する。
【0080】フレームバッファ26内に描画された画像
データに従って、表示装置34にその画像を表示する
(S26)。フレーム毎にこの描画された画像を表示す
ることにより、オペレータの操作入力信号に応答して動
くキャラクタを含む画像を表示することができる。しか
も、三次元モデラーにより生成された一体整形モデルに
よるモデルが利用されているので、キャラクタの関節部
分はより自然な動きをなし、キャラクタの筋肉も盛り上
がり等の動きも表現することができる。以上の工程S2
0〜S26が、フレーム期間毎に繰り返される。
【0081】図14及び図15は、コンバータの手順を
示すフローチャート図である。本実施の形態例のコンバ
ータは、ゲーム用の記録媒体に格納される描画コマンド
と違ってリアルタイムでの処理は要求されない。このフ
ローチャートの工程S30,S32,S33が、モデル
の元データから共有頂点バッファのフォーマットの作成
と、モデル毎の頂点リストの作成を行う段階である。ま
た、フローチャートの工程S36〜S60は、描画ライ
ブラリが実行する画像処理のシュミレーション演算段階
であり、このシュミレーション演算を行うことにより、
モデルの階層構造をトレースした時の各モデルの描画
(レンダリング)を行うタイミングを検出し、未描画コ
マンドや描画コマンドをモデルのポリゴンリスト内に挿
入することができる。これにより作成される共有頂点バ
ッファのフォーマットと頂点リストは、描画ライブラリ
が画像処理を行うに適したデータ形式であり、更に、シ
ュミレーション演算により生成される未描画コマンド又
は描画コマンド付きのポリゴンリストは、描画ライブラ
リによる各モデルの描画タイミングの管理負担を軽減さ
せる。
【0082】図14に示された処理手順を有するコンバ
ータプログラムは、ゲーム機器よりもより高速演算機能
を有しより大容量のメモリを有する汎用のコンピュータ
によって実行される。この汎用コンピュータのハードデ
ィスク等の外部記録媒体内に、コンバータプログラムが
記録され、元データに対して処理手順が実行され、変換
データが生成される。
【0083】さて、図9において説明した一体整形モデ
ルの描画における移動計算(マトリクス計算)とウエイ
ト計算を行うためには、実頂点をそれに影響を与えるモ
デルに分配し(S1)、その分配したモデルのローカル
座標系に頂点の位置の座標データや法線データを変換す
る(S2)必要がある。本実施の形態例のコンバータ
は、上記の2つの手順S1,S2に加えて、実頂点を分
配されるモデルの数だけ発生して、単一のモデルの位置
に依存する(ウエイトを持たない)ネイティブ頂点、複
数のモデルから影響を受ける頂点(ウエイトを持つ頂
点)のうちモデル階層をトレースした時に最初にウエイ
ト計算を行う必要があるスタートウエイト頂点、同様に
2番目以降にウエイト計算を行う必要があるミドルウエ
イト頂点、同様に最後にウエイト計算を行う必要がある
エンドウエイト頂点の4つのグループに分ける(S3
0)。
【0084】更に、コンバータは、それら4グループの
頂点の内、ネイティブ頂点とスタート頂点が実頂点に対
応するので、それらの頂点グループをそれらが属するモ
デル毎に並び替えて、共有頂点バッファのフォーマット
を作成する(S32)。この共有頂点バッファに展開さ
れるこれらの頂点に対して、統一的な通し番号が新たな
頂点IDとして与えられる。この新たな頂点IDは、種
々の形態の番号が採用可能である。例えば、各モデル毎
の頂点のエントリ番号とそのモデル内の頂点数に対応す
るオフセット値を利用することにより、共有頂点バッフ
ァのフォーマットデータを形成することができ、同時に
頂点IDにも利用することができる。
【0085】更に、コンバータは、各モデルに分配され
た4グループの頂点に対して、それら頂点に影響を与え
るモデル毎に並び変えて、各モデルの頂点リストを作成
する(S34)。
【0086】上記の処理S30,S32,S34を、図
4,図6のモデル例を使ってより具体的に説明すると、
以下の通りである。図16は、より詳細な実頂点のモデ
ルへの分配と頂点リストの生成の手順を示すフローチャ
ート図である。また、図17は、元データから変換デー
タへの手順を示す図である。そして、図18は、具体的
モデル例に適用した時の元データの頂点リストと共有頂
点リストを示し、図19は、具体的モデル例に適用した
時の頂点リストを示す図である。適宜図18,19を参
照しながら、図16,17に示された手順を説明する。
【0087】図17の左側若しくは図18の左側に示さ
れる通り、元データのモデルM1,M5のデータには、
頂点リスト(図17中107)が含まれる。この元デー
タのモデルデータは、3Dモデラーにより生成されるデ
ータであり、例えば図2に示した様に、各モデルにはモ
デルマトリクス(図17中109)を、ポリゴンを有す
るモデルは頂点リスト(図17中107)及びポリゴン
リスト(図17中106)を、そして、頂点に影響を与
えるモデルはウエイトリスト(図17中108)を有す
る。図18の左側の元頂点リストは、上記のポリゴンを
有するモデルM1,M5の頂点リストに対応する。従っ
て、ここに示された頂点が実頂点であり、頂点リストに
は、少なくとも頂点の位置座標データと法線データとが
含まれる。
【0088】最初に、コンバータは、基本姿勢における
一体整形モデルの実頂点の位置座標及び法線データのグ
ローバル座標を求める(S62)。この演算は、例えば
モデルM1,M5のモデルマトリクスを、それぞれのモ
デルの実頂点データに乗算することで行われる。この結
果、図4に示された実頂点V101〜V113及びV5
01〜V506のデータがグローバル座標系に変換され
る。
【0089】次に、元のモデルデータの実頂点を、モデ
ル階層のトレース順に従って、ウエイトの有無に基づく
4つのグループに分ける(S62、図17内の工程12
1〜124参照)。図18の具体例で説明すると、モデ
ル階層のトレース順は、モデルM1,M2,M3,M
5,M4になる。また、モデルM1の頂点V101は、
モデルM1の位置に100%依存する頂点であり、ウエ
イト計算を必要としないウエイトを持たないネイティブ
頂点グループに属する。モデルM1の頂点V102は、
図6のウエイト表に示され、図8で示した通り、モデル
M2,M3,M4にそれぞれ30%、30%、40%で
影響を受けるので、モデルM2に影響を受ける頂点V1
02(M2)はスタートウエイトグループに、モデルM
3に影響を受ける頂点V102(M3)はミドルウエイ
トグループに、そして、モデルM4に影響を受ける頂点
V102(M4)はエンドウエイトグループに分類され
る。
【0090】同様に、モデルM1の頂点V103につい
ても、モデルM2に影響を受ける頂点V103(M2)
はスタートウエイトグループに、モデルM3に影響を受
ける頂点V103(M3)はミドルウエイトグループ
に、そして、モデルM4に影響を受ける頂点V103
(M4)はエンドウエイトグループに分類される。モデ
ルM1の頂点V104は、モデルM2に影響を受ける頂
点V104(M2)をスタートウエイトグループに、モ
デルM3に影響を受ける頂点V104(M4)をエンド
ウエイトグループに分類される。図18に示される通
り、頂点V105,V108〜V112も、同様にスタ
ートウエイトグループとエンドウエイトグループとに分
類される。
【0091】更に、図18に示される通り、モデルM1
の頂点V106は、モデルM3に100%影響を受ける
ので、ネイティブグループに分類され、頂点V107
は、モデルM1に100%影響を受け、頂点V113
は、モデルM4に100%影響を受けるので、それぞれ
の頂点V107(M1)、V113(M4)は、ネイテ
ィブグループに分類される。
【0092】また、モデルM5の実頂点V501〜V5
06は、全て別のモデルからのウエイトを受けないでモ
デルM5の位置に依存するので、それぞれ頂点V501
(M5)〜V506(M5)は、ネイティブグループに
分類され、モデルM5に分配される。以上の通り、実頂
点は、4つの頂点グループに分類される。次に、コンバ
ータは、上記4つのグループの頂点を、それら頂点に影
響を与えるモデル毎にソーティングする(S66,図1
7中の工程125〜128)。例えば、図18の具体例
で説明すると、モデルM1のネイティブグループの4つ
の頂点V101(M1)、V106(M3)、V107
(M1)、V113(M4)は、それら頂点に影響を与
えるモデルM1,M3,M4毎にソーティングされ、例
えば、V101(M1)、V107(M1)、V106
(M3)、V113(M4)の順番に並び替えられる。
また、モデルM1のスタートウエイトグループの9つの
頂点V102(M2)〜V105(M2)及びV108
(M2)〜V112(M2)は、全てモデルM2から影
響を受けるのでそのままの順番になる。更に、モデルM
1のミドルウエイトグループに属する2つの頂点V10
2(M3)、V103(M3)は、そのままの順番にな
る。そして、エンドウエイトグループに属する9つの頂
点V102(M4)、V103(M4)、V104(M
3)、V105(M3)、V108(M3)〜V112
(M3)は、それらの頂点に影響を与えるモデルM3,
M4毎に並び替えられる。モデルM5の6つの頂点は、
全てモデルM5から影響を受けるので、その並びは変わ
らない。
【0093】次に、コンバータは、上記4つのグループ
の内、ネイティブグループとスタートウエイトグループ
の頂点に対して、共有頂点バッファのフォーマットを生
成する(S68、図17中の工程129)。かかる共有
頂点バッファは、実質的には実頂点リストを格納するバ
ッファであり、第1に実頂点が属するモデル毎にまとめ
られ、第2にその中でネイティブグループとスタートウ
エイトグループ毎にまとめられ、第3にそれらの頂点に
影響を与えるモデル毎にまとめられる。
【0094】図18の例で示すと、モデルM1について
の共有頂点バッファ内のリストは、ネイティブグループ
において、影響を与えるモデルM1に対して頂点V10
1,V107を、モデルM3に対して頂点V106を、
そしてモデルM4に対して頂点V113を有する。同様
に、スタートウエイトグループにおいて、影響を与える
モデルM2に対して9つの頂点V102〜V112を有
する。スタートウエイトグループにおいて、モデルM
1,M3,M4に対する頂点は存在しない。
【0095】そして、共有頂点バッファ内に割り当てら
れる頂点に対して、新たな通し番号vx0〜vx12を新たな
頂点IDとして与える。この頂点IDの与え方は、図1
7中工程129に説明される通り、共有頂点バッファ上
で各モデルの頂点数からなるオフセットを先頭とする通
し番号をエントリ番号とすることもできる。例えば、モ
デルM1については、先頭アドレスをADD(M1)と与
え、頂点V102の領域は、それから5番目のエントリ
番号になるということを示す頂点IDとして、ADD(M1)
+4なるIDが設定される。そして、モデルM1内の頂
点数は13個であるので、モデルM1に対するオフセッ
ト値は13になる。従って、次のモデルM5の先頭アド
レスADD(M5)は、モデルM1のオフセット値13が利用
され、それを先頭とするエントリ番号0〜6がモデルM
5の共有頂点に与えられる。
【0096】このようなオフセット値とエントリ番号を
利用することで、各モデルの共有頂点リストをバッファ
上に展開する時、メモリ領域内のバッファ上での各頂点
の領域を示すアドレスを簡単に設定することができる。
この点については、後で詳述する。また、かかるオフセ
ット値とエントリ番号が、ここでいう共有頂点バッファ
のフォーマット情報になる。
【0097】上記した共有頂点リストは、各モデルの実
頂点リストと実質的に同じであり、かかるリストをメモ
リ内に展開して共有頂点バッファを作成することで、ウ
エイト演算におけるウエイト値と座標又は法線データの
乗算値の積算(加算)を共有頂点バッファに対して行う
ことができる。しかも、各頂点に新たな頂点IDを与え
て、後述する頂点リストやポリゴンリスト内においても
この頂点IDを利用することで、描画ライブラリによる
演算時の頂点の参照IDを簡素化することができる。
【0098】新たな頂点IDが与えられたことに対応し
て、各モデルが有するポリゴンリスト内の頂点IDも、
新たな頂点IDに変換される(S68)。そうすること
により、モデルのウエイト演算が終了した後のポリゴン
の描画(レンダリング)を行う際に、共有頂点バッファ
内のデータの参照を容易にすることができ、リアルタイ
ムでの処理が要求される描画ライブラリによる描画工程
(レンダリング工程)を高速化することができる。
【0099】図8で説明した通り、生成された各頂点
は、その頂点に影響を与えるモデルに分配される必要が
ある。従って、コンバータは、4種類の頂点を、その頂
点に影響を与えるモデルにそれぞれ分配する(S7
0)。ここで分配とは、具体的にいえば、頂点をそれに
影響を与えるモデルの頂点リストに含ませ、更に、その
頂点の座標データと法線データをモデルのローカル座標
系に変換することを意味する。ローカル座標系への変換
は、工程S62で求めた各頂点のグローバル座標系のデ
ータに、モデルの位置を示すモデルマトリクスの逆マト
リクスを乗算することで行われる。
【0100】コンバータは、上記分配された頂点を、分
配先のモデルの頂点リストに登録する(S72)。この
頂点リストは、4つのグループ毎にまとめられる。そし
て、その登録された頂点の参照IDには、共有頂点バッ
ファのフォーマットに従う新たな頂点ID(例えばオフ
セット値とエントリ番号)を使用する。その結果、頂点
リスト上の頂点に対してウエイト演算を行う時、演算結
果を格納する共有頂点バッファの領域へのアクセスを容
易にすることができる。
【0101】図18,図19の具体例で説明すると、図
18の4グループの頂点に対し、それに影響を与えるモ
デル、つまり図中括弧内に示したモデル(V101(M
1)の場合はモデルM1)の頂点リストに分配される。
その結果、図19に示される頂点リストが、各モデル毎
に生成される。例えば、モデルM1の頂点リストには、
ネイティブの頂点V101(M1)とV107(M1)
の座標データVERTと、法線データNORMとが並べられる。
そして、それぞれの頂点の参照IDは、図中「頂点ID
(vx0、2)」で示される。即ち、「頂点ID(vx0、
2)」は、図18の共有頂点バッファ内の頂点IDがvx
0の領域から2つの頂点領域を示す。別の参照IDの与
え方としては、例えば、頂点リスト内の頂点データに、
新たな頂点IDであるvx0、vx1を属性データとして与え
ることもできる。
【0102】図19の例に示される通り、モデルM2の
頂点リストは、ネイティブの頂点は存在せず、スタート
ウエイトの9つの頂点が存在する。スタートウエイトの
頂点の場合は、頂点データに座標データVERT、法線デー
タNORMに加えて、ウエイト値WTと格納すべき実頂点のI
D(図19の例ではvx4、vx5)を有するウエイトデータ
NFlagsWを有する。この実頂点IDは、共有頂点バッフ
ァの各頂点ブロックのオフセット値とそのブロック内の
エントリ番号とによっても特定される。従って、ウエイ
トデータNFlagsWには、そのエントリ値を頂点IDと
して利用することもできる。
【0103】図19に示したモデルM3の頂点リストの
場合は、ネイティブの頂点として頂点V106(M3)
の頂点データと、ミドルウエイトの頂点として頂点V1
02(M3)とV103(M3)の頂点データ(座標デ
ータ、法線データ及びウエイトデータ)と、エンドウエ
イトの頂点として7個の頂点データ(座標データ、法線
データ及びウエイトデータ)とが含まれる。また、モデ
ルM4の頂点リストの場合は、ネイティブの頂点が1
個、エンドウエイトの頂点が2個含まれる。
【0104】以上の工程S62〜S72が、全てのモデ
ルに対して行われた結果、図17に示される通り、各モ
デルデータ115として、新たな頂点IDによるポリゴ
ンリスト116と、4つのグループ毎に分けられた頂点
リスト117が生成される。具体例は、図19に示した
通りである。更に、図18に示した通りの、共有頂点リ
ストが生成され、それに対応する共有頂点バッファのフ
ォーマット情報(例えば、オフセット値とエントリ番
号)が生成される。その結果、描画ライブラリは、実頂
点のデータを格納する共有頂点バッファを作成すること
ができ、各モデルに分配された頂点リストに従って、ネ
イティブ頂点用の演算、スタートウエイト頂点用の演
算、ミドルウエイト頂点用の演算、そしてエンドウエイ
ト用の演算を順番にまとめて行うことができ、更に、共
有頂点バッファ内に書き込まれたウエイト演算後の頂点
データを利用して、新たな頂点IDによるポリゴンリス
トを参照して描画を行うこともできる。
【0105】図14に戻り、コンバータは、上記の共有
頂点バッファのフォーマット情報、モデル毎の頂点リス
トとポリゴンリストの作成に加えて、各モデルの描画
(レンダリング)タイミングをシュミレーションして、
ポリゴンリスト内に描画コマンドまたは未描画コマンド
を加える。そのために、モデル内の実頂点に影響を与え
る頂点のウエイト計算が終了するタイミングを検出す
る。
【0106】そのタイミングを検出するために、ポリゴ
ンを有するモデル毎にウエイト計算回数を示すカウンタ
値を決定する(S36)。このカウンタ値は、各モデル
において4つのグループに分けられた頂点の数に等し
い。即ち、モデルM1のカウンタ値は、23になり、モ
デルM5のカウント値は6になる。このカウント値は、
別の言い方をすれば、描画ライブラリが共有頂点バッフ
ァ内に書き込み又は積算(加算)を行う回数を意味し、
各モデルにおいてこのカウント値のウエイト計算が終了
すると、そのモデルの頂点に影響を与えるモデルのウエ
イト計算が終了したことを意味し、実頂点のデータが確
定し描画(レンダリング)を行う準備ができたことを意
味する。
【0107】描画ライブラリによる描画シュミレーショ
ンでは、各モデルの頂点リストの頂点データに対して順
番にマトリクス計算とウエイト計算を行い共有頂点バッ
ファ内の頂点領域内に書き込み又は積算を行い(S4
2)、書き込んだ又は積算した頂点が属するモデルのカ
ウンタを+1する(S43)。図19の例で説明すれ
ば、まず、モデルM1の共有頂点バッファ領域をメモリ
内に確保し、モデルM1の頂点リストについて、頂点V
101(M1)の座標データVERTと法線データNORMに対
し、モデルM1のモデルマトリクスを乗算して新たな位
置での座標データと法線データを求め、ウエイト値1.
0(100%)を乗算し、図18に示した共有頂点バッ
ファ内のvx0の領域にそれらのデータを書き込む。この
頂点V101(M1)はネイティブグループであり、モ
デルM1に100%影響を受けるから、ウエイト値は
1.0であり、ウエイト値を乗算してもデータに変更は
ない。従って、ネイティブグループの頂点については、
ウエイト計算(乗算)を行うことなく共有頂点バッファ
内にデータを書き込んでもよい。次に、頂点V107
(M1)についても同様の計算を行い、共有頂点バッフ
ァ内のvx1の領域に求めたデータを書き込む。その結
果、モデルM1のカウンタ値は2になる。
【0108】上記工程S42、S44が、各モデルの頂
点リストの順で繰り返される。そして、モデルの全ての
頂点が終了すると(S46)、そのモデルに対するウエ
イト計算が終了したか否かを、モデルのカウンタ値が設
定値と同じか否かにより判定する(S48)。図19の
モデルM1の例でいえば、2つの頂点V101(M1)
と頂点V107(M1)のウエイト計算が終了しても、
カウント値は2であり、設定値の24に達していないの
で、モデルM1の描画を行うことはできない。従来の複
数のポリゴンからなるモデルでは、そのポリゴンを構成
する頂点の位置(座標)と法線は、モデルの位置が決ま
れば画一的に確定していた。即ち、モデルのモデルマト
リクスが求められ、座標データや法線データにそのモデ
ルマトリクスを積算すると、新たな座標データと法線デ
ータが確定する。従って、その時点でそのモデルの描画
(レンダリング)を行うことができる。即ち、基本的に
はマトリクス演算が終われば、そのモデルの描画を行う
ことはできる。
【0109】しかし、一体整形モデル(エンベロープ)
の場合は、ほかのモデルからの影響を受けるので、それ
らの影響についても全てのウエイト演算が終了しないと
そのモデルの描画を行うことはできない。
【0110】そこで、本実施の形態例では、モデルのウ
エイト計算が終了していない場合は、未描画コマンドDR
AWCP(ADD)をそのモデルのポリゴンリストに発生し、
図21で後述する未描画テーブルに登録し、次のモデル
の共有頂点バッファ領域を確保する(S50)。上記未
描画コマンドの属性データADDは、ポリゴンリストの番
地を示す。図19の例でいえば、モデルM1のポリゴン
リストの先頭に、未描画コマンドDRAWCP(ADD)が書き込
まれる。この結果、モデルM1のポリゴンリストは完成
する。尚、DRAWCPは、DRAW cash polygonの略称であ
る。
【0111】一方、モデルのウエイト計算が終了してい
る場合は、描画コマンドDRAMCP(ADD)をそのモデルのポ
リゴンリストに加える(S52)。そして、共有頂点バ
ッファの領域を開放する。或いは、描画コマンドを加え
ることなく、ポリゴンリスト内に未描画コマンドが記載
されていなければ、即そのモデルの描画(レンダリン
グ)を実行してもよいというルールにすることもでき
る。即ち、モデルの頂点リストに対するマトリクス計算
とウエイト計算が終了すれば描画(レンダリング)を行
うことをデフォルトにすることもできる。その場合は、
モデルのポリゴンリスト内に上記の描画コマンドは加え
られず、未描画コマンドの存在が意味を持つことにな
る。
【0112】モデルの頂点リストに対する計算が終了す
ると、そのモデルの頂点リスト、ポリゴンリスト等が出
力される(S54)。ポリゴンリスト内には、未描画コ
マンドに対する未描画テーブルの登録IDや描画コマンド
に対する未描画テーブルの登録ID等が含まれる。
【0113】モデルの頂点リスト内の頂点に対する演算
が全て終了しなくても、未描画モデルのウエイト計算の
終了を、モデル毎のカウント値を参照することで検出す
る必要がある(S58)。そして、ウエイト計算が終了
した未描画モデルに対して、現在処理中のモデル内のポ
リゴンリストに、描画コマンドDRAWDP(ADD)を発生す
る。その結果、描画可能状態になったモデルに対する共
通頂点バッファの領域が解放される(S60)。尚、DR
AWDPとは、DRAW draw polygonの略称である。
【0114】上記のシュミレーション演算が、全てのモ
デルの頂点リストに対して行われる。
【0115】より具体的に理解するために、図18,1
9の実例で説明する。図20は、その場合に生成される
ポリゴンリスト例であり、図21は未描画テーブルの例
である。まず、コンバータは、モデルM1の頂点リスト
について、マトリクス演算とウエイト演算を行い、その
結果を共有頂点バッファ内の対応する領域に書き込む。
そして、頂点リストの全ての頂点データに対する演算が
終了しても、ウエイト演算は終了していないので、モデ
ルM1に対するポリゴンリスト145の先頭に、未描画
コマンドDRAWCP(0)を登録する。この時、未描画テーブ
ル143内には、このコマンドの属性データの「0」に
対するポリゴンリスト先頭番地ADD1の対応が登録され
る。
【0116】次に、モデルM2の頂点リストについて
も、同様にマトリクス演算とウエイト演算を行い、共有
頂点バッファの対応する領域に書き込み又は積算(加
算)を行う。そして、モデルM2の頂点リストの頂点全
ての演算が終了した時点で、モデルM1の頂点に対する
ウエイト演算は終了していないので、次のモデルM3に
ついて同様の処理を行う。モデルM4の頂点リストの処
理が終了すると、モデルM1の実頂点に対するウエイト
演算は終了しモデルM1の描画が可能な状態になる。そ
こで、モデルM4のポリゴンリスト147の先頭に、未
描画状態にあったモデルM1の描画コマンドDRAWDP(0)
が登録される。
【0117】モデルM5の頂点リストは、図19に示さ
れないが、全ての頂点がネイティブであるので、モデル
M5の頂点リストのマトリクス演算とウエイト演算が終
了した時点で描画可能状態にあるので、モデルM5のポ
リゴンリスト146内には、モデルM5の描画コマンド
DRAWが登録される。或いは、未描画コマンドの登録がな
ければ描画処理を行うことがデフォルトで設定される場
合は、かかるモデルM5の描画コマンドDRAWの登録は必
要がない。
【0118】いずれのポリゴンリスト145、146、
147にも、ポリゴン名PGとそれを構成する頂点IDを
含む、頂点IDは、図20の例では、共有頂点バッファに
おいて新たに与えた統一的な頂点IDであるvx0,vx1が
利用される。共有頂点バッファが生成された時のエント
リ番号とオフセット値を利用した実際のアドレスを頂点
IDにして、ポリゴンリストを形成することもできる。
その例については、後で詳述する。
【0119】図21の未描画テーブル143には、モデ
ルM1のID=0に対して、そのモデルのポリゴンリス
トの先頭番地ADD1が対応付けされる。未描画テーブル1
43は、必ずしも必要なく、未描画コマンドDRAWCPの属
性データに直接ポリゴンリストの先頭番地ADD1を与える
ことでもよい。
【0120】以上説明した通り、コンバータは、三次元
モデラーにより生成された一体整形モデルの元データか
ら、共有頂点バッファのフォーマット情報と、各モデル
毎の頂点リストとポリゴンリスト等を有する変換データ
を、非リアルタイムで生成する。この変換データは、ゲ
ームプログラムや描画ライブラリと共にゲーム用の記録
媒体、例えばCDROM内に記録される。
【0121】次に、共有頂点バッファの生成と解放に伴
う、頂点IDについて説明する。図22は、頂点IDを
説明するための図である。図22の例では、頂点IDを
説明する都合上、上記してきたモデルM1〜M5に、そ
の後トレースされるポリゴン付きのモデルM6が加えら
れている。図22(A)は、モデルの頂点をネイティ
ブ、スタートウエイト、ミドルウエイト、エンドウエイ
トに分類し、ネイティブとスタートウエイトの頂点から
頂点バッファのフォーマットが形成された状態を示す。
この状態では、全ての実頂点に通し番号vx0〜vx(h+i+j-
1)が与えられる。但し、h,i,jはそれぞれモデルM
1,M5,M6のオフセット値とする。そこで、コンバ
ータによるシュミレーション演算を行うことにより、図
22(B)に示される様に、共有頂点バッファの領域が
生成され、解放されたとする。
【0122】上記してきたモデルM1〜M5では、モデ
ルM1とM5が実頂点を有する。そして、モデル階層の
トレース順では、モデルM1,M2,M3,M5,M4
で頂点リストに対する演算が行われる。従って、共有頂
点バッファ領域の先頭番地がADDmとすると、モデルM1
の共有頂点バッファの領域が番地ADDm以降に最初に生成
される(図22(B−1))。次に、モデルM5の共有
頂点バッファ領域が、モデルM1の領域の後に生成され
る(図22(B−2))。この時点では、モデルM1の
頂点のアドレスは、先頭番地ADDmとエントリ値0〜(h
−1)により特定される。また、モデルM5の頂点のア
ドレスは、先頭番地ADDmに加えてモデルM1のオフセッ
ト値hとモデルM5のエントリ値0〜iによって特定さ
れる。従って、この時点では、モデルM1とM5の共有
頂点のアドレスは、先頭番地ADDmから、0〜(h+i−1)
の連続番号で特定される。このアドレスが頂点IDに利
用される。
【0123】即ち、この時点で、モデルM1とモデルM
2の描画が行われ、その後モデルM1,M5の共有頂点
バッファ領域は開放される。従って、各モデルの頂点リ
ストの頂点IDと、モデルM1,M5のポリゴンリスト
の頂点IDを、全てこのアドレスにすることができる。
そうすることにより、描画ライブラリの処理効率を高く
することができる。
【0124】次に、モデルM1,M5の描画が終了する
と、それらの共有頂点バッファ領域はもはや不要にな
る。そこで、次に描画すべきモデルM6の共有頂点バッ
ファ領域は、再度先頭番地ADDmからエントリ番号0〜
(j−1)に生成される。従って、このアドレスが、モ
デルM6等の頂点リストやポリゴンリスト内の頂点ID
として利用される。つまり、共有頂点バッファ領域の生
成と維持を必要最小限に止めるために、異なるモデルの
共有頂点バッファ領域のアドレスが重複することにな
る。しかし、モデルの階層構造のトレース順に頂点リス
トを参照し、ポリゴンリストを参照するので、そのよう
なアドレスの重複に不都合は生じない。
【0125】別の変形例として、頂点リストやポリゴン
リストに統一的な頂点IDvx0〜vx(h+i+j-1)を利用し、
コンバータのシュミレーション演算により、共有頂点バ
ッファ領域のアドレスと統一頂点IDとの対応テーブル
を生成することもできる。その場合は、描画ライブラリ
は、頂点リストとポリゴンリストの頂点IDに対するバ
ッファ領域のアドレスを、その対応テーブルを参照する
ことで知ることができる。
【0126】図23は、具体的な頂点リストの別の例を
示す図である。この例は、上記の共有頂点バッファ領域
のアドレスを頂点IDとして積極的に利用した場合の例
である。この頂点リスト200は、頂点リスト開始の記
述201と終了の記述203の間に、4グループ毎の頂
点データの固まり(チャンク)有する。202は、頂点
データチャンクの終了を示す記述である。即ち、頂点リ
スト200は、ウエイトを持たないネイティブ頂点のチ
ャンク218、スタートウエイトの頂点のチャンク22
8、ミドルウエイトの頂点のチャンク238、及びエン
ドウエイトの頂点のチャンク248を有する。各チャン
クには、ウエイトなしの頂点グループのデータチャンク
名を示す記述211と、ウエイトありの頂点グループの
データチャンク名を示す記述221とを有する。それら
の記述には、ウエイト計算継続中のフラグ212とチャ
ンクサイズ213と、スタート、ミドル、エンドの区別
表示222,232,242とを含む。
【0127】更に、各チャンクには、共有頂点バッファ
の頂点リストブロックのオフセット値214とそのチャ
ンク内の頂点データの数215を示す記述も含まれる。
頂点データには、図19に示したのと同様に、座標デー
タ216と法線データ217と、ウエイトデータとを有
する。ウエイトデータには、頂点の共有頂点バッファ上
でのエントリ番号226とウエイト値(%)227とを
有する。オフセット値214とエントリ番号226とに
より、共有頂点バッファ内の実頂点の領域(頂点ID)
を特定することができる。
【0128】次に、描画ライブラリの手順について説明
する。図24は、描画ライブラリの手順のフローチャー
ト図である。図13で説明した通り、ゲーム進行中は、
オペレータからの操作データに応答してゲームプログラ
ムがキャラクタを構成しているモデルの移動用のマトリ
クスを生成する(S22)。そこで、描画ライブラリが
ポリゴンの描画を行う(S24)。
【0129】描画ライブラリの手順は、コンバータのシ
ュミレーション演算に類似する。描画 ライブラリは、
変換データを利用してリアルタイムでポリゴンの描画を
行う。描画ライブラリは、モデル階層構造のトレース順
に従い、各モデルの頂点リスト順に、マトリクス演算に
より移動後の頂点の座標データと法線データを求める
(S80)。かかる求められた座標データと法線データ
は、変換データにモデルマトリクスを乗算することによ
り求められ、グローバル座標系に変換される。このマト
リクス演算に伴い、そのモデルの共有頂点バッファ領域
をメモリ内に確保する(S78)。かかる共有頂点バッ
ファ領域は、変換データ内のフォーマット情報により必
要なだけ確保することができる。そして、マトリクス演
算を行った頂点が、ネイティブグループに分類された頂
点の場合は(S82)、ウエイト演算では、単に100
%(1.0)を乗算するだけであるので、実際には、マ
トリクス演算により求めた座標データと法線データを、
対応する共有頂点バッファの領域に記録する(S8
4)。
【0130】また、マトリクス演算を行った頂点が、ウ
エイトありの頂点、即ち、スタートウエイト、ミドルウ
エイト或いはエンドウエイトの頂点の場合は(S8
6)、ウエイトデータを利用してウエイト計算を行い、
対応する共有頂点バッファにその計算結果の座標データ
及び法線データを書き込むか積算(加算)する。スター
トウエイトの頂点の場合は、最初に登場した頂点である
ので、計算結果は共有頂点バッファ内に書き込まれる
が、ミドルウエイト又はエンドウエイトの頂点の場合
は、すでに書き込まれている値に、その計算結果を積算
(加算)する。そして、計算結果を記録したモデルのカ
ウンタを+1する(S90)。
【0131】上記のマトリクス演算とウエイト演算と
が、モデルの頂点リスト内のすべての頂点データに対し
て行われる(S92)。全ての頂点IDが統一されたI
Dを利用し、その頂点IDと共有頂点バッファの頂点デ
ータ領域の参照インデックスとが対応しているので、こ
のウエイト演算は、非常に高速に行うことができる。更
に、頂点リストは、モデル毎に分けられている。従っ
て、マトリクス演算において、モデル内の頂点に対して
は同じモデルマトリクスを使用することができる。この
ことは、描画ライブラリによるマトリクス演算におい
て、CPU内に設定されるモデルマトリクスを頻繁に変
更する必要がないことを意味する。従って、マトリクス
演算効率が高くなり、リアルタイムでの描画を可能にす
る。
【0132】更に、頂点リストは、頂点グループ毎にま
とめられているので、まとめられた頂点に対するウエイ
ト演算における手順を、均一化することができる。即
ち、ネイティブの頂点であれば、マトリクス演算結果を
そのまま共有頂点バッファに書き込み、スタートウエイ
トの頂点であれば、マトリクス演算してウエイト演算し
た結果を共有頂点バッファに書き込み、ミドルウエイト
とエンドウエイトの頂点は、両演算結果を共有頂点バッ
ファ内のデータに積算(加算)する。このように手順を
均一化することができるので、描画ライブラリの演算効
率は高くなり、リアルタイムでの演算を可能にする。
【0133】描画ライブラリは、一つのモデルの頂点リ
ストに対する演算が終了すると、そのモデルのポリゴン
リストを参照する。ポリゴンリスト内に未描画コマンド
DRAWCPが記載されている場合(S94)は、そのモデル
の描画(レンダリング)を行うことができないので、未
描画テーブルに登録する(S96)。また、ポリゴンリ
スト内に描画コマンドDRAWDPが記載されている場合は
(S98)、未描画モデルについて、未描画テーブルに
登録された番地を参照して、ポリゴンリストの順にポリ
ゴンの描画(レンダリング)を行う(S100)。かか
るポリゴンのレンダリングは、共有頂点バッファ内に格
納された演算結果のグローバル座標系における座標デー
タと法線データを利用して行われる。従って、そのモデ
ルの描画が終了すると、そのモデルに対する共有頂点バ
ッファの領域は不要になり、解放される。解放とは、必
要があれば別の共有頂点バッファ領域に割り当てられる
状態にすることを意味する。また、ポリゴンリスト内に
そのモデルの描画を指示する描画コマンドDRAWが記載さ
れる場合は、自分のモデルの描画(レンダリング)し、
それに対応する共有頂点バッファ領域を開放する(S1
02)。
【0134】なお、デフォルトの手順として、モデル内
の頂点リストの演算が終了したら、未描画コマンドが存
在しない限り自動的にそのモデルのポリゴンリストに従
ってポリゴンの描画を行わせることもできる。更に、描
画(レンダリング)を行う前に、頂点計算が終了した法
線データについて正規化を必要に応じて行う(S9
3)。法線データは、レンダリング工程において光源か
らの光のベクトルと正規化された法線ベクトルとの内積
値(cosθ、θは両ベクトル間の角度)を求める時に
利用される。この内積値に応じてポリゴン内のピクセル
における拡散光等の処理が行われる。従って、レンダリ
ング工程における演算によっては、予め法線ベクトルの
正規化(スカラー値を1にする処理)を行うことが必要
になる。
【0135】描画ライブラリによる描画(レンダリン
グ)工程において、全てのモデルの共有頂点バッファ領
域をメモリ内に確保する必要はない。必要なウエイト演
算が終了するまでは、モデルに対応する共有頂点バッフ
ァ領域を確保しておく必要がある。しかし、一旦全ての
ウエイト演算が終了して、そのモデルを描画できる状態
になると、予めポリゴンリスト内に登録されている描画
コマンドに従ってモデル内のポリゴンの描画(レンダリ
ング)を行うことができる。描画が終了すれば、もはや
その共有頂点バッファ領域内の頂点データは不要になる
ので、係る領域を開放して、他のモデルの共有頂点バッ
ファ領域に提供することができる。従って、メモリ内の
共有頂点バッファ領域の容量を平均的に小さくすること
ができる。かかる点は、比較的少ない容量のメモリしか
利用できないゲーム機器にとっては大きなメリットにな
る。
【0136】以上の様に、コンバータによって予め変換
テーブルが作成されているので、リアルタイムでのレン
ダリングが要求される描画ライブラリは、上記の通り非
常に効率よくマトリクス演算やウエイト演算を行うこと
ができる。更に、メモリ内に確保すべき実頂点のデータ
領域(共有頂点バッファ領域)の容量を小さくすること
ができる。従って、描画ライブラリは、ゲーム機器を利
用してリアルタイムでオペレータからの操作に応答した
キャラクタの画像を作成することができる。
【0137】上記の実施の形態例では、一体整形モデル
において、実頂点が複数のモデルから影響をうけるマル
チウエイトのデータについて、コンバータによる変換デ
ータと描画ライブラリの処理について説明した。かかる
マルチウエイト方式による一体整形モデルを利用するこ
とで、ポリゴン間を接続する関節部分や表面の筋肉の形
状をより自然な形で描画することが可能になる。
【0138】しかしながら、ゲーム内のシーンによって
は、マルチウエイトの一体整形モデルからなるキャラク
タであっても、例えば視点から遠隔の位置にある場合
は、複雑なマルチウエイトに従う頂点演算を行う必要が
ない場合もある。視点から遠隔に位置するキャラクタに
は、視点から近い位置でスクリーンの中央部に位置する
キャラクタのようなより高級な画像を必要としないから
である。そのような場合は、演算処理に時間とハードウ
エア資源を必要とするマルチウエイトに従う頂点演算で
はなく、ワンウエイトに従う頂点演算にすることで、画
面全体の画像処理時間とハードウエア資源を節約するこ
とができる。ワンウエイトとは、一つのモデルからのみ
影響を受ける頂点、つまりネイティブグループに属する
頂点、のみからなるモデルを意味する。
【0139】図25は、マルチウエイトの一体整形モデ
ルのデータからワンウエイトの頂点リストを得るコンバ
ータの手順を示すフローチャート図である。本フローチ
ャートは、図16に示したマルチウエイトのデータに対
する頂点のモデルへの分配と頂点リストの生成のフロー
チャートに一部変更を加えている。
【0140】工程S62での、基本姿勢における一体整
形モデルの実頂点の座標と法線データをグローバル座標
系に変換することは、マルチウエイトの場合と同じであ
る。次に、コンバータは、元のモデルデータの実頂点
を、モデル階層のトレース順に従って、ウエイトの有無
に基づくグループに分ける(S64)。即ち、マルチウ
エイトの場合の、ネイティブグループとそれ以外のグル
ープとに分ける。そして、コンバータは、複数モデルか
らのウエイト(影響)を有する頂点のうち、最大のウエ
イトを与えるモデルのネイティブの頂点にする(S6
5)。例えば、図8の例で説明すると、3つのモデルM
2,M3,M4からのウエイトを有する頂点V102
は、モデルM4からのウエイト値が40%と最大である
ので、3つの頂点V102(M2)、V102(M
3)、V102(M4)のうち、頂点V102(M4)
のみをモデルM4に属する頂点にし、残りのウエイト値
が小さい頂点V102(M2)、V102(M3)は無
視する。その結果、頂点V102は、モデルM4から1
00%の影響を受けるネイティブの頂点になる。
【0141】工程S65の処理により、全ての頂点は1
つのモデルから影響を受けるシングルウエイトの頂点に
なる。その後の処理は、図16のマルチウエイの場合と
同じである。即ち、頂点を、それに影響を与えるモデル
毎にソーティングし(S66)、全ての頂点に対して統
一した番号を新たな頂点IDとして与え、各モデルのポ
リゴンリストに反映する(S68)。或いは、マルチウ
エイトの場合と同様に、共有頂点バッファのオフセット
値とエントリー番号による頂点IDを利用してもよい。
【0142】更に、コンバータは、全ての頂点をその頂
点に影響を与えるモデル(頂点が属するモデル)に分配
し、頂点データをモデル内のローカル座標系に変換する
(S70)。そして、分配先のモデルの頂点リストに、
それら分配した頂点を登録する(S72)。シングルウ
エイトであるので、各モデルの頂点リストには、マルチ
ウエイトの様にネイティブグループ、スタートウエイト
グループなどのグループは存在せず、全てネイティブの
頂点になる。むろん、頂点リストでの実頂点の引用は、
共有頂点バッファのフォーマットに従う頂点IDにな
る。
【0143】即ち、シングルウエイトの場合は、共有頂
点バッファ領域には、各モデル毎にそのモデルのポリゴ
ンを構成する実頂点のリストが形成され、各モデルの頂
点リストには、そのモデルが影響を与えるネイティブ頂
点のリストが形成される。従って、かかるシングルウエ
イトの変換データを利用すると、描画ライブラリは頂点
演算の回数を1つの頂点に対して1回にすることがで
き、描画工程を簡単にし、高速描画処理を可能にする。
【0144】シングルウエイトの変換データは、コンバ
ータによりマルチウエイト形式の全てのモデルに対して
生成されることが好ましい。従って、コンバータは、マ
ルチウエイト形式のモデルに対しては、図16に従って
マルチウエイト形式の変換データと、図25に従ってシ
ングルウエイト形式の変換データとを生成する。そし
て、描画ライブラリは、ゲームの進行中に、描画すべき
キャラクタの位置が、例えば視点位置から遠い位置にあ
る場合や、画面の中央部以外の位置にある場合、更に、
例えば半透明ポリゴンの背後に位置する場合等、精密な
モデルの動作を要求されない状況にある場合は、シング
ルウエイト形式の変換データを利用して描画処理を行
う。その結果、画面中央部のもっとも目立つ位置にある
キャラクタにのみマルチウエイトの変換データを利用し
て描画処理を行う。その結果、画面全体に必要な描画処
理を軽くすることができる。
【0145】
【発明の効果】以上、本発明によれば、ゲーム(または
シミュレーション)用記録媒体に記録されリアルタイム
で画像処理を行う描画ライブラリに最適なデータ構造の
モデルの変換データを提供することができるので、より
自然な関節や外面の動きを実現できる一体整形モデル
を、リアルタイムに描画することが可能になる。
【0146】また、本発明によれば、三次元モデラなど
により生成される一体型モデルのデータを、ゲーム(ま
たはシミュレーション)用記録媒体に記録されリアルタ
イムで画像処理を行う描画ライブラリに最適なデータ構
造のモデルのデータに変換する画像処理方法(コンバー
タ)を提供するので、三次元モデラを利用した一体整形
モデル形式のモデルデータを、ゲーム機器(またはシミ
ュレーション)に利用することができ、より自然なオブ
ジェクトの動きをゲームにおいて提供することができ
る。
【0147】更に、本発明によれば、変換データを利用
して一体整形モデルの描画を効率よく行う画像処理方法
またはそれをコンピュータに実行させるプログラムを記
録した記録媒体を提供することができるので、ゲーム機
器において、リアルタイムで一体整形モデルによるキャ
ラクタを描画することができ、より自然な動きのキャラ
クタの画像を形成することができる。
【図面の簡単な説明】
【図1】CGムービーにおける一体整形モデルの動きの
例を示す図である。
【図2】従来のCGムービーにおける一体整形モデルを
利用した画像処理を説明する図である。
【図3】図2の画像処理手順を示すフローチャート図で
ある。
【図4】本実施の形態例における三次元モデラーを利用
して生成される一体整形モデルの例を示す図である。
【図5】図4の一体整形モデルのデータ構成例である。
【図6】デザイナーにより設定された各頂点へのモデル
からの影響度(ウエイト値)を示す図である。
【図7】一体整形モデル(エンベロープ)の移動例を示
す図である。
【図8】一体整形モデルにおけるウエイト計算方法を説
明する図である。
【図9】一体整形モデルにおけるモデルの移動計算と頂
点のウエイト計算の手順を示すフローチャート図であ
る。
【図10】本実施の形態例における一体整形モデルの元
データと描画ライブラリ用の変換データの関係を示す図
である。
【図11】ゲーム用の記録媒体内の構成と、ゲーム機の
ハードウエアとの関係を示す図である。
【図12】三次元モデラによる一体整形モデルのデータ
から変換データを作成するまでの概略的フローチャート
図である。
【図13】ゲームにおけるのフローチャート図である。
【図14】コンバータの手順を示すフローチャート図で
ある。
【図15】コンバータの手順を示すフローチャート図で
ある。
【図16】詳細な実頂点のモデルへの分配と頂点リスト
の生成の手順を示すフローチャート図である。
【図17】元データから変換データへの手順を示す図で
ある。
【図18】具体的モデル例に適用した時の元データの頂
点リストと共有頂点リストを示す図である。
【図19】具体的モデル例に適用した時の頂点リストを
示す図である。
【図20】ポリゴンリスト例を示す図である。
【図21】未描画テーブルの例を示す図である。
【図22】共有頂点バッファの展開と解放の例を示す図
である。
【図23】具体的な頂点リストの別の例を示す図であ
る。
【図24】未描画テーブルの例を示す図である
【図25】描画ライブラリの手順のフローチャート図で
ある。
【符号の説明】 100 一体整形モデルの元データ 110 一体整形モデルの変換データ 10 ゲーム用記録媒体、CDROM 12 ゲームプログラム 14 描画ライブラリ 20 ゲーム機器 M1〜M6 モデル vx 頂点ID
フロントページの続き Fターム(参考) 2C001 BC00 BC05 BC10 CB01 CB03 CC02 5B050 AA10 BA08 BA09 EA24 EA28 FA19 5B080 AA13 BA01 9A001 DD12 HH26 HH30 HH32 JJ76 KK45 KK62

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】階層構造でリンクされた複数のモデルを有
    し、少なくとも第1のモデルはポリゴンを構成する複数
    の頂点を有し、少なくとも第1の頂点の位置は複数のモ
    デルの位置と当該モデルからのウエイト値に従って影響
    を受ける一体整形モデルデータを記録した記録媒体にお
    いて、 前記複数のモデル内における複数の頂点のデータを、モ
    デル毎に格納する共有頂点バッファのフォーマットデー
    タと、 前記頂点に影響を与えるモデル毎に形成され、前記共有
    頂点バッファ内の頂点IDによって特定された頂点デー
    タを有する頂点リストと、 前記モデル毎に形成され、前記複数のモデルの基本姿勢
    におけるモデル位置を設定したモデルマトリクスデータ
    と、 前記ポリゴンを有するモデル毎に形成され、前記頂点I
    Dを属性データとするポリゴンデータを有するポリゴン
    リストとを有し、 前記頂点リスト内の頂点データには、少なくとも頂点の
    位置データと、前記頂点リストが属するモデルからのウ
    エイト値及び当該頂点に対応する前記共有頂点バッファ
    内の頂点IDとを有することを特徴とする一体整形モデ
    ルデータを記録したコンピュータ読みとり可能な記録媒
    体。
  2. 【請求項2】請求項1において、 前記複数のモデルから影響を受ける前記第1の頂点は、
    前記複数のモデルの個数分だけの分配頂点データを有
    し、当該分配頂点データは、前記第1の頂点に影響を与
    えるモデルの前記頂点リストに属することを特徴とする
    一体整形モデルデータを記録したコンピュータ読みとり
    可能な記録媒体。
  3. 【請求項3】請求項2において、 前記頂点リストは、前記モデルの階層構造に従ってトレ
    ースした時に最初に頂点演算が行われるスタートウエイ
    ト頂点と、前記頂点演算が最初でも最後でもないミドル
    ウエイト頂点と、前記頂点演算が最後に行われるエンド
    ウエイト頂点とに分けられていることを特徴とする一体
    整形モデルデータを記録したコンピュータ読みとり可能
    な記録媒体。
  4. 【請求項4】請求項1乃至3のいずれかにおいて、 前記頂点リストは、更に、当該頂点リストが属するモデ
    ルからのみ影響を受けるネイティブ頂点のデータを有す
    ることを特徴とする一体整形モデルデータを記録したコ
    ンピュータ読みとり可能な記録媒体。
  5. 【請求項5】請求項1乃至4のいずれかにおいて、 前記頂点データは、前記頂点の座標データと法線データ
    とを有することを特徴とする一体整形モデルデータを記
    録したコンピュータ読みとり可能な記録媒体。
  6. 【請求項6】請求項5において、 前記頂点データは、それが属する頂点リストのモデルの
    ローカル座標系に従うことを特徴とする一体整形モデル
    データを記録したコンピュータ読みとり可能な記録媒
    体。
  7. 【請求項7】請求項1乃至4のいずれかにおいて、 前記共有頂点バッファ内の頂点IDは、各モデル毎の頂
    点のエントリ番号と各モデル毎の頂点数に対応するオフ
    セット値とを有することを特徴とする一体整形モデルデ
    ータを記録したコンピュータ読みとり可能な記録媒体。
  8. 【請求項8】請求項1乃至4のいずれかにおいて、 前記ポリゴンリストは、所定のモデルの前記ポリゴンの
    描画を指示する描画コマンド又は当該ポリゴンリストが
    属するモデルのポリゴンの未描画を指示する未描画コマ
    ンドを有することを特徴とする一体整形モデルデータを
    記録したコンピュータ読みとり可能な記録媒体。
  9. 【請求項9】階層構造でリンクされた複数のモデルを有
    し、少なくとも第1のモデルはポリゴンを構成する複数
    の頂点を有し、少なくとも第1の頂点の位置は複数のモ
    デルの位置と当該モデルからのウエイト値に従って影響
    を受ける一体整形モデルデータを記録した記録媒体にお
    いて、 前記複数のモデル内における複数の頂点のデータを、モ
    デル毎に格納する共有頂点バッファのフォーマットデー
    タと、 前記頂点に影響を与えるモデル毎に形成され、前記共有
    頂点バッファ内の頂点IDによって特定された頂点デー
    タを有する頂点リストと、 前記ポリゴンを有するモデル毎に形成され、前記頂点I
    Dを属性データとするポリゴンデータを含むポリゴンリ
    ストとを有することを特徴とする一体整形モデルデータ
    を記録したコンピュータ読みとり可能な記録媒体。
  10. 【請求項10】階層構造でリンクされた複数のモデルを
    有し、少なくとも第1のモデルはポリゴンを構成する複
    数の頂点を有し、少なくとも第1の頂点の位置は複数の
    モデルの位置と当該モデルからのウエイト値に従って影
    響を受ける一体整形モデルデータを元モデルデータから
    変換する画像処理方法において、 前記元モデルデータは、前記階層構造でリンクされた複
    数のモデルデータを有し、前記元モデルデータは、当該
    モデル内の頂点データを有する元頂点リストと、当該モ
    デルが影響を与える頂点データを有するウエイトリスト
    と、前記頂点リスト内の頂点IDを属性データとする元
    ポリゴンリストとを有し、 前記画像処理方法は、 前記複数のモデル内における複数の頂点のデータを、モ
    デル毎に格納する共有頂点バッファのフォーマットデー
    タを生成する工程と、 前記頂点に影響を与えるモデル毎に形成され、前記共有
    頂点バッファ内の頂点IDによって特定された頂点デー
    タを有する頂点リストを生成する工程と、 前記ポリゴンを有するモデル毎に形成され、前記頂点I
    Dを属性データとするポリゴンデータを有するポリゴン
    リストを生成する工程とを有することを特徴とするモデ
    ルデータ変換用の画像処理方法。
  11. 【請求項11】請求項10において、 前記頂点リスト内の頂点データには、少なくとも頂点の
    位置データと、前記頂点リストが属するモデルからのウ
    エイト値及び当該頂点に対応する前記共有頂点バッファ
    内の頂点IDとを有することを特徴とするモデルデータ
    変換用の画像処理方法。
  12. 【請求項12】請求項11において、 前記頂点リストを生成する工程は、前記複数のモデルか
    ら影響を受ける前記第1の頂点に対して、前記複数のモ
    デルの個数分だけの分配頂点を生成し、当該第1の頂点
    に影響を与えるモデルの前記頂点リストに前記分配頂点
    のデータを分配することを特徴とするモデルデータ変換
    用の画像処理方法。
  13. 【請求項13】請求項12において、 前記頂点リストを生成する工程は、前記頂点リスト内に
    前記頂点データを、前記モデルの階層構造に従ってトレ
    ースした時に最初に頂点演算が行われるスタートウエイ
    ト頂点と、前記頂点演算が最初でも最後でもないミドル
    ウエイト頂点と、前記頂点演算が最後に行われるエンド
    ウエイト頂点とに分けることを特徴とするモデルデータ
    変換用の画像処理方法。
  14. 【請求項14】請求項10乃至13のいずれかにおい
    て、 前記頂点IDは、各モデル毎の頂点のエントリ番号と各
    モデル毎の頂点数に対応するオフセット値とを有するこ
    とを特徴とするモデルデータ変換用の画像処理方法。
  15. 【請求項15】請求項10乃至14のいずれかにおい
    て、 前記画像処理方法は、更に、 前記モデルの階層構造に従うトレース順にモデルの頂点
    リスト内の頂点データに対するダミー頂点演算を行い、 1つのモデルの頂点リストに対する前記ダミー頂点演算
    を終了した時に、当該モデル内の頂点に対するウエイト
    演算が終了しない場合は、当該モデルのポリゴンリスト
    内に未描画コマンドを発生し、 未描画モデル内の頂点に対するウエイト演算が終了した
    場合は、前記ダミー頂点演算の対象モデルのポリゴンリ
    スト内に前記未描画モデルに対する描画コマンドを発生
    する描画コマンド生成工程を有することを特徴とするモ
    デルデータ変換用の画像処理方法。
  16. 【請求項16】請求項10において、 前記画像処理方法は、更に、 前記複数のモデルから影響を受ける前記第1の頂点を、
    前記複数のモデルからの影響度が最も大きいモデルから
    のみ影響を受ける頂点に変換し、当該モデルの前記頂点
    リストに前記頂点のデータを分配するワンウエイト用頂
    点リスト生成工程を有することを特徴とするモデルデー
    タ変換用画像処理方法。
  17. 【請求項17】階層構造でリンクされた複数のモデルを
    有し、少なくとも第1のモデルはポリゴンを構成する複
    数の頂点を有し、少なくとも第1の頂点の位置は複数の
    モデルの位置と当該モデルからのウエイト値に従って影
    響を受ける一体整形モデルを描画する画像処理方法にお
    いて、 前記一体整形モデルのデータが、 前記複数のモデル内における複数の頂点のデータを、モ
    デル毎に格納する共有頂点バッファのフォーマットデー
    タと、 前記頂点に影響を与えるモデル毎に形成され、前記共有
    頂点バッファ内の頂点I Dによって特定された頂点デ
    ータを有する頂点リストと、 前記ポリゴンを有するモデル毎に形成され、前記頂点I
    Dを属性データとするポリゴンデータを含むポリゴンリ
    ストとを有し、 前記画像処理方法は、 前記階層構造のトレース順に前記複数のモデルに対応す
    る共有頂点バッファを前記フォーマットデータに従って
    生成する工程と、 ゲーム進行データに基づいてモデルの位置を設定したモ
    デルマトリクスデータを生成する工程と、 前記モデルの頂点リストが有する頂点データに対して、
    前記モデルマトリクスデータに従って移動後の頂点デー
    タを生成するマトリクス演算と、前記移動後の頂点デー
    タに前記モデルからのウエイト値を反映するウエイト演
    算とを行い、当該演算された頂点データを、前記共有頂
    点バッファ内の前記頂点IDに従う領域に格納又は加算
    して共有頂点データを生成する工程と、 前記ポリゴンを、前記共有頂点データに従ってレンダリ
    ングするレンダリング工程とを有することを特徴とする
    画像処理方法。
  18. 【請求項18】請求項17において、 前記頂点リスト内の頂点データは、少なくとも頂点の位
    置データと、前記頂点リストが属するモデルからのウエ
    イト値及び当該頂点に対応する前記共有頂点バッファ内
    の頂点IDとを有し、 前記共有頂点データを生成する工程において、前記マト
    リクス演算では前記位置データに前記モデルマトリクス
    を乗算し、前記ウエイト演算では前記演算された位置デ
    ータに前記ウエイト値を乗算することを特徴とする画像
    処理方法。
  19. 【請求項19】請求項18において、 前記頂点リストは、前記モデルの階層構造に従ってトレ
    ースした時に最初に頂点演算が行われるスタートウエイ
    ト頂点と、前記頂点演算が最初でも最後でもないミドル
    ウエイト頂点と、前記頂点演算が最後に行われるエンド
    ウエイト頂点とに分けられ、 前記共有頂点データを生成する工程において、前記スタ
    ートウエイト頂点に対する前記演算された頂点データ
    を、前記共有頂点バッファ内の前記頂点IDに従う領域
    に格納し、前記ミドルウエイト頂点及びエンドウエイト
    頂点に対する前記演算された頂点データを、前記共有頂
    点バッファ内の前記頂点IDに従う領域内の頂点データ
    に加算することを特徴とする画像処理方法。
  20. 【請求項20】請求項17または18において、 前記ポリゴンリストは、所定のモデルの前記ポリゴンの
    描画を指示する描画コマンド又は当該ポリゴンリストが
    属するモデルのポリゴンの未描画を指示する未描画コマ
    ンドを有し、 前記レンダリング工程は、各モデルの前記共有頂点デー
    タ生成工程が終了するたびに、当該モデルのポリゴンリ
    ストを参照し、前記描画コマンドに従って前記レンダリ
    ングを行うことを特徴とする画像処理方法。
  21. 【請求項21】請求項20において、 更に、前記レンダリングが行われたモデルに対応する前
    記共有頂点バッファの領域を開放する工程を有すること
    を特徴とする画像処理方法。
  22. 【請求項22】請求項17において、 前記モデルデータは、更に、前記複数のモデルから影響
    を受ける前記第1の頂点を、前記複数のモデルからの影
    響度が最も大きいモデルからのみ影響を受ける頂点に変
    換し、当該モデルの前記頂点リストに前記頂点のデータ
    を分配したワンウエイト用頂点リストを有し、 前記画像処理方法は、所定のモデルに対しては、前記ワ
    ンウエイト用頂点リストに従って前記共有頂点データの
    生成を行うことを特徴とする画像処理方法。
  23. 【請求項23】階層構造でリンクされた複数のモデルを
    有し、少なくとも第1のモデルはポリゴンを構成する複
    数の頂点を有し、少なくとも第1の頂点の位置は複数の
    モデルの位置と当該モデルからのウエイト値に従って影
    響を受ける一体整形モデルを描画する画像処理プログラ
    ムを記録した記録媒体において、 前記記録媒体は、前記一体整形モデルのデータを記録
    し、 当該一体整形モデルのデータが、 前記複数のモデル内における複数の頂点のデータを、モ
    デル毎に格納する共有頂点バッファのフォーマットデー
    タと、 前記頂点に影響を与えるモデル毎に形成され、前記共有
    頂点バッファ内の頂点IDによって特定された頂点デー
    タを有する頂点リストと、 前記ポリゴンを有するモデル毎に形成され、前記頂点I
    Dを属性データとするポリゴンデータを含むポリゴンリ
    ストとを有し、 前記画像処理プログラムは、 前記階層構造のトレース順に前記複数のモデルに対応す
    る共有頂点バッファを前記フォーマットデータに従って
    生成する手順と、 ゲーム進行データに基づいてモデル間の相対位置関係を
    設定したモデルマトリクスデータを生成する手順と、 前記モデルの頂点リストが有する頂点データに対して、
    前記モデルマトリクスデータに従って移動後の頂点デー
    タを生成するマトリクス演算と、前記移動後の頂点デー
    タに前記モデルからのウエイト値を反映するウエイト演
    算とを行い、当該演算された頂点データを、前記共有頂
    点バッファ内の前記頂点IDに従う領域に格納又は加算
    して共有頂点データを生成する手順と、 前記ポリゴンを、前記共有頂点データに従ってレンダリ
    ングするレンダリング手順とをコンピュータに実行させ
    ることを特徴とする画像処理プログラムを記録した記録
    媒体。
  24. 【請求項24】請求項23において、 前記頂点リスト内の頂点データは、少なくとも頂点の位
    置データと、前記頂点リストが属するモデルからのウエ
    イト値及び当該頂点に対応する前記共有頂点バッファ内
    の頂点IDとを有し、 前記共有頂点データを生成する手順において、前記マト
    リクス演算では前記位置データに前記モデルマトリクス
    を乗算し、前記ウエイト演算では前記演算された位置デ
    ータに前記ウエイト値を乗算することを特徴とする画像
    処理プログラムを記録した記録媒体。
  25. 【請求項25】請求項24において、 前記頂点リストは、前記モデルの階層構造に従ってトレ
    ースした時に最初に頂点演算が行われるスタートウエイ
    ト頂点と、前記頂点演算が最初でも最後でもないミドル
    ウエイト頂点と、前記頂点演算が最後に行われるエンド
    ウエイト頂点とに分けられ、 前記共有頂点データを生成する手順において、前記スタ
    ートウエイト頂点に対する前記演算された頂点データ
    を、前記共有頂点バッファ内の前記頂点IDに従う領域
    に格納し、前記ミドルウエイト頂点及びエンドウエイト
    頂点に対する前記演算された頂点データを、前記共有頂
    点バッファ内の前記頂点IDに従う領域内の頂点データ
    に加算することを特徴とする画像処理プログラムを記録
    した記録媒体。
  26. 【請求項26】請求項23または24において、 前記ポリゴンリストは、所定のモデルの前記ポリゴンの
    描画を指示する描画コマンド又は当該ポリゴンリストが
    属するモデルのポリゴンの未描画を指示する未描画コマ
    ンドを有し、 前記レンダリング手順は、各モデルの前記共有頂点デー
    タ生成手順が終了するたびに、当該モデルのポリゴンリ
    ストを参照し、前記描画コマンドに従って前記レンダリ
    ングを行うことを特徴とする画像処理プログラムを記録
    した記録媒体。
  27. 【請求項27】請求項26において、 更に、前記レンダリングが行われたモデルに対応する前
    記共有頂点バッファの領域を開放する手順を有すること
    を特徴とする画像処理プログラムを記録した記録媒体。
  28. 【請求項28】請求項23において、 前記モデルデータは、更に、前記複数のモデルから影響
    を受ける前記第1の頂点を、前記複数のモデルからの影
    響度が最も大きいモデルからのみ影響を受ける頂点に変
    換し、当該モデルの前記頂点リストに前記頂点のデータ
    を分配したワンウエイト用頂点リストを有し、 前記画像処理プログラムは、所定のモデルに対しては、
    前記ワンウエイト用頂点 リストに従って前記共有頂点
    データの生成を行う手順をコンピュータに実行させるこ
    とを特徴とする画像処理プログラムを記録した記録媒
    体。
JP04553599A 1999-02-23 1999-02-23 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 Expired - Fee Related JP4206547B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP04553599A JP4206547B2 (ja) 1999-02-23 1999-02-23 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体
ES00301217T ES2250075T3 (es) 1999-02-23 2000-02-16 Medio de grabacion, metodo y unidad de tratamiento de imagenes con datos de modelo de conformado integrados.
EP00301217A EP1031946B1 (en) 1999-02-23 2000-02-16 Recording medium,Image processing method and unit with integrated shaping model data
DE60024514T DE60024514T2 (de) 1999-02-23 2000-02-16 Aufzeichnungsmedium, Verfahren und Einrichtung zur Bildverarbeitung mit integrierten Daten zur Formmodellierung
US09/506,812 US6437779B1 (en) 1999-02-23 2000-02-18 Image processing method image processing unit and recording medium recording integrated shaping model data and image processing program to be used thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04553599A JP4206547B2 (ja) 1999-02-23 1999-02-23 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体

Publications (3)

Publication Number Publication Date
JP2000242811A true JP2000242811A (ja) 2000-09-08
JP2000242811A5 JP2000242811A5 (ja) 2006-04-27
JP4206547B2 JP4206547B2 (ja) 2009-01-14

Family

ID=12722093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04553599A Expired - Fee Related JP4206547B2 (ja) 1999-02-23 1999-02-23 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体

Country Status (5)

Country Link
US (1) US6437779B1 (ja)
EP (1) EP1031946B1 (ja)
JP (1) JP4206547B2 (ja)
DE (1) DE60024514T2 (ja)
ES (1) ES2250075T3 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937240B2 (en) 2000-01-27 2005-08-30 Square Enix Co., Ltd. Methods and apparatus for transforming three-dimensional objects in video games
JP2009169910A (ja) * 2008-01-21 2009-07-30 Sammy Corp 画像作成装置、画像作成プログラム、及び画像作成支援プログラム
JP2009169908A (ja) * 2008-01-21 2009-07-30 Sammy Corp 画像作成装置、画像作成プログラム、及び画像作成支援プログラム
WO2014119524A1 (ja) * 2013-02-01 2014-08-07 株式会社セルシス 三次元オブジェクトの多視点描画装置、方法、及びプログラム
JP2014149748A (ja) * 2013-02-01 2014-08-21 Celsys:Kk 三次元オブジェクトの多視点描画装置、方法、及びプログラム
JP2014149749A (ja) * 2013-02-01 2014-08-21 Celsys:Kk 三次元オブジェクトの誇張描画装置、方法、及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3918471B2 (ja) * 2000-08-03 2007-05-23 株式会社豊田中央研究所 対象物の性能解析をコンピュータによって支援するための方法、プログラム、そのプログラムを記録した記録媒体およびシステム
US7561155B1 (en) * 2000-10-23 2009-07-14 Evans & Sutherland Computer Corporation Method for reducing transport delay in an image generator
US6704021B1 (en) * 2000-11-20 2004-03-09 Ati International Srl Method and apparatus for efficiently processing vertex information in a video graphics system
US7677859B2 (en) 2002-07-22 2010-03-16 Brooks Automation, Inc. Substrate loading and uploading station with buffer
US7233334B1 (en) * 2004-09-29 2007-06-19 Nvidia Corporation Storage buffers with reference counters to improve utilization
US8139071B1 (en) * 2006-11-02 2012-03-20 Nvidia Corporation Buffering unit to support graphics processing operations
US8941660B2 (en) * 2009-06-17 2015-01-27 Panasonic Intellectual Property Management Co., Ltd. Image generating apparatus, image generating method, and image generating integrated circuit
US8976188B1 (en) 2012-04-20 2015-03-10 Google Inc. Optimized data communication system and method for an image rendering system
US9721363B2 (en) 2014-05-19 2017-08-01 Google Inc. Encoding polygon data for fast retrieval and rendering
EP4121948A1 (en) * 2020-03-20 2023-01-25 3Shape A/S Storage, rendering, and display of information of meshes through tessellation with serialized values

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659625A (en) * 1992-06-04 1997-08-19 Marquardt; Stephen R. Method and apparatus for analyzing facial configurations and components
JPH10188028A (ja) * 1996-10-31 1998-07-21 Konami Co Ltd スケルトンによる動画像生成装置、該動画像を生成する方法、並びに該動画像を生成するプログラムを記憶した媒体
US6400368B1 (en) * 1997-03-20 2002-06-04 Avid Technology, Inc. System and method for constructing and using generalized skeletons for animation models
US6147692A (en) * 1997-06-25 2000-11-14 Haptek, Inc. Method and apparatus for controlling transformation of two and three-dimensional images

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937240B2 (en) 2000-01-27 2005-08-30 Square Enix Co., Ltd. Methods and apparatus for transforming three-dimensional objects in video games
JP2009169910A (ja) * 2008-01-21 2009-07-30 Sammy Corp 画像作成装置、画像作成プログラム、及び画像作成支援プログラム
JP2009169908A (ja) * 2008-01-21 2009-07-30 Sammy Corp 画像作成装置、画像作成プログラム、及び画像作成支援プログラム
WO2014119524A1 (ja) * 2013-02-01 2014-08-07 株式会社セルシス 三次元オブジェクトの多視点描画装置、方法、及びプログラム
JP2014149748A (ja) * 2013-02-01 2014-08-21 Celsys:Kk 三次元オブジェクトの多視点描画装置、方法、及びプログラム
JP2014149749A (ja) * 2013-02-01 2014-08-21 Celsys:Kk 三次元オブジェクトの誇張描画装置、方法、及びプログラム

Also Published As

Publication number Publication date
DE60024514D1 (de) 2006-01-12
US6437779B1 (en) 2002-08-20
DE60024514T2 (de) 2006-07-27
ES2250075T3 (es) 2006-04-16
JP4206547B2 (ja) 2009-01-14
EP1031946B1 (en) 2005-12-07
EP1031946A2 (en) 2000-08-30
EP1031946A3 (en) 2003-04-23

Similar Documents

Publication Publication Date Title
JP4846120B2 (ja) スケルトンアニメーションのステッチングハードウェアを有するグラフィクス装置
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
JP4206547B2 (ja) 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体
US6937240B2 (en) Methods and apparatus for transforming three-dimensional objects in video games
US5796400A (en) Volume-based free form deformation weighting
JP2008033940A (ja) ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング
KR20080018407A (ko) 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체
KR20010113730A (ko) 영상을 처리하는 방법 및 장치
CN103489216A (zh) 使用摄像机和电视监视器的三维物体扫描
EP2065854B1 (en) posture dependent normal vectors for texture mapping
JP2001307126A (ja) 画像描画方法、画像描画装置、記録媒体及びプログラム
US6717575B2 (en) Image drawing method, image drawing apparatus, recording medium, and program
CN110443872B (zh) 一种具备动态纹理细节的表情合成方法
US7133052B1 (en) Morph map based simulated real-time rendering
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
GB2360681A (en) Three-dimensional sound and graphics reproduction system
WO2017002483A1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
JP2000268188A (ja) オクルージョンカリングを行う3次元グラフィックス描画装置および方法
JP3625201B2 (ja) 3次元モデル変形プログラム、3次元モデル変形方法及びビデオゲーム装置
JP6062589B1 (ja) プログラム、情報処理装置、影響度導出方法、画像生成方法及び記録媒体
KR100295709B1 (ko) 스폿라이트 특성 형성 방법 및 이것을 이용한 화상 처리 시스템
US10636210B2 (en) Dynamic contour volume deformation
JP4287479B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JP3363134B2 (ja) 3dモデルの描画データ作成方法、装置及び3dビデオゲーム装置並びに3dモデルの描画データ作成プログラムを記録した可読記録媒体
US11941739B1 (en) Object deformation network system and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees