JP2012099152A - グラフィックスプロセッサ上の物理シミュレーション - Google Patents
グラフィックスプロセッサ上の物理シミュレーション Download PDFInfo
- Publication number
- JP2012099152A JP2012099152A JP2012028708A JP2012028708A JP2012099152A JP 2012099152 A JP2012099152 A JP 2012099152A JP 2012028708 A JP2012028708 A JP 2012028708A JP 2012028708 A JP2012028708 A JP 2012028708A JP 2012099152 A JP2012099152 A JP 2012099152A
- Authority
- JP
- Japan
- Prior art keywords
- gpu
- simulation
- data
- mesh
- scene
- 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
Classifications
-
- 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
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (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
【解決手段】本発明は、少なくとも1つのグラフィクスプロセッサユニット(GPU)上で物理シミュレーションを行うための、方法、コンピュータプログラム製品、およびシステムに向けられる。該方法は、以下のステップを含む。まず、少なくとも1つのメッシュに関連した物理属性を表すデータは、複数のメモリアレイに格納されることによって、シーンに描写される少なくとも1つのメッシュの運動を支配する線形方程式系を設定する。ついで、少なくとも1つのピクセルプロセッサを用いて複数のメモリアレイにおけるデータに演算が行われることによって、時刻に対する線形方程式系を解く。ここで、時刻に対する線形方程式系に対する解を表す変更されたデータは、複数のデータメモリに格納される。
【選択図】図6
Description
例えば、本発明は、以下を提供する。
(項目1)
少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行う方法であって、該方法は、
少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングすることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定することと、
少なくとも1つのピクセルプロセッサを用いて該複数のメモリアレイ中のデータに演算を行うことによって、ある時刻に対する線形方程式系を解くことと
を包含し、
該時刻に対する線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、方法。
(項目2)
上記複数のメモリアレイ中の上記変更されたデータに基づいて、上記時刻に対する上記シーンにおいて描写される、上記1つ以上のメッシュの運動を更新することをさらに含む、項目1に記載の方法。
(項目3)
上記時刻に対する上記少なくとも1つのメッシュを含む、少なくとも1つの衝突を識別することと、
(i)上記複数のメモリアレイ中の上記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、上記時刻に対する上記シーン中に描写される上記少なくとも1つのメッシュの運動を更新することと
をさらに含む、項目1に記載の方法。
(項目4)
上記ピクセルプロセッサを用いて上記変更されたデータに演算を行うことによって、次の時刻に対する線形方程式系を解くことをさらに含み、該次の時刻に対する線形方程式系に対する解を表す変更されたデータは、上記複数のメモリアレイに格納される、項目1に記載の方法。
(項目5)
上記複数のメモリアレイ中の上記さらなる変更されたデータに基づいて、上記次の時刻に対する上記シーン中に描写される少なくとも1つのメッシュの運動を更新することをさらに含む、項目4に記載の方法。
(項目6)
上記次の時刻に対する上記少なくとも1つのメッシュを含む、少なくとも1つの衝突を識別することと、
(i)上記複数のメモリアレイ中の上記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、上記次の時刻に対する上記シーン中に描写される上記少なくとも1つのメッシュの運動を更新することと
をさらに含む、項目4に記載の方法。
(項目7)
演算を行うことは、
少なくとも1つのピクセルプロセッサを用いて上記複数のメモリアレイ中のデータに演算を行うことによって、インプリシットに上記線形方程式系を積分することによって、ある時刻に対する該線形方程式系を解くことを含み、
上記時刻に対する該線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、項目1に記載の方法。
(項目8)
上記格納することは、
複数のメモリアレイにデータを格納することによって、線形方程式系を設定することを含み、該線形方程式系は、
によって与えられ、シーンにおいて描写される少なくとも1つのメッシュの運動を支配し、ここで、
であり、Iは、恒等行列であり、Mは該少なくとも1つのメッシュの質量の直交行列であり、
は、t k 時における該少なくとも1つのメッシュの幾何学的状態を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュ中の各点の速度を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュの各点上のネット力を表すベクトルである、項目1に記載の方法。
(項目9)
上記方法は、マッピングに先立って、さらに、
ソフトウェアダイナミクスソルバーからシーンを捕捉し、該シーン中に描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、上記複数のメモリアレイにマッピングされる物理パラメータに変換することと、
該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートすることと
をさらに含み、
該シミュレーション結果は、上記少なくとも1つのピクセルプロセッサによって演算された上記時刻に対する上記線形方程式系に対する解に対応する、項目1に記載の方法。
(項目10)
上記少なくとも1つのGPUで実行するシェーダーとして、該シーンにおいて描写される該メッシュ上に作用する力を表すことをさらに含む、項目1に記載の方法。
(項目11)
制御ロジックを中に格納しているコンピュータ使用可能媒体を備え、少なくとも1つのグラフィックスプロセッサユニット(GPU)に物理シミュレーションを行わせるコンピュータプログラム製品であって、該制御ロジックは、
コンピュータ読取可能第1プログラムコードであって、該コードは、該少なくとも1つのGPUに、少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングさせることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定する、コンピュータ読取可能第1プログラムコードと、
コンピュータ読取可能第2プログラムコードであって、該コードは、該少なくとも1つのGPUに、該複数のメモリアレイ中のデータに演算を行わせることによって、ある時刻の線形方程式系を解く、コンピュータ読取可能第2プログラムコードと
を備え、
該時刻に対する線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、コンピュータプログラム製品。
(項目12)
コンピュータ読取可能第3プログラムコードであって、該コードは、上記複数のメモリアレイ中の上記変更されたデータに基づいて、上記少なくとも1つのGPUに、上記時刻に対する上記シーン中に描写される上記少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第3プログラムコードをさらに備える、項目11に記載のコンピュータプログラム製品。
(項目13)
コンピュータ読取可能第3プログラムコードであって、該コードは、上記少なくとも1つのGPUに、上記時刻の上記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別させる、コンピュータ読取可能第3プログラムコードと、
コンピュータ読取可能第4プログラムコードであって、該コードは、(i)上記複数のメモリアレイ中の上記変更されたデータ、および(ii)該識別された少なくとも1つの衝突、に基づいて、該少なくとも1つのGPUに、該時刻に対する該シーン中に描写される該少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第4プログラムコードとをさらに備える、項目11に記載のコンピュータプログラム製品。
(項目14)
コンピュータ読取可能第3プログラムコードであって、該コードは、上記少なくとも1つのGPUに、上記変更されたデータに演算を行わせることによって、次の時刻に対する線形方程式系を解く、コンピュータ読取可能第3プログラムコードをさらに含み、
該次の時刻に対する該線形方程式系に対する解を表すさらなる変更されたデータは、上記複数のメモリアレイに格納される、項目11に記載のコンピュータプログラム製品。
(項目15)
コンピュータ読取可能第4プログラムコードであって、該コードは、上記複数のメモリアレイ中の上記さらなる変更されたデータに基づいて、上記少なくとも1つのGPUに、上記次の時刻に対する上記シーン中に描写される上記少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第4プログラムコードをさらに備える、項目14に記載のコンピュータプログラム製品。
(項目16)
コンピュータ読取可能第4プログラムコードであって、該コードは、上記少なくとも1つのGPUに、上記次の時刻に対する上記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別させる、コンピュータ読取可能第4プログラムコードと、
コンピュータ読取可能第5プログラムコードであって、該コードは、(i)上記複数のメモリアレイ中の上記さらなる変更されたデータ、および(ii)該コンピュータ読取可能第4プログラムコードによって識別された該少なくとも1つの衝突、に基づいて、該少なくとも1つのGPUに、該次の時刻に対する該シーン中に描写される該少なくとも1つのメッシュの運動を更新させる、コンピュータ読取可能第5プログラムコードと
をさらに備えている、項目14に記載のコンピュータプログラム製品。
(項目17)
上記コンピュータ読取可能第2プログラムコードは、
コードであって、上記少なくとも1つのGPUに、上記複数のメモリアレイ中の上記データに演算を行わせることによって、インプリシットに上記線形方程式系を積分することによって、ある時刻に対する該線形方程式系を解くコードを含み、
該時刻に対する線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、項目11に記載のコンピュータプログラム製品。
(項目18)
上記コンピュータ読取可能第1プログラムコードは、
コードであって、上記少なくとも1つのGPUに、複数のメモリアレイにデータを格納させることによって、線形方程式系を設定する、コードを備え、該線形方程式系は、
によって与えられ、シーンにおいて描写される上記少なくとも1つのメッシュの運動を支配し、ここで、
であり、ここで、Iは、恒等行列であり、Mは上記少なくとも1つのメッシュの質量の直交行列であり、
は、t k 時における該少なくとも1つのメッシュの幾何学的状態を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュ中の各点の速度を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュ中の各点上のネット力を表すベクトルである、項目11に記載のコンピュータプログラム製品。
(項目19)
コンピュータ読取可能第3プログラムコードであって、該コードは、上記少なくとも1つのGPUに、ソフトウェアダイナミクスソルバーからシーンを捕捉させ、該シーン中に描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、上記複数のメモリアレイにマッピングされる上記物理パラメータに変換する、コンピュータ読取可能第3プログラムコードと、
コンピュータ読取可能第4プログラムコードであって、該コードは、該少なくとも1つのGPUに、該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートさせる、コンピュータ読取可能第4プログラムコードと
をさらに備え、
該シミュレーション結果は、上記時刻に対する上記線形方程式系に対する解に対応する、項目11に記載のコンピュータプログラム製品。
(項目20)
上記少なくとも1つのGPUに、上記シーンにおいて描写される上記メッシュに作用する力をシミュレーションさせるコンピュータ読取可能第3プログラムコードをさらに備える、項目11に記載のコンピュータプログラム製品。
(項目21)
物理シミュレーションを行うためのシステムであって、該システムは、
メモリであって、少なくとも1つのメッシュに関連した物理パラメータを表すデータを格納する複数のメモリアレイを含み、シーンにおいて描写される該少なくとも1つのメッシュの運動を支配する線形方程式系を設定するための、メモリと、
該複数のメモリアレイにおける該データに演算を行うことによってある時刻に対する該線形方程式系を解く、該メモリに結合された少なくとも1つのピクセルプロセッサと
を備え、
該時刻に対する該線形方程式系の該解を表す変更されたデータは、該複数のメモリアレイに格納される、システム。
(項目22)
レンダリングエンジンであって、上記複数のメモリアレイにおける上記変更されたデータに基づいて、上記時刻に対する上記シーンにおいて描写される上記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、項目21に記載のシステム。
(項目23)
上記ピクセルプロセッサは、上記時刻に対する上記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別し、該システムは、
レンダリングエンジンであって、(i)上記複数のメモリアレイにおける上記変更されたデータ、および(ii)該時刻において識別された該少なくとも1つの衝突に基づいて、該時刻に対する上記シーンにおいて描写される上記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、項目21に記載のシステム。
(項目24)
上記ピクセルプロセッサは、上記変更されたデータに演算を行うことによって、次の時刻に対する線形方程式系を解き、該次の時刻に対する該線形方程式系に対する解を表すさらなる変更されたデータは、上記複数のメモリアレイに格納される、項目21に記載のシステム。
(項目25)
レンダリングエンジンであって、上記複数のメモリアレイにおける上記さらなる修正済みのデータに基づいて、上記次の時刻に対する上記シーンにおいて描写される上記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、項目24に記載のシステム。
(項目26)
上記ピクセルプロセッサは、上記次の時刻に対する上記少なくとも1つのメッシュを含む少なくとも1つの衝突を識別し、該システムは、
レンダリングエンジンであって、(i)上記複数のメモリアレイにおける上記変更されたデータ、および(ii)該次の時刻において識別された該少なくとも1つの衝突に基づいて、該次の時刻に対する上記シーンにおいて描写される上記少なくとも1つのメッシュの描写を更新する、レンダリングエンジンをさらに備える、項目24に記載のシステム。
(項目27)
上記ピクセルプロセッサは、上記複数のメモリアレイにおける上記データに演算を行うことによって、上記線形方程式系をインプリシットに積分することによってある時刻に対する該線形方程式系を解き、該時刻に対する該線形方程式系に対する該解を表す変更されたデータは、該複数のメモリアレイに格納される、項目21に記載のシステム。
(項目28)
上記線形方程式系は、
によって与えられ、ここで
であり、Iは、恒等行列であり、Mは上記少なくとも1つのメッシュの質量の直交行列であり、
は、t k 時における該少なくとも1つのメッシュの幾何学的状態を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュ中の各点の速度を表すベクトルであり、
は、t k 時における該少なくとも1つのメッシュ中の各点上のネット力を表すベクトルである、項目21に記載のシステム。
(項目29)
シーンエクスポーターであって、ソフトウェアダイナミクスソルバーからシーンを捕捉し、該シーンにおいて描写される少なくとも1つのメッシュに付けられた属性およびフィールドを、上記複数のメモリアレイにおいて格納される上記物理パラメータに変換する、シーンエクスポーターと、
シーンインポーターであって、該ソフトウェアダイナミクスソルバーのシーングラフにシミュレーション結果をインポートする、シーンインポーターと
をさらに備え、
該シミュレーション結果は、上記少なくとも1つのピクセルプロセッサによって演算された上記時刻に対する上記線形方程式系に対する上記解に対応する、項目21に記載のシステム。
(項目30)
少なくとも1つのGPU上で、上記シーンにおいて描写される上記メッシュに作用する力を表すために実行するシェーダーをさらに備える、項目21に記載のシステム。
(項目31)
少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行うための方法であって、該方法は、
該少なくとも1つのGPUにシミュレーション定義データを送信することと、
該転送されたシミュレーション定義に応答する該少なくとも1つのGPUからのシミュレーション結果を受け取ることと
を包含する、方法。
(項目32)
上記少なくとも1つのGPUにシミュレーション定義データを転送することは、該少なくとも1つのGPUに、シーンデータ、シミュレーションデータ、アクターデータ、ジョイントデータ、およびフィードバックデータのうちの少なくとも1つを送信することを含む、項目31に記載の方法。
(項目33)
上記送信は、上記少なくとも1つのGPUに、マークアップ言語フォーマットのシミュレーション定義データを送信することを含む、項目31に記載の方法。
(項目34)
少なくとも1つのグラフィックスプロセッサユニット(GPU)上で物理シミュレーションを行うための方法であって、該方法は、
シミュレーション定義データをアプリケーションプログラミングインタフェース(API)コマンドに変換することと、
該変換されたシミュレーション定義データに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成することと
を包含する、方法。
(項目35)
上記変換することは、上記シミュレーション定義データからシーンデータ構造を生成することを含む、項目34に記載の方法。
(項目36)
上記物理シミュレーションを行うことは、
上記シミュレーション定義データに対応する線形方程式系を設定することと、
該線形方程式系を解くことと、
該線形方程式系に対する解に基づいて衝突を検出することと
を含む、項目34に記載の方法。
(項目37)
物理シミュレーションを行うための、コンピュータベースの方法であって、該方法は、
ソフトウェアダイナミクスソルバーデータを、少なくとも1つのグラフィクスプロセッサユニット(GPU)に対するシミュレーション定義データに変換することと、
該変換されたデータに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成することと
を包含する、方法。
(項目38)
上記シミュレーション結果データをアプリケーションに送信することをさらに含む、項目37に記載の方法。
(項目39)
上記送信することは、上記シミュレーション結果データを上記ソフトウェアダイナミクスソルバーのフォーマットに変換することを含む、項目38に記載の方法。
(項目40)
追加的なソフトウェアダイナミクスソルバーデータに応答して、ソフトウェアダイナミクスソルバーに基づく別の物理シミュレーションを行うことをさらに含む、項目37に記載の方法。
(項目41)
少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
少なくとも1つのメッシュに関連した物理パラメータを複数のメモリアレイにマッピングすることによって、シーンに描写された該少なくとも1つのメッシュの運動を支配する線形方程式系を設定し、
少なくとも1つのピクセルプロセッサを用いて該複数のメモリアレイ中のデータに演算を行うことによって、ある時刻に対する線形方程式系を解く
ように適合され、該時刻に対する該線形方程式系に対する解を表す変更されたデータは、該複数のメモリアレイに格納される、コンピュータ読取可能媒体。
(項目42)
少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
該少なくとも1つのGPUにシミュレーション定義データを送信し、
該送信されたシミュレーション定義データに応答する該少なくとも1つのGPUからのシミュレーション結果を受け取る
ように適合される、コンピュータ読取可能媒体。
(項目43)
少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
ソフトウェアダイナミクスソルバーデータを、該少なくとも1つのGPUに対するシミュレーション定義データに変換し、
該変換されたデータに応答して、該少なくとも1つのGPU上で物理シミュレーションを行うことによって、シミュレーション結果データを生成する
ように適合される、コンピュータ読取可能媒体。
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は、例示的な点メッシュを図示する。
ACM Transactions on Graphics、SIGGRAPH 2002、pp.604−11(2002))によって教示された対に関するジョイント力のモデルとの混合によって影響され、本明細書においてその全体を参照として援用する。本明細書に開示のモデルに従うと、全てのジョイントは、同一の関数によってモデル化されるが、ジョイントの種類(すなわち、引っ張り、せん断、および曲げ)は、剛性ks、減衰kd、および自然長Lに対する異なる値によって、グローバルにパラメータで表され得る。ジョイント毎に、ばね(ksおよびLによってパラメータで表される)の作用および減衰(kdによってパラメーターで表される)は、線形に独立しており、別個のものと考慮してよい。
インプリシットにクロスをシミュレーションするためのモデルを記述したが、ここで、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上に物理シミュレーションを行う方法を、当業者は理解することとなる。
・Pは、点の現在位置
・Vは、点の現在速度
・Fは、点の現在のネット力ベクトル
・A#は、
・B#は、
・Cは、
・Dは、
(2)AmおよびBmに格納された
(3)対称性
再び図8を参照すると、GPU上でのクロスのシミュレーションにおける第2のステップは、システムソルバーステップである。システムソルバーステップに対する最も有力なアプローチは、前述のBaraff引例に記述された、線形系
再び図8を参照すると、GPU上でのクロスのシミュレーションにおける第3および最終のステップは、衝突応答ステップである。衝突検出スキームは、シミュレーションされているメッシュ(例えば点メッシュ800)からの点の対が、(i)メッシュからの別の点の対、または(ii)シミュレーションされている別のオブジェクト(例えば、点メッシュ800として同一のシーンに描写されているボール)からの点の対、のいずれかと交わるかどうかを決定することによって、衝突が起きたかどうかを確認する。前述のBaraff引例によって例示されるように、衝突検出スキームは、当業者に周知である。当業者に公知のあらゆる衝突検出スキームが、本発明の精神および範囲から逸脱することなく、用いられ得る。
以下に提供されるものは、FYSLで書かれたコードの例示的セクションである。特に、以下に提供されるものは、(i)FYSLで書かれた高レベルシーン記述、(ii)チャイルドアクター展開、および(iii)ファブリックジョイントのプロトタイプ展開、である。
本発明の実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実装され得、また、1つ以上のコンピュータシステムまたは他のプロセッシングシステムにおいて実装され得る。しかし、本発明によって行われる操作は、加算や比較などに関して、頻繁に参照されたが、それらは、一般的に、人間のオペレーターによって行われる、頭の中で行うオペレーションに関連する。本発明の一部を形成する、本明細書に記述されるオペレーションのいずれにおいても、そのような人間のオペレーターの能力はなにも必要なく、または、ほとんどの場合において望まれない。むしろ、オペレーションは、機械的なオペレーションである。本発明のオペレーションを行うために有用な機械は、デジタルコンピュータを含み、例えば、パーソナルコンピュータ、ビデオゲームコンソール、携帯電話、携帯情報端末、または同様のデバイスなどである。
概要および要約の章ではなく、実施形態の章は、請求項を解釈するために用いられることを意図するということを、認識されたい。概要および要約の章は、発明者によって意図されるように、本発明の、全てではないが、1つ以上の例示的な実施形態を述べ得る。故に、概要および要約の章は、あらゆる方法において、本発明および添付の請求項を限定する意図はない。
Claims (4)
- 物理シミュレーションを行うための方法であって、該方法は、少なくとも1つのグラフィックスプロセッサユニット(GPU)と通信するインターフェースシステムによって実行され、該少なくとも1つのGPUは、複数のメモリアレイと通信するように適合されており、かつ、少なくとも1つのピクセルプロセッサを含み、
該方法は、
該インターフェースシステムが、該少なくとも1つのGPUにシミュレーション定義データを送信することと、
該インターフェースシステムが、該送信されたシミュレーション定義に応答する該少なくとも1つのGPUからのシミュレーション結果を受け取ることと
を含み、
該シミュレーション結果は、少なくとも1つのメッシュに関連した物理パラメータを該複数のメモリアレイにマッピングすることと、該少なくとも1つのピクセルプロセッサを用いて該メモリアレイ内のデータに対して演算を行うこととによって、該少なくとも1つのGPUによって生成される、方法。 - 前記少なくとも1つのGPUにシミュレーション定義データを送信することは、該少なくとも1つのGPUに、シーンデータ、シミュレーションデータ、アクターデータ、ジョイントデータ、およびフィードバックデータのうちの少なくとも1つを送信することを含む、請求項1に記載の方法。
- 前記送信は、前記少なくとも1つのGPUに、マークアップ言語フォーマットのシミュレーション定義データを送信することを含む、請求項1に記載の方法。
- インターフェースシステムと通信する少なくとも1つのグラフィクスプロセッサユニット(GPU)を生成するための命令を含む、コンピュータ読取可能媒体であって、該少なくとも1つのGPUは、複数のメモリアレイと通信するように適合されており、かつ、少なくとも1つのピクセルプロセッサを含み、該命令は、実行されるときには、該少なくとも1つのGPUを作成するように適合され、該少なくとも1つのGPUは、
該インターフェースシステムからシミュレーション定義データを受け取ることと、
該送信されたシミュレーション定義データに応答するシミュレーション結果を該インターフェースシステムに送信することと
を行うように適合されており、
該シミュレーション結果は、少なくとも1つのメッシュに関連した物理パラメータを該複数のメモリアレイにマッピングすることと、該少なくとも1つのピクセルプロセッサを用いて該メモリアレイ内のデータに対して演算を行うこととによって、該少なくとも1つのGPUによって生成される、コンピュータ読取可能媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/491,169 US8666712B2 (en) | 2006-07-24 | 2006-07-24 | Physical simulations on a graphics processor |
US11/491,169 | 2006-07-24 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009521775A Division JP5616060B2 (ja) | 2006-07-24 | 2007-07-20 | グラフィックスプロセッサ上の物理シミュレーション |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012099152A true JP2012099152A (ja) | 2012-05-24 |
JP5629704B2 JP5629704B2 (ja) | 2014-11-26 |
Family
ID=38894081
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009521775A Active JP5616060B2 (ja) | 2006-07-24 | 2007-07-20 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028708A Active JP5629704B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012028709A Active JP5629705B2 (ja) | 2006-07-24 | 2012-02-13 | グラフィックスプロセッサ上の物理シミュレーション |
JP2012188538A Pending JP2013020631A (ja) | 2006-07-24 | 2012-08-29 | グラフィックスプロセッサ上の物理シミュレーション |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009521775A Active JP5616060B2 (ja) | 2006-07-24 | 2007-07-20 | グラフィックスプロセッサ上の物理シミュレーション |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012028709A Active JP5629705B2 (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 |
CN104658021B (zh) * | 2009-12-25 | 2018-02-16 | 英特尔公司 | 虚拟环境中的对象的图形模拟 |
US9308444B2 (en) | 2009-12-25 | 2016-04-12 | Intel Corporation | Graphical simulation of objects in a virtual environment |
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 | 电子科技大学 | 一种动态障碍物影响下流体的仿真方法 |
EP3097539B1 (en) * | 2014-01-21 | 2023-03-08 | Mythical Games UK Ltd | A method and system for interactive graphics streaming |
US10915984B2 (en) * | 2014-01-21 | 2021-02-09 | Elektraglide Ltd | Method and system for interactive graphics streaming |
US10628620B2 (en) * | 2014-08-01 | 2020-04-21 | Tata Consultancy Services Limited | Method and system for transforming mesh for simulating manufacturing processes and products |
US10415521B2 (en) * | 2014-12-22 | 2019-09-17 | Continental Automotive Gmbh | Delivery device for delivering and heating a medium |
US10044800B2 (en) * | 2015-10-11 | 2018-08-07 | Microsoft Technology Licensing, Llc | Synchronization scheme for physics simulations |
GB2545508B (en) * | 2015-12-18 | 2019-04-10 | Imagination Tech Ltd | Controlling operation of a GPU |
GB2545507B (en) * | 2015-12-18 | 2019-07-17 | Imagination Tech Ltd | Controlling scheduling of a GPU |
CN110325327B (zh) * | 2016-08-17 | 2022-08-16 | 西门子股份公司 | 用于分析物体的几何属性的系统 |
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 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322224A (ja) * | 2004-05-03 | 2005-11-17 | Microsoft Corp | 拡張グラフィックスパイプラインを提供するシステムおよび方法 |
Family Cites Families (13)
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 |
US7353149B2 (en) | 2001-04-25 | 2008-04-01 | Telekinesys Research Limited | Method and apparatus for simulating dynamic contact of objects |
US7363199B2 (en) | 2001-04-25 | 2008-04-22 | Telekinesys Research Limited | Method and apparatus for simulating soft object movement |
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 |
US7847800B2 (en) * | 2004-04-16 | 2010-12-07 | Apple Inc. | System for emulating graphics operations |
US8134561B2 (en) * | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing 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 |
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 WO PCT/US2007/016421 patent/WO2008013741A2/en active Application Filing
- 2007-07-20 EP EP07810628.3A patent/EP2069986B1/en active Active
- 2007-07-20 JP JP2009521775A patent/JP5616060B2/ja active Active
-
2012
- 2012-02-13 JP JP2012028708A patent/JP5629704B2/ja active Active
- 2012-02-13 JP JP2012028709A patent/JP5629705B2/ja active Active
- 2012-08-29 JP JP2012188538A patent/JP2013020631A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005322224A (ja) * | 2004-05-03 | 2005-11-17 | Microsoft Corp | 拡張グラフィックスパイプラインを提供するシステムおよび方法 |
Non-Patent Citations (1)
Title |
---|
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. * |
Also Published As
Publication number | Publication date |
---|---|
JP5616060B2 (ja) | 2014-10-29 |
US8666712B2 (en) | 2014-03-04 |
CN101542487A (zh) | 2009-09-23 |
WO2008013741A3 (en) | 2008-05-29 |
EP2069986A2 (en) | 2009-06-17 |
EP2069986B1 (en) | 2019-04-17 |
JP2012099153A (ja) | 2012-05-24 |
JP2009545067A (ja) | 2009-12-17 |
JP2013020631A (ja) | 2013-01-31 |
JP5629704B2 (ja) | 2014-11-26 |
US20080021679A1 (en) | 2008-01-24 |
WO2008013741A2 (en) | 2008-01-31 |
CN101542487B (zh) | 2013-11-20 |
JP5629705B2 (ja) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5629704B2 (ja) | グラフィックスプロセッサ上の物理シミュレーション | |
EP2939208B1 (en) | Sprite graphics rendering system | |
Dorier et al. | Damaris/viz: a nonintrusive, adaptable and user-friendly in situ visualization framework | |
Cedilnik et al. | Remote large data visualization in the paraview framework. | |
Greß et al. | GPU‐based collision detection for deformable parameterized surfaces | |
Jia et al. | CPU–GPU Parallel framework for real‐time interactive cutting of adaptive octree‐based deformable objects | |
Movania et al. | A novel GPU-based deformation pipeline | |
Tian et al. | A multi‐GPU finite element computation and hybrid collision handling process framework for brain deformation simulation | |
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 | |
Aguilera et al. | Out-of-core real-time haptic interaction on very large models | |
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 | |
Chan et al. | Particle–mesh coupling in the interaction of fluid and deformable bodies with screen space refraction rendering | |
US20240112397A1 (en) | Spatial test of bounding volumes for rasterization | |
Jung et al. | Mesh deformations in X3D via CUDA with freeform deformation lattices | |
US10586401B2 (en) | Sculpting brushes based on solutions of elasticity | |
McDonnell et al. | Dynamic subdivision-based solid modeling | |
Revie | Designing a Data-Driven Renderer | |
Chang et al. | Deformable object simulation in virtual environment | |
Zou et al. | A GPGPU-based collision detection algorithm | |
Yalçın | Real-time simulation and visualization of deformations on heightfields | |
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: 20120213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130812 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131111 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131211 |
|
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: 20140909 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141006 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5629704 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 |