(57)【要約】【課題】  本発明は，必要なポリゴンの形状を変化させずに，描画に用いられないポリゴン情報を削除するポリゴン処理装置を提供することを目的とする。【解決手段】  本発明は，あるポリゴンから複数の走査線を発生させ，その全ての走査線がポリゴンにより遮られるか否か判断する。そして，全ての走査線が遮られたポリゴンは，他のポリゴンに囲まれ，描画されないポリゴンであると推測し，描画のための処理を行わない。本発明は，上記のような処理を行うことで，必要なポリゴンの形状を変化させず，簡単な処理により，描画に用いられないポリゴンを描画対象から除外することができるという知見に基づくものである。【選択図】図１
2010282498.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンに関する情報を記憶するためのポリゴン情報記憶手段と，
前記ポリゴン情報記憶手段に記憶されたあるポリゴンから，複数の方向へ複数の走査線を発生するための走査線発生手段と，
前記走査線が他のポリゴンにより遮られるか否かを判断するための遮蔽判断手段と，
前記遮蔽判断手段が，前記あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，前記あるポリゴンに関する所定の描画処理を行わないように制御するための描画処理手段と，
を含む，３次元コンピュータグラフィックに用いられるポリゴン処理装置。
【請求項２】
前記走査線発生手段は，
前記あるポリゴン内のランダムの位置から，ランダムの方向へ複数の走査線を発生するための手段を含む，
請求項１に記載のポリゴン処理装置。
【請求項３】
請求項１に記載のポリゴン処理装置であって，ポリゴン透明度判断手段をさらに有し，
前記ポリゴン透明度判断手段は，
前記走査線が交差したポリゴンが透明又は半透明であるか否か判断するための手段であり，
ここで，前記遮蔽判断手段は，
前記走査線が交差したポリゴンが透明又は半透明である場合に，前記走査線は当該ポリゴンにより遮られないと判断する，
ポリゴン処理装置。
【請求項４】
コンピュータに，
あるポリゴンから複数の方向へ複数の走査線を発生するためのステップと，
前記走査線が他のポリゴンにより遮られるか否かを判断するためのステップと，
前記あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，前記あるポリゴンに関する所定の描画処理を行わないように制御するためのステップと，
を実行させるようにした，
３次元コンピュータグラフィック用プログラム。
【請求項５】
請求項４に記載のプログラムであって，
前記走査線が交差したポリゴンが透明又は半透明であるか否か判断するためのステップをさらに含み，
前記走査線が交差したポリゴンが透明又は半透明である場合に，前記走査線は当該ポリゴンにより遮られないと判断する，
プログラム。
【請求項６】
請求項４又は請求項５に記載のプログラムを記憶した，コンピュータ読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，３次元コンピュータグラフィックスに用いられるポリゴン処理装置に関する。より詳しく説明すると，本発明は，外観のクオリティを落とさずにポリゴンの数を減らすことができるポリゴン処理装置，プログラム及び情報記録媒体に関する。
【背景技術】
【０００２】
３次元コンピュータグラフィックス（３ＤＣＧ）において，３次元オブジェクトをリアルタイムに描画するための方法として，隠面消去処理が知られている。陰面消去処理は，他のオブジェクトに隠れて見えない面を消去する方法である。代表的な隠面消去処理方法は，Ｚバッファ法である。Ｚバッファ法は，画面のピクセル毎に各ピクセルのＺバッファからＺ値を読み出す。そして，Ｚバッファ法は，その後処理するピクセルが，このＺ値より後方であれば描画処理をキャンセルする。このようにしてＺバッファ法は，隠面消去処理を達成できる。一方，Ｚバッファ法は，Ｚバッファからピクセル単位でＺ値を読み出すため，処理コストが高いという問題がある。
【０００３】
ピクセル単位の描画処理を行う前に不要なポリゴンを処理対象から除外する方法として，早期Ｚカリング法が知られている。早期Ｚカリング法は，ピクセル単位でＺ値を比較する必要がないため，リアルタイムな画像処理に有効である。しかしながら，早期Ｚカリング法も，結局はＺバッファを参照するため，処理コストが高くなる。
【０００４】
特に３ＤＣＧを用いて映画を作成した場合，各オブジェクトが多数のポリゴンを含むこととなる。そして，そのような３ＤＣＧをゲームに用いる場合，ポリゴン処理コストが多くなるため，リアルタイムな描画を達成することが難しい。このため，ポリゴンの数を減らす処理を行うことが好ましい。
【０００５】
特開２０００−５７３６８号公報には，ポリゴンの数を減少させるポリゴン処理方法が開示されている。ポリゴンは，通常複数の頂点を含む平面によって構成される。この公報に開示された方法は，ポリゴンの頂点を格子点に一致させることで，隣接する微小ポリゴンを削除するというものである（図８）。リアルタイムな３次元コンピュータグラフィックスを実現するためには，描画のための処理量を減らすことが望ましい。よって，ポリゴンの数を減らす処理を行うことは，リアルタイムなコンピュータグラフィック表示に寄与することとなる。
【０００６】
また，３ＤＣＧをリアルタイムに処理する技術として，米国特許明細書第５７５１２９１号には，オクルージョンカリング法が開示されている。この方法は，オブジェクトを基本的図形で覆う。そして，あるオブジェクトを覆った基本図形が，他の基本図形にオクルードされているか否かが判断される。この方法は，他の基本図形にオクルードされている基本図形に覆われたオブジェクトを描画対象から除外する。このようにオクルージョンカリング法は，描画対象となるオブジェクトを減らすことができるので，画像処理コストを軽減できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−５７３６８号公報
【特許文献２】米国特許明細書第５７５１２９１号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特開２０００−５７３６８号公報に開示された方法では，頂点を格子点に一致させる際にポリゴンの形状が変化する。また，この方法は，頂点を格子点に一致させる際の頂点処理が複雑となる。
【０００９】
また，オクルージョンカリング法は，描画されないオブジェクトを検出する方法である。このため，描画されないポリゴンを見出すものではない。さらに，この方法は，オブジェクトを基本図形に近似した上で処理を行うため，精密なコンピュータグラフィックスを描画するには不向きである。
【００１０】
そこで，本発明は，必要なポリゴン（プリミティブ）の形状を変化させずに，描画に用いられないポリゴン情報を削除するポリゴン処理装置を提供することを目的とする。
また，本発明は，比較的簡単な処理で，描画に用いられないポリゴン情報を削除するポリゴン処理装置を提供することを目的とする。
さらに本発明は，コンピュータに上記のようなポリゴン処理装置を実装させるためのプログラムや，そのようなプログラムを記録した情報記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は，あるポリゴンから複数の走査線を発生させ，その全ての走査線がポリゴンにより遮られるか否か判断する。そして，全ての走査線が遮られたポリゴンは，他のポリゴンに囲まれ，描画されないポリゴンであると推測し，描画のための処理を行わない。本発明は，上記のような処理を行うことで，必要なポリゴンの形状を変化させず，簡単な処理により，描画に用いられないポリゴンを描画対象から除外することができるという知見に基づくものである。
【００１２】
本発明の第１の側面は，３次元コンピュータグラフィックに用いられるポリゴン処理装置に関する。このポリゴン処理装置は，ポリゴン情報記憶手段と，走査線発生手段と，遮蔽判断手段と，描画処理手段とを含む。ポリゴン情報記憶手段は，ポリゴンに関する情報を記憶するための手段である。走査線発生手段は，ポリゴン情報記憶手段に記憶されたあるポリゴンから，複数の方向へ複数の走査線を発生するための手段である。遮蔽判断手段は，走査線が他のポリゴンにより遮られるか否かを判断するための手段である。描画処理手段は，遮蔽判断手段が，あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，あるポリゴンに関する所定の描画処理を行わないように制御するための手段である。
【００１３】
本発明の第１の側面に係るポリゴン処理装置の好ましい態様は，走査線発生手段が，あるポリゴン内のランダムな位置から，ランダムな方向へ複数の走査線を発生するための手段を含むものである。
【００１４】
本発明の第１の側面に係るポリゴン処理装置の好ましい態様は，ポリゴン透明度判断手段をさらに有するものである。ポリゴン透明度判断手段は，走査線が交差したポリゴンが透明又は半透明であるか否か判断するための手段である。そして，遮蔽判断手段は，走査線が交差したポリゴンが透明又は半透明である場合に，走査線はこのポリゴンにより遮られないと判断する。この態様のポリゴン処理装置は，上記したいずれの態様をも組み合わせることができる。
【００１５】
これにより，透明又は半透明のポリゴンと走査線が接触した場合であっても，走査線が遮蔽されないとして描画処理を進めることができる。
【００１６】
本発明の第２の側面は，３次元コンピュータグラフィック用プログラムに関する。このプログラムは，コンピュータに，あるポリゴンから複数の方向へ複数の走査線を発生するためのステップと，走査線が他のポリゴンにより遮られるか否かを判断するためのステップと，あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，あるポリゴンに関する所定の描画処理を行わないように制御するためのステップと，を実行させるようにしたプログラムである。換言すると，このプログラムは，コンピュータを上記した第１の側面に係るポリゴン処理装置として機能させることができるプログラムといえる。
【００１７】
本発明の第２の側面の好ましい態様は，コンピュータに走査線が交差したポリゴンが透明又は半透明であるか否か判断するためのステップをさらに実行させるプログラムに関する。そして，このコンピュータは，走査線が交差したポリゴンが透明又は半透明である場合に，走査線はこのポリゴンにより遮られないと判断する。
【００１８】
本発明の第３の側面は，上記のプログラムを記憶した，コンピュータ読み取り可能な情報記録媒体に関する。
【発明の効果】
【００１９】
本発明は，あるポリゴンから複数の走査線を発生させ，その全ての走査線がポリゴンにより遮られるか否か判断する。本発明のポリゴン処理装置は，これにより，必要なポリゴンの形状を変化させずに，比較的簡単な処理で，描画に用いられないポリゴン情報を削除することができる。さらに本発明によれば，コンピュータに上記のようなポリゴン処理装置を実装させるためのプログラムや，そのようなプログラムを記録した情報記憶媒体を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は，本発明のひとつの実施態様であるポリゴン処理装置のブロック図である。
【図２】図２は，あるポリゴンにおける走査線がランダムに発生する場合の例を説明するための図である。
【図３】図３は，あるポリゴン上の格子点を示す。
【図４】図４は，あるポリゴンにおける走査線がある規則をもって発生する場合の例を説明するための図である。
【図５】図５は，走査線が遮蔽される様子を示す概念図である。
【図６】図６は，少なくとも１本の走査線が遮蔽されない様子を示す概念図である。
【図７】図７は，走査線が交差したポリゴンが透明又は半透明である場合の様子を示す概念図である。
【図８】図８は，本発明のある実施態様に係るポリゴン処理装置のブロック図である。
【図９】図９は，本発明のコンピュータグラフィックスの描画方法の基本工程を説明するためのフローチャートである。
【図１０】図１０は，本発明のコンピュータグラフィックスの描画方法を説明するためのフローチャートである。
【図１１】図１１は，映像作成システムの全体構成を例示するブロック図である。
【図１２】図１２は，に係る映像作成システムの動作手順を例示するフローチャートである。
【発明を実施するための形態】
【００２１】
以下，発明を実施するための形態について説明する。本発明は，以下に説明する実施態
様に限定されるものではない。本発明は，以下に説明する実施態様から当業者に自明な範
囲で適宜修正される範囲を含む。
【００２２】
図１は，本発明のひとつの実施態様であるポリゴン処理装置のブロック図である。図１に示されるように，このポリゴン処理装置１１は，ポリゴン情報記憶装置１３，走査線発生装置１５，遮蔽判断装置１７，描画処理装置１９，ポリゴン透明度判断装置２１，及びランダム値発生装置２３を含む。このポリゴン処理装置１１は，３次元コンピュータグラフィックスを描画処理するために用いられるものである。ポリゴン処理装置１１は，例えば，ゲーム機，パーソナルコンピュータ，ナビゲーション装置又は携帯用通信端末に実装される。各装置は，ハードウェアにより実装されてもよい。また，各装置は，ハードウェアとソフトウェアにより実装されてもよい。
【００２３】
ポリゴン情報記憶装置１３は，ポリゴンに関する情報を記憶するための装置である。本明細書においてポリゴンとは，あるオブジェクトを複数の平面で表した際のそれぞれの平面（プリミティブ）を意味する。ポリゴンの形状例は，三角形である。ポリゴンに関する情報の例は，あるポリゴンを構成する頂点座標，各頂点における色情報，各頂点における透明度情報，各頂点における反射率に関する情報，ポリゴンのテクスチャに関する情報，及び画像処理に用いられる各種情報である。
【００２４】
走査線発生装置１５は，あるポリゴンから，複数の方向へ複数の走査線を発生するための装置である。走査線発生装置１５は，ポリゴン情報記憶装置１３からあるポリゴンの頂点座標を読み出す。そして，読み出した頂点座標を用いて，ポリゴン上の座標値を求める。走査線発生装置１５は，求めたポリゴン上の点から走査線を発生させる。後述するように，この走査線は，遮蔽判断処理を行う際に用いられる。ひとつのポリゴンから発生する走査線の本数は，あらかじめ定められることが望ましい。すなわち，精度の高い描画処理を行う場合は，あるポリゴンから発生する走査線の数を多くすればよい。走査線の数の例は，３本以上１０２本以下である。精度の高い描画処理を行う場合の走査線の数の例は，１０本以上１０２本以下である。
【００２５】
走査線を完全にランダムで発生させる場合，ある方向に走査線が偏ることも起こりうる。この場合，適切な画像処理が行えなくなる恐れがある。このため本発明のポリゴン処理装置１１は，複数の走査線に，ポリゴンの法線方向の走査線又は法線方向と逆方向の走査線を含めるように処理することが好ましい。この場合，例えば，法線方向の走査線と，ランダムな方向の複数の走査線とを発生させることとなる。また，本発明のポリゴン処理装置１１は，複数の走査線に，ポリゴンのＺ方向の走査線を含めるように処理することが好ましい。さらに本発明のポリゴン処理装置１１は，複数の走査線に，ユーザの視点方向の走査線を含めるように処理することが好ましい。
【００２６】
複数の走査線は，ポリゴン内のある１点から発生してもよい。また，複数の走査線は，ポリゴン内の所定の箇所から発生するものであってもよい。ポリゴン内の所定の箇所の例は，頂点，及び２つの頂点の中点である。また，複数の走査線は，ポリゴン内のランダムな位置から発生してもよい。
【００２７】
遮蔽判断装置１７は，走査線が他のポリゴンにより遮られるか否かを判断するための装置である。換言すると，他のポリゴンが透明でない場合，遮蔽判断装置１７は，走査線が他のポリゴンと交差するか否かを判断する装置である。
【００２８】
遮蔽判断装置１７は，ポリゴン情報記憶装置１３に記憶されるポリゴンの頂点座標を読み出す。そして遮蔽判断装置１７は，読み出したポリゴンの頂点座標を用いて，走査線とポリゴンとが交差するか否か判断する。
【００２９】
描画処理装置１９は，遮蔽判断装置１７が，あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，あるポリゴンに関する所定の描画処理を行わないように制御するための装置である。これによりあるポリゴンが描画対象から除外される。所定の描画処理の例は，テクスチャ読出し処理，及び掃引処理があげられる。掃引処理の例は，各頂点間の色味を徐々に変化させるための色掃引処理があげられる。
【００３０】
描画処理装置１９は，遮蔽判断装置１７から全ての走査線が他のポリゴンにより遮られたという情報を受け取る。すると，描画処理装置１９は，この走査線を発したポリゴンは表示する必要がないポリゴンであると判断する。そうすると，描画処理装置１９は，描画処理を行う際に，ポリゴン情報記憶装置１３からこのポリゴンに関する情報を読み出さない。一方，描画処理装置１９が，遮蔽判断装置１７から全ての走査線が他のポリゴンにより遮られてはいないという情報を受け取った場合は，ポリゴン情報記憶装置１３からこのポリゴンに関する情報を読み出し，通常の画像処理を行う。
【００３１】
ポリゴン透明度判断装置２１は，走査線が交差したポリゴンが透明又は半透明であるか否か判断するための装置である。遮蔽判断装置１７は，走査線が交差したポリゴンが透明又は半透明である場合に，走査線がポリゴンにより遮られないと判断すればよい。
【００３２】
次に，本発明のポリゴン処理装置１１の好ましい態様を説明する。遮蔽判断装置１７がある走査線が他のポリゴンと交差すると判断した場合，遮蔽判断装置１７は，そのポリゴンに関する情報を，ポリゴン透明度判断装置２１へ伝える。すると，ポリゴン透明度判断装置２１は，ポリゴン情報記憶装置１３からそのポリゴンを構成する頂点の透明度に関する情報を読み出す。そして，そのポリゴンが透明であるか否か，又は半透明であるか否か判断する。そのポリゴンが透明であるか，又はそのポリゴンの透明度が所定の透明度以上である場合，ポリゴン透明度判断装置２１は，そのポリゴンが透明又は半透明であると判断する。ポリゴン透明度判断装置２１は，判断結果を遮蔽判断装置１７へ伝える。そして，遮蔽判断装置１７は，ある走査線が交差したポリゴンが透明又は半透明である場合，走査線が遮られないと判断する。
【００３３】
本発明のポリゴン処理装置１１は，上記のような構成を採用するため，あるポリゴンが描画処理する必要がないポリゴンであるか否かを適切に把握することができる。
【００３４】
次に，上記のポリゴン処理装置１１の動作例を，図面を用いて説明する。図２は，あるポリゴンにおける走査線がランダムに発生する場合の例を説明するための図である。図３は，あるポリゴン上の格子点を示す。図４は，あるポリゴンにおける走査線がある規則をもって発生する場合の例を説明するための図である。なお，図２において符号３７，３９，及び４１は，第１のポリゴン３０に隣接するポリゴンの頂点である。
【００３５】
走査線発生装置１５は，ポリゴン情報記憶装置１３からあるポリゴン３０の頂点３１，３３，３５の座標を読み出す。なお，頂点３１の座標をＶ（Ｘ３１，Ｙ３１，Ｚ３１）のように表記する。走査線発生装置１５は，これらの頂点座標により，第１のポリゴン３０の位置を把握することができる。走査線を発生する方法の例を以下に説明する。第１のポリゴン３０の空間位置を把握するためには，まず三角形の辺上の点の座標を求める。例えば，Ｖ（Ｘ３１，Ｙ３１，Ｚ３１）とＶ（Ｘ３３，Ｙ３３，Ｚ３３）とを用いて，これらの値を掃引することで，辺３１，３３上の点を求めることができる。その後，隣接する辺上の２点間を掃引することで，三角形面内の座標を求めることができる。このようにしてポリゴン上の各点の座標を求めることができる。
【００３６】
図２に示される，走査線がランダムの方向に発生する場合の方向の決め方の例を説明する。ある点を基準点とする３次元空間内の直線の進行方向は，例えば，ＸＹ平面内のＸ軸とその直線のＸＹ平面上への射影とのなす角θ，その直線とＸＹ平面上への射影とのなす角φとにより表すことができる。図１に示す例では，ある走査線を発生させる場合，走査線発生装置１５は，ランダム数発生装置２３からランダムな数を受け取る。走査線発生装置１５は，θを求めるため，ランダム数発生装置２３に，１から３６０のいずれかの数をランダムに発生させる。また，走査線発生装置１５は，φを求めるため，ランダム数発生装置２３に，１から３６０のいずれかの数をランダムに発生させる。この作業を走査線の数だけ実行する。このようにして，複数の走査線の方向を求めることができる。
【００３７】
次に，走査線がポリゴン上のランダムな位置から発生する場合，走査線が発生する位置は，例えば以下のように求めればよい。まず，ポリゴンをメッシュ状に分割する。図３は，あるポリゴン上の格子点の様子を示す。例えば，ポリゴン上の１辺をｄ個に分割した場合，ポリゴン上の格子点の数は，（ｄ２＋３ｄ＋２）／２個となる。ポリゴンを構成する３つの頂点のうち，最もｘ座標の小さいものを第１の頂点３１とし，次にｘ座標の小さいものを第２の頂点３３とする。なお，ｘ座標が同じ２つの頂点については，ｙ座標が小さいものを前の頂点とすればよい。そして，第１の頂点３１を番号１で特定される格子点とし，以下格子点に（ｄ２＋３ｄ＋２）／２までの番号を割り振る。例えば，第２の頂点３３の番号は，（ｄ２＋１ｄ＋２）／２番であり，第３の頂点３５の番号は，（ｄ２＋３ｄ＋２）／２番である。
【００３８】
走査線発生装置１５は，走査線が発生する格子点を決定するため，ランダム数発生装置２３に，１から（ｄ２＋３ｄ＋２）／２までの数をランダムに発生させる。そして，走査線発生装置１５は，ランダム数発生装置２３が発生した数を受け取る。走査線発生装置１５は，受け取った数で特定される番号の格子点を，走査線が発生する格子点とする。このようにすれば，ポリゴン上のランダムな位置から走査線を発生させることができる。
【００３９】
第１の走査線４３を発生するためには，以下のように処理を行えばよい。走査線発生装置１５は，ポリゴン情報記憶装置１３からポリゴン分割数ｄに関する情報を受け取る。すると，走査線発生装置１５は，ランダム数発生装置２３へ（ｄ２＋３ｄ＋２）／２までの数をランダムに発生させるよう要求する。そして，走査線発生装置１５は，得られた数を番地として用いて，第１の走査線４３が発生するポリゴン上の点を求める。次に，走査線発生装置１５は，１〜３６０までの数を２つランダムに発生するように求める。走査線発生装置１５は，得られた２つの数をそれぞれθ及びφとして求めて，第１の走査線４３の方向を決める。このようにして，走査線発生装置１５は，第１の走査線４３を求めることができる。走査線発生装置１５は，第１の走査線４３を求めたのと同様の方法で，第２の走査線４５，第３の走査線４７，及び第４の走査線４９を求めることができる。走査線発生装置１５は，それ以降の走査線も同様に発生させることができる。
【００４０】
走査線は，例えば第１の頂点３１のみから発生するものであってもよい。この場合，所定の数（ｎ本）の走査線についてのθ及びφを求めることで，必要な走査線を求めることもできる。また，図４に示すように，第１の頂点３１，第２の頂点３３，及び第３の頂点３５からは走査線が発生するようにしてもよい。この場合，これら頂点以外の点から発生する走査線の位置を求めればよい。また，例えば，第１の走査線４３の方向を，ポリゴン３０の法線方向にしてもよい。この場合は，第２の走査線４５以降の走査線の方向をあらかじめ定めた方向としてもよいし，ランダムな方向としてもよい。
【００４１】
次に，遮蔽判断装置１７が，走査線が他のポリゴンにより遮られるか否かを判断する動作例について説明する。例えば，第１の走査線４３が他のポリゴンにより遮られる場合，遮蔽判断装置１７は，第２の走査線４５が他のポリゴンにより遮られるか否かを判断する。遮蔽判断装置１７は，第２の走査線４５以降の走査線についても同様に処理を行う。一方，遮蔽判断装置１７が，走査線が他のポリゴンにより遮られないと判断した場合，第２の走査線４５についての処理を行わない。この場合，遮蔽判断装置１７が，走査線は他のポリゴンにより遮られないと判断する。
【００４２】
第１の走査線４３が，第２のオブジェクト５１上のポリゴン５９と交差するかどうかは例えば以下のようにして判断すればよい。遮蔽判断装置１７は，ポリゴン情報記憶装置１３から，ポリゴン５９の第１の頂点５３の座標Ｖ（Ｘ５３，Ｙ５３，Ｚ５３），第２の頂点５５の座標Ｖ（Ｘ５５，Ｙ５５，Ｚ５５）及び第３の頂点５７の座標Ｖ（Ｘ５７，Ｙ５７，Ｚ５７）を読み出す。遮蔽判断装置１７は，第１の走査線４３のＺ５３におけるｘ座標値を求める。この求めたｘ座標値がＸ５３より小さいか，Ｘ５７より大きい場合，遮蔽判断装置１７は，第１の走査線４３がポリゴン５９と交差しないと判断する。求めたｘ座標値が，Ｘ５３より大きく，Ｘ５７より小さい場合，遮蔽判断装置１７は，Ｙ５３，Ｙ５５及びＹ５７から最大値（Ｙｍａｘ）及び最小値（Ｙｍｉｎ）を求める。遮蔽判断装置１７は，第１の走査線４３のＺ５３におけるｙ座標値を求める。この求めたｙ座標値がＹｍｉｎより小さいか，Ｙｍａｘより大きい場合，遮蔽判断装置１７は，第１の走査線４３がポリゴン５９と交差しないと判断する。このような近似法を用いて走査線とポリゴンの接触の有無を判断することで，情報処理量を大幅に減少させることができる。なお，上記の判断方法を１次スクリーニング法としてもよい。その場合，上記の方法により第１の走査線４３がポリゴン５９と交差すると判断された場合について，さらに第１の走査線４３がポリゴン５９とが交差するか判断してもよい。
【００４３】
遮蔽判断装置１７が第１の走査線４３はポリゴン５９と交差しないと判断した場合，遮蔽判断装置１７は，次のポリゴンが第１の走査線４３と交差するか否かを判断する。遮蔽判断装置１７は，この動作を繰り返す。
【００４４】
遮蔽判断装置１７が，第１の走査線４３はポリゴンにより遮蔽されると判断した場合，遮蔽判断装置１７は，第２の走査線４５がポリゴンにより遮蔽されるか否かを判断する。図５は，走査線が遮蔽される様子を示す概念図である。図６は，少なくとも１本の走査線が遮蔽されない様子を示す概念図である。図７は，走査線が交差したポリゴンが透明又は半透明である場合の様子を示す概念図である。図５の場合，第１の走査線４３は，第２のポリゴン５９により遮蔽される。また，第２の走査線４５は，第２のオブジェクト６１における第３のポリゴン６９（頂点６３，６５，６７により規定される）により遮蔽されている。このように全ての走査線について順にポリゴンとの接触の有無を判断すればよい。
【００４５】
遮蔽判断装置１７が，あるポリゴンについての全ての走査線が他のポリゴンにより遮蔽されると判断した場合，そのポリゴンは描画する必要のないポリゴンである。この場合，遮蔽判断装置１７は，描画不要情報（あるポリゴンについての全ての走査線が他のポリゴンにより遮蔽されると判断したことについての情報）を描画処理装置１９へ伝える。
【００４６】
描画処理装置１９は，３次元コンピュータグラフィックスに関する画像処理を行うための装置である。描画処理装置１９は，遮蔽判断装置１７から描画不要情報を受け取った場合，あるポリゴンに関する所定の描画処理を行わないように制御する。例えば，描画処理装置１９は，あるポリゴンの描画処理を行わず，他のポリゴンの描画処理を行う。
【００４７】
一方，図６に示す例では，第２の走査線４５が，いずれのポリゴンにも遮蔽されていない。すなわち図５の場合と比較すると第２の走査線４５を遮蔽した第３のポリゴン６５が存在しない。この場合，あるポリゴン３０は，描画される可能性のあるポリゴンである。この場合，第３の走査線４７以降の走査線について，他のポリゴンに遮蔽されるか否かを判断する必要がない。このため，遮蔽判断装置１７は，走査線がポリゴンに遮蔽されるか否かの判断をこれ以上行わない。
【００４８】
ポリゴン処理装置１１の好ましい態様は，透明又は半透明ポリゴンを考慮したコンピュータグラフィックスを可能にするものである。図７を参照してこの態様の動作例について説明する。遮蔽判断装置１７が，ある走査線４３があるポリゴン５９と交差すると判断した場合，遮蔽判断装置１７は，そのポリゴン５９に関する情報をポリゴン透明度判断装置２１へ伝える。すると，ポリゴン透明度判断装置２１は，ポリゴン情報記憶装置１３からそのポリゴン５９を構成する頂点５３，５５，５７における透明度に関する情報を読み出す。そして，そのポリゴンが透明であるか否か，又は半透明であるか否か判断する。ポリゴン透明度判断装置２１は，全ての頂点５３，５５，５７における透明度が１００％である場合，ポリゴン５９が透明であると判断する。そのポリゴンの透明度が所定の透明度以上である場合，ポリゴン透明度判断装置２１は，そのポリゴンが半透明であると判断する。なお，ポリゴン透明度判断装置２１が半透明であると判断する際の「所定の透明度」は，ポリゴン情報記憶装置１３に格納されていればよい。もっとも，所定の透明度は，適宜変更できるようにされていてもよい。ポリゴン透明度判断装置２１は，半透明であるか否かを判断する際に，ポリゴン情報記憶装置１３に格納されている所定の透明度を読み出す。そして，ポリゴン透明度判断装置２１は，ある走査線とポリゴンとの交点における透明度と，読み出した所定の透明度とを比較する。ポリゴンとの交点における透明度は，ポリゴン透明度判断装置２１が頂点５３，５５，５７における透明度を掃引することで求めることができる。もっとも，交点における透明度は，頂点５３，５５，５７における透明度の算術平均として求めてもよい。この場合，ポリゴン透明度判断装置２１は，頂点５３，５５，５７における透明度をポリゴン情報記憶装置１３から読出し，読み出した値を加算して，３で割る演算処理を行う。このようにして，ポリゴン透明度判断装置２１は，そのポリゴンが半透明であるか否かを判断する。ポリゴン透明度判断装置２１は，判断結果を遮蔽判断装置１７へ伝える。そして，遮蔽判断装置１７は，ある走査線が交差したポリゴンが透明又は半透明である場合，走査線が遮られないと判断する。
【００４９】
例えば，ある走査線４３が最初に接したポリゴン５９が透明又は半透明である場合，遮蔽判断装置１７は，さらに走査線４３が，他のポリゴンにより走査線４３が遮られるかどうか判断する。そして，遮蔽判断装置１７は，走査線４３が次のオブジェクト７１と接した場合，頂点７３，７５，７７で規定される第４のポリゴン７９が透明であるか否か，又はこのポリゴン７９が半透明であるか否か判断する。第４のポリゴン７９が透明でもなく半透明でもない場合，第１の走査線は遮蔽される。このため，ポリゴン処理装置１１は，第１の走査線に関する処理をやめ，第２の走査線が他のポリゴンにより遮蔽されるか否かの演算を始める。
【００５０】
図８は，本発明のある実施態様に係るポリゴン処理装置のブロック図である。このポリゴン処理装置１１は，入力装置９１，ＣＰＵ９２，演算装置９３，記憶装置９４及び画像処理ブロック９５を有する。そして，各要素はバス９６により情報の授受ができるように接続されている。また，このポリゴン処理装置１１は，バス９６を介してインターフェース（Ｉ／Ｆ）９７と接続されている。このため，たとえばこのポリゴン処理装置１１は，Ｉ／Ｆ９７を介して，プログラムを格納した情報記録媒体９８と接続することができる。このプログラムは，コンピュータや画像処理装置を，所定の手段として機能させるためのものである。また，このプログラムは，コンピュータや画像処理装置に所定のステップを実行させるためのものである。なお，Ｉ／Ｆ９７を介して接続されるメモリが，記憶装置９４の全部又は一部として機能してもよい。
【００５１】
画像処理ブロック９５は，グラフィック処理ユニット（ＧＰＵ）９９及びビデオＲＡＭ（ＶＲＡＭ）１００を有する。そして，ＧＰＵ９９及びＶＲＡＭ１００は，情報の授受を行うことができるように接続されている。図中符号１０１は表示画面（モニタ）を示し，符号１０２はスピーカを示す。
【００５２】
この実施態様では，例えば，ＣＰＵ９２，演算装置９３，記憶装置９４の作業空間，及び情報記録媒体９８に格納されたゲーム用プログラムが，走査線発生装置１５，遮蔽判断装置１７，描画処理装置１９，ポリゴン透明度判断装置２１，及びランダム値発生装置２３として機能する。そして，記憶装置９５及び情報記録媒体９８の記憶領域が，ポリゴン情報記憶装置１３及び作業領域として機能する。入力装置９１から操作情報が入力された場合，操作情報はバス９６を介してＣＰＵ９２へ伝えられる。すると，ＣＰＵ９２は，情報記録媒体９８に格納されるプログラムを読出し，所定の処理を行う。ＣＰＵ９２は，プログラムからの指令に従って，記憶装置９４や情報記録媒体９８に記憶される各種情報を読出し，演算装置９３において所定の演算を行う。ＣＰＵ９２は，演算結果を適宜記憶装置９４に記憶し，演算結果を用いてモニタ１０１やスピーカ１０２から適切な情報を出力する。
【００５３】
次に，このポリゴン処理装置１１の基本動作例について説明する。図９は，本発明のコンピュータグラフィックスの描画方法の基本工程を説明するためのフローチャートである。図中符号Ｓはステップを意味する。図９に示されるように，本発明の３ＤＣＧの描画方法は，走査線発生工程（ステップ１０１），遮蔽判断工程（ステップ１０２），ポリゴン描画処理工程（ステップ１０３），及び画像表示工程（ステップ１０４）を含む。すなわち，図８に示される例では，情報記録媒体９８に格納されたプログラムが，コンピュータに上記の各工程を実行させる。
【００５４】
走査線発生工程（ステップ１０１）は，あるポリゴンから複数の方向へ複数の走査線を発生するためのステップである。遮蔽判断工程（ステップ１０２）は，走査線が他のポリゴンにより遮られるか否かを判断するためのステップである。ポリゴン描画処理工程（ステップ１０３）は，あるポリゴンから発生された全ての走査線が他のポリゴンにより遮られたと判断した場合に，あるポリゴンに関する所定の描画処理を行わないように制御するためのステップである。画像表示工程（ステップ１０４）は，ポリゴン描画処理工程（ステップ１０３）での描画処理に基づいてモニタ１０１に表示するための画像データを求め，モニタ１０１に画像を表示するための工程である。
【００５５】
以下では，図１０を用いて，各工程における動作例について詳細に説明する。図１０は，本発明のコンピュータグラフィックスの描画方法を説明するためのフローチャートである。ポリゴン処理装置１１は，描画対象に含まれるポリゴンから，あるポリゴン３０を選択する（ステップ２０１）。複数存在するポリゴンからあるポリゴン３０を読み出す順番は任意である。例えば，記憶装置９４は，ポリゴンが形成された際にポリゴンに順番を振って記憶してもよい。そして，ＣＰＵ９２は，記憶装置９４から，振られた順番にポリゴンを読み出す。
【００５６】
ポリゴン処理装置１１は，ステップ２０１で選択されたポリゴン３０の頂点の座標を読み出す（ステップ２０２）。ＣＰＵ９２は，記憶装置９４からあるポリゴンの頂点３１，３３，３５の座標を読み出す。ＣＰＵ９２は，読み出した情報を用いて，演算装置９３に三角形面内の座標を求めるよう指令を出す。ポリゴン処理装置１１は，このようにしてポリゴン上の各点の座標を求めることができる。
【００５７】
次に，ポリゴン処理装置１１は，あるポリゴン３０から走査線を発生させる（ステップ２０３）。ＣＰＵ９２は，例えば，最初に走査線を発生させるポリゴン上の位置を求める。ＣＰＵ９２は，演算装置９３に対し，ポリゴンの頂点３１，３３，３５の座標を用いて，図３に示されるようにポリゴンを分割し，複数の格子点を求めるよう指令を出す。演算装置９３は，記憶装置９４から分割数ｄに関する情報を読出し，ポリゴンの頂点３１，３３，３５の座標を用いて，複数の格子点を求める演算を行う。
【００５８】
次にＣＰＵ９２は，演算装置９３に対し，（ｄ２＋３ｄ＋２）／２までの数をランダムに発生させるよう指令を出す。そして，ＣＰＵ９２は，受け取ったランダムな数を記憶装置９４に一時的に記憶させる。このランダムな数が，走査線の発生番地を特定する数である。
【００５９】
次に，ポリゴン処理装置１１は，走査線の方向を求める演算を行う。ＣＰＵ９２は，演算装置９３に，１〜３６０までの数を２つランダムに発生するよう指令を出す。ＣＰＵ９２は，得られた２つの数を記憶装置９４に記憶する。ポリゴン処理装置１１は，この２つの数を，走査線の方向を定めるθ及びφとして用いる。ＣＰＵ９２は，演算装置９３に対し，（ｄ２＋３ｄ＋２）／２までのランダムな数を用いて走査線の発生位置とし，１〜３６０までの数を２つランダムな数を用いて，走査線を発生させるよう指令を出す。このようにして，ポリゴン処理装置１１は，あるポリゴンから走査線を発生させることができる。
【００６０】
次に，ポリゴン処理装置１１は，他のポリゴンに関する情報を読み出す（ステップ２０４）。例えば，ＣＰＵ９２は，記憶装置９４から他のポリゴン５９の第１の頂点５３の座標，第２の頂点５５の座標及び第３の頂点５７の座標を読み出す。
【００６１】
ポリゴン処理装置１１は，第１の走査線４３が他のポリゴン５９と交差するか否かを判断する（ステップ２０５）。ＣＰＵ９２は，演算装置９３に対し，読み出した３つの頂点５３，５５，５７の座標を用いて，このポリゴン５９と第１の走査線４３と交差するか否か判断するよう指令を出す。そして，ＣＰＵ９２は，演算装置９３から演算結果を受け取る。ある走査線がいずれのポリゴンとも交差しない場合，走査線が発生したポリゴンは描画対象となるポリゴンである。ＣＰＵ９２は，第１の走査線４３と他のポリゴン５９とが交差するか否か判断したという情報を，記憶装置９４に記憶する。
【００６２】
ポリゴン処理装置１１は，走査線と交差するポリゴンが透明又は半透明であるか否かを判断する（ステップ２０６）。第１の走査線４３が他のポリゴン５９と交差するとＣＰＵ９２が判断した場合，ＣＰＵ９２は，演算装置９３に，このポリゴン５９が透明又は半透明であるか否かを判断するよう指令を出す。なお，ポリゴン処理装置１１は，描画対象に透明又は半透明のオブジェクトが存在しない場合，このステップを行わないように描画処理を進めてもよい。
【００６３】
ＣＰＵ９２は，記憶装置９４から，そのポリゴン５９を構成する頂点５３，５５，５７における透明度に関する情報を読み出す。そして，ＣＰＵ９２は，演算装置９３に対し，そのポリゴンが透明であるか否か，又は半透明であるか否か判断するよう指令を出す。演算装置９３は，全ての頂点５３，５５，５７における透明度が１００％である場合，ポリゴン５９が透明であると判断する。演算装置９３は，ポリゴン５９が半透明であるか否かを判断する際に，記憶装置９４に格納されている所定の透明度（閾値）を読み出す。そして，演算装置９３は，走査線４３とポリゴン５９との交点における透明度と，読み出した所定の透明度とを比較する。このようにして，演算装置９３は，そのポリゴン５９が半透明であるか否かを判断する。そして，ＣＰＵ９２は，演算装置９３から演算結果を受け取る。走査線が交差したポリゴンが透明でなく，半透明でもない場合は，走査線が発生したポリゴン３０は，描画対象ではないポリゴンである可能性がある。
【００６４】
ポリゴン処理装置１１は，全てのポリゴンについて，発生した走査線が他のポリゴンにより遮蔽されるか否かを判断したか否かを判断する（ステップ２０７）。具体的には，ＣＰＵ９２は，ステップ２０１〜ステップ２０６の処理を終えたポリゴンの番号を記憶装置９４に記憶させる。そして，ＣＰＵ９２は，演算装置９３に対し，記憶装置９４が記憶した処理済のポリゴンの番号を用いて，全てのポリゴンについて描画の要否を判断したか否か判断させる。そして，ＣＰＵ９２は，演算装置９３から演算結果を受け取る。
【００６５】
ポリゴン処理装置１１は，全てのポリゴンについて，走査線が遮蔽されるか否かを判断したと判断した場合，ポリゴン処理を終える（ステップ２０８）。ＣＰＵ９２は，演算結果を演算装置９３から受け取り，全てのポリゴンについて描画する必要があるか否か判断したと判断した場合，ポリゴン処理を終える。これにより描画処理に必要なポリゴンの数が減少する。このため，このポリゴン処理装置１１を含む画像表示装置は，コンピュータグラフィックスを高速かつ適切に表示できることとなる。
【００６６】
ステップ２０５において第１の走査線４３が他のポリゴン５９と交差しないと判断した場合，ステップ２０９に進む。この工程は，ポリゴン処理装置１１が，ある走査線について全てのポリゴンとの交差の有無を判断したか否か判断する工程である（ステップ２０９）。ＣＰＵ９２は，記憶装置９４に記憶される交差判断情報を読出し，演算装置９３に，ある走査線について全てのポリゴンとの交差の有無を判断したか否か判断するよう指令を出す。ＣＰＵ９２は，演算装置９３から演算結果を受け取る。ＣＰＵ９２が，ある走査線について全てのポリゴンとの交差の有無を判断していないと判断した場合は，ステップ２０４へ戻り，新たなポリゴンを読み出す（ステップ２０４）。そして，ある走査線と新たに読み出されたポリゴンとの交差の有無を判断する（ステップ２０５）。
【００６７】
一方，ＣＰＵ９２が，ある走査線について全てのポリゴンとの交差の有無を判断したと判断した場合は，ステップ２１０へと進む。この工程では，ポリゴン処理装置１１が，全ての走査線について全てのポリゴンとの交差の有無を判断したか否か判断する（ステップ２１０）。ＣＰＵ９２は，記憶装置９４からポリゴンとの交差の有無を判断した走査線に関する情報を読み出して，演算装置９３に，全ての走査線について全てのポリゴンとの交差の有無を判断したか否か判断するよう指令を出す。ＣＰＵ９２は，演算装置９３から演算結果を受け取る。そして，ＣＰＵ９２が全ての走査線について全てのポリゴンとの交差の有無を判断したと判断した場合，走査線を発生させたポリゴン３０は，描画対象である。この場合，ＣＰＵ９２は，ポリゴン３０を描画対象とするような処理を行い，ステップ２０７へと進む。一方，ＣＰＵ９２が全ての走査線について全てのポリゴンとの交差の有無を判断していないと判断した場合，ステップ２０３へと戻る。そして，新たに走査線を発生させ（ステップ２０３），発生させた走査線が他のポリゴンに遮蔽されるか否かの判断を行う（ステップ２０４〜ステップ２０６）。
【００６８】
ステップ２０７において，全てのポリゴンについて，発生した走査線が他のポリゴンにより遮蔽されていないと判断した場合，ポリゴン処理装置１１はステップ２０１に戻り，次のポリゴンについて他のポリゴンに覆われるか否か判断する（ステップ２０１〜ステップ２０６）。
【００６９】
このように処理を行うことで，本発明のポリゴン処理装置１１は，外観上のクオリティを下げずに，ポリゴンの数を減らすことができる。たとえば，キャラクタの服装を変更できるゲームがある。このようなゲームのゲーム画像を作成する際に，キャラクタの服装が変わることに伴い描画する必要がないポリゴンが変わる。本発明のポリゴン処理装置１１を用いれば，服装が変わったことに伴い隠れるポリゴンを容易に把握できる。これにより本発明のポリゴン処理装置１１を用いれば，ランタイムの負荷を軽減できることとなる。また，アニメーションを実現する３ＤＣＧにおいては，本発明のポリゴン処理方法を全てのフレームについて行うことで，アニメーションにおける外観のクオリティを損なわずに，画像処理量を減少させることができる。このように，本発明のポリゴン処理装置１１は，リアルタイムに３ＤＣＧを描画するために特に有効である。
【実施例１】
【００７０】
本実施例は，複数の映像構成データを統合することで一つの映像作品を完成させる映像作成システムに，上記したポリゴン処理装置を用いたものに関する。
三次元ＣＧ（Computer Graphics）等によるビデオゲームやアニメーションは，キャラクタデザイン，モーションデザイン，エフェクト制作，レイアウト設計，サウンドデザイン，シーン編集などの工程で，膨大な人数のデザイナーが共同作業を行うことによって制作されている。ビデオゲームやアニメーションの制作は，作業の規模が非常に大きいために全体を把握することが難しく，その結果，作業の非効率化，開発作業相互間のバランス調整の困難化などの問題が生じ易い。特に，映像作品の制作においては，最終結果としての見え方を確認しつつ個別の作業を進めなければならないという特有の課題を抱えており，これらを解決できる新たなシステムが必要とされていた。
【００７１】
本実施例は，映像作品の大規模開発を行う場合に，開発作業を効率的に行うことができ，さらに開発作業相互間のバランス調整を容易に行うことができる新たなシステムを提供するものである。
【００７２】
すなわち，この映像作成システムは，複数の映像構成データを統合することで一つの映像作品を完成させる映像作成システムであって，前記複数の映像構成データを作成および／又は編集する複数の個別編集ツールと，作成および／又は編集された前記複数の映像構成データを取得し，これらを統合することで一つの映像データを作成するサーバと，前記サーバから取得した前記映像データを所定のマシンプラットフォーム上で表示するターゲット表示手段と，を備え，前記複数の個別編集ツールは，各個別編集ツール上で継続して稼働するデータ送信手段を備えており，当該データ送信手段は，前記映像構成データが作成および／又は編集される都度，前記サーバに対して作成および／又は編集された新たな映像構成データを送信し，前記サーバは，前記新たな映像構成データを取得する度に，当該新たな映像構成データを含む複数の映像構成データを統合することで，継続して最新の映像データを作成することを特徴とする映像作成システムに関する。そして，本発明のポリゴン処理装置は，個別編集ツールの一つとして機能する。
【００７３】
図１１は，本実施例に係る映像作成システムの全体構成を例示するブロック図である。本実施例に係る映像作成システムは，１つの映像データ（アニメーションなど）の構成要素となる複数の映像構成データ（たとえば，モデルデー夕，エフェクトデー夕，シーン編集情報，位置編集情報，サウンドデータなど）をそれぞれ編集するための個別編集ツール１２２，１２３，１２４，１２５を複数有している。個別編集ツールの具体例として，本実施例では，作成されたオブジェクト（映像に登場するアイテムなど）の座標位置を定義編集する位置編集手段１２２と，演出効果画像を作成するエフェクト編集手段１２３と，効果音を作成するサウンド編集手段１２４と，オブジェクト，モーション，編集画像，座標位置，演出効果画像，効果音を統合して映像シーンを表示出力するシーン編集手段１２５と，が示されている。
【００７４】
上記したポリゴン処理装置は，個別編集ツールの一つとして利用されうるものである。特に，ポリゴン処理装置はシーン編集手段１２５のある要素として機能する。また，上記したポリゴン処理装置は，後述するオブジェクト作成手段１１１の一要素として機能しオブジェクトの作成や編集を行う際に用いられてもよい。
【００７５】
また，モデルデータを編集する個別編集ツールとして，本実施例では，オブジェクトの作成および／又は編集を行うオブジェクト作成手段１１１と，オブジェクトのモーションを作成および／又は編集するモーション作成手段１１２と，作成されたオブジェクトおよびモーションの画像を編集する画像編集手段１１３と，作成されたオブジェクトおよびモーションを表示出力する表示出力手段１２１と，が例示されている。これら個別編集ツール１１１，１１２，１１３，１２１，１２２，１２３，１２４，１２５が編集する映像構成データは，後述するサーバ１４０によって実施されるデータの統合という処理を経ることで，映像データとして構築されるものである。なお，データの統合とは，互いに異質な映像構成データを有機的に連携させる処理のことである。
【００７６】
各個別編集ツール１１１〜１２５の具体的構成は，コンビュータ（１台でもよいし，図１１のブロック図で示される手段ごとにコンピュータを配置し，これら複数台のコンピュータを組み合わせることによって構成してもよい。）と，そのコンビュータ上で動作するアプリケーション等である。
【００７７】
また，各個別編集ツール１１１〜１２５で映像構成データが作成又は編集された際には，編集途中の映像構成データは，常時ハードディスク等の記憶装置に一時保存（上書き保存）されることとなる。つまり，各個別編集ツール１１１〜１２５での映像構成データの編集は，編集途中の映像構成データがハードディスク等に常に一時保存（上書き保存）されながら行われることになるので，各個別編集ツール１１１〜１２５が有するハードディスク等の記憶装置には，常時最新版の映像構成データが存在することとなる。
【００７８】
さらに，本実施例に係る映像作成システムの特徴として，各個別編集ツール１１１〜１２５には，常時稼働するデータ送信手段１２７が設けられている。このデータ送信手段１２７は，監視・データ送信用プログラムからなる手段であって，各個別編集ツール１１１〜１２５が有するハードディスク等の記憶装置に対する映像構成データの一時保存動作を常に監視しており，一時保存が行われると，一時保存された映像構成データを後述するサーバ１４０に向けて送信するように構成されている。
【００７９】
本実施例に係る映像作成システムは，サーバ１４０を有している。サーバ１４０は，具体的構成としてはコンピュータであり，前述した複数の個別編集ツール１１１〜１２５および後述する再生装置としてのターゲット表示手段１３０と，当該サーバ１４０との間をネットワーク接続する設備(たとえば，ＬＡＮ接続設備など)を備えている。
【００８０】
また，本実施例の特徴として，サーバ１４０は，映像構成データ管理手段１４１を有している。この映像構成データ管理手段１４１を具体的に説明すると，映像構成データ管理手段１４１は，各個別編集ツール１１１〜１２５から送信されてくる映像構成データをハードディスク等の記憶装置に一時保存（上書き保存）しておく映像構成データ保存手段１４２と，映像構成データ保存手段１４２に保存されている映像構成データを読み出してこれらを統合処理するデータ統合手段１４３（統合処理アプリケーション等からなる）と，統合されたデータをハードディスク等に一時保存（上書き保存）する統合データ保存手段１４４とを有している。
【００８１】
かかる構成を有する映像構成データ管理手段１４１は，各個別編集ツール１１１〜１２５から映像構成データが送信されてくると，映像構成データ保存手段１４２がこれを一時保存する。ここで映像構成データには，モデルデー夕，エフェクトデー夕，シーン編集情報，位置編集情報，サウンドデータなどの複数種類が存在しているが，映像構成データ保存手段１４２によって行われる一時保存は，種類ごとに区別して保存されている。また，映像構成データは，全種類同時一斉に送信されるのではなく，通常は一種類ごとにバラバラに送信されてくるので，一時保存もそのつど一種類ずつ保存することとなる。ただし，稀な現象として，映像構成データが全く同一の時刻に送信されてくる場合も存在するが，そのような場合であっても，映像構成データ保存手段１４２では，同一時刻に送信されてきた複数の映像構成データを一時保存することが可能なように構成されている。
【００８２】
一方，データ統合手段１４３は，常駐プログラムとして映像構成データの一時保存の有無を監視しており，一種類でも映像構成データの一時保存があれば，これら映像構成データのデータ統合を実行することとなる。すなわち，映像構成データ保存手段１４２に保存された全ての映像構成データを読み出して統合処理を行い，統合したデータを統合データ保存手段１４４に一時保存するのである。
【００８３】
以上のようにしてサーバ１４０内に映像データが完成するが，本実施例に係る映像作成システムは，さらに，ターゲット表示手段１３０を有しており，完成した映像データを再生することができるようになっている。
【００８４】
ターゲット表示手段１３０は，具体的構成として，複数種類の再生装置と表示装置とを有している。各再生装置の具体的例は，ゲーム機としてのコンピュータである。再生装置の種類とは，ゲーム機の種類を意味し，ゲーム機の種類（Playstation3（登録商標），XBOX360（登録商標），Wii（登録商標）など）とはマシンアーキテクチャやオペレーティングシステム等により実現されるアプリケーションプログラムを実行するために提供されるプラットフォームの種類を意味する。
【００８５】
なお，本実施例に係るターゲット表示手段１３０においては，各再生装置に適宜ランタイム等が設けられているため，所定の単一フォーマットで統合されたデータである統合データ（すなわち，映像データ）は，種類の異なる再生装置のいずれにおいても再生可能となっている。
【００８６】
ターゲット表示手段１３０としての各再生装置は，再生指示を受けると再生処理を実行する。ここでの再生指示は，ゲーム機のコントローラ等を介して入力するコマンドでもよいし，各個別編集ツールからネットワーク（サーバ１４０）を介して当該再生装置に送信されるコマンドなどであってもよい。再生装置がこの再生指示を受けると，サーバ１４０を介して統合データ保存手段１４４に一時保存された映像データを読み出し，読み出した映像データを再生することとなる。再生した映像データは，上述した表示装置に表示させることができる。たとえば，表示装置がゲーム機に接続されたモニタ等である場合には，このモニタに映像データが表示されることとなる。
【００８７】
なお，ターゲット表示手段１３０の取り得る別の構成として，表示装置を再生装置とは別個のコンビュータとして構成することも可能である。たとえば，この場合の表示装置は，映像編集等を行っている各開発者の席に設置されたパソコンとして構成することができる。このパソコンは，ネットワーク（サーバ１４０）を介して再生装置と接続されており，また，該パソコンには，ビューア手段（たとえば，遠隔操作のクライアントアプリケーション等）を備えることが好適である。各開発者が，パソコンのキーボード等より再生指示のコマンドを入力すると，ビューア手段がこれを受けて再生指示のコマンドが送信され，送信されたコマンドを受けた各再生装置は，上述した再生を行うこととなる。
【００８８】
一方，再生装置には，前記ビューア手段にディスプレイ情報を提供する画像サービス手段（例えば遠隔操作のサーバアプリケーション等）を備えることができ，当該画像サービス手段は，再生装置におけるディスプレイ情報（具体的には，ビデオバッファメモリに単位時間毎にレンダリングされる画像データ）を前記コマンドの送信元であるパソコンに送信する。パソコンでは，送信されてくるディスプレイ情報をビューア手段が画面表示する。これによって，パソコンでは，再生装置で再生されるディスプレイ映像を当該パソコンのディスプレイで確認することができる。
【００８９】
なお，再生装置は複数種類あることから，パソコンのディスプレイでの映像の表示は，再生装置ごとに個別のウインドウ表示とする構成を採用してもよい。あるいは，単一ウインドウとしてタブ等により切替表示するようにしてもよい。また別の方法として，再生指示のコマンドを再生装置の種類を指定して入力するようにしてもよい。再生装置の種類を指定した場合，指定された種類の再生装置においてのみ再生が行われることとなる。
【００９０】
また，上記パソコンである表示装置のさらなる別構成として，個別編集ツールのコンピュータが当該パソコンを兼用するように構成してもよい。この場合，画像等の編集をしながら，同じディスプレイの画面内で再生結果を確認できるので好都合である。
【００９１】
次に，本実施例に係る映像作成システムの動作手順について，図１２を用いて説明を行う。ここで，図１２は，本実施例に係る映像作成システムの動作手順を例示するフローチャートである。
【００９２】
各個別編集ツール１１１〜１２５において映像構成データが作成又は編集されると（ステップＳ３０１），各個別編集ツール１１１〜１２５を構成するコンビュータにインストールされた監視ソフトウェアによって編集作業の有無が確認され（ステップＳ３０２），編集作業が行われたと判断された場合には，各個別編集ツール１１１〜１２５が備えるハードディスク等の記憶装置に対して作成又は編集された映像構成データが一時保存（上書き保存）されることとなる（ステップＳ３０３）。この一時保存（上書き保存）は，映像構成データの編集途中から実施されており，各個別編集ツール１１１〜１２５が有するハードディスク等の記憶装置には，常時最新版の映像構成データが存在するようになっている。
【００９３】
また，各個別編集ツール１１１〜１２５を構成するコンピュータは，映像構成データが自己の記憶装置に一時保存（上書き保存）される状態をインストールされた監視ソフトウェアによって常時監視しており，映像構成データが一時保存（上書き保存）されたことを確認すると（ステップＳ３０４），各個別編集ツール１１１〜１２５を構成するコンピュータが有するデータ送信手段１２７を動作させることで，この一時保存された映像構成データをサーバ１４０に向けて送信する（ステップＳ３０５）。
【００９４】
各個別編集ツール１１１〜１２５から送られてくる映像構成データを取得したコンピュータであるサーバ１４０はインストールされたソフトウェアによって映像構成データ保存手段１４２を動作させ，各個別編集ツール１１１〜１２５から送信されてくる映像構成データをサーバ１４０側の記憶装置に一時保存（上書き保存）する（ステップＳ３０６）。
【００９５】
さらに，サーバ１４０は，統合処理アプリケーション等からなるデータ統合手段１４３を用いることによって映像構成データ保存手段１４２に保存されている映像構成データを読み出してこれらを統合処理し（ステップＳ３０７），その後，これまたインストールされたソフトウェアによって統合データ保存手段１４４を動作させることで，統合された映像データを記憶装置に一時保存（上書き保存）する処理を実行する（ステップＳ３０８）。
【００９６】
以上のようにしてサーバ１４０内に映像データが完成し，サーバ１４０が有するＬＡＮ接続設備などのネットワーク接続設備を利用することでターゲット表示手段１３０に対して統合された映像データが送信され（ステップＳ３０９），これを受信したターゲット表示手段１３０では，常に最新版の映像データを再生することができるようになっている（ステップＳ３１０）。
【００９７】
なお，各個別編集ツール１１１〜１２５での処理であるステップＳ３０１〜ステップＳ３０５については，並列時間的に処理を進めることができるようになっているので，本実施例に係る映像作成システムは，大規模なソフトウェア開発の現場において好適に用いることができるように構成されている。
【００９８】
以上，本実施例に係る映像作成システムの全体構成および動作手順について説明を行った。特に，本実施例に係る映像作成システムでは，映像構成データ管理手段１４１によって，大人数で進められる開発作業での統合データ（映像データ）が，個別編集ツール１１１〜１２５での個々の進捗に応じでほぼリアルタイムに更新されることとなる。従来行われていた通常の分散開発環境では，個々のＰＣでのモジュール作成作業を進捗に応じてリアルタイムで統合することができなかったが，映像作成システムが有する上記映像構成データ管理手段１４１により，開発作業相互間のバランス調整を容易に行うことが可能となっている。
【００９９】
また，本実施例に係る映像作成システムは，統合データ（映像データ）を所定のフォーマットで保存しておき，各種の再生装置ではランタイムを用いて当該所定のフォーマットのデータを共用する構成を採用している。通常は，最初に１つのプラットフォームに適合したソフトウェアの開発を行い，それが完成した後に他のプラットフォームへの変換移植を行うこととなるが，この移植作業では，プログラムの動作が適正かどうかが問題となり，細かい素材（デザインなど）を調整することはできなかった。特に，映像作品の場合，プラットフォームが異なると色彩やカメラ角度，解像度などが異なることから，細かい素材に関する問題を手当する必要が生じ，開発工程の後戻りが大きい。しかし，本実施例に係る映像作成システムでは，全てのプラットフォーム共通のものを開発工程の初めから進めるようにしたので，開発工程の後戻りをすることなく映像作品を開発することが可能である。
【０１００】
さらに，本実施例に係る映像作成システムでは，複数種類の再生装置を同時に備えることが容易となっている。これは，統合データ（映像データ）を所定のフォーマットで保存しておき，各種の再生装置ではランタイムを用いて当該所定のフォーマットのデータを共用する構成にしたためである。かかる構成によれば，統合データのフォーマットをプラットフォームごとに複数作成する必要がないので，従来技術に比して簡単な構成となるという利点がある。
【０１０１】
以上，本発明の好適な実施例について説明したが，本発明の技術的範囲は上記実施例に記載の範囲には限定されない。上記実施例には，多様な変更又は改良を加えることが可能である。
【０１０２】
たとえば，上述した本実施例に係るターゲット表示手段１３０については，各再生装置とネットワーク（サーバ１４０）を介して接続されたデータ配信サーバを有するように構成することも可能である。この構成の場合，再生指示は，統合データ保存手段１４４が統合データ（映像データ）を一時保存する際に，当該統合データ保存手段１４４が各再生装置に向けて送信するようになる。つまり，統合データ（映像データ）が更新される度に，各再生装置では直ちにこのデータを再生開始することとなる。再生とともに前記画像サーピス手段（たとえば，遠隔操作のサーバアプリケーション等）はこの再生画像をデータ配信サーバに送信し，再生画像を取得したデータ配信サーバでは，再生装置の種類ごとに，これら再生装置から送信されるディスプレイ情報（動画データ）を保存することとなる。また，データ配信サーバには，動画をストリーミング配信する配信手段（配信制御プログラムによる）を備えることができ，各パソコンからの指示によって前記ディスプレイ情報を配信することとなる。以上の構成によると，再生装置での再生処理は統合データの更新ごとに一回で済むので，マシン負荷を低減することができる。また，多数のパソコンから時間差のある指示があっても，データ配信サーバでのストリーミング配信により支障なくディスプレイ情報を配信できるので好都合である。
【０１０３】
また，本実施例に係る映像作成システムでは，個別編集ツール１１１〜１２５での個々の進捗に応じてほぼリアルタイムに映像データが統合更新される構成を採用しているが，更新直前に保存されていた映像データについては，それを保管しておき，所望の際に当該映像データを復活させて利用できるような構成としても良いし，過去の映像データは常時破棄し，常に最新の映像データのみを保管するような構成としてもよい。
【産業上の利用可能性】
【０１０４】
本発明は，３次元コンピュータグラフィックスを描画するためのコンピュータ関連産業や，３ＤＣＧを用いたゲーム機器，及びソフトウェアの産業において利用されうる。
【符号の説明】
【０１０５】
１１  ポリゴン処理装置；  １３  ポリゴン情報記憶装置；  １５  走査線発生装置；  １７  遮蔽判断装置；  １９  描画処理装置；  ２１  ポリゴン透明度判断装置；  ２３  ランダム値発生装置；  ３０  第１のポリゴン；  ３１，３３，３５  第１のポリゴンの頂点；  ３７，３９，４１  第１のポリゴンに隣接するポリゴンの頂点；  ４３  第１の走査線；  ４５  第２の走査線；  ４７  第３の走査線；  ４９  第４の走査線；  ５１  第２のオブジェクト；  ５３，５５，５７  第２のポリゴンの頂点；  ５９  第２のポリゴン；  ６１  第２のオブジェクト；  ６３，６５，６７  第３のポリゴンの頂点；  ６９  第３のポリゴン；  ７１  第３のオブジェクト；  ７３，７５，７７  第４のポリゴンの頂点；  ７９  第４のポリゴン；  ９１  入力装置；  ９２  ＣＰＵ；  ９３  演算装置；  ９４  記憶装置；  ９５  画像処理ブロック；  ９６  バス；  ９７  インターフェース；  ９８  情報記録媒体；  ９９  グラフィック処理ユニット；  １００  ビデオＲＡＭ；  １０１  表示画面（モニタ）；  １０２  スピーカ；  
１１１  オブジェクト作成手段;  １１２  モーション作成手段;  １１３  画像編集手段;  １２１  表示出力手段；  １２２  位置編集手段；  １２３  エフェクト編集手段;  １２４  サウンド編集手段;  １２５  シーン編集手段;  １２７  データ送信手段;  １３０  ターゲット表示手段;  １４０  サーバ;  １４１  映像構成データ管理手段;  １４２  映像構成データ保存手段;  １４３  データ統合手段;  １４４  統合データ保存手段
【図１】
2010282498.tif 000003
【図２】
2010282498.tif 000004
【図３】
2010282498.tif 000005
【図４】
2010282498.tif 000006
【図５】
2010282498.tif 000007
【図６】
2010282498.tif 000008
【図７】
2010282498.tif 000009
【図８】
2010282498.tif 000010
【図９】
2010282498.tif 000011
【図１０】
2010282498.tif 000012
【図１１】
2010282498.tif 000013
【図１２】
2010282498.tif 000014