JP3811604B2 - 画像描画方法、画像描画装置及び記録媒体 - Google Patents
画像描画方法、画像描画装置及び記録媒体 Download PDFInfo
- Publication number
- JP3811604B2 JP3811604B2 JP2000273220A JP2000273220A JP3811604B2 JP 3811604 B2 JP3811604 B2 JP 3811604B2 JP 2000273220 A JP2000273220 A JP 2000273220A JP 2000273220 A JP2000273220 A JP 2000273220A JP 3811604 B2 JP3811604 B2 JP 3811604B2
- Authority
- JP
- Japan
- Prior art keywords
- texture
- translucent
- semi
- transparent
- rendering
- 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 - Lifetime
Links
Images
Landscapes
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、例えば水の流れや煙の流れなどのような流体の動きを描画する場合に好適な画像描画方法及び画像描画装置並びにこの画像描画処理を実現するプログラムやデータが記録された記録媒体に関する。
【0002】
【従来の技術】
近時、隠線処理、隠面消去処理、スムーズシェーディング、テクスチャマッピング等のコンピュータグラフィックス(CG)処理が、ハードウエアの飛躍的な発達と相俟って急速に進歩している。
【0003】
CG処理としては、一般に、CADの3次元モデリングによって複数の3次元形状(オブジェクト)を作成し、これらのオブジェクトに対して色や陰影をつけ、鏡面反射、拡散反射、屈折、透明感などの光学的特性を付加し、表面模様をつけ、更に、まわりの状況(窓や景色の映り込みや光の回り込み等)に応じて描画するというレンダリング処理が行われる。
【0004】
【発明が解決しようとする課題】
ところで、例えば水の流れや煙の流れなどのような流体の動きを描く場合、多数のオブジェクトをランダムに動かし、その後、例えば水や煙の画像をテクスチャとして貼り付けて描画を行うという手法が考えられる。
【0005】
つまり、通常のポリゴンを処理する場合、ジオメトリ演算器でポリゴンの頂点の透視変換演算を行い、演算によって得られたポリゴンを描画プロセッサで表示用描画メモリに描画するという処理が行われる。
【0006】
例えば、n個のオブジェクトをランダムに動かした後に、テクスチャを貼り付けて描画を行う場合、上述の作業(オブジェクトに対する通常のポリゴンの処理)をn回行うことになり、n回×ポリゴン頂点数の透視変換演算と、n回×ポリゴン数の描画が必要となる。
【0007】
従って、水の流れや煙の流れにリアル感を出すためには、多数のオブジェクトを用意する必要があり、その分、計算や描画に時間がかかり、例えばモニタ上でのこれらオブジェクトの表示速度が遅くなるという不都合が生じる。
【0008】
本発明はこのような課題を考慮してなされたものであり、少なくとも1つのオブジェクト上で擬似的にテクスチャを移動させながら描画するという処理を行うことで、流体の動きを得るための計算や描画にかかる時間を大幅に低減することができ、かつ、高品位な描画を行うことができる画像描画方法、画像描画装置及び記録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、少なくとも1つのオブジェクト上で擬似的にテクスチャを移動させながら描画を行うことを特徴とする。
【0010】
具体的には、少なくとも1つの半透明又は透明オブジェクトの表面に1種又は数種の半透明テクスチャを配置し、前記1種又は数種の半透明テクスチャをそれぞれ任意の方向に擬似的に移動させながら描画を行う。この場合、前記半透明又は透明オブジェクトを一重又は多重に配置するようにしてもよい。
【0011】
これにより、オブジェクトの表面を擬似的に移動するテクスチャ画像がオブジェクト上で重なり合ってランダムな模様が無数に発生(アニメート)し、水の流れや煙の流れのような流体の動きが表現されることになる。
【0012】
また、前記オブジェクトを構成する複数の半透明又は透明ポリゴンの表面にそれぞれ1種又は数種の半透明テクスチャを配置し、前記1種又は数種の半透明のテクスチャをそれぞれ任意の方向に疑似的に移動させながら描画を行うようにしてもよい。この場合、前記半透明又は透明ポリゴンを一重又は多重に配置するようにしてもよい。
【0013】
これにより、複数のポリゴンの表面を擬似的に移動するテクスチャ画像がポリゴン上で重なり合ってランダムな模様が無数に発生(アニメート)することになり、水の流れや煙の流れのような流体の動きが表現されることになる。
【0014】
このように、本発明においては、少なくとも1つのオブジェクト上で擬似的にテクスチャを移動させながら描画するという処理を行うことで、流体の動きを得るための計算や描画にかかる時間を大幅に低減することができ、かつ、高品位な描画を行うことができる。
【0015】
【発明の実施の形態】
以下、本発明に係る画像描画方法及び画像描画装置を例えば3次元のCG処理を行うエンタテインメント装置に適用した実施の形態例(以下、単に実施の形態に係るエンタテインメント装置と記す)と、本発明に係る記録媒体をエンタテインメント装置で実行されるプログラムやデータが記録された記録媒体に適用した実施の形態例を図1〜図18を参照しながら説明する。
【0016】
本実施の形態に係るエンタテインメント装置10は、図1に示すように、このエンタテインメント装置10を制御するメインCPU12と、各種プログラムの動作や各種データの格納等に使用されるメインメモリ14と、前記メインCPU12の制御に基づいて画像データを生成し、表示装置16(この例ではCRT)に出力する画像処理部18と、外部機器とのデータの送受信を行うための入出力ポート20とを有して構成されている。
【0017】
前記メインCPU12には、バス22を介してメインメモリ14、画像処理部18及び入出力ポート20が接続されている。入出力ポート20には、例えばこのエンタテインメント装置10に対してデータ(キー入力データや座標データ等)を入力するための入力装置24や、各種プログラムやデータ(オブジェクトに関するデータやテクスチャデータ等)が記録された例えばCD−ROM等の光ディスクを再生する光ディスク装置26等が接続される。
【0018】
前記画像処理部18は、レンダリングエンジン30、メモリインターフェース32、画像メモリ34、表示制御装置36(例えばプログラマブルCRTコントローラ等)を有する。
【0019】
レンダリングエンジン30は、メインCPU12から供給される描画コマンドに対応して、メモリインターフェース32を介して、画像メモリ34に所定の画像データを描画する動作を実行する。
【0020】
メモリインターフェース32とレンダリングエンジン30との間には第1のバス38が接続され、メモリインターフェース32と画像メモリ34との間には第2のバス40が接続されている。第1及び第2のバス38及び40は、それぞれ例えば128ビットのビット幅を有し、レンダリングエンジン30が画像メモリ34に対して高速に描画処理を実行することができるようになっている。
【0021】
レンダリングエンジン30は、例えばNTSC方式、あるいはPAL方式などの320×240画素の画像データ、あるいは640×480画素の画像データを、リアルタイムに、即ち1/60秒〜1/30秒の間に、10数回〜数10回以上描画できる能力を有する。
【0022】
画像メモリ34は、例えばテクスチャ描画領域34aと表示描画領域34bを同一のエリアに指定することができるユニファイドメモリ構造のものが採用されている。
【0023】
表示制御装置36は、光ディスク装置26を通じて取り込まれたテクスチャデータやメインメモリ14上で作成されたテクスチャデータをメモリインターフェース32を介して画像メモリ34のテクスチャ描画領域34aに書き込んだり、画像メモリ34の表示描画領域34bに描画された画像データをメモリインターフェース32を介して読み取り、これを表示装置16に出力し、画面上に表示させるように構成されている。
【0024】
次に、この実施の形態に係るエンタテインメント装置10が有する特徴的な機能について図2〜図18を参照しながら説明する。
【0025】
この機能は、少なくとも1つのオブジェクト上で擬似的にテクスチャを移動させながら描画を行うというものである。
【0026】
具体的には、例えば図2に示すように、川200の中に支柱202が立っている場面において、川200の水が支柱202に当たって例えば両側に分かれて流れていく様子を想定する。
【0027】
この場合、例えば図3に示すように、支柱202(図2参照)の部分を除く川200のオブジェクト204を多数の半透明又は透明ポリゴン206(以下、単にポリゴンと記す)で構成し、各ポリゴン206に半透明のテクスチャ画像208(図4A参照)を貼り付ける。この半透明のテクスチャ画像208としては、波によって光が乱反射された部分を表現するための画像、例えば図4Aや図4Bに示すように、半透明の斑点がランダムに散りばめられた画像を用いることができる。
【0028】
そして、まず、画像メモリ34のテクスチャ描画領域34aに使用するテクスチャ画像を書き込み、その後、表示描画領域34bに必要なポリゴン206を描画すると共に、各ポリゴン206に対してそれぞれ対応するテクスチャ画像208をテクスチャマッピングして表示する。
【0029】
次いで、テクスチャ描画領域34aにおけるテクスチャ画像208を任意の方向に所定幅だけ移動して書き換え、書き換え後のテクスチャ画像208を各ポリゴン206にテクスチャマッピングして表示する。
【0030】
例えば、図3の例で説明すると、多数のポリゴン206から構成される1つのオブジェクト204の形に対応させて、任意のテクスチャ画像208をテクスチャ描画領域34aに描画する。
【0031】
具体的には、例えば図3の▲1▼で示す横方向に連続する5枚のポリゴン206を包含するテクスチャ画像208を図5に示すようにテクスチャ描画領域34aの▲1▼の領域に書き込み、同様に、図3の▲2▼で示す横方向に連続する5枚のポリゴン206を包含するテクスチャ画像208を図5に示すようにテクスチャ描画領域34aの▲2▼の領域に書き込む。
【0032】
次いで、図3の▲3▼で示す1枚のポリゴン206に対応するテクスチャ画像208を図5に示すテクスチャ描画領域34aの▲3▼の領域に書き込み、同様に、図3の▲4▼で示す横方向に連続する3枚のポリゴン206を包含するテクスチャ画像208を図5に示すテクスチャ描画領域34aの▲4▼の領域に書き込む。残りの▲5▼〜▲8▼についても上述と同様に行われる。
【0033】
そして、図3の(1)に示すポリゴン206に図5の(1)で示すテクスチャ画像208を貼り付けるというように、各ポリゴン206に対してそれぞれ対応するテクスチャ画像208を貼り付けていく。この段階で、初期状態の表示が行われることになる。
【0034】
その後、図5に示すように、各テクスチャ画像208を矢印で示す方向に所定幅だけ移動して書き換える。このとき、循環的な表現を行いたいテクスチャ画像208(例えば▲1▼や▲2▼で示すテクスチャ)については、前記移動によってはみ出た部分のテクスチャ画像208を移動上の始点部分に書き込む。
【0035】
特に、図5の(6)、(12)、(16)及び(19)で示すテクスチャ画像208は、それぞれ2方向に移動するように書き換えられる。
【0036】
このように処理することによって、図2に示すように、川200の水が一方向に流れ、特に支柱202の付近において、水の流れが変化するというリアルな映像を映し出すことができる。
【0037】
上述の例は、1つのオブジェクト204について見てきたが、その他、多数のオブジェクトが多重に配置された場合にも適用させることができる。
【0038】
例えば、図6に示すように、川200の中に支柱202(図2参照)が立っている場面において、2つの川のオブジェクト(第1及び第2のオブジェクト)204a及び204bを用意する。このとき、各オブジェクト204a及び204bを構成する多数のポリゴン206にテクスチャ画像を貼り付ける際に、第1のオブジェクト204aについては第1のテクスチャ画像208aを貼り付け、第2のオブジェクト204bについては第2のテクスチャ画像208bを貼り付けるようにする。
【0039】
そして、第1及び第2のオブジェクト204a及び204bを多重に配置することによって、二点鎖線の枠Aで示すように、第1のテクスチャ画像208aと第2のテクスチャ画像208bとが重なり合い、様々なパターンが発生することになる。
【0040】
更に、第1及び第2のテクスチャ画像208a及び208bが、それぞれ第1及び第2のオブジェクト204a及び204b上で時間の経過と共に任意の方向に移動させて書き換えられるため、多重配置されたオブジェクト204a及び204b上でランダムな模様が無数に発生(アニメート)することになり、水の流れや煙の流れのような流体の動きを更にリアルに表現することができる。
【0041】
多数のオブジェクトを多重に配置した例としては、例えば、図7Aに示すように、水道の蛇口210からの水を透明の水槽212に溜める場面が考えられる。この場合、例えば、図7Bに示すように、蛇口210から流れる水を表現するための1つのオブジェクト214、蛇口210から落下する水が水槽212の水面において周りに広がるのを表現するための2つのオブジェクト216及び218、水槽212内に水が溜まっていく様子を表現するための2つのオブジェクト220及び222を多重に配置した構成を採用することができる。
【0042】
そして、各オブジェクト214、216、218、220及び222において、上述と同様にオブジェクトを構成する多数のポリゴンにテクスチャ画像208を貼り付ける際に、それぞれ個別のテクスチャ画像208を貼り付け、更に、これらテクスチャ画像208を、それぞれ対応するオブジェクト214、216、218、220及び222上において、時間の経過と共に任意の方向に移動させて書き換えることによって、蛇口210から流れる水が水槽212に溜められていくリアルな映像が映し出されることになる。
【0043】
次に、上述の機能を達成させるためのソフトウエア(描画手段300)の一例について図8〜図18を参照しながら説明する。
【0044】
この描画手段300は、例えばCD−ROMやメモリカードのようなランダムアクセス可能な記録媒体、さらにはネットワークによって前記エンタテインメント装置10に提供されるようになっている。ここでは、CD−ROMのような光ディスク42からエンタテインメント装置10に読み込まれて動作する場合を想定して説明を進める。
【0045】
即ち、描画手段300は、例えば予めエンタテインメント装置10にて再生される特定の光ディスク42から所定の処理を経てエンタテインメント装置10のメインメモリ14にダウンロードされることによって、メインCPU12上で動作されるようになっている。
【0046】
そして、この描画手段300は、図8に示すように、光ディスク42に記録されたオブジェクト情報テーブル322等の各種テーブルを読み出すためのテーブル読出し手段302と、テクスチャ情報テーブル304の内容に基づいて必要なテクスチャ画像208を画像メモリ34のテクスチャ描画領域34aに描画するテクスチャ描画手段306と、テクスチャ描画領域34aに描画されたテクスチャ画像208とポリゴン情報テーブル308の内容に基づいて画像メモリ34の表示描画領域34bにポリゴン206を描画すると共に、各ポリゴン206に必要なテクスチャ画像208を貼り付けるレンダリング手段310と、テクスチャ描画領域34aに描画されたテクスチャ画像208を移動情報テーブル312の内容に基づいて移動して書き換えるテクスチャ移動手段314と、表示描画領域34bに描画されたポリゴン206に移動後のテクスチャ画像208を貼り付けるテクスチャマッピング手段316と、処理の終了を判別する終了判別手段318と、画像メモリ34の表示描画領域34bに描画された画像データを表示装置16に出力して表示させる表示処理手段320とを有する。
【0047】
ここで、描画手段300で使用される各種テーブルの内訳について図9〜図12を参照しながら説明する。
【0048】
オブジェクト情報テーブル322は、図9に示すように、各レコードに、オブジェクト204を構成するポリゴン206の数や、対応するテクスチャ情報テーブル304のアドレス、対応するポリゴン情報テーブル308のアドレス、対応する移動情報テーブル312のアドレスなどがそれぞれ登録されている。
【0049】
テクスチャ情報テーブル304は、図10に示すように、各レコードに、対応するテクスチャテーブル(各レコードにテクスチャ画像データの格納先頭アドレスが登録されている)のレコード指示情報と、使用するテクスチャ画像のデータ長、画像メモリ34のテクスチャ描画領域34aへの描画範囲(座標)などがそれぞれ登録されている。
【0050】
ポリゴン情報テーブル308は、図11に示すように、各レコードに、ポリゴン206の頂点座標と、画像メモリ34のテクスチャ描画領域34aのうち、使用すべきテクスチャ画像208が描画された部分の描画範囲(座標)などがそれぞれ登録されている。
【0051】
移動情報テーブル312は、図12に示すように、各レコードに、移動すべきテクスチャ画像の描画範囲(座標)、その移動方向(上下左右)、循環移動すべきか否かを示す循環情報などがそれぞれ登録されている。
【0052】
次に、描画手段300の処理動作について図13〜図18のフローチャートを参照しながら説明する。
【0053】
この描画手段300は、まず、図13のステップS1において、オブジェクト204の検索に使用されるインデックスレジスタiに初期値「0」を格納して、該インデックスレジスタiを初期化する。
【0054】
次に、ステップS2において、テーブル読出し手段302を通じて、オブジェクト情報テーブル322のiレコードを読み出す。
【0055】
次に、ステップS3において、終了判別手段318を通じて、前記読み出したレコードの内容がオブジェクト情報テーブル322の最後を示すEOFコードであるか否かが判別される。
【0056】
オブジェクト情報テーブル322の最後でなければ、次のステップS4に進み、テーブル読出し手段302を通じて、当該オブジェクト情報テーブル322のiレコード目から対応するテクスチャ情報テーブル304のアドレスと対応するポリゴン情報テーブル308のアドレスを読み出して、それぞれ該当するテクスチャ情報テーブル304とポリゴン情報テーブル308を読み出す。
【0057】
次に、ステップS5において、テクスチャ描画手段306での処理に入る。このテクスチャ描画手段306は、まず、図15のステップS101において、テクスチャ画像208の検索に使用されるインデックスレジスタjに初期値を格納して、該インデックスレジスタjを初期化する。
【0058】
次に、ステップS102において、該当するテクスチャ情報テーブル304のjレコードを読み出す。
【0059】
次に、ステップS103において、前記読み出したレコードの内容がテクスチャ情報テーブル304の最後を示すEOFコードであるか否かが判別される。
【0060】
テクスチャ情報テーブル304の最後でなければ、次のステップS104に進み、前記読み出されたjレコード目に格納されたテクスチャテーブルのレコード指示情報とテクスチャ画像208のデータ長に基づいて、テクスチャ画像データを読み出して、画像メモリ34のテクスチャ描画領域34aのうち、jレコード目に格納された描画範囲に対応する部分に描画する。
【0061】
次に、ステップS105において、インデックスレジスタjの値を+1更新した後、前記ステップS102に戻り、テクスチャ情報テーブル304における次のレコードの内容に基づいて上述と同様の処理を行う。
【0062】
そして、前記ステップS103において、テクスチャ情報テーブル304の最後を示すEOFコードが検出された段階で、このテクスチャ描画手段306での処理が終了する。
【0063】
図13のメインルーチンに戻り、次のステップS6において、レンダリング手段310での処理に入る。このレンダリング手段310は、まず、図16のステップS201において、ポリゴン206の検索に使用されるインデックスレジスタkに初期値「0」を格納して、該インデックスレジスタkを初期化する。
【0064】
次に、ステップS202において、該当するポリゴン情報テーブル308のkレコードを読み出す。
【0065】
次に、ステップS203において、k番目のポリゴン206を表示描画領域34bのうち、頂点座標から導き出される描画範囲に描画する。
【0066】
次に、ステップS204において、テクスチャ描画領域34aに描画されたテクスチャ画像208のうち、使用すべきテクスチャ画像208の描画範囲からテクスチャ画像208を読み出してk番目のポリゴン206にテクスチャマッピングする。
【0067】
次に、ステップS205において、インデックスレジスタkの値を+1更新した後、次のステップS206において、全てのポリゴン206について処理を行ったか否かが判別される。この判別は、インデックスレジスタkの値がポリゴン数M以上であるかどうかで行われる。
【0068】
全てのポリゴン206について処理が終了していなければ、前記ステップS202に戻り、次のポリゴン206を描画すると共に、該ポリゴン206に必要なテクスチャ画像208をテクスチャマッピングする。
【0069】
そして、ステップS206において、全てのポリゴン206に対する処理が終了したと判別された段階で、このレンダリング手段310での処理が終了する。
【0070】
図13のメインルーチンに戻り、次のステップS7において、インデックスレジスタiの値を+1更新した後、前記ステップS2に戻り、次のオブジェクト204について上述と同様の処理を行う。
【0071】
そして、前記ステップS3において、オブジェクト情報テーブル322の最後を示すEOFコードを検出した段階で、次のステップS8に進み、表示処理手段320を通じて、表示描画領域34bに描画された画像データを表示装置16に出力して表示させる。
【0072】
次に、図14のステップS9において、オブジェクト204の検索に使用されるインデックスレジスタiに初期値「0」を格納して、該インデックスレジスタiを初期化する。
【0073】
次に、ステップS10において、テーブル読出し手段302を通じて、オブジェクト情報テーブル322のiレコードを読み出す。
【0074】
次に、ステップS11において、終了判別手段318を通じて、前記読み出したレコードの内容がオブジェクト情報テーブル322の最後を示すEOFコードであるか否かが判別される。
【0075】
オブジェクト情報テーブル322の最後でなければ、次のステップS12に進み、テーブル読出し手段302を通じて、当該オブジェクト情報テーブル322のiレコード目から対応するポリゴン情報テーブル308のアドレスと対応する移動情報テーブル312のアドレスを読み出して、それぞれ該当するポリゴン情報テーブル308と移動情報テーブル312を読み出す。
【0076】
次に、ステップS13において、テクスチャ移動手段314での処理に入る。このテクスチャ移動手段314は、まず、図17のステップS301において、移動情報の検索に使用されるインデックスレジスタmに初期値「0」を格納して、該インデックスレジスタmを初期化する。
【0077】
次に、ステップS302において、該当する移動情報テーブル312のmレコードを読み出す。
【0078】
次に、ステップS303において、前記読み出したレコードの内容が移動情報テーブル312の最後を示すEOFコードであるか否かが判別される。
【0079】
移動情報テーブル312の最後でなければ、次のステップS304に進み、テクスチャ描画領域34aに描画されたテクスチャ画像208のうち、mレコードに格納されたテクスチャ画像208の描画範囲に対応する移動対象のテクスチャ画像208を、同じくmレコードに格納された移動方向に沿って所定幅だけ移動させて書き換える。
【0080】
次に、ステップS305において、循環描画が必要か否かが判別される。この判別は、前記mレコードに格納された循環情報に基づいて行われる。
【0081】
循環描画が必要である場合は、次のステップS306に進み、前記ステップS304での移動処理によって、はみ出した部分のテクスチャ画像208を始点部分に書き込む。
【0082】
前記ステップS306での処理が終了した段階、又は前記ステップS305において循環描画が不要であると判別された場合に、次のステップS307に進み、インデックスレジスタmの値を+1更新する。その後、前記ステップS302に戻り、次の移動情報に基づいて対応するテクスチャ画像208の移動、書き換え処理を行う。
【0083】
そして、前記ステップS303において、移動情報テーブル312の最後を示すEOFコードが検出された段階で、このテクスチャ移動手段314での処理が終了する。
【0084】
図14のメインルーチンに戻り、次のステップS14において、テクスチャマッピング手段316での処理に入る。
【0085】
このテクスチャマッピング手段316は、まず、図18のステップS401において、ポリゴン206の検索に使用されるインデックスレジスタkに初期値「0」を格納して、該インデックスレジスタkを初期化する。
【0086】
次に、ステップS402において、該当するポリゴン情報テーブル308のkレコードを読み出す。
【0087】
次に、ステップS403において、テクスチャ描画領域34aに描画されたテクスチャ画像208のうち、使用すべきテクスチャ画像208の描画範囲からテクスチャ画像208を読み出してk番目のポリゴン206にテクスチャマッピングする。
【0088】
次に、ステップS404において、インデックスレジスタkの値を+1更新した後、次のステップS405において、全てのポリゴン206について処理を行ったか否かが判別される。この判別は、インデックスレジスタkの値がポリゴン数M以上であるかどうかで行われる。
【0089】
全てのポリゴン206について処理が終了していなければ、前記ステップS402に戻り、次のポリゴン206に対して必要なテクスチャ画像208をテクスチャマッピングする。
【0090】
そして、ステップS405において、全てのポリゴン206に対する処理が終了したと判別された段階で、このテクスチャマッピング手段316での処理が終了する。
【0091】
図14のメインルーチンに戻り、次のステップS15において、インデックスレジスタiの値を+1更新した後、前記ステップS10に戻り、次のオブジェクト204について上述と同様の処理(テクスチャ画像208の移動処理とポリゴン206へのテクスチャマッピング処理)を行う。
【0092】
そして、前記ステップS11において、オブジェクト情報テーブル322の最後を示すEOFコードが検出された段階で、次のステップS16に進み、表示処理手段320を通じて、表示描画領域34bに描画された画像データを表示装置16に出力して表示させる。
【0093】
次に、ステップS17において、終了判別手段318を通じて、この描画手段300に対するプログラム終了要求があったか否かが判別される。終了要求がなければ、前記ステップS9に進み、最初のオブジェクト204から上述と同様の処理(テクスチャ画像208の移動処理とポリゴン206へのテクスチャマッピング処理)を行う。
【0094】
そして、前記ステップS17において、プログラム終了要求があったと判別された段階で、この描画手段300での処理が終了する。
【0095】
このように、本実施の形態に係る描画手段300においては、少なくとも1つのオブジェクト204上で擬似的にテクスチャ画像208を移動させながら描画を行うようにしている。具体的には、少なくとも1つの半透明又は透明なオブジェクト204の表面に1種又は数種の半透明テクスチャ画像208を配置し、前記1種又は数種の半透明なテクスチャ画像208をそれぞれ任意の方向に擬似的に移動させながら描画を行うようにしている。
【0096】
これにより、オブジェクト204の表面を擬似的に移動するテクスチャ画像208がオブジェクト上で重なり合ってランダムな模様が無数に発生(アニメート)し、水の流れや煙の流れのような流体の動きが表現されることになる。
【0097】
つまり、本実施の形態に係る描画手段300においては、少なくとも1つのオブジェクト204上で擬似的にテクスチャ画像208を移動させながら描画するという処理を行うことで、流体の動きを得るための計算や描画にかかる時間を大幅に低減することができ、かつ、高品位な描画を行うことができる。
【0098】
なお、この発明に係る画像描画方法、画像描画装置及び記録媒体は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【0099】
【発明の効果】
以上説明したように、本発明に係る画像描画方法、画像描画装置及び記録媒体によれば、少なくとも1つのオブジェクト上で擬似的にテクスチャを移動させながら描画するという処理を行うことが可能となり、流体の動きを得るための計算や描画にかかる時間を大幅に低減することができ、かつ、高品位な描画を行うことができる。
【図面の簡単な説明】
【図1】本実施の形態に係るエンタテインメント装置の構成を示すブロック図である。
【図2】川の水が支柱に当たって例えば両側に分かれて流れていく様子を示す説明図である。
【図3】図2に示すオブジェクトを多数のポリゴンに分割して示す説明図である。
【図4】図4A及び図4Bは、テクスチャ画像の例を示す説明図である。
【図5】テクスチャ描画領域に描画されたテクスチャ画像の移動方向を示す説明図である。
【図6】オブジェクトを多重に配置した例を示す説明図である。
【図7】図7Aは、水道の蛇口からの水を透明の水槽に溜める様子を示す説明図であり、図7Bは、図7Aに示す画像を複数のオブジェクトに分離して示す説明図である。
【図8】本実施の形態に係る描画手段の構成を示す機能ブロック図である。
【図9】オブジェクト情報テーブルの内訳を示す説明図である。
【図10】テクスチャ情報テーブルの内訳を示す説明図である。
【図11】ポリゴン情報テーブルの内訳を示す説明図である。
【図12】移動情報テーブルの内訳を示す説明図である。
【図13】本実施の形態に係る描画手段の処理動作を示すフローチャート(その1)である。
【図14】本実施の形態に係る描画手段の処理動作を示すフローチャート(その2)である。
【図15】テクスチャ描画手段の処理動作を示すフローチャートである。
【図16】レンダリング手段の処理動作を示すフローチャートである。
【図17】テクスチャ移動手段の処理動作を示すフローチャートである。
【図18】テクスチャマッピング手段の処理動作を示すフローチャートである。
【符号の説明】
10…エンタテインメント装置 16…表示装置
34…画像メモリ 34a…テクスチャ描画領域
34b…表示描画領域 42…光ディスク
204…オブジェクト 206…ポリゴン
208…テクスチャ画像
214、216、218、220、222…オブジェクト
300…描画手段 302…テーブル読出し手段
306…テクスチャ描画手段 310…レンダリング手段
314…テクスチャ移動手段 316…テクスチャマッピング手段
320…表示処理手段
Claims (7)
- 少なくとも1つの3次元的な形状を有する第1の半透明のオブジェクトを構成する複数のポリゴンに、画像メモリのテクスチャ描画領域に書き込まれ、かつ、前記第1の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第1の半透明オブジェクト描画ステップと、
前記第1の半透明のオブジェクトの上に描画される少なくとも1つの3次元的な形状を有する第2の半透明のオブジェクトを構成する複数のポリゴンに、前記テクスチャ描画領域に書き込まれ、かつ、前記第2の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第2の半透明オブジェクト描画ステップと、
描画された前記第1及び第2の半透明のオブジェクトについて、それぞれ前記複数の半透明のテクスチャを任意にそれぞれ移動させて前記テクスチャ描画領域内に書き込むテクスチャ移動ステップとを有し、
前記第1の半透明オブジェクト描画ステップ、前記第2の半透明オブジェクト描画ステップ及び前記テクスチャ移動ステップを繰り返すことを特徴とする画像描画方法。 - それぞれ3次元的な形状を有する3個以上の半透明のオブジェクトから1つの半透明のオブジェクトを選択する処理と、選択された前記半透明のオブジェクトを構成する複数のポリゴンに、画像メモリのテクスチャ描画領域に書き込まれ、かつ、該選択された前記半透明のオブジェクトに対応する半透明のテクスチャをそれぞれマッピングする処理とを、前記3個以上の半透明のオブジェクトについて、それぞれ順番に行う半透明オブジェクト描画ステップと、
描画された前記3個以上の半透明のオブジェクトから1つの半透明のオブジェクトを選択する処理と、該選択された前記半透明のオブジェクトについて、それぞれ前記複数の半透明のテクスチャを任意にそれぞれ移動させて前記テクスチャ描画領域内に書き込む処理とを、前記3個以上の半透明のオブジェクトについて、それぞれ順番に行うテクスチャ移動ステップとを有し、
前記半透明オブジェクト描画ステップ及び前記テクスチャ移動ステップを繰り返すことを特徴とする画像描画方法。 - 請求項2記載の画像描画方法において、
前記半透明オブジェクト描画ステップは、描画された前記半透明のオブジェクトの上に順次半透明のオブジェクトを描画することを特徴とする画像描画方法。 - オブジェクトを画像メモリに描画する画像描画装置において、
少なくとも1つの3次元的な形状を有する第1の半透明のオブジェクトを構成する複数のポリゴンに、前記画像メモリのテクスチャ描画領域に書き込まれ、かつ、前記第1の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第1の半透明オブジェクト描画手段と、
前記第1の半透明のオブジェクトの上に描画される少なくとも1つの3次元的な形状を有する第2の半透明のオブジェクトを構成する複数のポリゴンに、前記テクスチャ描画領域に書き込まれ、かつ、前記第2の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第2の半透明オブジェクト描画手段と、
描画された前記第1及び第2の半透明のオブジェクトについて、それぞれ前記複数の半透明のテクスチャを任意にそれぞれ移動させて前記テクスチャ描画領域内に書き込むテクスチャ移動手段とを有し、
前記第1の半透明オブジェクト描画手段での処理、前記第2の半透明オブジェクト描画手段での処理及び前記テクスチャ移動手段での処理を繰り返すことを特徴とする画像描画装置。 - オブジェクトを画像メモリに描画する画像描画装置を、
少なくとも1つの3次元的な形状を有する第1の半透明のオブジェクトを構成する複数のポリゴンに、前記画像メモリのテクスチャ描画領域に書き込まれ、かつ、前記第1の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第1の半透明オブジェクト描画手段、
前記第1の半透明のオブジェクトの上に描画される少なくとも1つの3次元的な形状を有する第2の半透明のオブジェクトを構成する複数のポリゴンに、前記テクスチャ描画領域に書き込まれ、かつ、前記第2の半透明のオブジェクトに対応した半透明のテクスチャをそれぞれマッピングする第2の半透明オブジェクト描画手段、
描画された前記第1及び第2の半透明のオブジェクトについて、それぞれ前記複数の半透明のテクスチャを任意にそれぞれ移動させて前記テクスチャ描画領域内に書き込むテクスチャ移動手段、
前記第1の半透明オブジェクト描画手段での処理、前記第2の半透明オブジェクト描画手段での処理及び前記テクスチャ移動手段での処理を繰り返す手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - オブジェクトを画像メモリに描画する画像描画装置を、
それぞれ3次元的な形状を有する3個以上の半透明のオブジェクトから1つの半透明のオブジェクトを選択する処理と、選択された前記半透明のオブジェクトを構成する複数のポリゴンに、画像メモリのテクスチャ描画領域に書き込まれ、かつ、該選択された前記半透明のオブジェクトに対応する半透明のテクスチャをそれぞれマッピングする処理とを、前記3個以上の半透明のオブジェクトについて、それぞれ順番に行う半透明オブジェクト描画手段、
描画された前記3個以上の半透明のオブジェクトから1つの半透明のオブジェクトを選択する処理と、該選択された前記半透明のオブジェクトについて、それぞれ前記複数の半透明のテクスチャを任意にそれぞれ移動させて前記テクスチャ描画領域に書き込む処理とを、前記3個以上の半透明のオブジェクトについて、それぞれ順番に行うテクスチャ移動手段、
前記半透明オブジェクト描画手段での処理及び前記テクスチャ移動手段での処理を繰り返す手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 請求項6記載の記録媒体において、
前記半透明オブジェクト描画手段は、描画された前記半透明のオブジェクトの上に順次半透明のオブジェクトを描画することを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000273220A JP3811604B2 (ja) | 1999-09-10 | 2000-09-08 | 画像描画方法、画像描画装置及び記録媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-257933 | 1999-09-10 | ||
JP25793399 | 1999-09-10 | ||
JP2000273220A JP3811604B2 (ja) | 1999-09-10 | 2000-09-08 | 画像描画方法、画像描画装置及び記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004005623A Division JP2004127323A (ja) | 1999-09-10 | 2004-01-13 | 画像描画方法、画像描画装置、記録媒体及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001148031A JP2001148031A (ja) | 2001-05-29 |
JP3811604B2 true JP3811604B2 (ja) | 2006-08-23 |
Family
ID=26543462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000273220A Expired - Lifetime JP3811604B2 (ja) | 1999-09-10 | 2000-09-08 | 画像描画方法、画像描画装置及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3811604B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002035380A (ja) * | 2000-07-27 | 2002-02-05 | Sun Corp | 遊技情報管理装置 |
KR101803770B1 (ko) * | 2015-08-11 | 2017-12-04 | 삼성전자주식회사 | 전자 장치 및 그 렌더링 방법 |
US10380784B2 (en) | 2015-08-11 | 2019-08-13 | Samsung Electronics Co., Ltd. | Electronic apparatus for mapping texture image and generating blending image |
-
2000
- 2000-09-08 JP JP2000273220A patent/JP3811604B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001148031A (ja) | 2001-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dutre et al. | Advanced global illumination | |
JP3599268B2 (ja) | 画像処理方法、画像処理装置及び記録媒体 | |
Hughes | Computer graphics: principles and practice | |
US20210295595A1 (en) | Generating three-dimensional virtual scene | |
RU2541925C2 (ru) | Способ для представления анимированного объекта | |
JP2009525526A (ja) | ビーム放出によって仮想画像を合成するための方法 | |
Montero et al. | Designing and implementing interactive and realistic augmented reality experiences | |
JPH02287776A (ja) | 大域レンダリングに階層ディスプレイリストを採用する方法 | |
EP1083521B1 (en) | Method of and apparatus for rendering image, recording medium, and program | |
CN101617343A (zh) | 快速渲染三维场景的方法和系统 | |
Funkhouser | Database and display algorithms for interactive visualization of architectural models | |
US6163320A (en) | Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique | |
JP4728721B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
Agnello et al. | Virtual reality for historical architecture | |
KR19980702733A (ko) | 3차원 그래픽 표시장치 | |
Boeykens | Unity for architectural visualization | |
Fu et al. | Layerpaint: A multi-layer interactive 3d painting interface | |
JP2000242811A (ja) | 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体 | |
JP2014505954A (ja) | 仮想環境における隠蔽の推定方法 | |
Bikmullina et al. | The development of 3D object modeling techniques for use in the unity environmen | |
JP3811604B2 (ja) | 画像描画方法、画像描画装置及び記録媒体 | |
JP2004127323A (ja) | 画像描画方法、画像描画装置、記録媒体及びプログラム | |
JP3517637B2 (ja) | 画像描画方法、画像描画装置及び記録媒体 | |
JPH06215150A (ja) | 三次元画像表示装置 | |
Malhotra | Issues involved in real-time rendering of virtual environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040113 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040302 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060529 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3811604 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: 20100602 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100602 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110602 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110602 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120602 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120602 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130602 Year of fee payment: 7 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |