JP2009545067A - グラフィックスプロセッサ上の物理シミュレーション - Google Patents
グラフィックスプロセッサ上の物理シミュレーション Download PDFInfo
- Publication number
- JP2009545067A JP2009545067A JP2009521775A JP2009521775A JP2009545067A JP 2009545067 A JP2009545067 A JP 2009545067A JP 2009521775 A JP2009521775 A JP 2009521775A JP 2009521775 A JP2009521775 A JP 2009521775A JP 2009545067 A JP2009545067 A JP 2009545067A
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- mesh
- data
- scene
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/203—Image generating hardware
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/643—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Complex Calculations (AREA)
Abstract
Description
A.1つ以上のGPU上で物理シミュレーションを行うための例示的なワークフロー
B.物理シミュレーションを実行する例示的なGPU
II.例示的な物理シミュレーションインターフェース
A.例示的な物理シミュレーションソフトウェアインターフェース(FYSI)
B.例示的な物理シーン記述言語(FYSL)
C.ポイントメッシュ関連の物理パラメータが受信され得る例示的な方法
III.1つ以上のGPU上での物理シミュレーションを行うための例示的な方法
A.方法の概観
B.クロスシミュレーションのための例示的な物理的モデル
C.GPU上でクロスをシミュレートするための例示的な実装
D.FYSLで書き込まれている例示的なコード
IV.例示的なコンピュータ実装
V.結び
I.1つ以上のGPU上での物理シミュレーションのあらまし
本発明の実施形態は、1つ以上のGPU上で物理シミュレーションを行うための方法、コンピュータプログラム製品、および系に向けられる。そのような物理シミュレーションは、例えば、(ビデオゲームなどの)アプリケーションのゲーム演算を行うために用いられ得る。本発明の実施形態に従って1つ以上のGPU上で物理シミュレーションを行うために、メッシュに関連した物理パラメータが、直接的にビデオメモリにマップされる。メッシュは、固体のオブジェクト、容量、流体、またはクロス(cloth)などのあらゆる物理的なオブジェクトを表し得る。ここで詳細に提示されるものは、1つ以上のGPU上でクロスの物理シミュレーションを行う、例示的な方法である。メッシュがビデオメモリにマッピングされた後に、GPUの少なくとも1つのピクセルプロセッサが、コンパイル済みシェーダープログラムを用いてビデオメモリ中のデータに演算を行う。GPUで直接的に物理シミュレーションを行うことは、CPU上で行われる典型的な物理シミュレーションに関連する待ち時間および帯域幅の問題を減少させ得る。
図2は、GPU上で物理シミュレーションを行うための例示的なワークフローのブロック図200を図示する。ブロック図200は、様々なソフトウェア要素、例えばアプリケーション210、物理シミュレーションソフトウェアインターフェース212、アプリケーションプログラミングインターフェース214、およびドライバ216を含み、それらは、力トコンピュータ系上で実行され、GPU218、(オプション)GPU220、および/または複数のGPU(不図示)などのグラフィックスハードウェア要素と相互作用することによって、物理的現象をシミュレーションし、ディスプレイ222への出力のためのフレームをレンダリングする。ブロック図200の個々の要素が、ここにより詳細に記述される。
本発明の実施形態に従ったGPUのアーキテクチャーは、単一命令多数データ(SIMD)技術を使用可能にし、その結果として、データレベル並列処理をもたらす。そのようなGPUは、プロセッサと、テクスチャ(またはビデオメモリ)を含む。プロセッサは、テクスチャ内のデータに基づきオペレーションを行う。該オペレーションの結果は、レンダーターゲット(ビデオメモリの一部)に書き込まれる。レンダーターゲットは、テクスチャまたは後続演算として再割り当てされ得る。テクスチャは、メモリの1D−、2D−、3D−アレイなどのように、メモリのアレイに配列される。シェーダーは、プロセッサがテクスチャ内のデータに基づき特定の演算を行うために書き込まれた、小さなプログラムまたは一組の命令である。
図2に関して上述されたように、物理シミュレーションソフトウェアインターフェース212は、アプリケーション210が、GPU218、GPU220および/または複数のGPU上で物理シミュレーションを行うことを可能にする。この章では、例示的な物理シミュレーションインターフェースが記述される。まず、FYSIと呼ばれる、例示的な物理シミュレーションソフトウェアインターフェースが記述される。続いて、FYSIにおいて具現化される象徴的なコンセプトを表現するための、FYSLと呼ばれる例示的なシーン記述言語が記述される。最後に、FYSIを用いて1つ以上のGPU上で物理シミュレーションを行い、それにより、従来のソフトウェアダイナミックソルバーを回避するための、物理パラメータと属性をFYSLに変換する例示的な方法が記述される。しかし、認識されたいのは、これらの実施形態は、例示的目的のみに提示され、限定のためではないということである。本明細書に含まれる記述を基に、当業者は、1つ以上のGPU上で物理シミュレーションを行うための、他の種類の物理シミュレーションソフトウェアインターフェースの実装方法を理解することとなる。
FYSI−例示的な物理シミュレーションソフトウェアインターフェース系は、従来のCPUベースのシミュレーション関連の演算をGPU上でマッピングするための伝達手段である。FYSIを用いることによって、ゲーム物理において一般に経験されるものよりも、より高いインタラクション速度が達成され得る。FYSIは、グラフィックスハードウェア上に衝突の検知および解消をマッピングする従来の閉鎖クエリモダリティからはずれたものである。代替的に、FYSIは、ますます増えつつあるハードウェアでのプログラミングが可能なシェーディング力を強化する、グローバルシミュレーション解決法を提案する。
FYSI物理シミュレーションインターフェースライブラリへの入力象徴概念は、FYSLと呼ばれるカスタム化シーン記述フォーマットにおいて表される。FYSLは、XMLフォーマットにおいて表され、シーン、シミュレーション、アクター、ジョイント、およびフィードバックの5つのセクションから成る。これらのFYSLセクションのそれぞれは、スキーマタグおよび随意的価値割当を含む。スキーマタグおよび随意的価値割当は、以下に記述される。FYSLプログラムの見本は、この小節の終わりに提供される。
ソフトウェアダイナミクスソルバー(California州、San RafaelのAutodesk(R)所有、Maya(R)Dynamicsなど)は、CPUによって実行される物理シミュレーションを行うために存在する。本発明の実施形態に従うと、プラグインが用いられることによって、そのようなソフトウェアダイナミクスソルバーを迂回し、これによって、本明細書に記述されるようにGPU上で物理シミュレーションを行う。本実施形態において、プラグインは、シーンを捕捉し、該シーンに描写されるアクターに関連する属性およびフィールドをFYSLに変換する。その結果、物理シミュレーションが、FYSIを用いてGPU上で行われ得る。別の実施形態において、ユーザーは、物理シミュレーションが、GPUによって行われるか、またはソフトウェアダイナミクスソルバーによって行われるかを選択してよい。さらなる実施形態において、GPUの有効性および/または所定の機能に対するソフトウェアサポートなど、所定の基準に基づいて、GPUまたはソフトウェアダイナミクスソルバーが自動的に選択され、物理シミュレーションが行われる。例えば、GPUは、剛体およびクロスの物理シミュレーションを行うために用いられ得るが、ソフトウェアダイナミクスソルバーは、流体の物理シミュレーションを行うために用いられ得る。物理シミュレーションをGPUまたはソフトウェアダイナミクスソルバーによって行うことによって、より速いフレーム速度が達成され得る。特定のソフトウェアダイナミクスソルバー(すなわち、Maya(R)Dynamics)を迂回するための例示的なプラグインが、本章に記述されるが、まず、Maya(R)Dynamicsのあらましが提供される。
A.方法の概観
ここに、FYSIおよびFYSLを用いた、1つ以上のGPU上での物理シミュレーションを行うための例示的方法を記述する。図7は、ブロック図を図示し、本発明の実施形態に従って、1つ以上のGPU上でゲーム物理シミュレーションを行うための例示的な方法700を例示している。方法700は、ステップ710から始まり、ここでは、メッシュに関連した物理パラメータが、ビデオメモリにマッピングされることによって、シーンに図示されたメッシュの運動を決定する線形方程式系をセットアップする。ビデオメモリは、図3に関連して上述された、テクスチャ310を含み得る。当業者に明らかなように、メッシュは、個体のオブジェクト、体積、流体、クロス、または他の種類の物理的オブジェクトなどの、あらゆる種類の物理的なオブジェクトを表し得る。
クロスは、内在する粒子系によってシミュレーションされ得る。そのような内在型粒子系は、内部的な伸張力および減衰力を受ける、点質量のアレイとして表され得る。これら力は、近傍の点の相対的変位および速度に依存する。そのような点質量のアレイは、本明細書において点メッシュと参照される。図8は、例示的な点メッシュを図示する。
インプリシットにクロスをシミュレーションするためのモデルを記述したが、ここで、GPU上での各離散時間ステップに対してクロスのシミュレーションを実装するための、3ステップの方法が記述される。図9は、本発明の実施形態に従った、GPU上でクロスのシミュレーションを実装するための、例示的な流れ図を描写する。言い換えると、図9は、図4を参照して上述された物理シミュレーションブロック410の、特定の実装に関する高レベルな描写である。図9において、大きな円は、テクスチャまたはビデオメモリの配列を表し、図3を参照して上述された、テクスチャ310に類似し得る。テクスチャへのデータの特定のマッピングは、以下の通りである。(i)円902(Mと分類される)は、点メッシュ800における各点の質量に関連したデータを含む、テクスチャを表す。(ii)円904(Pと分類される)は、点メッシュ800における各点の位置に関するデータを含むテクスチャを表す。(iii)円906(Vと分類される)は、点メッシュ800における各点の速度に関するデータを含むテクスチャを表す。(iv)円908(Fと分類される)は、点メッシュ800における各点に作用するネット力に関するデータを含むテクスチャを表す。そして、(v)円912(Jと分類される)は、ヤコビアン行列に関するデータを含むテクスチャを表す。影つきの円910は、カーネル演算(1つ以上のGPUによって行われる数学的演算など)を表す。
GPU実装の設計上の大きな難問は、コンパクトであり、かつ単一命令多重データ(SIMD)パラレル化を容易にする、系方程式のテクスチャ表現の開発である。本発明の1つの実施形態は、検討中の矩形点メッシュから直接的に得られた構造を有する、17の持続性テクスチャを利用する。しかし、本発明は、17のテクスチャに限定はされない。本発明の精神および範囲から逸脱することなく、異なる数のテクスチャを用いてGPU上に物理シミュレーションを行う方法を、当業者は理解することとなる。
(2)AmおよびBmに格納された
再び図8を参照すると、GPU上でのクロスのシミュレーションにおける第2のステップは、システムソルバーステップである。システムソルバーステップに対する最も有力なアプローチは、前述のBaraff引例に記述された、線形系
再び図8を参照すると、GPU上でのクロスのシミュレーションにおける第3および最終のステップは、衝突応答ステップである。衝突検出スキームは、シミュレーションされているメッシュ(例えば点メッシュ800)からの点の対が、(i)メッシュからの別の点の対、または(ii)シミュレーションされている別のオブジェクト(例えば、点メッシュ800として同一のシーンに描写されているボール)からの点の対、のいずれかと交わるかどうかを決定することによって、衝突が起きたかどうかを確認する。前述のBaraff引例によって例示されるように、衝突検出スキームは、当業者に周知である。当業者に公知のあらゆる衝突検出スキームが、本発明の精神および範囲から逸脱することなく、用いられ得る。
以下に提供されるものは、FYSLで書かれたコードの例示的セクションである。特に、以下に提供されるものは、(i)FYSLで書かれた高レベルシーン記述、(ii)チャイルドアクター展開、および(iii)ファブリックジョイントのプロトタイプ展開、である。
本発明の実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実装され得、また、1つ以上のコンピュータシステムまたは他のプロセッシングシステムにおいて実装され得る。しかし、本発明によって行われる操作は、加算や比較などに関して、頻繁に参照されたが、それらは、一般的に、人間のオペレーターによって行われる、頭の中で行うオペレーションに関連する。本発明の一部を形成する、本明細書に記述されるオペレーションのいずれにおいても、そのような人間のオペレーターの能力はなにも必要なく、または、ほとんどの場合において望まれない。むしろ、オペレーションは、機械的なオペレーションである。本発明のオペレーションを行うために有用な機械は、デジタルコンピュータを含み、例えば、パーソナルコンピュータ、ビデオゲームコンソール、携帯電話、携帯情報端末、または同様のデバイスなどである。
概要および要約の章ではなく、実施形態の章は、請求項を解釈するために用いられることを意図するということを、認識されたい。概要および要約の章は、発明者によって意図されるように、本発明の、全てではないが、1つ以上の例示的な実施形態を述べ得る。故に、概要および要約の章は、あらゆる方法において、本発明および添付の請求項を限定する意図はない。
Claims (43)
- 少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行う方法であって、該方法は、
少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングすることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定することと、
少なくとも1つのピクセルプロセッサを用いて該複数のメモリアレイ中のデータに演算を行うことによって、ある時刻に対する線形方程式系を解くことと
を包含し、
該時刻に対する線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、方法。 - 前記複数のメモリアレイ中の前記変更されたデータに基づいて、前記時刻に対する前記シーンにおいて描写される、前記1つ以上のメッシュの運動を更新することをさらに含む、請求項1に記載の方法。
- 前記時刻に対する前記少なくとも1つのメッシュを含む、少なくとも1つの衝突を識別することと、
(i)前記複数のメモリアレイ中の前記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、前記時刻に対する前記シーン中に描写される前記少なくとも1つのメッシュの運動を更新することと
をさらに含む、請求項1に記載の方法。 - 前記ピクセルプロセッサを用いて前記変更されたデータに演算を行うことによって、次の時刻に対する線形方程式系を解くことをさらに含み、該次の時刻に対する線形方程式系に対する解を表す変更されたデータは、前記複数のメモリアレイに格納される、請求項1に記載の方法。
- 前記複数のメモリアレイ中の前記さらなる変更されたデータに基づいて、前記次の時刻に対する前記シーン中に描写される少なくとも1つのメッシュの運動を更新することをさらに含む、請求項4に記載の方法。
- 前記次の時刻に対する前記少なくとも1つのメッシュを含む、少なくとも1つの衝突を識別することと、
(i)前記複数のメモリアレイ中の前記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、前記次の時刻に対する前記シーン中に描写される前記少なくとも1つのメッシュの運動を更新することと
をさらに含む、請求項4に記載の方法。 - 演算を行うことは、
少なくとも1つのピクセルプロセッサを用いて前記複数のメモリアレイ中のデータに演算を行うことによって、インプリシットに前記線形方程式系を積分することによって、ある時刻に対する該線形方程式系を解くことを含み、
前記時刻に対する該線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、請求項1に記載の方法。 - 前記方法は、マッピングに先立って、さらに、
ソフトウェアダイナミクスソルバーからシーンを捕捉し、該シーン中に描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、前記複数のメモリアレイにマッピングされる物理パラメータに変換することと、
該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートすることと
をさらに含み、
該シミュレーション結果は、前記少なくとも1つのピクセルプロセッサによって演算された前記時刻に対する前記線形方程式系に対する解に対応する、請求項1に記載の方法。 - 前記少なくとも1つのGPUで実行するシェーダーとして、該シーンにおいて描写される該メッシュ上に作用する力を表すことをさらに含む、請求項1に記載の方法。
- 制御ロジックを中に格納しているコンピュータ使用可能媒体を備え、少なくとも1つのグラフィックスプロセッサユニット(GPU)に物理シミュレーションを行わせるコンピュータプログラム製品であって、該制御ロジックは、
コンピュータ読取可能第1プログラムコードであって、該コードは、該少なくとも1つのGPUに、少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングさせることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定する、コンピュータ読取可能第1プログラムコードと、
コンピュータ読取可能第2プログラムコードであって、該コードは、該少なくとも1つのGPUに、該複数のメモリアレイ中のデータに演算を行わせることによって、ある時刻の線形方程式系を解く、コンピュータ読取可能第2プログラムコードと
を備え、
該時刻に対する線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、コンピュータプログラム製品。 - コンピュータ読取可能第3プログラムコードであって、該コードは、前記複数のメモリアレイ中の前記変更されたデータに基づいて、前記少なくとも1つのGPUに、前記時刻に対する前記シーン中に描写される前記少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第3プログラムコードをさらに備える、請求項11に記載のコンピュータプログラム製品。
- コンピュータ読取可能第3プログラムコードであって、該コードは、前記少なくとも1つのGPUに、前記時刻の前記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別させる、コンピュータ読取可能第3プログラムコードと、
コンピュータ読取可能第4プログラムコードであって、該コードは、(i)前記複数のメモリアレイ中の前記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、該少なくとも1つのGPUに、該時刻に対する該シーン中に描写される該少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第4プログラムコードとをさらに備える、請求項11に記載のコンピュータプログラム製品。 - コンピュータ読取可能第3プログラムコードであって、該コードは、前記少なくとも1つのGPUに、前記変更されたデータに演算を行わせることによって、次の時刻に対する線形方程式系を解く、コンピュータ読取可能第3プログラムコードをさらに含み、
該次の時刻に対する該線形方程式系に対する解を表すさらなる変更されたデータは、前記複数のメモリアレイに格納される、請求項11に記載のコンピュータプログラム製品。 - コンピュータ読取可能第4プログラムコードであって、該コードは、前記複数のメモリアレイ中の前記さらなる変更されたデータに基づいて、前記少なくとも1つのGPUに、前記次の時刻に対する前記シーン中に描写される前記少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第4プログラムコードをさらに備える、請求項14に記載のコンピュータプログラム製品。
- コンピュータ読取可能第4プログラムコードであって、該コードは、前記少なくとも1つのGPUに、前記次の時刻に対する前記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別させる、コンピュータ読取可能第4プログラムコードと、
コンピュータ読取可能第5プログラムコードであって、該コードは、(i)前記複数のメモリアレイ中の前記さらなる変更されたデータ、および(ii)該コンピュータ読取可能第4プログラムコードによって識別された該少なくとも1つの衝突、に基づいて、該少なくとも1つのGPUに、該次の時刻に対する該シーン中に描写される該少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第5プログラムコードと
をさらに備えている、請求項14に記載のコンピュータプログラム製品。 - 前記コンピュータ読取可能第2プログラムコードは、
コードであって、前記少なくとも1つのGPUに、前記複数のメモリアレイ中の前記データに演算を行わせることによって、インプリシットに前記線形方程式系を積分することによって、ある時刻に対する該線形方程式系を解くコードを含み、
該時刻に対する線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、請求項11に記載のコンピュータプログラム製品。 - 前記コンピュータ読取可能第1プログラムコードは、
コードであって、前記少なくとも1つのGPUに、複数のメモリアレイにデータを格納させることによって、線形方程式系を設定する、コードを備え、該線形方程式系は、
- コンピュータ読取可能第3プログラムコードであって、該コードは、前記少なくとも1つのGPUに、ソフトウェアダイナミクスソルバーからシーンを捕捉させ、該シーン中に描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、前記複数のメモリアレイにマッピングされる前記物理パラメータに変換する、コンピュータ読取可能第3プログラムコードと、
コンピュータ読取可能第4プログラムコードであって、該コードは、該少なくとも1つのGPUに、該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートさせる、コンピュータ読取可能第4プログラムコードと
をさらに備え、
該シミュレーション結果は、前記時刻に対する前記線形方程式系に対する解に対応する、請求項11に記載のコンピュータプログラム製品。 - 前記少なくとも1つのGPUに、前記シーンにおいて描写される前記メッシュに作用する力をシミュレーションさせるコンピュータ読取可能第3プログラムコードをさらに備える、請求項11に記載のコンピュータプログラム製品。
- 物理シミュレーションを行うためのシステムであって、該システムは、
メモリであって、少なくとも1つのメッシュに関連した物理パラメータを表すデータを格納する複数のメモリアレイを含み、シーンにおいて描写される該少なくとも1つのメッシュの運動を支配する線形方程式系を設定するための、メモリと、
該複数のメモリアレイにおける該データに演算を行うことによってある時刻に対する該線形方程式系を解く、該メモリに結合された少なくとも1つのピクセルプロセッサと
を備え、
該時刻に対する該線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、システム。 - レンダリングエンジンであって、前記複数のメモリアレイにおける前記変更されたデータに基づいて、前記時刻に対する前記シーンにおいて描写される前記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、請求項21に記載のシステム。
- 前記ピクセルプロセッサは、前記時刻に対する前記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別し、該システムは、
レンダリングエンジンであって、(i)前記複数のメモリアレイにおける前記変更されたデータ、および(ii)該時刻において識別された該少なくとも1つの衝突に基づいて、該時刻に対する前記シーンにおいて描写される前記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、請求項21に記載のシステム。 - 前記ピクセルプロセッサは、前記変更されたデータに演算を行うことによって、次の時刻に対する線形方程式系を解き、該次の時刻に対する該線形方程式系に対する解を表すさらなる変更されたデータは、前記複数のメモリアレイに格納される、請求項21に記載のシステム。
- レンダリングエンジンであって、前記複数のメモリアレイにおける前記さらなる修正済みのデータに基づいて、前記次の時刻に対する前記シーンにおいて描写される前記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、請求項24に記載のシステム。
- 前記ピクセルプロセッサは、前記次の時刻に対する前記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別し、該システムは、
レンダリングエンジンであって、(i)前記複数のメモリアレイにおける前記変更されたデータ、および(ii)該次の時刻において識別された該少なくとも1つの衝突に基づいて、該次の時刻に対する前記シーンにおいて描写される前記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、請求項24に記載のシステム。 - 前記ピクセルプロセッサは、前記複数のメモリアレイにおける前記データに演算を行うことによって、前記線形方程式系をインプリシットに積分することによってある時刻に対する該線形方程式系を解き、該時刻に対する該線形方程式系に対する該解を表す変更されたデータは、該複数のメモリアレイに格納される、請求項21に記載のシステム。
- シーンエクスポーターであって、ソフトウェアダイナミクスソルバーからシーンを捕捉し、該シーンにおいて描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、前記複数のメモリアレイにおいて格納される前記物理パラメータに変換する、シーンエクスポーターと、
シーンインポーターであって、該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートする、シーンインポーターと
をさらに備え、
該シミュレーション結果は、前記少なくとも1つのピクセルプロセッサによって演算された前記時刻に対する前記線形方程式系に対する前記解に対応する、請求項21に記載のシステム。 - 少なくとも1つのGPU上で、前記シーンにおいて描写される前記メッシュに作用する力を表すために実行するシェーダーをさらに備える、請求項21に記載のシステム。
- 少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行うための方法であって、該方法は、
該少なくとも1つのGPUにシミュレーション定義データを送信することと、
該転送されたシミュレーション定義に応答する該少なくとも1つのGPUからのシミュレーション結果を受け取ることと
を包含する、方法。 - 前記少なくとも1つのGPUにシミュレーション定義データを転送することは、該少なくとも1つのGPUに、シーンデータ、シミュレーションデータ、アクターデータ、ジョイントデータ、およびフィードバックデータのうちの少なくとも1つを送信することを含む、請求項31に記載の方法。
- 前記送信は、前記少なくとも1つのGPUに、マークアップ言語フォーマットのシミュレーション定義データを送信することを含む、請求項31に記載の方法。
- 少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行うための方法であって、該方法は、
シミュレーション定義データをアプリケーションプログラミングインタフェース(API)コマンドに変換することと、
該変換されたシミュレーション定義データに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成することと
を包含する、方法。 - 前記変換することは、前記シミュレーション定義データからシーンデータ構造を生成することを含む、請求項34に記載の方法。
- 前記物理シミュレーションを行うことは、
前記シミュレーション定義データに対応する線形方程式系を設定することと、
該線形方程式系を解くことと、
該線形方程式系に対する解に基づいて衝突を検出することと
を含む、請求項34に記載の方法。 - 物理シミュレーションを行うための、コンピュータベースの方法であって、該方法は、
ソフトウェアダイナミクスソルバーデータを、少なくとも1つのグラフィクスプロセッサユニット(GPU)に対するシミュレーション定義データに変換することと、
該変換されたデータに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成することと
を包含する、方法。 - 前記シミュレーション結果データをアプリケーションに送信することをさらに含む、請求項37に記載の方法。
- 前記送信することは、前記シミュレーション結果データを前記ソフトウェアダイナミクスソルバーのフォーマットに変換することを含む、請求項38に記載の方法。
- 追加的なソフトウェアダイナミクスソルバーデータに応答して、ソフトウェアダイナミクスソルバーに基づく別の物理シミュレーションを行うことをさらに含む、請求項37に記載の方法。
- 少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングすることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定し、
少なくとも1つのピクセルプロセッサを用いて該複数のメモリアレイ中のデータに演算を行うことによって、ある時刻に対する線形方程式系を解く
ように適合され、該時刻に対する該線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、コンピュータ読取可能媒体。 - 少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
該少なくとも1つのGPUにシミュレーション定義データを送信し、
該送信されたシミュレーション定義データに応答する該少なくとも1つのGPUからのシミュレーション結果を受け取る
ように適合される、コンピュータ読取可能媒体。 - 少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
ソフトウェアダイナミクスソルバーデータを、該少なくとも1つのGPUに対するシミュレーション定義データに変換し、
該変換されたデータに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成する
ように適合される、コンピュータ読取可能媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/491,169 | 2006-07-24 | ||
US11/491,169 US8666712B2 (en) | 2006-07-24 | 2006-07-24 | Physical simulations on a graphics processor |
PCT/US2007/016421 WO2008013741A2 (en) | 2006-07-24 | 2007-07-20 | Physical simulations on a graphics processor |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028709A Division JP5629705B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028708A Division JP5629704B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012188538A Division JP2013020631A (ja) | 2006-07-24 | 2012-08-29 | グラフィックスプロセッサ上の物理シミュレーション |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009545067A true JP2009545067A (ja) | 2009-12-17 |
JP5616060B2 JP5616060B2 (ja) | 2014-10-29 |
Family
ID=38894081
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009521775A Active JP5616060B2 (ja) | 2006-07-24 | 2007-07-20 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028709A Active JP5629705B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028708A Active JP5629704B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012188538A Pending JP2013020631A (ja) | 2006-07-24 | 2012-08-29 | グラフィックスプロセッサ上の物理シミュレーション |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028709A Active JP5629705B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028708A Active JP5629704B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012188538A Pending JP2013020631A (ja) | 2006-07-24 | 2012-08-29 | グラフィックスプロセッサ上の物理シミュレーション |
Country Status (5)
Country | Link |
---|---|
US (1) | US8666712B2 (ja) |
EP (1) | EP2069986B1 (ja) |
JP (4) | JP5616060B2 (ja) |
CN (1) | CN101542487B (ja) |
WO (1) | WO2008013741A2 (ja) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2429375A1 (en) * | 2003-05-22 | 2004-11-22 | Cognos Incorporated | Model action logging |
US8700366B1 (en) * | 2005-09-06 | 2014-04-15 | The Mathworks, Inc. | Variable transport delay modelling mechanism |
US7933858B2 (en) * | 2007-03-23 | 2011-04-26 | Autodesk, Inc. | General framework for graphical simulations |
US7636907B1 (en) | 2007-05-24 | 2009-12-22 | Xilinx, Inc. | Balancing logic resource usage in a programmable integrated circuit |
US9138649B2 (en) * | 2008-10-08 | 2015-09-22 | Sony Corporation | Game control program, game device, and game control method adapted to control game where objects are moved in game field |
US8289327B1 (en) * | 2009-01-21 | 2012-10-16 | Lucasfilm Entertainment Company Ltd. | Multi-stage fire simulation |
ITBO20090385A1 (it) * | 2009-06-15 | 2010-12-16 | Surgica Robotica S R L | Metodo per la simulazione interattiva di immagini |
US9099866B2 (en) | 2009-09-01 | 2015-08-04 | Aden Seaman | Apparatus, methods and systems for parallel power flow calculation and power system simulation |
US20110081959A1 (en) * | 2009-10-01 | 2011-04-07 | Wms Gaming, Inc. | Representing physical state in gaming systems |
WO2011078724A1 (en) | 2009-12-25 | 2011-06-30 | Intel Corporation | Graphical simulation of objects in a virtual environment |
CN104658021B (zh) * | 2009-12-25 | 2018-02-16 | 英特尔公司 | 虚拟环境中的对象的图形模拟 |
US8271237B2 (en) * | 2010-02-02 | 2012-09-18 | Livermore Software Technology Corporation | Fully-integrated hexahedral elements configured for reducing shear locking in finite element method |
JP5242628B2 (ja) * | 2010-05-06 | 2013-07-24 | 株式会社スクウェア・エニックス | ゲーム開発におけるプログラマーの生産性を向上させる高級言語 |
US9652201B2 (en) * | 2010-10-01 | 2017-05-16 | Adobe Systems Incorporated | Methods and systems for physically-based runtime effects |
US9535817B2 (en) * | 2011-06-10 | 2017-01-03 | Microsoft Technology Licensing, Llc | Application development environment for portable electronic devices |
US8413166B2 (en) * | 2011-08-18 | 2013-04-02 | International Business Machines Corporation | Multithreaded physics engine with impulse propagation |
US9378579B1 (en) | 2012-06-27 | 2016-06-28 | Pixar | Creation of cloth surfaces over subdivision meshes from curves |
US20140092102A1 (en) * | 2012-09-28 | 2014-04-03 | Nvidia Corporation | Circuit and method for dynamic cloth simulation and graphics processing unit employing the same |
CN103198233B (zh) * | 2013-04-25 | 2016-05-11 | 李援朝 | 一种交互式玩具陀螺模拟方法及系统 |
CN103544727B (zh) * | 2013-06-26 | 2017-02-15 | Tcl集团股份有限公司 | 一种基于预测分支的场景渲染优化方法、系统和移动终端 |
CN103426196B (zh) * | 2013-08-30 | 2016-07-06 | 电子科技大学 | 一种流体环境下的关节动画建模方法 |
CN103425849B (zh) * | 2013-09-04 | 2016-05-18 | 电子科技大学 | 一种动态障碍物影响下流体的仿真方法 |
US10915984B2 (en) * | 2014-01-21 | 2021-02-09 | Elektraglide Ltd | Method and system for interactive graphics streaming |
EP4181068A1 (en) * | 2014-01-21 | 2023-05-17 | Mythical Games UK Ltd | A method and system for interactive graphics streaming |
JP6599460B2 (ja) * | 2014-08-01 | 2019-10-30 | タタ・コンサルタンシー・サーヴィシズ・リミテッド | 製造プロセスおよび製品をシミュレーションするためにメッシュを変形するための方法およびシステム |
WO2016102257A1 (de) * | 2014-12-22 | 2016-06-30 | Continental Automotive Gmbh | Fördervorrichtung zum befördern und zum erwärmen eines mediums |
US10044800B2 (en) * | 2015-10-11 | 2018-08-07 | Microsoft Technology Licensing, Llc | Synchronization scheme for physics simulations |
GB2545507B (en) * | 2015-12-18 | 2019-07-17 | Imagination Tech Ltd | Controlling scheduling of a GPU |
GB2545508B (en) * | 2015-12-18 | 2019-04-10 | Imagination Tech Ltd | Controlling operation of a GPU |
EP3484674B1 (en) * | 2016-08-17 | 2021-07-07 | Siemens Aktiengesellschaft | Method and system for preserving privacy for cloud-based manufacturing analysis services |
US9990714B2 (en) | 2016-09-07 | 2018-06-05 | Simula Innovation As | Apparatus and method for global optimization |
US10249099B1 (en) | 2017-04-26 | 2019-04-02 | Kabam, Inc. | Providing error correction for particles of destructible objects |
CN107529638B (zh) * | 2017-08-18 | 2018-05-11 | 浙江远算云计算有限公司 | 线性求解器的加速方法、存储数据库及gpu系统 |
US10885242B2 (en) * | 2017-08-31 | 2021-01-05 | Microsoft Technology Licensing, Llc | Collision detection with advanced position |
US11694384B2 (en) * | 2020-10-30 | 2023-07-04 | Qualcomm Incorporated | Fast incremental shared constants |
US11586788B2 (en) * | 2021-07-02 | 2023-02-21 | Ansys, Inc. | Efficient shape-accurate finite element mesh visualization |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050250083A1 (en) | 1997-10-06 | 2005-11-10 | Macri Vincent J | Method and apparatus for instructors to develop pre-training lessons using controllable images |
US6067096A (en) | 1998-03-04 | 2000-05-23 | Nagle; John | Method and system for generating realistic collisions in graphical simulations |
US6947044B1 (en) | 1999-05-21 | 2005-09-20 | Kulas Charles J | Creation and playback of computer-generated productions using script-controlled rendering engines |
US6425116B1 (en) * | 2000-03-30 | 2002-07-23 | Koninklijke Philips Electronics N.V. | Automated design of digital signal processing integrated circuit |
US6876361B2 (en) * | 2001-03-15 | 2005-04-05 | Micron Technology, Inc. | Architecture for real-time texture look up's for volume rendering |
US7363199B2 (en) | 2001-04-25 | 2008-04-22 | Telekinesys Research Limited | Method and apparatus for simulating soft object movement |
US7353149B2 (en) | 2001-04-25 | 2008-04-01 | Telekinesys Research Limited | Method and apparatus for simulating dynamic contact of objects |
US20050122338A1 (en) * | 2003-12-05 | 2005-06-09 | Michael Hong | Apparatus and method for rendering graphics primitives using a multi-pass rendering approach |
US7421303B2 (en) | 2004-01-22 | 2008-09-02 | Nvidia Corporation | Parallel LCP solver and system incorporating same |
US8134561B2 (en) * | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing graphics operations |
US7847800B2 (en) * | 2004-04-16 | 2010-12-07 | Apple Inc. | System for emulating graphics operations |
US7154500B2 (en) * | 2004-04-20 | 2006-12-26 | The Chinese University Of Hong Kong | Block-based fragment filtration with feasible multi-GPU acceleration for real-time volume rendering on conventional personal computer |
US7570267B2 (en) | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7724258B2 (en) * | 2004-06-30 | 2010-05-25 | Purdue Research Foundation | Computer modeling and animation of natural phenomena |
-
2006
- 2006-07-24 US US11/491,169 patent/US8666712B2/en active Active
-
2007
- 2007-07-20 CN CN2007800347373A patent/CN101542487B/zh active Active
- 2007-07-20 EP EP07810628.3A patent/EP2069986B1/en active Active
- 2007-07-20 JP JP2009521775A patent/JP5616060B2/ja active Active
- 2007-07-20 WO PCT/US2007/016421 patent/WO2008013741A2/en active Application Filing
-
2012
- 2012-02-13 JP JP2012028709A patent/JP5629705B2/ja active Active
- 2012-02-13 JP JP2012028708A patent/JP5629704B2/ja active Active
- 2012-08-29 JP JP2012188538A patent/JP2013020631A/ja active Pending
Non-Patent Citations (5)
Title |
---|
JPN6013034394; Manocha, D.: 'General-Purpose Computations Using Graphics Processors' Computer Volume:38, Issue:8, 200508, p.85〜88, IEEE |
JPN6013034395; David C. Banks, Wilfredo Blanco: 'InvIncrements: incremental software to support visual simulation' Proceedings of the SPIE "Visualization and Data Analysis 2006" Volume 6060, 20060116, p.60600I-1〜60600I-7, SPIE |
JPN6013034397; Eduardo Tejada, Thomas Ertl: 'Large Steps in GPU-based Deformable Bodies Simulation' Simulation Modelling Practice and Theory, 2005, 13.8: 703-715 Vol. 13, No. 8., 200511, p.703〜715, Elsevier B.V. |
JPN6013034398; Jens Kruger, Rudiger Westermann: 'Linear Algebra Operators for GPU Implementation of Numerical Algorithms' ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH 2003 Volume 22, Issue 3, 200307, p.908〜916, Association for Computing Machinery (ACM) |
JPN6013034399; Lee Howes: ASC2GPU - Stream Compilation to Graphics Cards , 20050615 |
Also Published As
Publication number | Publication date |
---|---|
WO2008013741A3 (en) | 2008-05-29 |
JP5629704B2 (ja) | 2014-11-26 |
JP2013020631A (ja) | 2013-01-31 |
CN101542487A (zh) | 2009-09-23 |
JP2012099153A (ja) | 2012-05-24 |
JP5629705B2 (ja) | 2014-11-26 |
EP2069986B1 (en) | 2019-04-17 |
EP2069986A2 (en) | 2009-06-17 |
CN101542487B (zh) | 2013-11-20 |
US20080021679A1 (en) | 2008-01-24 |
WO2008013741A2 (en) | 2008-01-31 |
US8666712B2 (en) | 2014-03-04 |
JP2012099152A (ja) | 2012-05-24 |
JP5616060B2 (ja) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5629704B2 (ja) | グラフィックスプロセッサ上の物理シミュレーション | |
Dorier et al. | Damaris/viz: a nonintrusive, adaptable and user-friendly in situ visualization framework | |
Tang et al. | MCCD: Multi-core collision detection between deformable models using front-based decomposition | |
Greß et al. | GPU‐based collision detection for deformable parameterized surfaces | |
CN113822788A (zh) | 光线追踪硬件中对资源的早期释放 | |
Jia et al. | CPU–GPU Parallel framework for real‐time interactive cutting of adaptive octree‐based deformable objects | |
Rathke et al. | SIMD Parallel Ray Tracing of Homogeneous Polyhedral Grids. | |
Movania et al. | A Novel GPU‐Based Deformation Pipeline | |
CN103093496B (zh) | 一种三维图形仿真方法及系统 | |
Va et al. | Real-time volume preserving constraints for volumetric model on GPU | |
Gribble et al. | Visualizing particle-based simulation datasets on the desktop | |
Sung et al. | Simulation of deformable objects using GLSL 4.3 | |
Salazar et al. | Cloth simulation using AABB hierarchies and GPU parallelism | |
An et al. | Research on Fast Collision Detection Algorithm Based on CPU Cache Technology | |
de Lucas et al. | Ultra-low power render-based collision detection for CPU/GPU systems | |
US20240112397A1 (en) | Spatial test of bounding volumes for rasterization | |
Chan et al. | Particle–mesh coupling in the interaction of fluid and deformable bodies with screen space refraction rendering | |
Jung et al. | Mesh deformations in X3D via CUDA with freeform deformation lattices | |
US10586401B2 (en) | Sculpting brushes based on solutions of elasticity | |
Revie | Designing a Data-Driven Renderer | |
Chang et al. | Deformable object simulation in virtual environment | |
Yalçın | Real-time simulation and visualization of deformations on heightfields | |
Романюк et al. | INTERACTIVE SHAPE MODELING USING FUNCTIONALLY DEFINED OBJECTS | |
Zhou | Applications and Benefits of Voxel Constraints in Parallel XPBD Physics Simulation | |
Nylén et al. | The Red-Black Physics Engine: A Parallel Framework for Interactive Soft Body Dynamics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100716 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121004 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20121026 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20121116 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131010 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131016 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131108 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5616060 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |