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
Application number
JP2000501480A
Other languages
English (en)
Other versions
JP2001509620A5 (ja
Inventor
ドリーマイアー、トウマース
ヘルケン、ロルフ
Original Assignee
メンタル イメージズ ゲゼルシャフト ミット ベシュレンクテル ハフトング ウント ツェーオー.カーゲー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by メンタル イメージズ ゲゼルシャフト ミット ベシュレンクテル ハフトング ウント ツェーオー.カーゲー filed Critical メンタル イメージズ ゲゼルシャフト ミット ベシュレンクテル ハフトング ウント ツェーオー.カーゲー
Publication of JP2001509620A publication Critical patent/JP2001509620A/ja
Publication of JP2001509620A5 publication Critical patent/JP2001509620A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree

Abstract

(57)【要約】 場面の画像のレンダリングにおいて「現象(phenomenon)」と呼ばれる新しい形式のエンティティを作成し、インスタンス生成し、使用することができるコンピュータ・グラフィックス・システムを説明する。現象は、それぞれシェーダ(shader)を有する1つ以上のノードを有するカプセル化されたシェーダDAGであり、あるいは、協働するように相互に接続されているそのようなDAGのカプセル化された集合である。それらはインスタンス生成され、場面の特徴の多様な形式を規定するように、場面定義過程の間に作られた場面の中のエンティティにアタッチされる。使用のために場面に関連してオペレータが選択した現象は、予め定められていてもよく、あるいは、現象クリエータを用いてオペレータがベース・シェーダ・ノードから構築してもよい。現象エディタは、選択されたパラメータ値に対する種々の設定により生じた効果をオペレータが見ることができるようにする。

Description

【発明の詳細な説明】
【0001】 [発明の技術分野] 本発明は、概して、コンピュータ・グラフィックス、コンピュータ支援設計(C
AD)などの分野に関し、特に、シェーダ(shader)・システムを生成し、場面(シ ーン)の画像のレンダリング(描画)においてそのように生成されたシェーダ・
システムを使用するシステムおよび方法に関する。本発明は、本明細書において
「現象(フェノメノン;phenomenon)」と呼ぶ、コンピュータ・グラフィックス
・システムにおいて有用な新しい形式の構成要素を特に有する。「現象」は、パ
ッケージ化されカプセル化されたシェーダDAG(閉路なし有向グラフ;direct
ed acyclic graph)、あるいは協働シェーダDAG(cooperating shader DAG)の
集合を含むシステムを有し、そのそれぞれは1つ以上のシェーダを有することが
できる。シェーダがレンダリングの間に正確に協働することができることを保証
する方法で、場面の少なくとも一部を規定することを助けるように、シェーダは
生成されカプセル化されている。
【0002】 [発明の背景] コンピュータ・グラフィックス、コンピュータ支援形状設計などにおいて、芸
術家、製図者などの者(本明細書においては一般に「オペレータ」と呼ぶ)は、
場面の中の物体(オブジェクト;object)の、コンピュータにより保存される3
次元表現(three-dimensional representation)を生成し、その後に場面の中の物
体のそれぞれの2次元画像を1つ以上の方向からレンダリング(描画)しようと
試みる。第1に、表現生成段階において、従来、コンピュータ・グラフィックス
・システムは、たとえば場面の中の物体の輪郭および/または断面を含むさまざ
まな2次元の線画から、3次元空間の中の2次元表面をもたらすそのような線に
何回かの操作を加え、続いて、結果として得られた物体の表現の形状を修正ない
しは他の方法で変更するように、そのような表面のパラメータと制御点を変更し
て、3次元表現を生成する。このプロセスの間に、オペレータは、物体の表面の
さまざまな特性、場面を照明する光源の構造と特性、および画像を生成する1つ
以上の模擬カメラ(simulated camera)の構造と特性も定める。場面、光源および
カメラの構造と特性が定められた後に、第2の段階において、オペレータは、コ
ンピュータが特定の観察方向からの場面の画像をレンダリングすることを可能に
する。
【0003】 第1の場面の定義段階で、少なくとも3つの空間的次元およびおそらく1つの
時間的次元を含むそれぞれの多次元の数学的表現により、場面の中の物体、光源
およびカメラが定められる。数学的表現は、通常、木(ツリー)構造のデータ構
造内に蓄積される。次に、物体の表面の特性が、「シェード・ツリー(shade tre
e)」により定められる。シェード・ツリーのそれぞれは、第2の場面レンダリン
グ段階の間に、コンピュータがそれぞれの表面をレンダリングすることを可能に
する1つ以上のシェーダを有する。このシェーダは、特に、それぞれの表面の色
彩(カラー)を表す色値を出力する。シェード・ツリーのシェーダは、オペレー
タにより生成されるか、あるいは、CあるいはC++のような高レベル言語でコ
ンピュータ・グラフィックス・システムによりアプリオリ(a priori)に提供され
る。第2の場面レンダリング段階において、高レベル言語は、コンピュータとと
もに、それぞれの表面の画像のレンダリングを可能にする。
【0004】 コンピュータ・グラフィックス装置において現在備えられているものとしての
シェーダおよびシェード・ツリーの生成と使用からは、多くの問題が生ずる。第
1に、そのようにプログラムされていない限り、シェーダは、一般に相互に協働
することができない。通常、シェーダに与えられる入力値は定数値であり、興味
深く実物そっくりの方法で特徴を表現するシェーダの自由度と能力を制限する。
さらに、共通のソースから入力値を得ることができる協働シェーダのシステムを
設定することは、通常、困難である。
【0005】 [発明の概要] 本発明は、パッケージ化されカプセル化されたシェーダDAGの生成を容易に
することにより、シェーダ間の協働を強化した新規で改良されたコンピュータ・
グラフィック・システムおよび方法を提供する。パッケージ化されカプセル化さ
れたシェーダDAGのそれぞれは、シェーダDAGの中のシェーダがレンダリン
グの間に正確に協働できることを保証するような方法で生成された1つ以上のシ
ェーダを有することができる。
【0006】 要約すれば、「現象(phenomenon)」と呼ばれる新しい形式のエンティティ(ent
ity)が、場面の画像のレンダリングにおいて、作成され、インスタンス生成され
(instantiated)、使用されることができるコンピュータ・グラフィックス・シス
テムが提供される。現象は、それぞれシェーダを有する1つ以上のノードを有す
るカプセル化されたシェーダDAG、あるいは協働するように相互に接続されて
いるそのようなDAGのカプセル化された集合である。それはインスタンス生成
され、場面の中の物体の表面の色およびテクスチャーの特徴、場面の中のボリュ
ーム(volume)とジオメトリ(幾何学的形状)の特性、場面を照明する光源の特徴
、レンダリングの間にシミュレートされる模擬カメラの特徴およびレンダリング
に有用な多くの他の特徴を含む場面の特徴の多様な形式を規定するように、場面
定義過程の間に作られた場面の中のエンティティにアタッチ(添付)される。
【0007】 使用するために場面に関連してオペレータによって選択された現象は、予め定
められていてもよい。すなわち、現象クリエータを用いてオペレータがベース・
シェーダ・ノードから作成してもよい。現象クリエータは、場面の画像のレンダ
リングの間に、DAGあるいは協働DAGのシェーダが正確に協働できるように
、現象が作成されることを保証する。
【0008】 場面にアタッチされる前に、現象は、現象のパラメータのそれぞれに対して、
値あるいはその値を定めるように使用される関数を与えることにより、現象エデ
ィタを使用してインスタンス生成される。
【0009】 場面の表現が規定され現象がアタッチされた後に、場面画像発生器(scene ima
ge generator)は、場面の画像を生成することができる。その動作において、場 面画像発生器は、前処理(プレプロセッシング)段階、レンダリング段階および
後処理(ポストプロセッシング)段階を含む一連の段階で動作する。前処理段階
の間に、場面画像発生器は、シャドウ(shadow)およびフォトン(photon)・マッピ
ング、多重継承解像度(multiple inheritance resolution)などのような前処理 動作を行うことができる。たとえば、場面にアタッチされた現象が、場面に対し
て定められたジオメトリをそれにより生成するためのジオメトリ・シェーダを有
するならば、場面画像発生器は、前処理動作を行うかもしれない。レンダリング
段階の間に、場面画像発生器は画像をレンダリングする。後処理段階の間に、た
とえば、場面にアタッチされた現象が後処理動作を定めるシェーダを有するなら
ば、場面画像発生器は、レンダリングされた画像の中の各ピクセル(画素)値に
関連して蓄積された速度および深さ情報に依存する被写界深度あるいは動きブレ
計算のような後処理動作を行うかもしれない。
【0010】 [図示する実施の形態の詳細な説明] 本発明は添付した請求の範囲に詳細に示される。本発明の上述の利点およびそ
れ他の利点は、添付図面を参照した以下の説明によって、より良く理解されるで
あろう。
【0011】 添付された図1は、本発明により構成されたコンピュータ・グラフィックス・
システム10を構成する要素を示している。コンピュータ・グラフィックス・シ
ステム10は、レンダリング(描画)に使用するように場面の特徴を定めるよう
に使用され、本明細書において以下に「現象(単数形:phenomenon、複数形:ph
enomena)」と呼ばれる新規のコンピュータ・グラフィック構成要素の生成を容 易にすることにより、シェーダ間の協働を強化している。現象は、1つ以上のシ
ェーダを有するパッケージ化されカプセル化されたシステムである。シェーダは
、1つ以上の閉路なし有向グラフ(DAG;directed acyclic graph)の形式で
組織され相互接続されており、各DAGは1つ以上のシェーダを有する。現実的
あるいは複雑な視覚効果のレンダリングを容易にするように、コンピュータ・グ
ラフィックス・システム10により生成された現象は、各シェーダDAGの中の
1つあるいは複数のシェーダがレンダリングの間に正確に協働できることを保証
するような方法で生成される。さらに、複数の協働シェーダDAGを有する現象
に対してコンピュータ・グラフィックス・システム10は、連続的に現実的ある
いは複雑な視覚効果のレンダリングを容易にするように、シェーダDAGのすべ
てのシェーダがレンダリングの間に正確に協働できるように現象を生成する。
【0012】 図1を参照すると、実施の一形態におけるコンピュータ・グラフィックス・シ
ステム10は、プロセッサ・モジュール11と、キーボード12Aおよび/また
はマウス12B(一般にオペレータ入力要素12と特定される)のようなオペレ
ータ入力構成要素およびビデオ表示装置13のようなオペレータ出力要素を有す
るオペレータ・インタフェース要素と、を有するコンピュータを有する。図示す
るコンピュータ・システム10は、従来のストアード・プログラム・コンピュー
タ・アーキテクチャのものである。プロセッサ・モジュール11は、たとえば、
プロセッサ、メモリ、および入力されるデジタル・データに関連して処理および
記憶動作を行うディスクおよび/またはテープ記憶装置(単独には図示せず)の
ような大容量記憶装置を有する。オペレータ入力要素12は、処理するためにオ
ペレータが情報を入力できるように設けられている。ビデオ表示装置13は、プ
ロセッサ・モジュール11により生成された出力情報をスクリーン14上でオペ
レータに表示するように設けられている。出力情報には、オペレータが処理のた
めに入力したかもしれないデータ、オペレータが処理を制御するために入力した
かもしれない情報、および処理の間に生成された情報を含んでいる。プロセッサ
・モジュール11は、いわゆる「グラフィカル・ユーザ・インタフェース(GU
I)」を用いて、ビデオ表示装置13により表示する情報を生成する。グラフィ
カル・ユーザ・インタフェースにおいて、種々のアプリケーション・プログラム
のための情報は、種々の「ウインドウ」を用いて表示される。コンピュータ・シ
ステム10は、オペレータから入力情報を受けるためのキーボード12Aおよび
マウス12Bおよびオペレータに出力情報を表示するためのビデオ表示装置13
のような特定の構成要素を有するように示されているが、コンピュータ・システ
ム10が、図1に示されている構成要素に加えて、あるいはそれらの代わりに各
種の構成要素を有してもよいことは十分理解されるであろう。
【0013】 さらに、プロセッサ・モジュール11は、一般的に参照番号14により識別さ
れる1つ以上のネットワーク・ポートを有してもよい。ネットワーク・ポートは
、コンピュータ・システム10をコンピュータ・ネットワークに接続する通信リ
ンクに接続されている。ネットワーク・ポートは、コンピュータ・システム10
がネットワーク内の他のコンピュータ・システムおよび他の装置と情報を送受信
することを可能にする。たとえば、クライアント−サーバ・パラダイムによって
組織された典型的なネットワークにおいて、ネットワーク内のあるコンピュータ
・システムはサーバーとして指定されている。サーバーは他のコンピュータ・シ
ステム、すなわちクライアント・コンピュータ・システムによる処理のためにデ
ータおよびプログラム(一般的に「情報」)を蓄積し、それによってクライアン
ト・コンピュータ・システムが都合よく情報を共有することを可能にする。特定
のサーバーにより維持されている情報にアクセスを必要とするクライアント・コ
ンピュータ・システムは、ネットワークを介してサーバーから情報をダウンロー
ドすることが可能である。データを処理した後に、クライアント・コンピュータ
・システムは、処理されたデータを記憶しておくためにサーバーに戻すことがで
きる。上述のサーバーおよびクライアントを含むコンピュータ・システムに加え
て、ネットワークは、さらに、たとえば、プリンタおよびファクシミリ装置、デ
ィジタル・オーディオまたはビデオ記憶分配装置などを有してもよく、それらは
ネットワークに接続されている各種のコンピュータ・システムと共用されてもよ
い。ネットワーク内でコンピュータ・システムを相互に接続している通信リンク
は、普通そうであるように、有線、光ファイバあるいはコンピュータ・システム
間で信号を伝達する他の媒体を含む任意の都合の良い情報伝達媒体を有してもよ
い。コンピュータ・システムは、通信リンク上を伝達されるメッセージによりネ
ットワーク上で情報を伝達し、各メッセージは情報およびそのメッセージを受信
する装置を識別する識別子を含んでいる。
【0014】 上述のように、コンピュータ・グラフィックス・システム10は、パッケージ
化されカプセル化されたシェーダDAGあるいは協働シェーダDAGを有する現
象の生成を容易にすることにより、シェーダ間の協働を強化しており、各シェー
ダDAGは3次元場面の特徴を定める少なくとも1つのシェーダを有する。現象
は、場面の中の物体の表面の色彩および質感の特徴、場面の中の量感と幾何学的
形状の特性、場面を照明している光源の特徴、模擬カメラあるいはレンダリング
の間にシミュレートされる他の画像記録装置の特徴、および下記の説明から明白
でありレンダリングに有用な多くの他の特徴、を含む場面の特徴の多様な形式を
規定するように使用されることができる。現象は、場面の画像のレンダリングの
間に、DAGの中のシェーダあるいは協働DAGが正確に協働することができる
ことを保証するように構築される。
【0015】 図2は、本発明の実施の一形態において使用されるコンピュータ・グラフィッ
クス・システム10の機能ブロック図を示す。図2に示すように、コンピュータ
・グラフィックス・システム10は、大別して、場面構造生成部分20および場
面画像生成部分21を含む2つの部分を有する。場面構造生成部分20は、場面
エンティティ生成段階の間に、場面の画像をレンダリングする際に場面画像生成
部分21により使用される各種の要素の表現を生成するために、芸術家、製図者
などの者(一般にオペレータと呼ぶ)により使用される。各種の要素の表現には
、たとえば、場面の中の物体とその表面特性、場面を照明する1つまたは複数の
光源の構造と特性、およびカメラのような特定の装置の構造と特性が含まれてい
てもよい。カメラのような特定の装置は、画像がレンダリングされる時に画像を 生成する際に、シミュレートされる。場面構造生成部分20により生成される表
現は数学的表現の形式であり、場面オブジェクト・データベース22に蓄積され
る。数学的表現は、オペレータに表示するために、画像レンダリング部分21に
より評価される。場面構造生成部分20および場面画像生成部分21は、同じコ
ンピュータに常駐し、同じコンピュータの部分であってもよい。その場合には、
場面オブジェクト・データベース22はその同じコンピュータに常駐してもよく
、あるいはコンピュータ20がそのクライアントであるサーバーに常駐してもよ
い。あるいは、部分20および21は、異なるコンピュータに常駐し、異なるコ
ンピュータの一部を形成してもよい。その場合には、場面オブジェクト・データ
ベース22は、いずれかのコンピュータに常駐していてもよいし、あるいは両方
のコンピュータに対するサーバーに常駐してもよい。
【0016】 特に、場面の中の物体(オブジェクト)の幾何学的構造(geometric structure
)、場面を照明する光源の位置と幾何学的特性、および、レンダリングすべき画 像の生成においてシミュレートされるべきカメラの位置と幾何学的および光学的
特性を有する数学的表現の定義を生成するように、場面構造生成部分20はオペ
レータにより使用される。数学的表現は、3つの空間的次元を定め、したがって
場面の中の物体の位置と、物体の特徴を特定することが望ましい。物体は、3次
元空間の中に埋め込まれた直線または曲線、3次元空間の中に埋め込まれた2次
元表面、1つ以上の境界が設定された3次元表面および/または閉じた3次元表
面、あるいはそれらの任意の組み合わせを含む、その物体の1次元、2次元ある
いは3次元の特徴に関して定めることができる。また、数学的表現はさらに、コ
ンピュータ・アニメーションに関連して特に有用である時間的次元を規定しても
よい。コンピュータ・アニメーションでは、物体とその個々の特徴が時間の関数
として動くと考えられる。
【0017】 レンダリングされるべき場面の中の物体の幾何学的構造の数学的表現のほかに
、さらに数学的表現は、場面を照明する1つ以上の光源およびカメラを規定する
。特に光源の数学的表現は、光源が点光源、直線または曲線、平面あるいは曲面
の表面などであるかどうかを含めて、場面に対して相対的な光源の位置および/
または方向と光源の構造的特性を規定する。カメラの数学的表現は、特に、1つ
または複数のレンズ、焦点距離、像面の方位、その他を含む従来のカメラ・パラ
メータを規定する。
【0018】 さらに場面構造生成部分20は、以下に詳細に説明される現象の生成と、場面
の個々の要素への現象の関連(association)を容易にする。現象は、通常、レン ダリングに使用される場面の定義の完成に必要とされる他の情報を規定する。こ
の情報は、場面構造生成部分20により規定された幾何学的エンティティの表面
の色彩、テクスチャなどの特性を含むが、それのみには限定されない。現象は、
数学的表現、あるいは、レンダリング動作の間に評価されるときにそれぞれの表
面を所望の方法で表示するようにコンピュータがレンダリング画像を生成できる
ようにする他の物体を含んでもよい。場面構造生成部分20は、オペレータの制
御の下に、その要素を使って現象が使用されるそれぞれの要素(すなわち、物体
、表面、ボリュームなど)に対する数学的表現に現象を効率的に関連づけ、現象
をそれぞれの要素に効果的に「アタッチする」。
【0019】 数学的表現が場面構造生成部分20により生成され場面表現データベース22
に蓄積された後に、場面画像生成部分21は、レンダリング段階の間に、場面の
画像をたとえばビデオ・ディスプレイ装置13(図1)上に生成するようにオペ
レータにより使用される。
【0020】 場面構造生成部分20は、エンティティ幾何学的表現発生器(entity geometri
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
により生成される場面の要素にアタッチすることができる。
【0021】 現象エディタ26は、コンピュータ・グラフィックス・システム10の場面構
造生成部分20の現象クリエータ24により生成された現象データベース25か
ら現象を検索するものとして説明してきたが、コンピュータ・グラフィックス・
システム10内に供給される1つ以上の、ことによると多分すべての現象は、現
象エディタ26により使用されるように、他の装置(図示せず)によって、予め
設定され、作られ、現象データベース25に蓄積されても良いことは十分理解さ
れるであろう。そのような場合には、オペレータは、オペレータ・インタフェー
ス27を介して現象エディタを制御し、場面にアタッチするように、適切な予め
規定された現象を選択することができる。
【0022】 場面画像生成部分21は、画像発生器30およびオペレータ・インタフェース
31を含む数個の構成要素を有する。場面画像生成部分21が場面構造生成部分
20と同じコンピュータの一部であれば、オペレータ・インタフェース31は、
オペレータ・インタフェース27と同じ構成要素であってもよいが、必ずしもそ
うする必要はない。他方、場面画像生成部分21が場面構造生成部分のコンピュ
ータとは異なるコンピュータの一部であれば、通常、オペレータ・インタフェー
ス31は、オペレータ・インタフェース27とは異なる構成要素からなるが、2
つのオペレータ・インタフェース31および27の構成要素は類似している可能
性がある。画像発生器30は、オペレータ・インタフェース31の制御の下で、
レンダリングされるべき場面の表現を場面表現データベース22から検索し、オ
ペレータ・インタフェース31のビデオ・ディスプレイ装置に表示するように、
レンダリングされた画像を生成する。
【0023】 説明をさらに進める前に、本発明に関連して使われる「現象」についてさらに
説明することが有用であろう。現象は、エンティティ幾何学的表現発生器23に
より生成された数学的表現のほかに、場面構造生成部分20により定義された幾
何学的エンティティの表面の色彩、テクスチャ、限定されたボリュームなどの特
性を含み、しかしそれのみに限定されない、レンダリングに使用される場面の定
義を完了するように使用される情報を提供する。現象は、閉路なし有向グラフ(
DAG; directed acyclic graph)あるいは複数の協働DAGの形式で相互に接
続された1つ以上のノードを有する。ノードの1つは、現象を場面の中のエンテ
ィティ、特にエンティティの数学的表現にアタッチするために使用されるプライ
マリ・ルート・ノードである。現象に使用できる他の形式のノードは、オプショ
ナル・ルート・ノードおよびシェーダ(shader)・ノードを含む。シェーダ・ノー
ドは、従来の単純なシェーダに加え、テクスチャ・シェーダ、材料(material)シ
ェーダ、ボリューム・シェーダ、環境シェーダ、シャドウ・シェーダおよび変位
シェーダおよびレンダリングされるべき表現の生成に関連して使用できる材料シ
ェーダを含む、複数の従来のシェーダのいずれかを含んでいてもよい。さらに、
下記のものを含む多くの他の形式のシェーダ・ノードが現象に使用できる。
【0024】 (i)場面に幾何学的物体を加えるように使用できるジオメトリ(幾何学的形
状)シェーダ。ジオメトリ・シェーダは、場面中のエンティティに関連してエン
ティティ幾何学的表現発生器23により生成される表現に類似の、3次元空間中
のエンティティの予め定められた静的あるいは手続き上(procedural)の数学的表
現から本質的になるが、ジオメトリ・シェーダは、たとえば、それぞれの現象で
使用される他のシェーダが範囲を指定されるべきそれぞれの領域を定めるように
、前処理時に供給されることができる。ジオメトリ・シェーダは、たとえば、静
的あるいは手続き上のいずれかの方法で場面の新しい幾何学的要素を修正あるい
は創り出すように、場面オブジェクト・データベースに蓄積される場面表現を変
更できるように、エンティティ幾何学的表現発生器23の場面構成要素に本質的
にアクセスできる。なお、ジオメトリ・シェーダDAGあるいは協働ジオメトリ
・シェーダDAGの集合の全体からなる現象は、手続き上の方法で場面中の物体
を表すように使用できる。これは、コンピュータの中の物体の所望の表現を得る
ように、人間のオペレータにより一連のモデリング動作を行うモデリング・シス
テムで行われる典型的なモデリングとは、対照的である。したがって、本質的に
幾何学的現象は、カプセル化され自動化されパラメータ化された抽象的モデリン
グ動作を表す。幾何学的現象のインスタンス(すなわち、一定あるいは所定の方
法で時間などとともに変化する、パラメータ値の集合と組み合わされた幾何学的
現象)は、前処理段階の間のランタイムに場面画像発生器30により評価される
場合、特有の幾何学的場面の拡大をもたらす。
【0025】 (ii)場面の中のフォトン(光子; photon)の経路、および吸収や反射など
のような場面の中の物体の表面とフォトンの相互作用の特性を制御するために使
用できるフォトン・シェーダ。フォトン・シェーダは、レンダリングに関連する
全体的な照明と火面(caustics)の物理的に正確なシミュレーションを容易にする
。実施の一形態において、フォトン・シェーダは、前処理動作の間に場面画像発
生器30によりレンダリングの間に使用される。
【0026】 (iii)物体の表面上の代わりに場面の中の空間の3次元ボリュームに関連
して動作すること以外は、フォトン・シェーダに類似しているフォトン・ボリュ
ーム・シェーダ。これは、空中の塵埃あるいは霧粒子や、雲の中の水蒸気などに
よるフォトンの散乱のようなボリューム(量感、体積)および付随する取り巻か
れた関係している媒体に拡がるべき火面および全体的な照明のシミュレーション
を可能にする。
【0027】 (iv)光源したがってフォトンの放出に関連していることを除いて、同様に
フォトン・シェーダに類似しているフォトン・エミッタ・シェーダ。フォトン・
エミッタ・シェーダに関連してその放出がシミュレートされる模擬フォトン(sim
ulated photon)は、次にフォトン・シェーダに関連して処理されてもよい。フォ
トン・シェーダは、模擬フォトンの経路と表面相互作用特性をシミュレートする
ために使用できる。またフォトン・ボリューム・シェーダは、特にそれぞれの経
路に沿った3次元体積の中の経路と他の特性をシミュレートするために使用でき
る。
【0028】 (v)レンダリングの間に輪郭線(contour line)の生成に関連して使用される
輪郭(contour)シェーダ。実施の一形態において、輪郭シェーダの3つのサブタ イプ、すなわち、輪郭ストア・シェーダ、輪郭コントラスト・シェーダおよび輪
郭生成シェーダがある。輪郭ストア・シェーダは、たとえば、表面の輪郭サンプ
リング情報を集めるために使用される。輪郭コントラスト・シェーダは、輪郭ス
トア・シェーダを使って収集される2組のサンプリング情報を比較するために使
用される。最後に、輪郭生成シェーダはバッファの中に蓄積する輪郭点情報を生
成するために使用され、次に輪郭線を出力するのに(以下に説明する)出力シェ
ーダにより使用される。
【0029】 (vi)レンダリングの間に場面画像発生器30により生成されたバッファの
中の情報を処理するために使用される出力シェーダ。出力シェーダは、実施の一
形態において、合成動作(compositing operation)、複合たたみ込み(complex co
nvolution) および上述のように輪郭生成シェーダにより生成された輪郭点情報 からの輪郭線作図を行うために、レンダリングの間に生成されたピクセル情報に
アクセスできる。
【0030】 (vii)光や他の可視光線などが場面の中の中空の3次元空間のすべてある
いは部分を、どのように通過するかを制御するように使用される3次元ボリュー
ム・シェーダ。3次元ボリューム・シェーダは、たとえば、霧、および煙、火炎
、毛皮および粒子雲のような手続き上の効果を含む多くの形式のボリューム効果
(volume effect)のいずれにも使用できる。さらに、3次元ボリューム・シェー ダは光に関連して使用されるので、それらは手続き上の効果(procedural effect
)から生ずるであろう影に関連してさらに有用である。
【0031】 (viii)たとえば、色、方向ならびに個々の光源の形状、テクスチャ・プ
ロジェクション、シャドウイング(shadowing) および他の光特性のような特性の
結果として生じることがある減衰特性を含む、光源の放出特性を制御するために
使用される光シェーダ。
【0032】 場面の定義に関連して有用であるかもしれない他の形式のシェーダも、現象に
使用されてもよい。
【0033】 現象は下記により規定される。
【0034】 (i)現象の外部的に制御可能なパラメータの記述。
【0035】 (ii)1つのプライマリ・ルート・ノードと、オプションとして、1つ以上
のオプショナル・ルート・ノード。
【0036】 (iii)ノードとして使用されるシェーダの識別と、シェーダがDAGある
いは複数の協働DAGを形成するように相互接続される方法を含む、現象の内部
構造の記述。
【0037】 (iv)オプションとして、個々の現象の評価に使用されるパラメータあるい
は特性の値をオペレータが与えることを可能にするために、現象エディタ26に
より使用されるための、現象により規定されることができるダイアログ・ボック
スなどの記述。
【0038】 さらに、プログラミングでは標準であるように、現象は、外部宣言およびライ
ブラリからのリンク実行可能なコードを有してもよい。
【0039】 上述のように、現象は複数の協働DAGを含んでいてもよい。このような現象
において、レンダリングの間に、現象の中の第1のDAGの1つ以上のノードの
処理から生成された情報が、現象の中の第2のDAGの1つ以上のノードに関連
する処理で使用されてもよい。それにもかかわらず、2つのDAGは独立して処
理され、レンダリング・プロセスの異なる段階で処理されてもよい。第2のDA
G中のノードと「協働」してもよい(すなわち、第2のDAG中のノードの処理
に際して使用されてもよい)第1のDAGの個々のノードにより生成された情報
は、そのように割り当てられるバッファのような任意の都合の良い通信チャネル
を介して、第1のDAGの個々のノードから第2のDAGのノードへ転送されて
もよい。単一の現象においてこの方法で協働する必要があるかもしれないすべて
のDAGを用意することは、協働のためのすべての条件が満足されることを保証
するが、個別の現象あるいは他のエンティティでDAGがカプセル化されずに別
個に供給されれば、その限りではない。
【0040】 数個の協働DAGを含む現象の例として、現象は、材料シェーダDAG、出力
シェーダDAGおよびラベル・フレーム・バッファを生成する命令を含む数個の
DAGを有してもよい。材料シェーダDAGは、材料の色値を生成する少なくと
も1つの材料シェーダを有し、またラベル・フレーム・バッファ生成命令の処理
に関連して確立されるラベル・フレーム・バッファの中の材料シェーダDAGの
処理の間に出くわす物体についてのラベル情報を蓄積する。次に、出力シェーダ
DAGは、物体に特有の合成動作を行うことを容易にするために、ラベル・フレ
ーム・バッファからラベル情報を検索する少なくとも1つの出力シェーダを有す
る。ラベル・フレーム・バッファ生成命令に加えて、両方のDAGが機能し協働
できるように、現象は、場面画像発生器30の動作モードを制御するための命令
をさらに有してもよい。たとえば、このような命令は、評価されるべき2つのD
AGに要求される最少のサンプル密度を制御することができる。
【0041】 複数の協働シェーダDAGを含む現象の第2の例として、材料現象(material
phenomenon) は、少なくとも1つのフォトン・シェーダを有するフォトン・シェ
ーダDAGと、少なくとも1つの材料シェーダを有する材料シェーダDAGとの
両方によりシミュレートされる材料を表すことができる。レンダリングの間に、
フォトン・シェーダDAGは、火面及び全体的照明前処理の間に評価され、材料
シェーダDAGは、画像のレンダリングの間の後に評価される。フォトン・シェ
ーダDAGの処理の間に、火面あるいは全体的照明前処理段階からの照明効果の
寄与を加算するように、模擬フォトンを表す情報は、材料シェーダDAGの後の
処理の間に使用できるような方法で蓄積される。実施の一形態において、フォト
ン・シェーダDAGは、模擬フォトン情報をフォトン・マップに蓄積する。フォ
トン・マップは、模擬フォトン情報を材料シェーダDAGに伝達するために、フ
ォトン・シェーダDAGにより使用される。
【0042】 複数の協働シェーダDAGを含む現象の第3の例として、現象は、輪郭シェー
ダ形式の少なくとも1つのシェーダを有する輪郭シェーダDAGと、少なくとも
1つの出力シェーダを有する出力シェーダDAGを有してもよい。輪郭シェーダ
DAGは、選択された色彩、透明度、幅および他の属性の「点(ドット)」を蓄
積することにより、どのように輪郭線を描くべきかを決めるために使用される。
出力シェーダDAGは、レンダリングの間に作られたすべてのセルを収集し、レ
ンダリングが完了したとき、輪郭線の中にそれらを結ぶように使用される。輪郭
シェーダDAGは、輪郭ストア・シェーダ、輪郭コントラスト・シェーダおよび
輪郭生成シェーダを有する。輪郭ストア・シェーダは、輪郭コントラスト・シェ
ーダにより後で使用するためのサンプリング情報を収集するために使用される。
次に、輪郭コントラスト・シェーダは、輪郭ストア・シェーダにより収集された
サンプリング情報が、輪郭点が画像の中に配置されるようなものであるかどうか
を判定するために使用され、もしそうであれば、輪郭生成シェーダは実際にその
輪郭点を配置する。この例の現象は、下記の4段階の協働を示す。
【0043】 (1)サンプリング情報が(輪郭ストア・シェーダにより)収集される第1の
段階。
【0044】 (2)輪郭セルが(輪郭コントラスト・シェーダにより)配置されるべきかを
決定する第2の段階。
【0045】 (3)輪郭点が(輪郭生成シェーダにより)作られる第3の段階。
【0046】 (4)作られた輪郭点が(出力シェーダDAGにより)作られる第4の段階。
【0047】 どの段階のシェーダも他の段階の他のシェーダを使用しないが、その代わりに
異なる時点で個々に処理され評価され、最終結果の生成を可能にするように協働
する。
【0048】 複数の協働シェーダDAGを含む現象の第4の例として、現象はボリューム・
シェーダDAGおよび幾何学的形状シェーダDAGを有することがある。ボリュ
ーム・シェーダDAGは、有界ボリュームの特性を定める少なくとも1つのボリ
ューム・シェーダ、たとえば有界ボリュームの中で毛皮(fur)をシミュレートす る毛皮シェーダを有する。幾何学的形状シェーダDAGは、元のボリューム・シ
ェーダDAGに関連する髪(hair)に関連して行われるべき計算を規定するように
外部境界表面にアタッチされた適切な材料およびボリューム・シェーダDAGを
使用して、レンダリングが始まる前に場面の中に、その外部境界表面を新しいジ
オメトリとして含むように使用される少なくとも1つのジオメトリ・シェーダを
有する。この実例の現象において、ジオメトリ・シェーダDAGとボリューム・
シェーダDAGとは協働し、ジオメトリ・シェーダDAGは手続き上のジオメト
リを導入する。手続き上のジオメトリの中で、ジオメトリ・シェーダDAGはボ
リューム・シェーダDAGを支援する。ボリューム・シェーダDAGは、このジ
オメトリを使用するが、ジオメトリはジオメトリ・シェーダDAGを用いてレン
ダリングに先立つ前処理動作の間に生成されるので、ジオメトリ自体を作ること
は不可能である。これに対して,ボリューム・シェーダDAGは、レンダリング
の間に使用される。ジオメトリ・シェーダを有するシェーダあるいは複数のシェ
ーダはボリューム・シェーダDAGにより使用される要素を手続き上供給するの
で、この第4の例に関連して示した協働は、第1から第3の例に関連して示した
ものとは異なり、第1から第3の例に関連する協働に関連する場合のように単に
データを蓄積するのみではない。
【0049】 これらすべての例は、単一の現象の中に一括(バンドル)されカプセル化され
た複数の協働するが独立のシェーダDAGを用いて、場面の画像がレンダリング
できる、コンピュータ・グラフィック効果を示している。
【0050】 上記の背景説明を使用して、現象クリエータ24および現象エディタ26に関
連して行われる動作を、それぞれ図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に示されたアイコンは、作成されあるいは修正さ
れるべき現象を定める閉路なし有向グラフのノードを形成するために、オペレー
タが使用することができる。実施の一形態において、下記を含む多くの形式のノ
ードがある。
【0051】 (i)閉路なし有向グラフのルートを形成し、場面との接続を形成し、レンダ
リングの間に通常は色値を供給するプライマリ・ルート・ノード。
【0052】 (ii)メイン・ルート・ノード(上記の項目(i))を支援するために、現
象DAGにおいてアンカー・ポイントとして使用できる数種類の形式のオプショ
ナル・ルート・ノード。オプショナル・ルート・ノードの形式の例には以下のも
のがある。
【0053】 (a)レンダリングの間に使用するカメラに対し、レンズ・シェーダあるいは
レンズ・シェーダDAGを挿入するために使用できるレンズ・ルート・ノード。
【0054】 (b)レンダリングの間に使用するカメラに対し、全体的なボリューム(ある
いは雰囲気)シェーダあるいはシェーダDAGを挿入するために使用できるボリ
ューム・ルート・ノード。
【0055】 (c)レンダリングの間に使用するカメラに対し、全体的環境シェーダあるい
はシェーダDAGを挿入するために使用できる環境ルート・ノード。
【0056】 (d)場面の手続き上サポートしているジオメトリあるいは他の要素を、場面
データベースに追加することを可能にするために、レンダリングの間に前処理で
きるジオメトリ・シェーダあるいはシェーダDAGを指定するために使用できる
ジオメトリ・ルート・ノード。
【0057】 (e)輪郭ストア・シェーダを場面オプション・データ構造の中に挿入するた
めに使用できる輪郭ストア・ルート・ノード。
【0058】 (f)レンダリング段階の後に、後処理に関連して使用できる出力ルート・ノ
ード。
【0059】 (g)輪郭コントラスト・シェーダを場面オプション・データ構造の中に挿入
するために使用できる輪郭コントラスト・ルート。
【0060】 (iii)シェーダ、すなわち、CあるいはC++のような高レベル言語で書
かれた関数(function)を表すシェーダ・ノード。
【0061】 (iv)光源と連係して使用される光(light)ノード。光ノードは、光シェー ダ、色彩(カラー)、強度、起源および/または方向、ならびにオプションとし
てフォトン・エミッタ・シェーダを光源に供給する。
【0062】 (v)表面と連係して使用される材料ノード。材料ノードは表面に色値を与え
、表面が不透明であるかどうかを示す不透明表示のための入力ならびに、材料、
ボリューム、環境、シャドウ、変位、フォトン、フォトン・ボリュームおよび輪
郭シェーダのための入力を有する。
【0063】 (vi)現象インスタンスである現象ノード。
【0064】 (vii)他のノードのいずれかへの入力であるかもしれない、定数値を供給
する定数ノード。定数値は、スカラー、ベクトル、論理値(ブール代数値)、色
彩、変換などのような他のノードのいずれかによって代表されるシェーダのよう
なエンティティに対して使用されるプログラム言語のほとんどの形式のデータ型
であってよい。
【0065】 (viii)現象エディタ26によりオペレータに表示することができるダイ
アログ・ボックスを表し、レンダリングの前あるいはレンダリングの間に現象を
制御するように、オペレータが入力情報を与えるために使用することができるダ
イアログ(対話)・ノード。ダイアログ・ノードは、たとえば、ダイアログ・ノ
ードを含む現象が接続される表面に関連して使用される色彩および他の値をオペ
レータが指定することを可能にするために表示される押しボタン、スライダ、ホ
イールなどを使用可能にするように、現象エディタ26を有効にすることができ
る。
【0066】 図3に示すように、シェルフ・フレーム41およびサポートされたグラフ・ノ
ード・フレーム42は、ともに、一般的に参照番号47により識別された左矢印
アイコンと右矢印アイコンを有する。これら矢印アイコンは、同時に表示可能な
数より多くのエンティティがある場合に、現象クリエータ・ウインドウ40に表
示されるべきアイコンをシフトするように、それぞれのフレームに示されたアイ
コンが左または右にシフトされるようにする(図3に示すように)。
【0067】 制御フレーム43は、たとえば、シェルフ・フレーム41あるいはサポートさ
れたグラフ・ノード・フレーム42の中のノードの削除または複製、新しい現象
の構築の開始、オンライン・ヘルプ・システムの起動、現象クリエータ24を終
了することなどを含む制御動作を行うためにオペレータが使用することができる
ボタンを表すアイコン(図示せず)を格納している。
【0068】 現象グラフ・キャンバス44は、現象がオペレータにより作成されあるいは修
正される領域を提供する。オペレータが既存の現象の修正を望めば、オペレータ
は、マウスのようなポインティング・デバイスを使用する「ドラッグ・アンド・
ドロップ」手法を使用して、現象を表すシェルフ・フレーム41から現象グラフ
・キャンバス44までアイコン45を選択し、ドラッグすることができる。修正
されるべき現象と組み合わされた選択されたアイコン45が、現象グラフ・キャ
ンバス44にドラッグされた後に、矢印により相互接続され現象を規定するグラ
フを表す1つ以上のノードを表示するように、オペレータはアイコン45を拡大
することができる。現象の一例を表すグラフ50を図3に示す。図3に示すよう
に、グラフ50は、円およびブロックを有する複数のグラフ・ノードを含む。複
数のグラフ・ノードのそれぞれは、現象の中で使用できるエンティティと組み合
わされている。それらのノードは、現象と組み合わされたグラフを規定するよう
に、矢印により相互に接続されている。
【0069】 アイコン45と組み合わされた現象を規定するグラフを示すように、現象グラ
フ・キャンバス44にドラッグされたアイコン45と組み合わされたグラフが拡
大された後に、オペレータは現象を規定しているグラフを修正することができる
。その動作において、対応する「ドラッグ・アンド・ドロップ」手法を使用して
、オペレータは、アイコン46を選択し、グラフに追加されるべきエンティティ
を表すサポートされたグラフ・ノード・フレーム42から現象グラフ・キャンバ
ス44にドラッグすることができ、その結果、グラフに新しいノードを確立する
。新しいノードが確立された後に、その間に矢印が表示されることを可能にする
ような適切な方法で両方のノードをクリックすることにより、オペレータは新し
いノードを既存のグラフの中のノードに相互接続することができる。また、グラ
フの中のノードは、それぞれのノードの間にまたがる矢印を削除することにより
他のノードから切断でき、制御フレーム43の中の削除押しボタンの適切な操作
によりグラフから削除できる。
【0070】 同様に、オペレータが新しい現象を作ることを望めば、対応する「ドラッグ・
アンド・ドロップ」手法を使用して、オペレータは、アイコン46を選択し、グ
ラフに追加されるべきエンティティを表すサポートされたグラフ・ノード・フレ
ーム42から現象グラフ・キャンバス44にドラッグすることができ、その結果
、創り出されるべきグラフに対して新しいノードを確立する。現象グラフ・キャ
ンバス44の中に新しいノードが確立された後に、その間に矢印が表示されるこ
とを可能にするような適切な方法で、両方のノードをクリックすることにより、
オペレータは、新しいノードを既存のグラフの中のノードに相互接続することが
できる。また、グラフの中のノードは、それぞれのノードの間にまたがる矢印を
削除することにより他のノードから切断でき、制御フレーム43の中の削除押し
ボタンの適切な操作により、グラフから削除できる。
【0071】 オペレータが、新しい現象に対してあるいは修正された現象に対してのいずれ
かの現象に対するDAGあるいは協働DAGの集合を指定した後で、グラフによ
り表された現象が現象データベース25に蓄積される前に、現象グラフが整合性
があり、かつレンダリングの間に処理できることを検証するために、現象クリエ
ータ24は、現象グラフを検査する。その動作において、現象クリエータ24は
グラフ・ノードの間の相互接続がサイクル(周回路)を形成しないことを保証し
、それにより現象と組み合わされたグラフあるいは複数のグラフが閉路なし有向
グラフを形成し、かつグラフ・ノードの間の相互接続が整合性がある個々の入力
および出力データ型を表すことを保証する。グラフ・ノードがサイクルを形成す
ると現象クリエータ24が判定したときは、通常は適切に処理できない無限ルー
プを現象が本質的に形成していることは、十分理解されよう。これらの動作は、
そのように作られあるいは修正された現象が、その現象がアタッチされた場面の
画像がレンダリングされている時に、場面画像生成部分により処理できることを
、保証する。
【0072】 オペレータが現象を作成しあるいは修正した後に、現象は、現象データベース
25に蓄積される。
【0073】 図4は、図3に関連してすでに説明した現象クリエータ・ウインドウを用いて
生成できる現象クリエータ24に関連して作られた現象の一例を示す。参照番号
60により識別される図4に示す現象の一例は、木質材料の表面の特徴に対して
使用できるものである。図4を参照すると、現象60は参照番号61により識別
される1つのルート・ノードを有し、これは現象60を場面の要素にアタッチす
るために使用される。グラフの中の他のノードは、材料シェーダ、テクスチャ・
シェーダおよびコヒーレント雑音シェーダをそれぞれ表す、材料シェーダ・ノー
ド62、テクスチャ・シェーダ・ノード63およびコヒーレント雑音シェーダ・
ノード64と、ダイアログ・ノード65とを有する。ダイアログ・ノード65は
、画像がレンダリングされる時に現象に対して使用する入力情報をオペレータが
入力することができるように、現象エディタ26により表示されるダイアログ・
ボックスを表す。
【0074】 材料シェーダ、テクスチャ・シェーダおよびコヒーレント雑音シェーダの詳細
は、当業者に公知であり、本明細書においてはさらに説明しない。一般的には、
材料シェーダは、ルート・ノード61に供給される「結果(result)」により表さ
れる1つ以上の出力を有する。また逆に、材料シェーダは、「光沢性(glossines
s)」入力、「周囲(ambient)」色彩(カラー)入力、「拡散(diffuse)」色彩入力
、「透明度(transparency)」入力、および「光(lights)」入力を含む数個の入力
を有し、その結果表示される材料シェーダ・ノード62は、ダイアログ・ノード
65からの(光沢性入力の場合)、テクスチャ・シェーダ・ノード63からの(
周囲および拡散色彩入力の場合)、ハードワイヤード(回路接続による;hard-w
ired)定数からの(透明度入力の場合)および光リストからの(光入力の場合)
入力を受信するように、示されている。「0.0」と示され透明度入力に設けら
れているハードワイヤード定数は、材料が不透明であることを示している。「光
沢性」入力は、ダイアログ・ノード65に設けられている「光沢性」出力に接続
されており、ノード62により表示されている材料シェーダがレンダリングの間
に処理されているとき、図6Aおよび図6Bに関連して以下に説明されるように
、ダイアログ・ノードにより表されているダイアログ・ボックスからこのための
光沢性入力値を得る。
【0075】 ノード62により表される材料シェーダの周囲および拡散入力は、ノード63
の「結果」出力からノード62のそれぞれの入力への接続によって示されるよう
に、テクスチャ・シェーダの出力により供給される。木質材料現象60がレンダ
リング動作の間に処理されるとき、特に、ノード62により表される材料シェー
ダが処理されるとき、周囲および拡散色彩入力値を供給するように、木質現象6
0はノード63により表されるテクスチャ・シェーダが処理されることを可能に
する。逆に、テクスチャ・シェーダは、ノード63上に示される「色彩1」およ
び「色彩2」入力ならびに「ブレンド(混合)」入力により表示される、周囲お
よび拡散色彩入力を含む3つの入力を有する。周囲および拡散色彩入力の値は、
ダイアログ・ノード65により表されるダイアログ・ボックスを使用して、図4
のダイアログ・ノード65からのそれぞれの拡散および周囲色彩出力からテクス
チャ・シェーダ・ノード63までの接続により表されているように、オペレータ
により入力される。
【0076】 さらに、ノード63により表されるテクスチャ・シェーダの入力に対する入力
値は、ノード64により表されるコヒーレント雑音シェーダにより与えられる。
このようにして、ノード63により表されるテクスチャ・シェーダがレンダリン
グ動作の間に処理されるとき、テクスチャ・シェーダは、ノード64により表さ
れるコヒーレント雑音シェーダがブレンド入力値を与えるように処理されること
を可能にする。コヒーレント雑音シェーダは、「乱流(turbulence)」入力および
「円柱形(cylindrical)」入力を含む2つの入力を有する。ダイアログ・ノード 65からの乱流出力からコヒーレント雑音シェーダ・ノード64までの接続によ
り表されているように、乱流入力に対する値は、ダイアログ・ノード65により
表されるダイアログ・ボックスを使用して、オペレータにより与えられる。論理
値「真」と示されている円柱形入力に対する入力値は、現象60に配線接続(har
d-wired)されている。
【0077】 現象エディタ26により行われる動作は、図5に関連して説明される。図5は
、本発明の実施の一形態において、場面にアタッチされている現象に対する入力
値を確立し調整するためにオペレータにより使用される現象エディタ26が、オ
ペレータ・インタフェース27により表示されることを可能にされる現象エディ
タ・ウインドウ70を示す。特に、図3に関連してすでに説明したように、作成
あるいは修正の間にそれぞれの現象に対して確立されたダイアログ・ノード65
(図4)のようなダイアログ・ノードと組み合わされたダイアログ・ボックスに
より与えられる現象に対する値を確立するために、オペレータは、現象エディタ
・ウインドウを使用することができる。現象エディタ・ウインドウ70は、シェ
ルフ・フレーム71および制御フレーム72を含む複数のフレームを有し、さら
に、現象ダイアログ・ウインドウ73および現象プレビュー・ウインドウ74を
含む。シェルフ・フレーム71は、場面にアタッチするように利用できる種々の
現象を表すアイコン80を示す。現象クリエータ・ウインドウ40(図3)と同
様に、シェルフ・フレームは、一般的に参照番号81により特定された左および
右の矢印アイコンを有する。矢印アイコンは、同時に表示できるより多くの数の
アイコンがある時に、現象エディタ・ウインドウ70の中に表示されるようにア
イコンをシフトするように、それぞれのフレームに示されたアイコンが(図3に
示すように)左または右にシフトすることを可能にする。
【0078】 制御フレーム73は、たとえば、シェルフ・フレーム71内のアイコンの削除
あるいは複製、オンライン・ヘルプ・システムの起動、現象エディタ26の終了
などを含む制御作業を行うためにオペレータが使用できるボタンを表すアイコン
(図示せず)を保持している。
【0079】 オペレータは、現象のインスタンスを生成するために、そのパラメータ値がマ
ウスのようなポインティング・デバイスの適当な操作により確立される現象を選
択することができる。(現象のインスタンスは、そのパラメータ値が固定された
現象に対応する。)オペレータが現象を選択した後に、現象エディタ26は、オ
ペレータ・インタフェース27が、現象ダイアログ・ウインドウの中のダイアロ
グ・ノードと組み合わされたダイアログ・ボックスを表示することを可能にする
。図4に関連して上述した、木質材料現象60の実施の一形態に関連して使用さ
れるダイアログ・ボックスの一例を、図6Aおよび図6Bに関連して以下に説明
する。オペレータが、ダイアログ・ボックスを介して入力できる入力値を入力し
調整するにつれて、現象エディタ26は、効率的に現象を処理し、現象プレビュ
ー・ウインドウ74に結果として生じる出力を表示する。上に述べたように、現
象ダイアログ・ウインドウに表示されたダイアログ・ボックスを介して利用でき
る入力を用いて、オペレータが確立する値の結果を見ることができるように、オ
ペレータは現象エディタ・ウインドウ70を使用することができる。
【0080】 図6Aおよび図6Bは、図4に示す木質材料現象60に関連して使用される、
ダイアログ・ノード(図6Aの場合)およびそれに関連するダイアログ・ボック
スの一例(図6Bの場合)の細部を示す。図4において参照番号65により特定
されるダイアログ・ノードは、それが関連する特定の現象の作成あるいは修正の
処理の間に、現象クリエータ24を使用して、オペレータにより定義され作成さ
れる。図6Aを参照すると、ダイアログ・ボックス65は、複数のタイル、すな
わち周囲色タイル90、拡散色タイル91、乱流タイル92および光沢タイル9
3を有する。図4に関連して上述したように、それぞれのタイル90から93が
、ダイアログ・ノード65から出力された関連する周囲、拡散、乱流および光沢
性出力値と組み合わされていることは、十分理解されよう。周囲および拡散色タ
イルは、従来の赤/緑/青/アルファ、すなわち「RGBA」、色/透明度仕様
を用いて指定できる色値と関連付けられている。したがって、各色彩タイルは実
際には、色表現の赤色、緑色および青色のそれぞれと透明度(アルファ)に対し
てそれぞれ1つの、複数の入力値と関連付けられる。他方、乱流および光沢タイ
ル92および93のそれぞれは、スカラー値と関連付けられている。
【0081】 図6Bは、現象エディタ26の制御の下にオペレータ・インタフェース27に
表示されている、ダイアログ・ノード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により供給される個
々の乱流および光沢値を調整することが可能になる。
【0082】 図2に戻って、現象エディタ26を使用してオペレータが場面と関連付けられ
た各種の現象および現象のインスタンスに対する値を確立した後に、それらの値
はその場面とともに場面オブジェクト・データベース22に蓄積される。その後
に、オペレータ・インタフェース31により表示するために、場面の画像は、場
面画像生成部分21により、特に、場面画像発生器30によりレンダリングする
ことができる。場面画像発生器30により行われる動作を、図7に示すフローチ
ャートに関連して一般的に説明する。図7を参照すると、場面画像発生器30は
、前処理段階、レンダリング段階および後処理段階を含む一連の段階で動作する
。前処理段階において、前処理および/またはそれに関連する後処理動作を行う
必要があるかどうかを判定するために、場面画像発生器30は場面にアタッチさ
れた現象を試験する(ステップ100)。次に場面画像発生器30は、ステップ
100における動作が、場面にアタッチされた少なくとも1つの現象に関連して
、前処理動作が必要であることを示したかどうかを判断し(ステップ101)、
もしそうであれば、前処理動作を行う(ステップ102)。例示する前処理動作
は、たとえば、場面にアタッチされた現象がジオメトリ・シェーダを有するなら
ば、それによりその場面に対して定義されたジオメトリを生成するために、場面
のジオメトリを生成することを含む。他の例示する前処理動作は、たとえば、シ
ャドウおよびフォトン・マッピング、多重継承解像度などを含む。ステップ10
2またはステップ101に続いて、そのステップで場面画像発生器30が否定的
な判定をすれば、場面画像発生器30はさらに、レンダリングに先立つ場面表現
に関連して要求されるかもしれない前処理動作を実行することがある。この前処
理動作は、場面にアタッチされた現象には関連していない(ステップ103)。
【0083】 ステップ103に続いて、場面画像発生器30はレンダリング段階を実行し、
その段階で、レンダリングされた画像を生成するために、前処理された場面表現
に関連してレンダリング動作を実行する(ステップ104)。その動作において
、場面画像発生器30は、場面オブジェクト・データベース22に蓄積された、
エンティティ幾何学的表現発生器23により生成される場面の各種の構成要素に
アタッチされるべき現象を識別し、それぞれの現象のすべてのプライマリ・ルー
ト・ノードおよびオプショナル・ルート・ノードを、ルート・ノードの形式に適
切な場面構成要素に取り付ける。その後に、場面画像発生器30は画像をレンダ
リングする。さらに、場面画像発生器30は、後処理段階の間に後処理動作で使
用するかもしれない情報を必要に応じて生成する。
【0084】 レンダリング段階(ステップ104)に続いて、場面画像発生器30は後処理
段階を実行する。その動作において、場面画像発生器30は、ステップ100で
行われた動作が、場面にアタッチされた現象に関連して後処理動作が必要である
ことを示したかどうかを判定する(ステップ105)。ステップ105において
場面画像発生器30が肯定的な判定をすれば、場面画像発生器30は場面にアタ
ッチされた現象に関連して必要な後処理動作を行う(ステップ106)。さらに
、場面画像発生器30は、ステップ106において現象に関連していない他の後
処理動作を実行してもよい。場面画像発生器30は、色彩補正のためのピクセル
値操作に関連して後処理動作を実行することがあり、種々の光学的効果をもたら
すようにフィルタリングを行う。さらに、たとえば、場面にアタッチされた現象
が、被写界深度あるいは動きぶれ(motion blur)計算のような後処理動作を規定 する出力シェーダを有するならば、場面画像発生器30は、後処理動作を実行す
ることがある。被写界深度あるいは動きぶれ計算は、実施の一形態においては、
たとえば、レンダリングされた画像に関連して、各ピクセル値に関連して蓄積さ
れた速度および深度情報に依存する1つの出力シェーダの中で完全に行える。
【0085】 本発明は多くの利点を提供する。特に、本発明は現象を作成し(現象クリエー
タ24を参照)、操作する(現象エディタ26を参照)ための装置を備えるコン
ピュータ・グラフィックス・システムを提供する。そのように作成された現象は
、整合性がありかつレンダリングの間に処理できることを保証するために、現象
クリエータ24により処理される。現象は場面にアタッチされる以前に作成され
るから、コンピュータ・プログラムの開発に熟練しているプログラマー等が現象
を作成することができ、したがって、現象の開発のために芸術家、製図者などの
ような他の者が必要であることが緩和されることは、十分理解されよう。さらに
、現象は、それ(すなわち、その複雑さ)を、事前に現象クリエータのエキスパ
ート・ユーザにより行われる独立したタスクに分けることによって、多くの異な
っているが互いに関係のあるシェーダを場面に組み込むことの複雑さから、芸術
家を解放する。現象を使用することにより、組み込むことの使用法は大部分が自
動化される。ひとたび現象あるいは現象インスタンスが作成されると、それは場
面に独立であり、多くの場面で再利用できるので、反復的な仕事を回避できる。
【0086】 本発明に対して多くの変更および修正が可能であることは十分理解されよう。
上述のように、現象は場面に関連したそれらの利用とは別個に作成できるから、
現象を作成し修正するために使われた現象クリエータ24および現象インスタン
スを作成するために使われた現象エディタ26は、別々のコンピュータ・グラフ
ィックス・システムに設けられてもよい。たとえば、もし、たとえば、現象デー
タベース25が以前に作られた適切な現象を有し、オペレータが現象を作成もし
くは修正する必要がなければ、現象エディタ26を有するコンピュータ・グラフ
ィックス・システム10は、現象クリエータ24を有する必要はない。
【0087】 さらに、上述のように、現象のパラメータの値は固定されていてもよく、ある
いは1つ以上の変数の関数にもとづいて変化してもよい。たとえば、もしそれぞ
れのパラメータの1つ以上の値が変数としての時間に応じて変化すれば、現象イ
ンスタンスは時間依存性である、すなわち「動画(アニメーション)化されてい
る」。これは、アニメーションを構成する一連のフレームのフレーム番号により
ラベル付けされた時間間隔で通常は離散化されているが、しかしそれにもかかわ
らず、時間依存性は、その時間の間、任意の現象パラメータの値をもつ関数の形
式をとることがあり、たとえ画像が連続したフレーム番号でレンダリングされた
としても、シェーダが離散間隔に拘束されないように、そのそれぞれは絶対時間
値でタグを付けることができる。
【0088】 この点について、現象エディタは、現象の1つ以上のパラメータに対する時間
依存値を選択するように使用され、時間に依存する「現象インスタンス」を作成
する。特定の実施の一形態において、現象のパラメータに対する時間依存値の選
択は、この明細書において現象に対する「現象特性制御ツリー(phenomenon prop
erty control tree)」と呼ばれるものを図式対話型にアタッチすることにより実
現される。ツリー(木)あるいはDAGの形式であってもよい現象特性制御ツリ
ーは、効率的にその現象の外側に、現象パラメータに取り付けられ、現象インス
タンス・データベースに現象とともに格納される。現象特性制御ツリーは、1つ
以上のノードからなり、ノードの各々はそれが提供する機能、たとえば、運動曲
線やデータ・ルックアップ機能などの意味でシェーダである。現象特性制御ツリ
ーは浅いことが望ましく、通常は非常に少数の分岐レベルを有する。現象特性制
御ツリーはただ1つのシェーダからなることができ、このシェーダは、それと関
連付けられたパラメータに対する値を実行時(run time)に計算するために、関数
を定義する。現象は複雑なシェーダ・ツリーあるいはDAGのカプセル化を可能
とし促進するので、現象特性制御ツリーは浅いままでいることができ、たとえば
、再利用のためにデータを蓄積することにより、レンダリング段階の間に最適化
された方法での評価を容易にする。現象のパラメータを制御するためにこのよう
な現象特性制御木をアタッチすることをオペレータに許容することによって、ユ
ーザの自由度を大幅に増加し、予め規定されパッケージ化された現象をユーザが
利用することにもとづく特定用途向けの効果(カスタム・エフェクト:custom e
ffect)を実現する。この方法で作ることができる個別の現象インスタンスの数 はしたがって大幅に増加し、同時に、現象におけるすべての複雑さをカプセル化
することによって、利用方法の容易さは損なわれない。
【0089】 さらに、図3および図5に関連して説明された現象クリエータ24および現象
エディタ26に関連して使用されたウインドウの外観および構造が、本明細書に
おいて説明されたものとは異なるものであってもよいことは、十分理解されよう
【0090】 本発明によるシステムは、その任意の部分が適切なプログラムにより制御でき
るような、専用ハードウェアあるいは汎用コンピュータ・システム、あるいはそ
の任意の組み合わせから、全体的にも部分的にも構築できることは十分理解され
よう。どのプログラムも、全体的にもあるいは部分的にも、従来の方法で本シス
テムの部分を構成し、あるいは本システム上に格納され、あるいは全体的にも部
分的にも、ネットワークあるいは情報を転送するための他のメカニズムを介して
、従来の方法により、システムに供給されてもよい。さらに、本システムが、オ
ペレータ入力要素(図示せず)を使用するオペレータによって入力される情報に
より操作でき、および/または他の方法で制御できることは十分理解されよう。
オペレータ入力要素は、本システムに直接接続されてもよく、あるいは、ネット
ワークあるいは従来の方法で情報を転送するための他のメカニズムを介して情報
を本システムに転送してもよい。
【0091】 前述の説明は本発明の特定の実施の形態に限定されている。しかし、本発明の
利点の一部または全部の技術を用いて、各種の変形および修正を本発明に加える
ことが可能であることは明白であろう。本発明の真の技術思想と範囲内で、これ
らのおよびこのような他の変形および修正を網羅することは、添付した請求の範
囲の目的である。
【図面の簡単な説明】
【図1】 図1は、パッケージ化されカプセル化されたシェーダDAGの生成を容易にす
ることによりシェーダ間の協働を強化した、本発明により構成されたコンピュー
タ・グラフィックス・システムを示す。シェーダDAGのそれぞれは1つ以上の
シェーダを有することができ、そのシェーダDAGは、シェーダDAGの中のシ
ェーダが、レンダリングの間は、正確に協働することができることを保証するよ
うな方法で生成されている。
【図2】 図2は、図1に示すコンピュータ・グラフィックス・システムの機能ブロック
図である。
【図3】 図3は、図2に機能ブロック図を示したコンピュータ・グラフィックス・シス
テムに使用される現象クリエータの実施の一形態のグラフィカル・ユーザー・イ
ンターフェースを示す。
【図4】 図4は、図2および図3に示した現象クリエータを用いて生成された現象を図
式で例示する。
【図5】 図5は、図2に機能ブロック図を示したコンピュータ・グラフィックス・シス
テムで使用される現象エディタの実施の一形態のグラフィカル・ユーザー・イン
ターフェースを示す。
【図6】 図6Aおよび図6Bは、図5に示したグラフィカル・ユーザー・インターフェ
ースの詳細を示す。
【図7】 図7は、場面の画像を生成する際に、図2に示すコンピュータ・グラフィック
ス・システムの場面画像生成部分(scene image generation portion)により行わ
れる動作を表すフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヘルケン、ロルフ ドイツ連邦共和国 デー−14193 ベルリ ン ダークスベルク 10 Fターム(参考) 5B050 BA07 BA08 BA09 CA07 EA30 FA13

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのインスタンス生成された現象(phenomenon)
    がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィックス
    ・システムであって、前記インスタンス生成された現象が少なくとも1つのシェ
    ーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
    前処理動作を必要とするかどうかを判定し、もしそうであれば、場面の前処理さ
    れた表現を生成するように前記前処理動作を行うように構成されたプリプロセッ
    サと、 B. 場面の前処理された表現からレンダリングされた画像を生成するよう
    に構成されたレンダリング装置と、 を有するコンピュータ・グラフィックス・システム。
  2. 【請求項2】 シェーダ・ノードの少なくとも1つの形式がジオメトリ・シ
    ェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが場面に対
    するジオメトリを定めるためのジオメトリ・シェーダ・ノード形式であれば、前
    記前処理動作を行うように、プリプロセッサが構成されている、請求項1に記載
    のコンピュータ・グラフィックス・システム。
  3. 【請求項3】 シェーダ・ノードの少なくとも1つの形式がフォトン・シェ
    ーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが場面におけ
    るフォトンの経路および場面の中の物体の表面とフォトンとの相互作用の特性を
    制御するためのフォトン・シェーダ・ノード形式であれば、前記前処理動作を行
    うように、プリプロセッサが構成されている、請求項1に記載のコンピュータ・
    グラフィックス・システム。
  4. 【請求項4】 シェーダ・ノードの少なくとも1つの形式がフォトン・エミ
    ッタ・シェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノードが
    場面を照明している光源によりフォトンの生成をシミュレートするためのフォト
    ン・エミッタ・シェーダ・ノード形式であれば、前記前処理動作を行うように、
    プリプロセッサが構成されている、請求項1に記載のコンピュータ・グラフィッ
    クス・システム。
  5. 【請求項5】 シェーダ・ノードの少なくとも1つの形式がフォトン・ボリ
    ューム・シェーダ・ノード形式であり、もし少なくとも1つのシェーダ・ノード
    が前記場面の中の空間の3次元体積と光源からのフォトンとの相互作用をシミュ
    レートするためのフォトン・ボリューム・シェーダ・ノード形式であれば、前記
    前処理動作を行うように、プリプロセッサが構成されている、請求項1に記載の
    コンピュータ・グラフィックス・システム。
  6. 【請求項6】 少なくとも1つのインスタンス生成された現象が前記表現に
    関連して後処理動作を要求しているかどうかを判定し、もしそうであれば前記後
    処理動作を行うように構成されたポストプロセッサをさらに有する、請求項1に
    記載のコンピュータ・グラフィックス・システム。
  7. 【請求項7】 少なくとも1つのシェーダ・ノードが出力シェーダ・ノード
    形式であり、もし少なくとも1つのシェーダ・ノードが出力シェーダ・ノード形
    式であれば、前記後処理動作を行うように、ポストプロセッサが構成されている
    請求項1に記載のコンピュータ・グラフィックス・システム。
  8. 【請求項8】 レンダリングされた画像はそれぞれピクセル値と関連付けら
    れた複数のピクセルを有し、前記ピクセル値に関連して前記後処理動作を行うよ
    うにポストプロセッサが構成されている請求項7に記載のコンピュータ・グラフ
    ィックス・システム。
  9. 【請求項9】 少なくとも1つのインスタンス生成された現象(phenomenon)
    がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィックス
    ・システムであって、前記インスタンス生成された現象は少なくとも1つのシェ
    ーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 場面の前記表現からレンダリングされた画像を生成するように構成さ
    れたレンダリング装置と、 B. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
    後処理動作を必要とするかどうかを判定し、もしそうであれば、前記後処理動作
    を行うように構成されたポストプロセッサと、 を有するコンピュータ・グラフィックス・システム。
  10. 【請求項10】 少なくとも1つのシェーダ・ノードが出力シェーダ・ノー
    ド形式であり、もし少なくとも1つのシェーダ・ノードが出力シェーダ・ノード
    形式であれば、前記後処理動作を行うように、ポストプロセッサが構成されてい
    る、請求項9に記載のコンピュータ・グラフィックス・システム。
  11. 【請求項11】 前記レンダリングされた画像はそれぞれピクセル値と関連
    付けられた複数のピクセルを有し、前記ピクセル値に関連して前記後処理動作を
    行うようにポストプロセッサが構成されている請求項10に記載のコンピュータ
    ・グラフィックス・システム。
  12. 【請求項12】 オペレータが現象(phenomenon)を作り出すことが可能にす
    るコンピュータ・グラフィックス・システムであって、現象は少なくとも1つの
    シェーダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. それぞれシェーダを有する複数のベース・シェーダ・ノードを蓄積す
    るように構成されているベース・シェーダ・ノード・データベースと、 B. 前記オペレータが、前記ベース・シェーダ・ノード・データベースか
    らDAGへ、前記ベース・シェーダ・ノードを相互に接続することを可能にする
    ように構成されている現象クリエータと、を有し、 現象クリエータが、前記オペレータにより供給された前記ベース・シェーダ・
    ノードの間の相互接続がDAGからなることを検査する、コンピュータ・グラフ
    ィックス・システム。
  13. 【請求項13】 前記現象クリエータは前記オペレータにより作成された現
    象を現象データベースに蓄積する請求項12に記載のコンピュータ・グラフィッ
    クス・システム。
  14. 【請求項14】 前記現象クリエータは、前記オペレータが複数の協働DA
    Gを有する現象の中の前記ベース・シェーダ・ノードを相互に接続することを可
    能にするようにさらに構成されており、複数の協働DAGの中で場面の画像のレ
    ンダリングの間に使用されるとき、前記協働DAGの1つの中の1つのシェーダ
    ・ノードが、前記協働DAGの他の1つに関連して使用される少なくとも1つの
    値を供給する請求項12に記載のコンピュータ・グラフィックス・システム。
  15. 【請求項15】 オペレータがインスタンス生成された現象(phenomenon)を
    現象から生成することを可能にするコンピュータ・グラフィックス・システムで
    あって、現象が少なくとも1つのシェーダ・ノードを含む少なくとも1つのシェ
    ーダDAGを有するカプセル化されたシェーダDAGを有しており、 A. 前記現象を蓄積するように構成された現象データベースと、 B. 前記オペレータが前記現象を選択し、前記少なくとも1つのシェーダ
    ・ノードと関連付けられた少なくとも1つのパラメータに対する値を与えること
    を可能にするように構成された現象エディタと、 を有するオペレータがコンピュータ・グラフィックス・システム。
  16. 【請求項16】 前記値が固定されている請求項15に記載のコンピュータ
    ・グラフィックス・システム。
  17. 【請求項17】 前記値が、変数のあらかじめ定められた関数である、請求
    項15に記載のコンピュータ・グラフィックス・システム。
  18. 【請求項18】 前記変数が時間であり、それによってインスタンス生成さ
    れた現象のアニメーションを規定する請求項17に記載のコンピュータ・グラフ
    ィックス・システム。
  19. 【請求項19】 前記値が、関数を定める少なくとも1つのノードを有する
    特性制御ツリーにより与えられる請求項15に記載のコンピュータ・グラフィッ
    クス・システム。
  20. 【請求項20】 前記値が固定されている請求項19に記載のコンピュータ
    ・グラフィックス・システム。
  21. 【請求項21】 前記値が、変数のあらかじめ定められた関数である、請求
    項19に記載のコンピュータ・グラフィックス・システム。
  22. 【請求項22】 前記変数が時間であり、それによってインスタンス生成さ
    れた現象のアニメーションを規定する請求項21に記載のコンピュータ・グラフ
    ィックス・システム。
  23. 【請求項23】 少なくとも1つの関数が運動曲線を定義する請求項19に
    記載のコンピュータ・グラフィックス・システム。
  24. 【請求項24】 少なくとも1つの関数がテクスチャ・ルックアップ関数を
    定義する請求項19に記載のコンピュータ・グラフィックス・システム。
  25. 【請求項25】 少なくとも1つのインスタンス生成された現象(phenomeno
    n)がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィック
    ス方法であって、前記インスタンス生成された現象は少なくとも1つのシェーダ
    ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 少なくとも1つのインスタンス生成された現象が前記表現に関連して
    前処理動作を必要とするかどうかを判定し、もしそうであれば、場面の前処理さ
    れた表現を生成するための前記前処理動作を行う前処理段階と、 B. 場面の前記前処理された表現からレンダリングされた画像を生成する
    レンダリング段階と、 を有するコンピュータ・グラフィックス方法。
  26. 【請求項26】 少なくとも1つのインスタンス生成された現象(phenomeno
    n)がアタッチされた表現から場面の画像を生成するコンピュータ・グラフィック
    ス方法であって、前記インスタンス生成された現象は少なくとも1つのシェーダ
    ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. 場面の前記表現からレンダリングされた画像を生成するレンダリング
    段階と、 B. 前記少なくとも1つのインスタンス生成された現象が前記表現に関連
    して後処理動作を必要とするかどうかを判定し、もしそうであれば、前記後処理
    動作を行う後処理段階と、 を有するコンピュータ・グラフィックス方法。
  27. 【請求項27】 オペレータが現象(phenomenon)を作り出すことを可能にす
    るコンピュータ・グラフィックス方法であって、現象は少なくとも1つのシェー
    ダ・ノードを有するカプセル化されたシェーダDAGを有しており、 A. それぞれシェーダを有する複数のベース・シェーダ・ノードを蓄積す
    るように構成されているベース・シェーダ・ノード・データベースを用意する段
    階と、 B. 前記ベース・シェーダ・ノード・データベースからDAGへ、前記ベ
    ース・シェーダ・ノードを前記オペレータが相互に接続することを可能にし、ま
    た前記オペレータにより与えられた前記ベース・シェーダ・ノードの間の相互接
    続がDAGを有することを検査する現象クリエータ段階と、 を有するコンピュータ・グラフィックス方法。
  28. 【請求項28】 オペレータがインスタンス生成された現象(phenomenon)を
    現象から生成することを可能にするコンピュータ・グラフィックス方法であって
    、現象は少なくとも1つのシェーダ・ノードを含む少なくとも1つのシェーダD
    AGを有するカプセル化されたシェーダDAGを有しており、 A. 前記現象を蓄積するように構成された現象データベースを用意する段
    階と、 B. 前記現象を選択し、前記少なくとも1つのシェーダ・ノードと関連付
    けられた少なくとも1つのパラメータに対する値を供給することをオペレータに
    対して可能にする現象エディタ段階と、 を有するコンピュータ・グラフィックス方法。
JP2000501480A 1997-07-02 1998-07-02 コンピュータ・グラフィックス・システム Pending JP2001509620A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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