JP2001509620A - コンピュータ・グラフィックス・システム - Google Patents
コンピュータ・グラフィックス・システムInfo
- Publication number
- JP2001509620A JP2001509620A JP2000501480A JP2000501480A JP2001509620A JP 2001509620 A JP2001509620 A JP 2001509620A JP 2000501480 A JP2000501480 A JP 2000501480A JP 2000501480 A JP2000501480 A JP 2000501480A JP 2001509620 A JP2001509620 A JP 2001509620A
- Authority
- JP
- Japan
- Prior art keywords
- phenomenon
- shader
- scene
- node
- computer graphics
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
Abstract
Description
AD)などの分野に関し、特に、シェーダ(shader)・システムを生成し、場面(シ ーン)の画像のレンダリング(描画)においてそのように生成されたシェーダ・
システムを使用するシステムおよび方法に関する。本発明は、本明細書において
「現象(フェノメノン;phenomenon)」と呼ぶ、コンピュータ・グラフィックス
・システムにおいて有用な新しい形式の構成要素を特に有する。「現象」は、パ
ッケージ化されカプセル化されたシェーダDAG(閉路なし有向グラフ;direct
ed acyclic graph)、あるいは協働シェーダDAG(cooperating shader DAG)の
集合を含むシステムを有し、そのそれぞれは1つ以上のシェーダを有することが
できる。シェーダがレンダリングの間に正確に協働することができることを保証
する方法で、場面の少なくとも一部を規定することを助けるように、シェーダは
生成されカプセル化されている。
術家、製図者などの者(本明細書においては一般に「オペレータ」と呼ぶ)は、
場面の中の物体(オブジェクト;object)の、コンピュータにより保存される3
次元表現(three-dimensional representation)を生成し、その後に場面の中の物
体のそれぞれの2次元画像を1つ以上の方向からレンダリング(描画)しようと
試みる。第1に、表現生成段階において、従来、コンピュータ・グラフィックス
・システムは、たとえば場面の中の物体の輪郭および/または断面を含むさまざ
まな2次元の線画から、3次元空間の中の2次元表面をもたらすそのような線に
何回かの操作を加え、続いて、結果として得られた物体の表現の形状を修正ない
しは他の方法で変更するように、そのような表面のパラメータと制御点を変更し
て、3次元表現を生成する。このプロセスの間に、オペレータは、物体の表面の
さまざまな特性、場面を照明する光源の構造と特性、および画像を生成する1つ
以上の模擬カメラ(simulated camera)の構造と特性も定める。場面、光源および
カメラの構造と特性が定められた後に、第2の段階において、オペレータは、コ
ンピュータが特定の観察方向からの場面の画像をレンダリングすることを可能に
する。
時間的次元を含むそれぞれの多次元の数学的表現により、場面の中の物体、光源
およびカメラが定められる。数学的表現は、通常、木(ツリー)構造のデータ構
造内に蓄積される。次に、物体の表面の特性が、「シェード・ツリー(shade tre
e)」により定められる。シェード・ツリーのそれぞれは、第2の場面レンダリン
グ段階の間に、コンピュータがそれぞれの表面をレンダリングすることを可能に
する1つ以上のシェーダを有する。このシェーダは、特に、それぞれの表面の色
彩(カラー)を表す色値を出力する。シェード・ツリーのシェーダは、オペレー
タにより生成されるか、あるいは、CあるいはC++のような高レベル言語でコ
ンピュータ・グラフィックス・システムによりアプリオリ(a priori)に提供され
る。第2の場面レンダリング段階において、高レベル言語は、コンピュータとと
もに、それぞれの表面の画像のレンダリングを可能にする。
シェーダおよびシェード・ツリーの生成と使用からは、多くの問題が生ずる。第
1に、そのようにプログラムされていない限り、シェーダは、一般に相互に協働
することができない。通常、シェーダに与えられる入力値は定数値であり、興味
深く実物そっくりの方法で特徴を表現するシェーダの自由度と能力を制限する。
さらに、共通のソースから入力値を得ることができる協働シェーダのシステムを
設定することは、通常、困難である。
することにより、シェーダ間の協働を強化した新規で改良されたコンピュータ・
グラフィック・システムおよび方法を提供する。パッケージ化されカプセル化さ
れたシェーダDAGのそれぞれは、シェーダDAGの中のシェーダがレンダリン
グの間に正確に協働できることを保証するような方法で生成された1つ以上のシ
ェーダを有することができる。
ity)が、場面の画像のレンダリングにおいて、作成され、インスタンス生成され
(instantiated)、使用されることができるコンピュータ・グラフィックス・シス
テムが提供される。現象は、それぞれシェーダを有する1つ以上のノードを有す
るカプセル化されたシェーダDAG、あるいは協働するように相互に接続されて
いるそのようなDAGのカプセル化された集合である。それはインスタンス生成
され、場面の中の物体の表面の色およびテクスチャーの特徴、場面の中のボリュ
ーム(volume)とジオメトリ(幾何学的形状)の特性、場面を照明する光源の特徴
、レンダリングの間にシミュレートされる模擬カメラの特徴およびレンダリング
に有用な多くの他の特徴を含む場面の特徴の多様な形式を規定するように、場面
定義過程の間に作られた場面の中のエンティティにアタッチ(添付)される。
められていてもよい。すなわち、現象クリエータを用いてオペレータがベース・
シェーダ・ノードから作成してもよい。現象クリエータは、場面の画像のレンダ
リングの間に、DAGあるいは協働DAGのシェーダが正確に協働できるように
、現象が作成されることを保証する。
値あるいはその値を定めるように使用される関数を与えることにより、現象エデ
ィタを使用してインスタンス生成される。
ge generator)は、場面の画像を生成することができる。その動作において、場 面画像発生器は、前処理(プレプロセッシング)段階、レンダリング段階および
後処理(ポストプロセッシング)段階を含む一連の段階で動作する。前処理段階
の間に、場面画像発生器は、シャドウ(shadow)およびフォトン(photon)・マッピ
ング、多重継承解像度(multiple inheritance resolution)などのような前処理 動作を行うことができる。たとえば、場面にアタッチされた現象が、場面に対し
て定められたジオメトリをそれにより生成するためのジオメトリ・シェーダを有
するならば、場面画像発生器は、前処理動作を行うかもしれない。レンダリング
段階の間に、場面画像発生器は画像をレンダリングする。後処理段階の間に、た
とえば、場面にアタッチされた現象が後処理動作を定めるシェーダを有するなら
ば、場面画像発生器は、レンダリングされた画像の中の各ピクセル(画素)値に
関連して蓄積された速度および深さ情報に依存する被写界深度あるいは動きブレ
計算のような後処理動作を行うかもしれない。
れ他の利点は、添付図面を参照した以下の説明によって、より良く理解されるで
あろう。
システム10を構成する要素を示している。コンピュータ・グラフィックス・シ
ステム10は、レンダリング(描画)に使用するように場面の特徴を定めるよう
に使用され、本明細書において以下に「現象(単数形:phenomenon、複数形:ph
enomena)」と呼ばれる新規のコンピュータ・グラフィック構成要素の生成を容 易にすることにより、シェーダ間の協働を強化している。現象は、1つ以上のシ
ェーダを有するパッケージ化されカプセル化されたシステムである。シェーダは
、1つ以上の閉路なし有向グラフ(DAG;directed acyclic graph)の形式で
組織され相互接続されており、各DAGは1つ以上のシェーダを有する。現実的
あるいは複雑な視覚効果のレンダリングを容易にするように、コンピュータ・グ
ラフィックス・システム10により生成された現象は、各シェーダDAGの中の
1つあるいは複数のシェーダがレンダリングの間に正確に協働できることを保証
するような方法で生成される。さらに、複数の協働シェーダDAGを有する現象
に対してコンピュータ・グラフィックス・システム10は、連続的に現実的ある
いは複雑な視覚効果のレンダリングを容易にするように、シェーダDAGのすべ
てのシェーダがレンダリングの間に正確に協働できるように現象を生成する。
ステム10は、プロセッサ・モジュール11と、キーボード12Aおよび/また
はマウス12B(一般にオペレータ入力要素12と特定される)のようなオペレ
ータ入力構成要素およびビデオ表示装置13のようなオペレータ出力要素を有す
るオペレータ・インタフェース要素と、を有するコンピュータを有する。図示す
るコンピュータ・システム10は、従来のストアード・プログラム・コンピュー
タ・アーキテクチャのものである。プロセッサ・モジュール11は、たとえば、
プロセッサ、メモリ、および入力されるデジタル・データに関連して処理および
記憶動作を行うディスクおよび/またはテープ記憶装置(単独には図示せず)の
ような大容量記憶装置を有する。オペレータ入力要素12は、処理するためにオ
ペレータが情報を入力できるように設けられている。ビデオ表示装置13は、プ
ロセッサ・モジュール11により生成された出力情報をスクリーン14上でオペ
レータに表示するように設けられている。出力情報には、オペレータが処理のた
めに入力したかもしれないデータ、オペレータが処理を制御するために入力した
かもしれない情報、および処理の間に生成された情報を含んでいる。プロセッサ
・モジュール11は、いわゆる「グラフィカル・ユーザ・インタフェース(GU
I)」を用いて、ビデオ表示装置13により表示する情報を生成する。グラフィ
カル・ユーザ・インタフェースにおいて、種々のアプリケーション・プログラム
のための情報は、種々の「ウインドウ」を用いて表示される。コンピュータ・シ
ステム10は、オペレータから入力情報を受けるためのキーボード12Aおよび
マウス12Bおよびオペレータに出力情報を表示するためのビデオ表示装置13
のような特定の構成要素を有するように示されているが、コンピュータ・システ
ム10が、図1に示されている構成要素に加えて、あるいはそれらの代わりに各
種の構成要素を有してもよいことは十分理解されるであろう。
れる1つ以上のネットワーク・ポートを有してもよい。ネットワーク・ポートは
、コンピュータ・システム10をコンピュータ・ネットワークに接続する通信リ
ンクに接続されている。ネットワーク・ポートは、コンピュータ・システム10
がネットワーク内の他のコンピュータ・システムおよび他の装置と情報を送受信
することを可能にする。たとえば、クライアント−サーバ・パラダイムによって
組織された典型的なネットワークにおいて、ネットワーク内のあるコンピュータ
・システムはサーバーとして指定されている。サーバーは他のコンピュータ・シ
ステム、すなわちクライアント・コンピュータ・システムによる処理のためにデ
ータおよびプログラム(一般的に「情報」)を蓄積し、それによってクライアン
ト・コンピュータ・システムが都合よく情報を共有することを可能にする。特定
のサーバーにより維持されている情報にアクセスを必要とするクライアント・コ
ンピュータ・システムは、ネットワークを介してサーバーから情報をダウンロー
ドすることが可能である。データを処理した後に、クライアント・コンピュータ
・システムは、処理されたデータを記憶しておくためにサーバーに戻すことがで
きる。上述のサーバーおよびクライアントを含むコンピュータ・システムに加え
て、ネットワークは、さらに、たとえば、プリンタおよびファクシミリ装置、デ
ィジタル・オーディオまたはビデオ記憶分配装置などを有してもよく、それらは
ネットワークに接続されている各種のコンピュータ・システムと共用されてもよ
い。ネットワーク内でコンピュータ・システムを相互に接続している通信リンク
は、普通そうであるように、有線、光ファイバあるいはコンピュータ・システム
間で信号を伝達する他の媒体を含む任意の都合の良い情報伝達媒体を有してもよ
い。コンピュータ・システムは、通信リンク上を伝達されるメッセージによりネ
ットワーク上で情報を伝達し、各メッセージは情報およびそのメッセージを受信
する装置を識別する識別子を含んでいる。
化されカプセル化されたシェーダDAGあるいは協働シェーダDAGを有する現
象の生成を容易にすることにより、シェーダ間の協働を強化しており、各シェー
ダDAGは3次元場面の特徴を定める少なくとも1つのシェーダを有する。現象
は、場面の中の物体の表面の色彩および質感の特徴、場面の中の量感と幾何学的
形状の特性、場面を照明している光源の特徴、模擬カメラあるいはレンダリング
の間にシミュレートされる他の画像記録装置の特徴、および下記の説明から明白
でありレンダリングに有用な多くの他の特徴、を含む場面の特徴の多様な形式を
規定するように使用されることができる。現象は、場面の画像のレンダリングの
間に、DAGの中のシェーダあるいは協働DAGが正確に協働することができる
ことを保証するように構築される。
クス・システム10の機能ブロック図を示す。図2に示すように、コンピュータ
・グラフィックス・システム10は、大別して、場面構造生成部分20および場
面画像生成部分21を含む2つの部分を有する。場面構造生成部分20は、場面
エンティティ生成段階の間に、場面の画像をレンダリングする際に場面画像生成
部分21により使用される各種の要素の表現を生成するために、芸術家、製図者
などの者(一般にオペレータと呼ぶ)により使用される。各種の要素の表現には
、たとえば、場面の中の物体とその表面特性、場面を照明する1つまたは複数の
光源の構造と特性、およびカメラのような特定の装置の構造と特性が含まれてい
てもよい。カメラのような特定の装置は、画像がレンダリングされる時に画像を 生成する際に、シミュレートされる。場面構造生成部分20により生成される表
現は数学的表現の形式であり、場面オブジェクト・データベース22に蓄積され
る。数学的表現は、オペレータに表示するために、画像レンダリング部分21に
より評価される。場面構造生成部分20および場面画像生成部分21は、同じコ
ンピュータに常駐し、同じコンピュータの部分であってもよい。その場合には、
場面オブジェクト・データベース22はその同じコンピュータに常駐してもよく
、あるいはコンピュータ20がそのクライアントであるサーバーに常駐してもよ
い。あるいは、部分20および21は、異なるコンピュータに常駐し、異なるコ
ンピュータの一部を形成してもよい。その場合には、場面オブジェクト・データ
ベース22は、いずれかのコンピュータに常駐していてもよいし、あるいは両方
のコンピュータに対するサーバーに常駐してもよい。
)、場面を照明する光源の位置と幾何学的特性、および、レンダリングすべき画 像の生成においてシミュレートされるべきカメラの位置と幾何学的および光学的
特性を有する数学的表現の定義を生成するように、場面構造生成部分20はオペ
レータにより使用される。数学的表現は、3つの空間的次元を定め、したがって
場面の中の物体の位置と、物体の特徴を特定することが望ましい。物体は、3次
元空間の中に埋め込まれた直線または曲線、3次元空間の中に埋め込まれた2次
元表面、1つ以上の境界が設定された3次元表面および/または閉じた3次元表
面、あるいはそれらの任意の組み合わせを含む、その物体の1次元、2次元ある
いは3次元の特徴に関して定めることができる。また、数学的表現はさらに、コ
ンピュータ・アニメーションに関連して特に有用である時間的次元を規定しても
よい。コンピュータ・アニメーションでは、物体とその個々の特徴が時間の関数
として動くと考えられる。
、さらに数学的表現は、場面を照明する1つ以上の光源およびカメラを規定する
。特に光源の数学的表現は、光源が点光源、直線または曲線、平面あるいは曲面
の表面などであるかどうかを含めて、場面に対して相対的な光源の位置および/
または方向と光源の構造的特性を規定する。カメラの数学的表現は、特に、1つ
または複数のレンズ、焦点距離、像面の方位、その他を含む従来のカメラ・パラ
メータを規定する。
の個々の要素への現象の関連(association)を容易にする。現象は、通常、レン ダリングに使用される場面の定義の完成に必要とされる他の情報を規定する。こ
の情報は、場面構造生成部分20により規定された幾何学的エンティティの表面
の色彩、テクスチャなどの特性を含むが、それのみには限定されない。現象は、
数学的表現、あるいは、レンダリング動作の間に評価されるときにそれぞれの表
面を所望の方法で表示するようにコンピュータがレンダリング画像を生成できる
ようにする他の物体を含んでもよい。場面構造生成部分20は、オペレータの制
御の下に、その要素を使って現象が使用されるそれぞれの要素(すなわち、物体
、表面、ボリュームなど)に対する数学的表現に現象を効率的に関連づけ、現象
をそれぞれの要素に効果的に「アタッチする」。
に蓄積された後に、場面画像生成部分21は、レンダリング段階の間に、場面の
画像をたとえばビデオ・ディスプレイ装置13(図1)上に生成するようにオペ
レータにより使用される。
cal representation generator)23、現象クリエータ(creator)24、現象デー
タベース25、現象エディタ26、ベース・シェーダ・ノード・データベース3
2、現象インスタンスデータベース33および場面アセンブラ34を含む数個の
要素を有する。これらのすべては、オペレータ・インタフェース27を介して入
力されたオペレータ入力情報の制御の下で動作する。図1に関連してすでに説明
したように、オペレータ・インタフェース27は、通常、コンピュータ・グラフ
ィックス・システム10のオペレータ入力装置12およびビデオ・ディスプレイ
装置13を有することができる。エンティティ幾何学的表現発生器23は、上述
のように、オペレータ・インタフェース27からのオペレータ入力の制御の下に
、場面の中の物体、光源およびカメラの数学的表現の生成を容易にする。現象ク
リエータ24は、オペレータがそれによって、オペレータ・インタフェース27
およびベース・シェーダ・ノード・データベース32からのベース・シェーダ・
ノードを使用して、場面ないしそのほかに関連して使用できる現象を生成するこ
とができるメカニズムを(以下に説明するように)提供する。現象クリエータ2
4により現象が生成された後、それ(すなわち、その現象)は、現象データベー
ス25に蓄積される。現象データベース25に現象が蓄積された後に、現象のイ
ンスタンスを現象エディタ26により作ることができる。その動作において、現
象の各種のパラメータ(もしあれば)に対する値を与えるように、オペレータは
現象エディタ26を使用する。たとえば、カラー・バランス、テクスチャ粒状性
(texture grainess)、光沢性(glossiness)などのような特徴を与えるように現象
が作られれば、その特徴はオペレータからの入力にもとづいて、アタッチ時ある
いはその後に確立(establish)し、調整し、あるいは修正することができる。現 象エディタ26は、オペレータ・インタフェース27を介してオペレータが特定
の特徴を確立し、調整し、あるいは修正することを可能にする。パラメータに対
する値は、固定されていてもよく、変数(たとえば、時間)の関数に応じて変化
してもよい。オペレータは、場面アセンブラ34を使用して、現象エディタ26
を使用して生成された現象インスタンスをエンティティ幾何学的表現発生器23
により生成される場面の要素にアタッチすることができる。
造生成部分20の現象クリエータ24により生成された現象データベース25か
ら現象を検索するものとして説明してきたが、コンピュータ・グラフィックス・
システム10内に供給される1つ以上の、ことによると多分すべての現象は、現
象エディタ26により使用されるように、他の装置(図示せず)によって、予め
設定され、作られ、現象データベース25に蓄積されても良いことは十分理解さ
れるであろう。そのような場合には、オペレータは、オペレータ・インタフェー
ス27を介して現象エディタを制御し、場面にアタッチするように、適切な予め
規定された現象を選択することができる。
31を含む数個の構成要素を有する。場面画像生成部分21が場面構造生成部分
20と同じコンピュータの一部であれば、オペレータ・インタフェース31は、
オペレータ・インタフェース27と同じ構成要素であってもよいが、必ずしもそ
うする必要はない。他方、場面画像生成部分21が場面構造生成部分のコンピュ
ータとは異なるコンピュータの一部であれば、通常、オペレータ・インタフェー
ス31は、オペレータ・インタフェース27とは異なる構成要素からなるが、2
つのオペレータ・インタフェース31および27の構成要素は類似している可能
性がある。画像発生器30は、オペレータ・インタフェース31の制御の下で、
レンダリングされるべき場面の表現を場面表現データベース22から検索し、オ
ペレータ・インタフェース31のビデオ・ディスプレイ装置に表示するように、
レンダリングされた画像を生成する。
説明することが有用であろう。現象は、エンティティ幾何学的表現発生器23に
より生成された数学的表現のほかに、場面構造生成部分20により定義された幾
何学的エンティティの表面の色彩、テクスチャ、限定されたボリュームなどの特
性を含み、しかしそれのみに限定されない、レンダリングに使用される場面の定
義を完了するように使用される情報を提供する。現象は、閉路なし有向グラフ(
DAG; directed acyclic graph)あるいは複数の協働DAGの形式で相互に接
続された1つ以上のノードを有する。ノードの1つは、現象を場面の中のエンテ
ィティ、特にエンティティの数学的表現にアタッチするために使用されるプライ
マリ・ルート・ノードである。現象に使用できる他の形式のノードは、オプショ
ナル・ルート・ノードおよびシェーダ(shader)・ノードを含む。シェーダ・ノー
ドは、従来の単純なシェーダに加え、テクスチャ・シェーダ、材料(material)シ
ェーダ、ボリューム・シェーダ、環境シェーダ、シャドウ・シェーダおよび変位
シェーダおよびレンダリングされるべき表現の生成に関連して使用できる材料シ
ェーダを含む、複数の従来のシェーダのいずれかを含んでいてもよい。さらに、
下記のものを含む多くの他の形式のシェーダ・ノードが現象に使用できる。
状)シェーダ。ジオメトリ・シェーダは、場面中のエンティティに関連してエン
ティティ幾何学的表現発生器23により生成される表現に類似の、3次元空間中
のエンティティの予め定められた静的あるいは手続き上(procedural)の数学的表
現から本質的になるが、ジオメトリ・シェーダは、たとえば、それぞれの現象で
使用される他のシェーダが範囲を指定されるべきそれぞれの領域を定めるように
、前処理時に供給されることができる。ジオメトリ・シェーダは、たとえば、静
的あるいは手続き上のいずれかの方法で場面の新しい幾何学的要素を修正あるい
は創り出すように、場面オブジェクト・データベースに蓄積される場面表現を変
更できるように、エンティティ幾何学的表現発生器23の場面構成要素に本質的
にアクセスできる。なお、ジオメトリ・シェーダDAGあるいは協働ジオメトリ
・シェーダDAGの集合の全体からなる現象は、手続き上の方法で場面中の物体
を表すように使用できる。これは、コンピュータの中の物体の所望の表現を得る
ように、人間のオペレータにより一連のモデリング動作を行うモデリング・シス
テムで行われる典型的なモデリングとは、対照的である。したがって、本質的に
幾何学的現象は、カプセル化され自動化されパラメータ化された抽象的モデリン
グ動作を表す。幾何学的現象のインスタンス(すなわち、一定あるいは所定の方
法で時間などとともに変化する、パラメータ値の集合と組み合わされた幾何学的
現象)は、前処理段階の間のランタイムに場面画像発生器30により評価される
場合、特有の幾何学的場面の拡大をもたらす。
のような場面の中の物体の表面とフォトンの相互作用の特性を制御するために使
用できるフォトン・シェーダ。フォトン・シェーダは、レンダリングに関連する
全体的な照明と火面(caustics)の物理的に正確なシミュレーションを容易にする
。実施の一形態において、フォトン・シェーダは、前処理動作の間に場面画像発
生器30によりレンダリングの間に使用される。
して動作すること以外は、フォトン・シェーダに類似しているフォトン・ボリュ
ーム・シェーダ。これは、空中の塵埃あるいは霧粒子や、雲の中の水蒸気などに
よるフォトンの散乱のようなボリューム(量感、体積)および付随する取り巻か
れた関係している媒体に拡がるべき火面および全体的な照明のシミュレーション
を可能にする。
フォトン・シェーダに類似しているフォトン・エミッタ・シェーダ。フォトン・
エミッタ・シェーダに関連してその放出がシミュレートされる模擬フォトン(sim
ulated photon)は、次にフォトン・シェーダに関連して処理されてもよい。フォ
トン・シェーダは、模擬フォトンの経路と表面相互作用特性をシミュレートする
ために使用できる。またフォトン・ボリューム・シェーダは、特にそれぞれの経
路に沿った3次元体積の中の経路と他の特性をシミュレートするために使用でき
る。
輪郭(contour)シェーダ。実施の一形態において、輪郭シェーダの3つのサブタ イプ、すなわち、輪郭ストア・シェーダ、輪郭コントラスト・シェーダおよび輪
郭生成シェーダがある。輪郭ストア・シェーダは、たとえば、表面の輪郭サンプ
リング情報を集めるために使用される。輪郭コントラスト・シェーダは、輪郭ス
トア・シェーダを使って収集される2組のサンプリング情報を比較するために使
用される。最後に、輪郭生成シェーダはバッファの中に蓄積する輪郭点情報を生
成するために使用され、次に輪郭線を出力するのに(以下に説明する)出力シェ
ーダにより使用される。
中の情報を処理するために使用される出力シェーダ。出力シェーダは、実施の一
形態において、合成動作(compositing operation)、複合たたみ込み(complex co
nvolution) および上述のように輪郭生成シェーダにより生成された輪郭点情報 からの輪郭線作図を行うために、レンダリングの間に生成されたピクセル情報に
アクセスできる。
いは部分を、どのように通過するかを制御するように使用される3次元ボリュー
ム・シェーダ。3次元ボリューム・シェーダは、たとえば、霧、および煙、火炎
、毛皮および粒子雲のような手続き上の効果を含む多くの形式のボリューム効果
(volume effect)のいずれにも使用できる。さらに、3次元ボリューム・シェー ダは光に関連して使用されるので、それらは手続き上の効果(procedural effect
)から生ずるであろう影に関連してさらに有用である。
ロジェクション、シャドウイング(shadowing) および他の光特性のような特性の
結果として生じることがある減衰特性を含む、光源の放出特性を制御するために
使用される光シェーダ。
使用されてもよい。
のオプショナル・ルート・ノード。
いは複数の協働DAGを形成するように相互接続される方法を含む、現象の内部
構造の記述。
は特性の値をオペレータが与えることを可能にするために、現象エディタ26に
より使用されるための、現象により規定されることができるダイアログ・ボック
スなどの記述。
ブラリからのリンク実行可能なコードを有してもよい。
において、レンダリングの間に、現象の中の第1のDAGの1つ以上のノードの
処理から生成された情報が、現象の中の第2のDAGの1つ以上のノードに関連
する処理で使用されてもよい。それにもかかわらず、2つのDAGは独立して処
理され、レンダリング・プロセスの異なる段階で処理されてもよい。第2のDA
G中のノードと「協働」してもよい(すなわち、第2のDAG中のノードの処理
に際して使用されてもよい)第1のDAGの個々のノードにより生成された情報
は、そのように割り当てられるバッファのような任意の都合の良い通信チャネル
を介して、第1のDAGの個々のノードから第2のDAGのノードへ転送されて
もよい。単一の現象においてこの方法で協働する必要があるかもしれないすべて
のDAGを用意することは、協働のためのすべての条件が満足されることを保証
するが、個別の現象あるいは他のエンティティでDAGがカプセル化されずに別
個に供給されれば、その限りではない。
シェーダDAGおよびラベル・フレーム・バッファを生成する命令を含む数個の
DAGを有してもよい。材料シェーダDAGは、材料の色値を生成する少なくと
も1つの材料シェーダを有し、またラベル・フレーム・バッファ生成命令の処理
に関連して確立されるラベル・フレーム・バッファの中の材料シェーダDAGの
処理の間に出くわす物体についてのラベル情報を蓄積する。次に、出力シェーダ
DAGは、物体に特有の合成動作を行うことを容易にするために、ラベル・フレ
ーム・バッファからラベル情報を検索する少なくとも1つの出力シェーダを有す
る。ラベル・フレーム・バッファ生成命令に加えて、両方のDAGが機能し協働
できるように、現象は、場面画像発生器30の動作モードを制御するための命令
をさらに有してもよい。たとえば、このような命令は、評価されるべき2つのD
AGに要求される最少のサンプル密度を制御することができる。
phenomenon) は、少なくとも1つのフォトン・シェーダを有するフォトン・シェ
ーダDAGと、少なくとも1つの材料シェーダを有する材料シェーダDAGとの
両方によりシミュレートされる材料を表すことができる。レンダリングの間に、
フォトン・シェーダDAGは、火面及び全体的照明前処理の間に評価され、材料
シェーダDAGは、画像のレンダリングの間の後に評価される。フォトン・シェ
ーダDAGの処理の間に、火面あるいは全体的照明前処理段階からの照明効果の
寄与を加算するように、模擬フォトンを表す情報は、材料シェーダDAGの後の
処理の間に使用できるような方法で蓄積される。実施の一形態において、フォト
ン・シェーダDAGは、模擬フォトン情報をフォトン・マップに蓄積する。フォ
トン・マップは、模擬フォトン情報を材料シェーダDAGに伝達するために、フ
ォトン・シェーダDAGにより使用される。
ダ形式の少なくとも1つのシェーダを有する輪郭シェーダDAGと、少なくとも
1つの出力シェーダを有する出力シェーダDAGを有してもよい。輪郭シェーダ
DAGは、選択された色彩、透明度、幅および他の属性の「点(ドット)」を蓄
積することにより、どのように輪郭線を描くべきかを決めるために使用される。
出力シェーダDAGは、レンダリングの間に作られたすべてのセルを収集し、レ
ンダリングが完了したとき、輪郭線の中にそれらを結ぶように使用される。輪郭
シェーダDAGは、輪郭ストア・シェーダ、輪郭コントラスト・シェーダおよび
輪郭生成シェーダを有する。輪郭ストア・シェーダは、輪郭コントラスト・シェ
ーダにより後で使用するためのサンプリング情報を収集するために使用される。
次に、輪郭コントラスト・シェーダは、輪郭ストア・シェーダにより収集された
サンプリング情報が、輪郭点が画像の中に配置されるようなものであるかどうか
を判定するために使用され、もしそうであれば、輪郭生成シェーダは実際にその
輪郭点を配置する。この例の現象は、下記の4段階の協働を示す。
段階。
決定する第2の段階。
異なる時点で個々に処理され評価され、最終結果の生成を可能にするように協働
する。
シェーダDAGおよび幾何学的形状シェーダDAGを有することがある。ボリュ
ーム・シェーダDAGは、有界ボリュームの特性を定める少なくとも1つのボリ
ューム・シェーダ、たとえば有界ボリュームの中で毛皮(fur)をシミュレートす る毛皮シェーダを有する。幾何学的形状シェーダDAGは、元のボリューム・シ
ェーダDAGに関連する髪(hair)に関連して行われるべき計算を規定するように
外部境界表面にアタッチされた適切な材料およびボリューム・シェーダDAGを
使用して、レンダリングが始まる前に場面の中に、その外部境界表面を新しいジ
オメトリとして含むように使用される少なくとも1つのジオメトリ・シェーダを
有する。この実例の現象において、ジオメトリ・シェーダDAGとボリューム・
シェーダDAGとは協働し、ジオメトリ・シェーダDAGは手続き上のジオメト
リを導入する。手続き上のジオメトリの中で、ジオメトリ・シェーダDAGはボ
リューム・シェーダDAGを支援する。ボリューム・シェーダDAGは、このジ
オメトリを使用するが、ジオメトリはジオメトリ・シェーダDAGを用いてレン
ダリングに先立つ前処理動作の間に生成されるので、ジオメトリ自体を作ること
は不可能である。これに対して,ボリューム・シェーダDAGは、レンダリング
の間に使用される。ジオメトリ・シェーダを有するシェーダあるいは複数のシェ
ーダはボリューム・シェーダDAGにより使用される要素を手続き上供給するの
で、この第4の例に関連して示した協働は、第1から第3の例に関連して示した
ものとは異なり、第1から第3の例に関連する協働に関連する場合のように単に
データを蓄積するのみではない。
た複数の協働するが独立のシェーダDAGを用いて、場面の画像がレンダリング
できる、コンピュータ・グラフィック効果を示している。
連して行われる動作を、それぞれ図3および図5と関連して説明する。さらに、
現象クリエータ24に関連して作られた例示の現象を、図4に関連して説明し、
また、図4に関連して示される現象に関連して現象エディタ26により行われる
動作の詳細を図6Aおよび図6Bに関連して説明する。図3は現象クリエータ・
ウインドウ40を示し、オペレータが新しい現象を定義し、既存の現象の定義を
修正することを可能にするように、この現象クリエータ24は、オペレータ・イ
ンタフェース27がオペレータに表示することを可能にする。現象クリエータ・
ウインドウ40は、シェルフ(shelf)・フレーム41、サポートされたグラフ・ ノード・フレーム42、制御フレーム43および現象グラフ・キャンバス・フレ
ーム44を含む複数のフレームを有する。シェルフ・フレーム41は、一般的に
参照番号45により表される1つ以上の現象アイコンを有することができ、現象
アイコンのそれぞれは、場面構造生成部分20において使用するように少なくと
も部分的に定義された現象を表す。サポートされたグラフ・ノード・フレーム4
2は、一般的に参照番号46により表示された1つ以上のアイコンを有する。こ
のアイコンは、インタフェース、現象の中で使用される各種の形式のシェーダな
どのようなエンティティを表す。このエンティティは、オペレータが現象の中で
使用するように選択することができる。以下に説明するように、サポートされた
グラフ・ノード・フレーム42に示されたアイコンは、作成されあるいは修正さ
れるべき現象を定める閉路なし有向グラフのノードを形成するために、オペレー
タが使用することができる。実施の一形態において、下記を含む多くの形式のノ
ードがある。
リングの間に通常は色値を供給するプライマリ・ルート・ノード。
象DAGにおいてアンカー・ポイントとして使用できる数種類の形式のオプショ
ナル・ルート・ノード。オプショナル・ルート・ノードの形式の例には以下のも
のがある。
レンズ・シェーダDAGを挿入するために使用できるレンズ・ルート・ノード。
いは雰囲気)シェーダあるいはシェーダDAGを挿入するために使用できるボリ
ューム・ルート・ノード。
はシェーダDAGを挿入するために使用できる環境ルート・ノード。
データベースに追加することを可能にするために、レンダリングの間に前処理で
きるジオメトリ・シェーダあるいはシェーダDAGを指定するために使用できる
ジオメトリ・ルート・ノード。
めに使用できる輪郭ストア・ルート・ノード。
ード。
するために使用できる輪郭コントラスト・ルート。
かれた関数(function)を表すシェーダ・ノード。
てフォトン・エミッタ・シェーダを光源に供給する。
、表面が不透明であるかどうかを示す不透明表示のための入力ならびに、材料、
ボリューム、環境、シャドウ、変位、フォトン、フォトン・ボリュームおよび輪
郭シェーダのための入力を有する。
する定数ノード。定数値は、スカラー、ベクトル、論理値(ブール代数値)、色
彩、変換などのような他のノードのいずれかによって代表されるシェーダのよう
なエンティティに対して使用されるプログラム言語のほとんどの形式のデータ型
であってよい。
アログ・ボックスを表し、レンダリングの前あるいはレンダリングの間に現象を
制御するように、オペレータが入力情報を与えるために使用することができるダ
イアログ(対話)・ノード。ダイアログ・ノードは、たとえば、ダイアログ・ノ
ードを含む現象が接続される表面に関連して使用される色彩および他の値をオペ
レータが指定することを可能にするために表示される押しボタン、スライダ、ホ
イールなどを使用可能にするように、現象エディタ26を有効にすることができ
る。
ード・フレーム42は、ともに、一般的に参照番号47により識別された左矢印
アイコンと右矢印アイコンを有する。これら矢印アイコンは、同時に表示可能な
数より多くのエンティティがある場合に、現象クリエータ・ウインドウ40に表
示されるべきアイコンをシフトするように、それぞれのフレームに示されたアイ
コンが左または右にシフトされるようにする(図3に示すように)。
れたグラフ・ノード・フレーム42の中のノードの削除または複製、新しい現象
の構築の開始、オンライン・ヘルプ・システムの起動、現象クリエータ24を終
了することなどを含む制御動作を行うためにオペレータが使用することができる
ボタンを表すアイコン(図示せず)を格納している。
正される領域を提供する。オペレータが既存の現象の修正を望めば、オペレータ
は、マウスのようなポインティング・デバイスを使用する「ドラッグ・アンド・
ドロップ」手法を使用して、現象を表すシェルフ・フレーム41から現象グラフ
・キャンバス44までアイコン45を選択し、ドラッグすることができる。修正
されるべき現象と組み合わされた選択されたアイコン45が、現象グラフ・キャ
ンバス44にドラッグされた後に、矢印により相互接続され現象を規定するグラ
フを表す1つ以上のノードを表示するように、オペレータはアイコン45を拡大
することができる。現象の一例を表すグラフ50を図3に示す。図3に示すよう
に、グラフ50は、円およびブロックを有する複数のグラフ・ノードを含む。複
数のグラフ・ノードのそれぞれは、現象の中で使用できるエンティティと組み合
わされている。それらのノードは、現象と組み合わされたグラフを規定するよう
に、矢印により相互に接続されている。
フ・キャンバス44にドラッグされたアイコン45と組み合わされたグラフが拡
大された後に、オペレータは現象を規定しているグラフを修正することができる
。その動作において、対応する「ドラッグ・アンド・ドロップ」手法を使用して
、オペレータは、アイコン46を選択し、グラフに追加されるべきエンティティ
を表すサポートされたグラフ・ノード・フレーム42から現象グラフ・キャンバ
ス44にドラッグすることができ、その結果、グラフに新しいノードを確立する
。新しいノードが確立された後に、その間に矢印が表示されることを可能にする
ような適切な方法で両方のノードをクリックすることにより、オペレータは新し
いノードを既存のグラフの中のノードに相互接続することができる。また、グラ
フの中のノードは、それぞれのノードの間にまたがる矢印を削除することにより
他のノードから切断でき、制御フレーム43の中の削除押しボタンの適切な操作
によりグラフから削除できる。
アンド・ドロップ」手法を使用して、オペレータは、アイコン46を選択し、グ
ラフに追加されるべきエンティティを表すサポートされたグラフ・ノード・フレ
ーム42から現象グラフ・キャンバス44にドラッグすることができ、その結果
、創り出されるべきグラフに対して新しいノードを確立する。現象グラフ・キャ
ンバス44の中に新しいノードが確立された後に、その間に矢印が表示されるこ
とを可能にするような適切な方法で、両方のノードをクリックすることにより、
オペレータは、新しいノードを既存のグラフの中のノードに相互接続することが
できる。また、グラフの中のノードは、それぞれのノードの間にまたがる矢印を
削除することにより他のノードから切断でき、制御フレーム43の中の削除押し
ボタンの適切な操作により、グラフから削除できる。
かの現象に対するDAGあるいは協働DAGの集合を指定した後で、グラフによ
り表された現象が現象データベース25に蓄積される前に、現象グラフが整合性
があり、かつレンダリングの間に処理できることを検証するために、現象クリエ
ータ24は、現象グラフを検査する。その動作において、現象クリエータ24は
グラフ・ノードの間の相互接続がサイクル(周回路)を形成しないことを保証し
、それにより現象と組み合わされたグラフあるいは複数のグラフが閉路なし有向
グラフを形成し、かつグラフ・ノードの間の相互接続が整合性がある個々の入力
および出力データ型を表すことを保証する。グラフ・ノードがサイクルを形成す
ると現象クリエータ24が判定したときは、通常は適切に処理できない無限ルー
プを現象が本質的に形成していることは、十分理解されよう。これらの動作は、
そのように作られあるいは修正された現象が、その現象がアタッチされた場面の
画像がレンダリングされている時に、場面画像生成部分により処理できることを
、保証する。
25に蓄積される。
生成できる現象クリエータ24に関連して作られた現象の一例を示す。参照番号
60により識別される図4に示す現象の一例は、木質材料の表面の特徴に対して
使用できるものである。図4を参照すると、現象60は参照番号61により識別
される1つのルート・ノードを有し、これは現象60を場面の要素にアタッチす
るために使用される。グラフの中の他のノードは、材料シェーダ、テクスチャ・
シェーダおよびコヒーレント雑音シェーダをそれぞれ表す、材料シェーダ・ノー
ド62、テクスチャ・シェーダ・ノード63およびコヒーレント雑音シェーダ・
ノード64と、ダイアログ・ノード65とを有する。ダイアログ・ノード65は
、画像がレンダリングされる時に現象に対して使用する入力情報をオペレータが
入力することができるように、現象エディタ26により表示されるダイアログ・
ボックスを表す。
は、当業者に公知であり、本明細書においてはさらに説明しない。一般的には、
材料シェーダは、ルート・ノード61に供給される「結果(result)」により表さ
れる1つ以上の出力を有する。また逆に、材料シェーダは、「光沢性(glossines
s)」入力、「周囲(ambient)」色彩(カラー)入力、「拡散(diffuse)」色彩入力
、「透明度(transparency)」入力、および「光(lights)」入力を含む数個の入力
を有し、その結果表示される材料シェーダ・ノード62は、ダイアログ・ノード
65からの(光沢性入力の場合)、テクスチャ・シェーダ・ノード63からの(
周囲および拡散色彩入力の場合)、ハードワイヤード(回路接続による;hard-w
ired)定数からの(透明度入力の場合)および光リストからの(光入力の場合)
入力を受信するように、示されている。「0.0」と示され透明度入力に設けら
れているハードワイヤード定数は、材料が不透明であることを示している。「光
沢性」入力は、ダイアログ・ノード65に設けられている「光沢性」出力に接続
されており、ノード62により表示されている材料シェーダがレンダリングの間
に処理されているとき、図6Aおよび図6Bに関連して以下に説明されるように
、ダイアログ・ノードにより表されているダイアログ・ボックスからこのための
光沢性入力値を得る。
の「結果」出力からノード62のそれぞれの入力への接続によって示されるよう
に、テクスチャ・シェーダの出力により供給される。木質材料現象60がレンダ
リング動作の間に処理されるとき、特に、ノード62により表される材料シェー
ダが処理されるとき、周囲および拡散色彩入力値を供給するように、木質現象6
0はノード63により表されるテクスチャ・シェーダが処理されることを可能に
する。逆に、テクスチャ・シェーダは、ノード63上に示される「色彩1」およ
び「色彩2」入力ならびに「ブレンド(混合)」入力により表示される、周囲お
よび拡散色彩入力を含む3つの入力を有する。周囲および拡散色彩入力の値は、
ダイアログ・ノード65により表されるダイアログ・ボックスを使用して、図4
のダイアログ・ノード65からのそれぞれの拡散および周囲色彩出力からテクス
チャ・シェーダ・ノード63までの接続により表されているように、オペレータ
により入力される。
値は、ノード64により表されるコヒーレント雑音シェーダにより与えられる。
このようにして、ノード63により表されるテクスチャ・シェーダがレンダリン
グ動作の間に処理されるとき、テクスチャ・シェーダは、ノード64により表さ
れるコヒーレント雑音シェーダがブレンド入力値を与えるように処理されること
を可能にする。コヒーレント雑音シェーダは、「乱流(turbulence)」入力および
「円柱形(cylindrical)」入力を含む2つの入力を有する。ダイアログ・ノード 65からの乱流出力からコヒーレント雑音シェーダ・ノード64までの接続によ
り表されているように、乱流入力に対する値は、ダイアログ・ノード65により
表されるダイアログ・ボックスを使用して、オペレータにより与えられる。論理
値「真」と示されている円柱形入力に対する入力値は、現象60に配線接続(har
d-wired)されている。
、本発明の実施の一形態において、場面にアタッチされている現象に対する入力
値を確立し調整するためにオペレータにより使用される現象エディタ26が、オ
ペレータ・インタフェース27により表示されることを可能にされる現象エディ
タ・ウインドウ70を示す。特に、図3に関連してすでに説明したように、作成
あるいは修正の間にそれぞれの現象に対して確立されたダイアログ・ノード65
(図4)のようなダイアログ・ノードと組み合わされたダイアログ・ボックスに
より与えられる現象に対する値を確立するために、オペレータは、現象エディタ
・ウインドウを使用することができる。現象エディタ・ウインドウ70は、シェ
ルフ・フレーム71および制御フレーム72を含む複数のフレームを有し、さら
に、現象ダイアログ・ウインドウ73および現象プレビュー・ウインドウ74を
含む。シェルフ・フレーム71は、場面にアタッチするように利用できる種々の
現象を表すアイコン80を示す。現象クリエータ・ウインドウ40(図3)と同
様に、シェルフ・フレームは、一般的に参照番号81により特定された左および
右の矢印アイコンを有する。矢印アイコンは、同時に表示できるより多くの数の
アイコンがある時に、現象エディタ・ウインドウ70の中に表示されるようにア
イコンをシフトするように、それぞれのフレームに示されたアイコンが(図3に
示すように)左または右にシフトすることを可能にする。
あるいは複製、オンライン・ヘルプ・システムの起動、現象エディタ26の終了
などを含む制御作業を行うためにオペレータが使用できるボタンを表すアイコン
(図示せず)を保持している。
ウスのようなポインティング・デバイスの適当な操作により確立される現象を選
択することができる。(現象のインスタンスは、そのパラメータ値が固定された
現象に対応する。)オペレータが現象を選択した後に、現象エディタ26は、オ
ペレータ・インタフェース27が、現象ダイアログ・ウインドウの中のダイアロ
グ・ノードと組み合わされたダイアログ・ボックスを表示することを可能にする
。図4に関連して上述した、木質材料現象60の実施の一形態に関連して使用さ
れるダイアログ・ボックスの一例を、図6Aおよび図6Bに関連して以下に説明
する。オペレータが、ダイアログ・ボックスを介して入力できる入力値を入力し
調整するにつれて、現象エディタ26は、効率的に現象を処理し、現象プレビュ
ー・ウインドウ74に結果として生じる出力を表示する。上に述べたように、現
象ダイアログ・ウインドウに表示されたダイアログ・ボックスを介して利用でき
る入力を用いて、オペレータが確立する値の結果を見ることができるように、オ
ペレータは現象エディタ・ウインドウ70を使用することができる。
ダイアログ・ノード(図6Aの場合)およびそれに関連するダイアログ・ボック
スの一例(図6Bの場合)の細部を示す。図4において参照番号65により特定
されるダイアログ・ノードは、それが関連する特定の現象の作成あるいは修正の
処理の間に、現象クリエータ24を使用して、オペレータにより定義され作成さ
れる。図6Aを参照すると、ダイアログ・ボックス65は、複数のタイル、すな
わち周囲色タイル90、拡散色タイル91、乱流タイル92および光沢タイル9
3を有する。図4に関連して上述したように、それぞれのタイル90から93が
、ダイアログ・ノード65から出力された関連する周囲、拡散、乱流および光沢
性出力値と組み合わされていることは、十分理解されよう。周囲および拡散色タ
イルは、従来の赤/緑/青/アルファ、すなわち「RGBA」、色/透明度仕様
を用いて指定できる色値と関連付けられている。したがって、各色彩タイルは実
際には、色表現の赤色、緑色および青色のそれぞれと透明度(アルファ)に対し
てそれぞれ1つの、複数の入力値と関連付けられる。他方、乱流および光沢タイ
ル92および93のそれぞれは、スカラー値と関連付けられている。
表示されている、ダイアログ・ノード65(図6A)と関連付けられたダイアロ
グ・ボックス100の一例を示す。ダイアログ・ボックス100において、ダイ
アログ・ノード65の周囲および拡散色タイル90および91は、それぞれオペ
レータ・インタフェース27により、一般的にそれぞれ参照番号101および1
02により特定されたスライダのそれぞれの組として表示される。そのそれぞれ
は、レンダリングの間に関連する現象の処理の間に使用されるカラー表現におけ
る色彩の1つと関連付けられている。さらに、ダイアログ・ノード65の乱流お
よび光沢タイル92および93は、それぞれ個々のスライダ103および104
として、オペレータ・インタフェースにより表示される。オペレータは、マウス
のようなポインティング・デバイスを使用して、スライダ101および102の
それぞれの組におけるスライダを従来の方法で操作することができ、それにより
現象エディタ26は、現象60(図4)の他のノードと組み合わされたシェーダ
にダイアログ・ノード65により与えられたそれぞれの周囲および拡散色値に対
する色彩のそれぞれの組み合わせを調整することが可能になる。さらに、乱流お
よび光沢入力と関連付けられたスライダ103および104は、オペレータが操
作することができ、したがって、現象エディタ26は、木質材料現象60の他の
ノードと関連付けられたシェーダにダイアログ・ノード65により供給される個
々の乱流および光沢値を調整することが可能になる。
た各種の現象および現象のインスタンスに対する値を確立した後に、それらの値
はその場面とともに場面オブジェクト・データベース22に蓄積される。その後
に、オペレータ・インタフェース31により表示するために、場面の画像は、場
面画像生成部分21により、特に、場面画像発生器30によりレンダリングする
ことができる。場面画像発生器30により行われる動作を、図7に示すフローチ
ャートに関連して一般的に説明する。図7を参照すると、場面画像発生器30は
、前処理段階、レンダリング段階および後処理段階を含む一連の段階で動作する
。前処理段階において、前処理および/またはそれに関連する後処理動作を行う
必要があるかどうかを判定するために、場面画像発生器30は場面にアタッチさ
れた現象を試験する(ステップ100)。次に場面画像発生器30は、ステップ
100における動作が、場面にアタッチされた少なくとも1つの現象に関連して
、前処理動作が必要であることを示したかどうかを判断し(ステップ101)、
もしそうであれば、前処理動作を行う(ステップ102)。例示する前処理動作
は、たとえば、場面にアタッチされた現象がジオメトリ・シェーダを有するなら
ば、それによりその場面に対して定義されたジオメトリを生成するために、場面
のジオメトリを生成することを含む。他の例示する前処理動作は、たとえば、シ
ャドウおよびフォトン・マッピング、多重継承解像度などを含む。ステップ10
2またはステップ101に続いて、そのステップで場面画像発生器30が否定的
な判定をすれば、場面画像発生器30はさらに、レンダリングに先立つ場面表現
に関連して要求されるかもしれない前処理動作を実行することがある。この前処
理動作は、場面にアタッチされた現象には関連していない(ステップ103)。
その段階で、レンダリングされた画像を生成するために、前処理された場面表現
に関連してレンダリング動作を実行する(ステップ104)。その動作において
、場面画像発生器30は、場面オブジェクト・データベース22に蓄積された、
エンティティ幾何学的表現発生器23により生成される場面の各種の構成要素に
アタッチされるべき現象を識別し、それぞれの現象のすべてのプライマリ・ルー
ト・ノードおよびオプショナル・ルート・ノードを、ルート・ノードの形式に適
切な場面構成要素に取り付ける。その後に、場面画像発生器30は画像をレンダ
リングする。さらに、場面画像発生器30は、後処理段階の間に後処理動作で使
用するかもしれない情報を必要に応じて生成する。
段階を実行する。その動作において、場面画像発生器30は、ステップ100で
行われた動作が、場面にアタッチされた現象に関連して後処理動作が必要である
ことを示したかどうかを判定する(ステップ105)。ステップ105において
場面画像発生器30が肯定的な判定をすれば、場面画像発生器30は場面にアタ
ッチされた現象に関連して必要な後処理動作を行う(ステップ106)。さらに
、場面画像発生器30は、ステップ106において現象に関連していない他の後
処理動作を実行してもよい。場面画像発生器30は、色彩補正のためのピクセル
値操作に関連して後処理動作を実行することがあり、種々の光学的効果をもたら
すようにフィルタリングを行う。さらに、たとえば、場面にアタッチされた現象
が、被写界深度あるいは動きぶれ(motion blur)計算のような後処理動作を規定 する出力シェーダを有するならば、場面画像発生器30は、後処理動作を実行す
ることがある。被写界深度あるいは動きぶれ計算は、実施の一形態においては、
たとえば、レンダリングされた画像に関連して、各ピクセル値に関連して蓄積さ
れた速度および深度情報に依存する1つの出力シェーダの中で完全に行える。
タ24を参照)、操作する(現象エディタ26を参照)ための装置を備えるコン
ピュータ・グラフィックス・システムを提供する。そのように作成された現象は
、整合性がありかつレンダリングの間に処理できることを保証するために、現象
クリエータ24により処理される。現象は場面にアタッチされる以前に作成され
るから、コンピュータ・プログラムの開発に熟練しているプログラマー等が現象
を作成することができ、したがって、現象の開発のために芸術家、製図者などの
ような他の者が必要であることが緩和されることは、十分理解されよう。さらに
、現象は、それ(すなわち、その複雑さ)を、事前に現象クリエータのエキスパ
ート・ユーザにより行われる独立したタスクに分けることによって、多くの異な
っているが互いに関係のあるシェーダを場面に組み込むことの複雑さから、芸術
家を解放する。現象を使用することにより、組み込むことの使用法は大部分が自
動化される。ひとたび現象あるいは現象インスタンスが作成されると、それは場
面に独立であり、多くの場面で再利用できるので、反復的な仕事を回避できる。
上述のように、現象は場面に関連したそれらの利用とは別個に作成できるから、
現象を作成し修正するために使われた現象クリエータ24および現象インスタン
スを作成するために使われた現象エディタ26は、別々のコンピュータ・グラフ
ィックス・システムに設けられてもよい。たとえば、もし、たとえば、現象デー
タベース25が以前に作られた適切な現象を有し、オペレータが現象を作成もし
くは修正する必要がなければ、現象エディタ26を有するコンピュータ・グラフ
ィックス・システム10は、現象クリエータ24を有する必要はない。
いは1つ以上の変数の関数にもとづいて変化してもよい。たとえば、もしそれぞ
れのパラメータの1つ以上の値が変数としての時間に応じて変化すれば、現象イ
ンスタンスは時間依存性である、すなわち「動画(アニメーション)化されてい
る」。これは、アニメーションを構成する一連のフレームのフレーム番号により
ラベル付けされた時間間隔で通常は離散化されているが、しかしそれにもかかわ
らず、時間依存性は、その時間の間、任意の現象パラメータの値をもつ関数の形
式をとることがあり、たとえ画像が連続したフレーム番号でレンダリングされた
としても、シェーダが離散間隔に拘束されないように、そのそれぞれは絶対時間
値でタグを付けることができる。
依存値を選択するように使用され、時間に依存する「現象インスタンス」を作成
する。特定の実施の一形態において、現象のパラメータに対する時間依存値の選
択は、この明細書において現象に対する「現象特性制御ツリー(phenomenon prop
erty control tree)」と呼ばれるものを図式対話型にアタッチすることにより実
現される。ツリー(木)あるいはDAGの形式であってもよい現象特性制御ツリ
ーは、効率的にその現象の外側に、現象パラメータに取り付けられ、現象インス
タンス・データベースに現象とともに格納される。現象特性制御ツリーは、1つ
以上のノードからなり、ノードの各々はそれが提供する機能、たとえば、運動曲
線やデータ・ルックアップ機能などの意味でシェーダである。現象特性制御ツリ
ーは浅いことが望ましく、通常は非常に少数の分岐レベルを有する。現象特性制
御ツリーはただ1つのシェーダからなることができ、このシェーダは、それと関
連付けられたパラメータに対する値を実行時(run time)に計算するために、関数
を定義する。現象は複雑なシェーダ・ツリーあるいはDAGのカプセル化を可能
とし促進するので、現象特性制御ツリーは浅いままでいることができ、たとえば
、再利用のためにデータを蓄積することにより、レンダリング段階の間に最適化
された方法での評価を容易にする。現象のパラメータを制御するためにこのよう
な現象特性制御木をアタッチすることをオペレータに許容することによって、ユ
ーザの自由度を大幅に増加し、予め規定されパッケージ化された現象をユーザが
利用することにもとづく特定用途向けの効果(カスタム・エフェクト:custom e
ffect)を実現する。この方法で作ることができる個別の現象インスタンスの数 はしたがって大幅に増加し、同時に、現象におけるすべての複雑さをカプセル化
することによって、利用方法の容易さは損なわれない。
エディタ26に関連して使用されたウインドウの外観および構造が、本明細書に
おいて説明されたものとは異なるものであってもよいことは、十分理解されよう
。
るような、専用ハードウェアあるいは汎用コンピュータ・システム、あるいはそ
の任意の組み合わせから、全体的にも部分的にも構築できることは十分理解され
よう。どのプログラムも、全体的にもあるいは部分的にも、従来の方法で本シス
テムの部分を構成し、あるいは本システム上に格納され、あるいは全体的にも部
分的にも、ネットワークあるいは情報を転送するための他のメカニズムを介して
、従来の方法により、システムに供給されてもよい。さらに、本システムが、オ
ペレータ入力要素(図示せず)を使用するオペレータによって入力される情報に
より操作でき、および/または他の方法で制御できることは十分理解されよう。
オペレータ入力要素は、本システムに直接接続されてもよく、あるいは、ネット
ワークあるいは従来の方法で情報を転送するための他のメカニズムを介して情報
を本システムに転送してもよい。
利点の一部または全部の技術を用いて、各種の変形および修正を本発明に加える
ことが可能であることは明白であろう。本発明の真の技術思想と範囲内で、これ
らのおよびこのような他の変形および修正を網羅することは、添付した請求の範
囲の目的である。
ることによりシェーダ間の協働を強化した、本発明により構成されたコンピュー
タ・グラフィックス・システムを示す。シェーダDAGのそれぞれは1つ以上の
シェーダを有することができ、そのシェーダDAGは、シェーダDAGの中のシ
ェーダが、レンダリングの間は、正確に協働することができることを保証するよ
うな方法で生成されている。
図である。
テムに使用される現象クリエータの実施の一形態のグラフィカル・ユーザー・イ
ンターフェースを示す。
式で例示する。
テムで使用される現象エディタの実施の一形態のグラフィカル・ユーザー・イン
ターフェースを示す。
ースの詳細を示す。
ス・システムの場面画像生成部分(scene image generation portion)により行わ
れる動作を表すフローチャートである。
Claims (28)
- 【請求項1】 少なくとも1つのインスタンス生成された現象(phenomenon)
がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィックス
・システムであって、前記インスタンス生成された現象が少なくとも1つのシェ
ーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
前処理動作を必要とするかどうかを判定し、もしそうであれば、場面の前処理さ
れた表現を生成するように前記前処理動作を行うように構成されたプリプロセッ
サと、 B. 場面の前処理された表現からレンダリングされた画像を生成するよう
に構成されたレンダリング装置と、 を有するコンピュータ・グラフィックス・システム。 - 【請求項2】 シェーダ・ノードの少なくとも1つの形式がジオメトリ・シ
ェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが場面に対
するジオメトリを定めるためのジオメトリ・シェーダ・ノード形式であれば、前
記前処理動作を行うように、プリプロセッサが構成されている、請求項1に記載
のコンピュータ・グラフィックス・システム。 - 【請求項3】 シェーダ・ノードの少なくとも1つの形式がフォトン・シェ
ーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが場面におけ
るフォトンの経路および場面の中の物体の表面とフォトンとの相互作用の特性を
制御するためのフォトン・シェーダ・ノード形式であれば、前記前処理動作を行
うように、プリプロセッサが構成されている、請求項1に記載のコンピュータ・
グラフィックス・システム。 - 【請求項4】 シェーダ・ノードの少なくとも1つの形式がフォトン・エミ
ッタ・シェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが
場面を照明している光源によりフォトンの生成をシミュレートするためのフォト
ン・エミッタ・シェーダ・ノード形式であれば、前記前処理動作を行うように、
プリプロセッサが構成されている、請求項1に記載のコンピュータ・グラフィッ
クス・システム。 - 【請求項5】 シェーダ・ノードの少なくとも1つの形式がフォトン・ボリ
ューム・シェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノード
が前記場面の中の空間の3次元体積と光源からのフォトンとの相互作用をシミュ
レートするためのフォトン・ボリューム・シェーダ・ノード形式であれば、前記
前処理動作を行うように、プリプロセッサが構成されている、請求項1に記載の
コンピュータ・グラフィックス・システム。 - 【請求項6】 少なくとも1つのインスタンス生成された現象が前記表現に
関連して後処理動作を要求しているかどうかを判定し、もしそうであれば前記後
処理動作を行うように構成されたポストプロセッサをさらに有する、請求項1に
記載のコンピュータ・グラフィックス・システム。 - 【請求項7】 少なくとも1つのシェーダ・ノードが出力シェーダ・ノード
形式であり、もし少なくとも1つのシェーダ・ノードが出力シェーダ・ノード形
式であれば、前記後処理動作を行うように、ポストプロセッサが構成されている
請求項1に記載のコンピュータ・グラフィックス・システム。 - 【請求項8】 レンダリングされた画像はそれぞれピクセル値と関連付けら
れた複数のピクセルを有し、前記ピクセル値に関連して前記後処理動作を行うよ
うにポストプロセッサが構成されている請求項7に記載のコンピュータ・グラフ
ィックス・システム。 - 【請求項9】 少なくとも1つのインスタンス生成された現象(phenomenon)
がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィックス
・システムであって、前記インスタンス生成された現象は少なくとも1つのシェ
ーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 場面の前記表現からレンダリングされた画像を生成するように構成さ
れたレンダリング装置と、 B. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
後処理動作を必要とするかどうかを判定し、もしそうであれば、前記後処理動作
を行うように構成されたポストプロセッサと、 を有するコンピュータ・グラフィックス・システム。 - 【請求項10】 少なくとも1つのシェーダ・ノードが出力シェーダ・ノー
ド形式であり、もし少なくとも1つのシェーダ・ノードが出力シェーダ・ノード
形式であれば、前記後処理動作を行うように、ポストプロセッサが構成されてい
る、請求項9に記載のコンピュータ・グラフィックス・システム。 - 【請求項11】 前記レンダリングされた画像はそれぞれピクセル値と関連
付けられた複数のピクセルを有し、前記ピクセル値に関連して前記後処理動作を
行うようにポストプロセッサが構成されている請求項10に記載のコンピュータ
・グラフィックス・システム。 - 【請求項12】 オペレータが現象(phenomenon)を作り出すことが可能にす
るコンピュータ・グラフィックス・システムであって、現象は少なくとも1つの
シェーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. それぞれシェーダを有する複数のベース・シェーダ・ノードを蓄積す
るように構成されているベース・シェーダ・ノード・データベースと、 B. 前記オペレータが、前記ベース・シェーダ・ノード・データベースか
らDAGへ、前記ベース・シェーダ・ノードを相互に接続することを可能にする
ように構成されている現象クリエータと、を有し、 現象クリエータが、前記オペレータにより供給された前記ベース・シェーダ・
ノードの間の相互接続がDAGからなることを検査する、コンピュータ・グラフ
ィックス・システム。 - 【請求項13】 前記現象クリエータは前記オペレータにより作成された現
象を現象データベースに蓄積する請求項12に記載のコンピュータ・グラフィッ
クス・システム。 - 【請求項14】 前記現象クリエータは、前記オペレータが複数の協働DA
Gを有する現象の中の前記ベース・シェーダ・ノードを相互に接続することを可
能にするようにさらに構成されており、複数の協働DAGの中で場面の画像のレ
ンダリングの間に使用されるとき、前記協働DAGの1つの中の1つのシェーダ
・ノードが、前記協働DAGの他の1つに関連して使用される少なくとも1つの
値を供給する請求項12に記載のコンピュータ・グラフィックス・システム。 - 【請求項15】 オペレータがインスタンス生成された現象(phenomenon)を
現象から生成することを可能にするコンピュータ・グラフィックス・システムで
あって、現象が少なくとも1つのシェーダ・ノードを含む少なくとも1つのシェ
ーダDAGを有するカプセル化されたシェーダDAGを有しており、 A. 前記現象を蓄積するように構成された現象データベースと、 B. 前記オペレータが前記現象を選択し、前記少なくとも1つのシェーダ
・ノードと関連付けられた少なくとも1つのパラメータに対する値を与えること
を可能にするように構成された現象エディタと、 を有するオペレータがコンピュータ・グラフィックス・システム。 - 【請求項16】 前記値が固定されている請求項15に記載のコンピュータ
・グラフィックス・システム。 - 【請求項17】 前記値が、変数のあらかじめ定められた関数である、請求
項15に記載のコンピュータ・グラフィックス・システム。 - 【請求項18】 前記変数が時間であり、それによってインスタンス生成さ
れた現象のアニメーションを規定する請求項17に記載のコンピュータ・グラフ
ィックス・システム。 - 【請求項19】 前記値が、関数を定める少なくとも1つのノードを有する
特性制御ツリーにより与えられる請求項15に記載のコンピュータ・グラフィッ
クス・システム。 - 【請求項20】 前記値が固定されている請求項19に記載のコンピュータ
・グラフィックス・システム。 - 【請求項21】 前記値が、変数のあらかじめ定められた関数である、請求
項19に記載のコンピュータ・グラフィックス・システム。 - 【請求項22】 前記変数が時間であり、それによってインスタンス生成さ
れた現象のアニメーションを規定する請求項21に記載のコンピュータ・グラフ
ィックス・システム。 - 【請求項23】 少なくとも1つの関数が運動曲線を定義する請求項19に
記載のコンピュータ・グラフィックス・システム。 - 【請求項24】 少なくとも1つの関数がテクスチャ・ルックアップ関数を
定義する請求項19に記載のコンピュータ・グラフィックス・システム。 - 【請求項25】 少なくとも1つのインスタンス生成された現象(phenomeno
n)がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィック
ス方法であって、前記インスタンス生成された現象は少なくとも1つのシェーダ
・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
前処理動作を必要とするかどうかを判定し、もしそうであれば、場面の前処理さ
れた表現を生成するための前記前処理動作を行う前処理段階と、 B. 場面の前記前処理された表現からレンダリングされた画像を生成する
レンダリング段階と、 を有するコンピュータ・グラフィックス方法。 - 【請求項26】 少なくとも1つのインスタンス生成された現象(phenomeno
n)がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィック
ス方法であって、前記インスタンス生成された現象は少なくとも1つのシェーダ
・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 場面の前記表現からレンダリングされた画像を生成するレンダリング
段階と、 B. 前記少なくとも1つのインスタンス生成された現象が前記表現に関連
して後処理動作を必要とするかどうかを判定し、もしそうであれば、前記後処理
動作を行う後処理段階と、 を有するコンピュータ・グラフィックス方法。 - 【請求項27】 オペレータが現象(phenomenon)を作り出すことを可能にす
るコンピュータ・グラフィックス方法であって、現象は少なくとも1つのシェー
ダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. それぞれシェーダを有する複数のベース・シェーダ・ノードを蓄積す
るように構成されているベース・シェーダ・ノード・データベースを用意する段
階と、 B. 前記ベース・シェーダ・ノード・データベースからDAGへ、前記ベ
ース・シェーダ・ノードを前記オペレータが相互に接続することを可能にし、ま
た前記オペレータにより与えられた前記ベース・シェーダ・ノードの間の相互接
続がDAGを有することを検査する現象クリエータ段階と、 を有するコンピュータ・グラフィックス方法。 - 【請求項28】 オペレータがインスタンス生成された現象(phenomenon)を
現象から生成することを可能にするコンピュータ・グラフィックス方法であって
、現象は少なくとも1つのシェーダ・ノードを含む少なくとも1つのシェーダD
AGを有するカプセル化されたシェーダDAGを有しており、 A. 前記現象を蓄積するように構成された現象データベースを用意する段
階と、 B. 前記現象を選択し、前記少なくとも1つのシェーダ・ノードと関連付
けられた少なくとも1つのパラメータに対する値を供給することをオペレータに
対して可能にする現象エディタ段階と、 を有するコンピュータ・グラフィックス方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5150797P | 1997-07-02 | 1997-07-02 | |
US60/051,507 | 1997-07-02 | ||
PCT/IB1998/001073 WO1999001846A1 (en) | 1997-07-02 | 1998-07-02 | A computer graphics system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001509620A true JP2001509620A (ja) | 2001-07-24 |
JP2001509620A5 JP2001509620A5 (ja) | 2005-12-22 |
Family
ID=21971724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000501480A Pending JP2001509620A (ja) | 1997-07-02 | 1998-07-02 | コンピュータ・グラフィックス・システム |
Country Status (10)
Country | Link |
---|---|
US (3) | US6496190B1 (ja) |
EP (1) | EP0993659B1 (ja) |
JP (1) | JP2001509620A (ja) |
AT (1) | ATE311637T1 (ja) |
AU (1) | AU752048B2 (ja) |
CA (1) | CA2294233C (ja) |
DE (1) | DE69832611T2 (ja) |
DK (1) | DK0993659T3 (ja) |
ES (1) | ES2255167T3 (ja) |
WO (1) | WO1999001846A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009500730A (ja) * | 2005-07-01 | 2009-01-08 | メンタル イメージズ ゲーエムベーハー | コンピュータ・グラフィック・シェイダー・システムおよび方法 |
JP2009277258A (ja) * | 2002-07-16 | 2009-11-26 | Microsoft Corp | グラフィックス・システム内で中間ターゲットを提供するためのシステムおよび方法 |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496190B1 (en) * | 1997-07-02 | 2002-12-17 | Mental Images Gmbh & Co Kg. | System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system |
US9007393B2 (en) * | 1997-07-02 | 2015-04-14 | Mental Images Gmbh | Accurate transparency and local volume rendering |
US7548238B2 (en) * | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
US7092860B1 (en) * | 1999-02-03 | 2006-08-15 | Mitutoyo Corporation | Hardware simulation systems and methods for vision inspection systems |
EP1079332A1 (en) * | 1999-08-25 | 2001-02-28 | M.M. Multimedia A/S | Method of rendering states of a system |
US7165060B2 (en) * | 2000-02-14 | 2007-01-16 | Lockheed Martin Corporation | Information access, collaboration and integration system and method |
US7437408B2 (en) * | 2000-02-14 | 2008-10-14 | Lockheed Martin Corporation | Information aggregation, processing and distribution system |
EP1132863A1 (en) * | 2000-03-08 | 2001-09-12 | MVTec Software GmbH | Method and system for developing image processing applications |
CN102289832B (zh) * | 2000-06-09 | 2014-08-20 | 精工爱普生株式会社 | 图像指定文件的制作和使用了该文件的图像的播放 |
US7034828B1 (en) * | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
JP4740476B2 (ja) * | 2000-08-23 | 2011-08-03 | 任天堂株式会社 | グラフィックスシステム内におけるn個のアルファ演算の論理結合を提供する方法および装置 |
US6683619B1 (en) * | 2000-10-18 | 2004-01-27 | Sony Corporation | System and method for increasing performance when compositing images |
US6897880B2 (en) | 2001-02-22 | 2005-05-24 | Sony Corporation | User interface for generating parameter values in media presentations based on selected presentation instances |
EP1258837A1 (en) | 2001-05-14 | 2002-11-20 | Thomson Licensing S.A. | Method to generate mutual photometric effects |
US20030090530A1 (en) * | 2001-09-07 | 2003-05-15 | Karthik Ramani | Systems and methods for collaborative shape design |
US7337093B2 (en) * | 2001-09-07 | 2008-02-26 | Purdue Research Foundation | Systems and methods for collaborative shape and design |
US20030076320A1 (en) * | 2001-10-18 | 2003-04-24 | David Collodi | Programmable per-pixel shader with lighting support |
US20040103147A1 (en) * | 2001-11-13 | 2004-05-27 | Flesher Kevin E. | System for enabling collaboration and protecting sensitive data |
US7176917B1 (en) * | 2002-08-09 | 2007-02-13 | Avid Technology, Inc. | Visual programming interface for a three-dimensional animation system for defining real time shaders using a real-time rendering engine application programming interface |
US20040095348A1 (en) * | 2002-11-19 | 2004-05-20 | Bleiweiss Avi I. | Shading language interface and method |
US7928997B2 (en) * | 2003-02-06 | 2011-04-19 | Nvidia Corporation | Digital image compositing using a programmable graphics processor |
US20050140672A1 (en) * | 2003-02-18 | 2005-06-30 | Jeremy Hubbell | Shader editor and compiler |
US7523406B2 (en) * | 2003-07-22 | 2009-04-21 | Autodesk Inc. | Dynamic parameter interface |
US20070165045A1 (en) * | 2004-01-12 | 2007-07-19 | Allegorithmic | Method and tool for modifying a procedural map |
US8704837B2 (en) | 2004-04-16 | 2014-04-22 | Apple Inc. | High-level program interface for graphics operations |
US8134561B2 (en) | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing graphics operations |
US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7671862B1 (en) | 2004-05-03 | 2010-03-02 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7441206B2 (en) * | 2004-06-14 | 2008-10-21 | Medical Simulation Corporation | 3D visual effect creation system and method |
WO2006020001A2 (en) * | 2004-07-15 | 2006-02-23 | The Regents Of The University Of California | Fast multi-pass partitioning via priority based scheduling |
US7392506B2 (en) * | 2004-07-29 | 2008-06-24 | International Business Machines Corporation | Method, system and article of manufacture for testing a software application having a text-based screen with a test tool for a software application having a graphical user interface which uses objects |
US20060082577A1 (en) * | 2004-10-20 | 2006-04-20 | Ugs Corp. | System, method, and computer program product for dynamic shader generation |
US7710418B2 (en) * | 2005-02-04 | 2010-05-04 | Linden Acquisition Corporation | Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon |
US7280107B2 (en) * | 2005-06-29 | 2007-10-09 | Microsoft Corporation | Procedural graphics architectures and techniques |
US7414623B2 (en) * | 2005-06-29 | 2008-08-19 | Microsoft Corporation | Adaptive sampling for procedural graphics |
US7496416B2 (en) * | 2005-08-01 | 2009-02-24 | Luxology, Llc | Input/output curve editor |
US8743116B1 (en) * | 2006-02-24 | 2014-06-03 | Microsoft Corporation | Shader network |
US7595963B1 (en) | 2006-06-07 | 2009-09-29 | Western Digital Technologies, Inc. | Head gimbal assembly including a flexure with a first conductive trace disposed between a slider and a dielectric layer |
US8203563B2 (en) * | 2006-06-16 | 2012-06-19 | Nvidia Corporation | System, method, and computer program product for adjusting a programmable graphics/audio processor based on input and output parameters |
US8493388B2 (en) * | 2006-08-09 | 2013-07-23 | Siemens Medical Solutions Usa, Inc. | Modular volume rendering using visual programming |
US7663621B1 (en) * | 2006-11-03 | 2010-02-16 | Nvidia Corporation | Cylindrical wrapping using shader hardware |
KR100898991B1 (ko) * | 2006-12-02 | 2009-05-27 | 한국전자통신연구원 | 3차원 그래픽 시스템의 쉐이더 제공 및 변환 장치 |
US8355021B2 (en) * | 2007-05-17 | 2013-01-15 | Siemens Aktiengesellschaft | Fused volume rendering |
FR2917199B1 (fr) * | 2007-06-05 | 2011-08-19 | Thales Sa | Generateur de code source pour une carte graphique |
US20100259537A1 (en) * | 2007-10-12 | 2010-10-14 | Mvtec Software Gmbh | Computer vision cad models |
US9321281B2 (en) * | 2009-03-27 | 2016-04-26 | Electronics For Imaging, Inc. | Selective ink cure |
KR20110066011A (ko) * | 2009-12-10 | 2011-06-16 | 한국전자통신연구원 | 이미지 특성 추출을 이용한 유사 쉐이더 검색장치 및 방법 |
JP5123353B2 (ja) | 2010-05-06 | 2013-01-23 | 株式会社スクウェア・エニックス | リアルタイムシーンを照明し,発見するバーチャルフラッシュライト |
US20130063460A1 (en) * | 2011-09-08 | 2013-03-14 | Microsoft Corporation | Visual shader designer |
US9224239B2 (en) | 2013-03-14 | 2015-12-29 | Dreamworks Animation Llc | Look-based selection for rendering a computer-generated animation |
US9171401B2 (en) | 2013-03-14 | 2015-10-27 | Dreamworks Animation Llc | Conservative partitioning for rendering a computer-generated animation |
US9659398B2 (en) | 2013-03-15 | 2017-05-23 | Dreamworks Animation Llc | Multiple visual representations of lighting effects in a computer animation scene |
US9626787B2 (en) | 2013-03-15 | 2017-04-18 | Dreamworks Animation Llc | For node in render setup graph |
US9230294B2 (en) | 2013-03-15 | 2016-01-05 | Dreamworks Animation Llc | Preserving and reusing intermediate data |
US9811936B2 (en) | 2013-03-15 | 2017-11-07 | Dreamworks Animation L.L.C. | Level-based data sharing for digital content production |
US9208597B2 (en) | 2013-03-15 | 2015-12-08 | Dreamworks Animation Llc | Generalized instancing for three-dimensional scene data |
US9514562B2 (en) | 2013-03-15 | 2016-12-06 | Dreamworks Animation Llc | Procedural partitioning of a scene |
US9589382B2 (en) | 2013-03-15 | 2017-03-07 | Dreamworks Animation Llc | Render setup graph |
US9218785B2 (en) | 2013-03-15 | 2015-12-22 | Dreamworks Animation Llc | Lighting correction filters |
US20140354658A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Shader Function Linking Graph |
WO2016137974A1 (en) | 2015-02-23 | 2016-09-01 | Wabash National, L.P. | Composite refrigerated truck body and method of making the same |
US10403025B2 (en) | 2015-06-04 | 2019-09-03 | Samsung Electronics Co., Ltd. | Automated graphics and compute tile interleave |
EP3101650A1 (en) * | 2015-06-04 | 2016-12-07 | Samsung Electronics Co., Ltd. | Method and apparatus for performing interleaving |
US10089775B2 (en) * | 2015-06-04 | 2018-10-02 | Samsung Electronics Co., Ltd. | Automated graphics and compute tile interleave |
US10549789B2 (en) | 2015-09-08 | 2020-02-04 | Wabash National, L.P. | Joining a rail member to a composite trailer structure |
MX2018002939A (es) | 2015-09-08 | 2018-06-18 | Wabash National Lp | Union de ensamble de suspension a una estructura de remolque compuesta. |
MX2016013715A (es) | 2015-10-23 | 2017-12-20 | Wabash National Lp | Moldes extruidos y metodos para fabricar paneles de camion compuestos. |
US10479419B2 (en) | 2016-02-24 | 2019-11-19 | Wabash National, L.P. | Composite refrigerated semi-trailer and method of making the same |
US10329763B2 (en) | 2016-02-24 | 2019-06-25 | Wabash National, L.P. | Composite floor structure and method of making the same |
US10239566B2 (en) | 2016-02-24 | 2019-03-26 | Wabash National, L.P. | Composite floor for a dry truck body |
US10478720B2 (en) * | 2016-03-15 | 2019-11-19 | Unity IPR ApS | Dynamic assets for creating game experiences |
US10479405B2 (en) | 2016-08-31 | 2019-11-19 | Wabash National, L.P. | Mounting bracket for a composite truck body floor |
US10407103B2 (en) | 2017-01-11 | 2019-09-10 | Wabash National, L.P. | Mounting bracket for a truck body and method for mounting a composite truck body to a chassis |
US10445319B2 (en) * | 2017-05-10 | 2019-10-15 | Oracle International Corporation | Defining subgraphs declaratively with vertex and edge filters |
CA3013741C (en) | 2017-08-10 | 2023-09-12 | Wabash National, L.P. | Transverse beam for composite floor structure and method of making the same |
CA3213679A1 (en) | 2017-08-25 | 2019-02-25 | Wabash National, L.P. | Composite floor structure with embedded hardpoint connector and method of making the same |
US10475151B2 (en) * | 2017-11-06 | 2019-11-12 | Basemark Oy | Graphics engine resource management and allocation system |
US10467722B2 (en) * | 2017-11-06 | 2019-11-05 | Basemark Oy | Combined rendering and computing resource allocation management system |
US11400987B2 (en) | 2018-08-15 | 2022-08-02 | Wabash National, L.P. | Slide rail assembly and landing gear assembly with embedded hardpoint connectors |
CA3052934C (en) | 2018-08-31 | 2023-07-04 | Wabash National, L.P. | Low-profile slide rail assembly with embedded or laminated hardpoint connectors |
US11358652B2 (en) | 2018-10-22 | 2022-06-14 | Wabash National, L.P. | Composite floor with integrated conduit |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4679077A (en) * | 1984-11-10 | 1987-07-07 | Matsushita Electric Works, Ltd. | Visual Image sensor system |
EP0528631B1 (en) * | 1991-08-13 | 1998-05-20 | Xerox Corporation | Electronic image generation |
AU6665194A (en) * | 1993-08-24 | 1995-03-21 | Taligent, Inc. | Object oriented shading |
US5978497A (en) * | 1994-09-20 | 1999-11-02 | Neopath, Inc. | Apparatus for the identification of free-lying cells |
JP3015262B2 (ja) * | 1994-09-27 | 2000-03-06 | 松下電器産業株式会社 | 3次元形状データ加工装置 |
US5745601A (en) * | 1995-07-31 | 1998-04-28 | Neopath, Inc. | Robustness of classification measurement apparatus and method |
US6057859A (en) * | 1997-03-31 | 2000-05-02 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
US6215495B1 (en) * | 1997-05-30 | 2001-04-10 | Silicon Graphics, Inc. | Platform independent application program interface for interactive 3D scene management |
US6496190B1 (en) * | 1997-07-02 | 2002-12-17 | Mental Images Gmbh & Co Kg. | System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system |
US6191787B1 (en) * | 1998-02-10 | 2001-02-20 | Schlumberger Technology Corporation | Interactively constructing, editing, rendering and manipulating geoscience models |
US6266053B1 (en) * | 1998-04-03 | 2001-07-24 | Synapix, Inc. | Time inheritance scene graph for representation of media content |
US6578197B1 (en) * | 1998-04-08 | 2003-06-10 | Silicon Graphics, Inc. | System and method for high-speed execution of graphics application programs including shading language instructions |
US6478735B1 (en) * | 1999-01-28 | 2002-11-12 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Physiological feedback method and system |
-
1998
- 1998-07-01 US US09/108,596 patent/US6496190B1/en not_active Expired - Lifetime
- 1998-07-02 CA CA002294233A patent/CA2294233C/en not_active Expired - Fee Related
- 1998-07-02 AT AT98930966T patent/ATE311637T1/de not_active IP Right Cessation
- 1998-07-02 ES ES98930966T patent/ES2255167T3/es not_active Expired - Lifetime
- 1998-07-02 WO PCT/IB1998/001073 patent/WO1999001846A1/en active IP Right Grant
- 1998-07-02 DK DK98930966T patent/DK0993659T3/da active
- 1998-07-02 JP JP2000501480A patent/JP2001509620A/ja active Pending
- 1998-07-02 DE DE69832611T patent/DE69832611T2/de not_active Expired - Lifetime
- 1998-07-02 EP EP98930966A patent/EP0993659B1/en not_active Expired - Lifetime
- 1998-07-02 AU AU81237/98A patent/AU752048B2/en not_active Ceased
-
2002
- 2002-08-30 US US10/232,069 patent/US6606092B2/en not_active Expired - Lifetime
-
2003
- 2003-06-16 US US10/462,500 patent/US7173617B2/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009277258A (ja) * | 2002-07-16 | 2009-11-26 | Microsoft Corp | グラフィックス・システム内で中間ターゲットを提供するためのシステムおよび方法 |
JP2009500730A (ja) * | 2005-07-01 | 2009-01-08 | メンタル イメージズ ゲーエムベーハー | コンピュータ・グラフィック・シェイダー・システムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
CA2294233C (en) | 2007-06-05 |
WO1999001846A1 (en) | 1999-01-14 |
DE69832611D1 (de) | 2006-01-05 |
US6606092B2 (en) | 2003-08-12 |
DE69832611T2 (de) | 2006-08-10 |
DK0993659T3 (da) | 2006-03-27 |
US20030222870A1 (en) | 2003-12-04 |
CA2294233A1 (en) | 1999-01-14 |
AU752048B2 (en) | 2002-09-05 |
US7173617B2 (en) | 2007-02-06 |
EP0993659B1 (en) | 2005-11-30 |
AU8123798A (en) | 1999-01-25 |
ES2255167T3 (es) | 2006-06-16 |
US20030001844A1 (en) | 2003-01-02 |
US6496190B1 (en) | 2002-12-17 |
EP0993659A1 (en) | 2000-04-19 |
ATE311637T1 (de) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7173617B2 (en) | System and method for generating and using systems of cooperating and encapsulated shaders and shader dags for use in a computer graphics system | |
US6570578B1 (en) | System for automatic generation of selective partial renderings of complex scenes | |
US7548238B2 (en) | Computer graphics shader systems and methods | |
US7836086B2 (en) | Layering and referencing of scene description | |
JP2002517839A (ja) | オブジェクトのルールベースグループを規定し、使用するアニメーションシステムおよび方法 | |
JP2009500730A (ja) | コンピュータ・グラフィック・シェイダー・システムおよび方法 | |
Satheesh | Unreal Engine 4 Game Development Essentials | |
Kumaragurubaran | High dynamic range image processing toolkit for lighting simulations and analysis | |
Guevarra | Modeling and animation using blender: blender 2.80: the rise of Eevee | |
EP4097607B1 (en) | Applying non-destructive edits to nested instances for efficient rendering | |
US11074740B2 (en) | Shader editing | |
Demos et al. | Digital scene simulation sm: The synergy of computer technology and human creativity | |
Ragan-Kelley | Practical interactive lighting design for RenderMan scenes | |
Guevarra | Modeling and Animation Using Blender | |
Pokorný et al. | A 3D Visualization of Zlín in the Eighteen–Nineties Using Virtual Reality | |
Chebanyuk et al. | Rendering Optimization Approach for Game Engine Development | |
Stemkoski et al. | Advanced 2D Graphics | |
KR20220024770A (ko) | 2d/3d 모델을 렌더링하기 위한 컴퓨터 구현 방법 및 프로그래밍 가능한 시스템 | |
Kolárik | Comparison of Computer Graphics | |
Späth et al. | Stories: Advanced Level | |
Wang et al. | Design and implementation of a virtual demonstration system for furniture | |
van Pelt | Illustrative volume rendering on consumer graphics hardware | |
DEMOS et al. | Digital Scene Simulation'": The Synergy Technology Computer of and Human Creativity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20040304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050304 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080410 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080730 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090204 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20090324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090324 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090417 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090605 |