JPH11345349A - 複雑な視覚デ―タを編集し連続更新レンダリングを行うシステム - Google Patents
複雑な視覚デ―タを編集し連続更新レンダリングを行うシステムInfo
- Publication number
- JPH11345349A JPH11345349A JP11096501A JP9650199A JPH11345349A JP H11345349 A JPH11345349 A JP H11345349A JP 11096501 A JP11096501 A JP 11096501A JP 9650199 A JP9650199 A JP 9650199A JP H11345349 A JPH11345349 A JP H11345349A
- Authority
- JP
- Japan
- Prior art keywords
- rendering
- scene
- view
- computer
- realistic
- 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 OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—Three-dimensional [3D] image rendering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
リングを行いつつ、同時にオーサリング・ツール全てに
対するアクセスを最大限可能とする。 【解決手段】 レンダリングの計算上の負担は、オーサ
リングを支援するスレッドに対して非同期並列なスレッ
ドにおいてレンダリングを行い処理する。レイ・トレー
シングを行う画素数は、いくつかの機構によって削減す
る。更新によって目に見える影響を受けるシーンの部分
は再度レンダリングを行う。レンダリングは、ワイヤ・
フレームにおいて選択可能なサイズの領域内に形成す
る。レンダリング・スレッドよりも高い優先度でオーサ
リングスレッドを実行することにより低速化させない。
レンダリングをワイヤ・フレーム上に置くことにより、
実質的にワイヤ・フレーム・ビューを妨害することな
く、その中に嵌め込む。レンダリング・ウインドウは、
著作者が作業しているシーンの部分を正確に示すよう調
整する。
Description
いて3−Dシーンから得られる、レンダリング2−D画
像製作のためのシステムに関する。更に特定すれば、本
発明は、ユーザに3Dシーン・データを更新させつつ、
同時に当該3Dシーンを連続的に更新した現実的レンダ
リングを表示する、オーサリング環境(authoring envi
ronment)を生成するシステムに関するものである。
た美術作品においてしばしば見られるように、最近のコ
ンピュータ・グラフィックスは、複雑な3−Dデータか
ら得られる二次元(2−D)画像または画像シーケンス
(ムービー)で構成する。3−Dシーン・データは、シ
ーン内の各オブジェクトの3−D座標を含む。シーンか
ら得られる画像は、実際の3−Dオブジェクトの現実的
表現を示すことを意図しているので、シーン・データ
は、各オブジェクトの表面およびボリューム・プロパテ
ィを表す、「シェーダ」(shader)と呼ばれる定義を含
む。シェーダは、光がオブジェクトによってどのように
反射し、屈折し、更に散乱するかについて指示を与え
る。また、シェーダは、空間のボリューム(例えば、煙
のパフ)、またはシーン環境全体について定義すること
もでき、後者を環境シェーダと呼ぶ。
するためには、3−Dシーンにレンダリングを行う。レ
ンダリングのプロセスは、カメラの視点から見ることが
できる各画素の外見を決定する、レイ・トレーシング
(ray tracing)を伴う。レイ・トレーシングにおい
て、シーン内における種々のオブジェクトおよびボリュ
ームによる掩蔽、拡散および鏡面反射、屈折、および光
の拡散の効果を決定する。レイ・トレーシングは、光源
から直接到来する光の反射、屈折および拡散である一次
的効果だけでなく、二次的な反射も処理の対象とする。
後者は、他のオブジェクトからの一次光が、あるオブジ
ェクトまたはボリュームを照明するかあるいは通過する
ときに得られる。これらの二次効果は、元の光源とカメ
ラとの間に多数の反射、屈折、または透過を伴う可能性
があるので、画面内のあらゆる画素について光線をトレ
ースしなければならないことを考慮し、更に、シェーダ
によっては、複雑な数値アルゴリズムを伴うものがある
ことも考慮すると、現在のコンピュータ技術では、レン
ダリングのプロセスに費やす時間は非常に長くなる可能
性がある。
成し編集する際、著作者は3Dオブジェクトを定義する
シーン・データを編集する。典型的に、著作者に与えら
れるフィードバックは、シーンの非現実的なワイヤ・フ
レーム・ビュー(wire-frameview)である。典型的な編
集環境では、(表示画面10上に)透視ワイヤ・フレー
ム・ビュー(perspective wire-frame view)40を別
個のウインドウ内に示すことができる。別のワイヤ・フ
レーム・ビュー、例えば、平面図60も示すことができ
る。ワイヤ・フレーム・ビュー40,60は、オブジェ
クトを投影図30,50として見た場合、またはオブジ
ェクトを平面図で見た場合のオブジェクトを示す。ま
た、編集環境の一部を形成するものに、シェーダやシー
ン内のその他のプロパティを定義するために用いる種々
のツールがある。例えば、あるオブジェクトを選択し、
シェーダ・エディタ20を呼び出して、選択したオブジ
ェクトに適用するシェーダの定義または修正を行う。シ
ェーダ・エディタは、オブジェクトの種々のシェーダ・
プロパティを調節する種々の制御部25を有する。シー
ン内で定義した種々のオブジェクトは、例えば、フレー
ム・ワイヤ上の制御点を用いることによって、移動させ
たり、それらのサイズを調節することも可能である。ま
た、ワイヤ・フレーム・ビューは、いわゆる「3Dマニ
ピュレータ」の表示やその編集を可能にし、非物理的オ
ブジェクトや3D属性を有する効果の編集を可能にす
る。例えば、対応する3Dマニピュレータを操作するこ
とによって、光源の投射の円錐のサイズを変更したり、
移動させたり、回転させることができる。
(または編集)コンテキスト(context)において作業
している間、著作者は、ほぼリアル・タイムで、変化の
いくつかの効果を見ることができる。例えば、オブジェ
クトのワイヤ・フレームを動かすと、ワイヤ・フレーム
の画像は、直ちに更新される。しかしながら、アーティ
ストの作品のレンダリング効果を見るためには、アーテ
ィストは、シーン・データのレンダリングを要求しなけ
ればならない。これは、ユーザ・インターフェースのコ
ンテキストをプレビュー・コンテキスト70に変更する
が、その中では著作者は編集ツールから切り離されてし
まう。一旦著作者がレンダリング画像を待ちそして検査
したなら、著作者は編集コンテキストに戻り、オブジェ
クト・マニピュレータ、シェーダ・エディタ等にアクセ
スすることができる。この状況では、アーティストは1
つのコンテキスト、即ち、編集コンテキストにおいて作
業し、別のコンテキストにおいて実際の画像を見てお
り、完全で即座のフィードバックをアーティストに与え
るのではないので、障害(limiting)となる可能性があ
る。例えば、歩く恐竜をモデリングし、皮膚のテクスチ
ャに微妙な調節を行おうとする場合を想像してみる。著
作者は、皮膚がどのように見えたかを思い出し、いくつ
かのパラメータを引っ張り(tweak)、その結果を検査
しなければならない。編集環境によっては、著作者が多
数の画像を格納し、それらを例えば別のフレームワー
ク、画像ビューアまたはエディタ内に並置することを可
能にするものもある。しかしながら、これは、編集のプ
ロセスの低速化を招き、しかも著作者に多数の工程およ
び異なる環境を行き来させることになる。
ログラムならびにワード・プロセッサでは、開発者は、
修正の結果を殆ど直ちに示す環境で作業することができ
る。これは、いわゆる「見ているものが得られるもの」
(WYSIWYG:what-you-see-is-what-you-get)機構であ
る。一見したところでは、複雑な3Dモデルを用いて作
業するグラフィック・アーティストやアニメータにこの
機構を提供することは、望ましいように思われるかもし
れない。しかしながら、レンダリング・プロセスは、著
作者にこのような重要な情報を提供するものであり、非
常にコンピュータ集約的なため、現在および近い将来
(near term)のハードウエア技術の限界を考えると、
仮説的なWYSIWYG環境ではその処理能力は容認で
きない程に低下する。画像が更新されるまで待つので
は、著作者が遂行する各工程間に遅れが生ずるであろ
う。
サリング環境は、WYSIWYG環境において得られる
ものよりは、いくらか勝っている。ワイヤ・フレーム・
ビューやオブジェクト・プロパティ定義ツールが、シー
ンに関する抽象化した情報を表示し、場合によっては、
現実的レンダリング以上の情報を与える。例えば、レン
ダリングでは殆ど見ることができない3D属性を有する
オブジェクトが、ワイヤ・フレーム・ビューでは明確に
見ることができる。また、ワイヤ・フレーム・ビュー
は、透視図を作成する際に有用となり得るガイドを示す
こともできる。レンダリングしたビューは、オブジェク
トの境界において殆どコントラストを含まない場合が多
い。これは、ワイヤ・フレーム・ビューでは問題となら
ない。したがって、WYSIWYGを3D編集環境に持
ち込むというアイデアは、非実用的に思われるだけでな
く、何らかの犠牲も伴うように思われる。本発明は、従
来技術のこれらの欠点双方に対処しようとするものであ
る。
ングおよびアニメーション・システムは、アーティスト
に3Dシーン・データの変更を行わせつつ、同時に著作
者に当該変更に対応するレンダリング画像を視認させる
ユーザ・インターフェースを与える。実際、これは、W
YSIWYG環境のある種の利点を3Dモデリングおよ
びアニメーション・システムにもたらす。前述のシステ
ムは、通常3D編集コンテキストに伴う全ての編集ツー
ル、および自動的に更新するレンダリング画像(render
ed image)を与えることができる。これは、以下のデバ
イスの組み合わせによって達成する。
部分に断片化する。シーン修正を入力し、古いレンダリ
ングがメモリ内にある場合、再度レンダリングを行わな
ければならないレンダリングの部分のみを、ユーザ・イ
ンターフェースのサポートと並列に走るレンダリング・
タスクに引き渡す(submit)。本発明の一実施形態で
は、レンダリングの下位部分(subportion)は、タイル
と呼ばれる、隣接する規則的な形状である。
を、本発明の機構および実施形態にしたがって、種々の
方法で正確に定義することができる。例えば、ワイヤ・
フレーム図上にボックスを配置し、レンダリングすべき
シーンのビューの正確な部分を定義することができる。
レンダリングの主題を更に狭めるために、特定のオブジ
ェクトを識別し、残りのオブジェクトはレンダリングせ
ずに放置しておくことも可能である。このように、レン
ダリングの主題は、著作者が集中する特定のタスクに合
せて自在に作成することができる。
シーン修正を受け入れ、著作者の作業に応答して、ワイ
ヤ・フレーム・ビューのような抽象化画像を更新する。
このユーザ・インターフェースの支援アクティビティ
は、高い優先度で独立して実行するので、レンダリング
を更新する「背景」タスクによる低速化が生じない。ユ
ーザ・インターフェースは、レンダリングを完了するた
めにCPU時間が得られるようになるまで、レンダリン
グの古い部分を空白化することができる。あるいは、古
い構成(feature)を上書きし、各変更の前および後の
レンダリングを、直ちに時間的に並置することも可能で
ある。尚、並列プロセッサ・システムでは、優先順位を
決めることなく、単一プロセッサ・システムにおけるよ
うに、優先順位を決めずに同じ結果が得られることを注
記しておく。
・プロセスを制御する前に、この修正をチェックし、こ
れらがレンダ領域ビューにおいて何らかの視認可能な差
異を明示するか否かについて判定を行う。変更が当該領
域内においてレンダリング画像に何ら変更を明示しない
場合、レンダリング・プロセスを中断せず、レンダリン
グ・プロセスに対する指示も行わない。
に必要なレンダ領域の部分を再度レンダリングし終わる
まで、順次背景タスクとして再度レンダリングする。各
部分のレンダリングを完了すると、その部分をレンダ・
キャッシュに引き渡し、レンダリング・プロセスと並列
に走る別の高速背景プロセスが、キャッシュ内のタイル
に彩色する。
リングしたタイルをキャッシュに格納する。 8.キャッシュから有効なタイルを検索し、これらのタ
イルを検索しつつ彩色することによって表示をリフレッ
シュし、ユーザが入力したシーンの変更とレンダリング
画像の表示との間の同期性(synchrony)を維持する。
無効化した場合、タイルのレンダリングを中断する。 10.ユーザ定義の更新が、キャッシュ内に格納してあ
るタイルを無効化した場合、キャッシュの消去(empt
y)即ち無効化を行う。
し、ユーザの入力のエンティティにしたがって、ステッ
プ[3−4−9−10]またはステップ[3−4]で定
義したシーケンス、ステップ[5−6−7]およびステ
ップ[8]を独立して(非同期に)実行する。
コンテキストにWYSIWGYを完全に実施する場合に
以下の障壁があることを確認した。(1)画像のレンダ
リングを行うのに要する時間は非常に長いので、現実的
画像を表示するオーサリング・システムでは、各変更の
後にレンダリングの更新を行う間著作者を待たせること
になり、このようなシステムは非実用的である。(2)
3Dシーンの作業を行うために必要な3Dマニュピレー
タの少なくともいくつかが、レンダリング画像のオプシ
ョンを見えなくする。あるいは、3Dマニュピレータの
少なくともいくつかがこれらのオプションによって見え
なくなり、シーンを編集することが難しくなる。例え
ば、あるオーサリング・システムは、3Dマニピュレー
タおよび制御点を用いると、限定的な(少なくともワイ
ヤ・フレームよりは現実的であるが、レンダリングとい
う言葉と関連する計算集約的なレイ・トレーシングを行
わない)レンダリング機能を行うだけとなる。更に、3
D編集は非常に抽象的なプロセスであるので、従来技術
はWYSIWYGコンテキストを積極的に導入していな
い。著作者が関係することの多くは、ビューアの目に向
けられる光を変化させる、見えないオブジェクトであ
る。例えば、表面テクスチャ、ボリューム・シェーダ
(例えば、霧や雨を表現するために用いるような、空間
を通過する光の透過、散乱、および反射を修正するシェ
ーダ)等は、レンダリングにおけるよりはむしろ、ワイ
ヤ・フレームまたは制御パネルと同様、シーンの抽象的
なビューにおいてより良い表現が得られる。したがっ
て、3Dオーサリングでは、WYSIWYGに対応する
レンダリングは、オーサリングのプロセスとは別個と見
なされるため、編集環境を除いて通常は不自由でない。
グ・ビュー(rendered view)を与える編集環境を作成
する。即ち、編集環境に通常関連する編集ツール全てに
対するアクセスを可能とする。編集環境はなおも3Dシ
ーンの作業を行う際に有用な、抽象的ビュー、3Dマニ
ピュレータ、および制御点を与えかつ維持する。重要な
ことは、編集ツールへのアクセスが、レンダリング・プ
ロセスの完了を待つ必要性によって阻害されないことで
ある。また、重要なことは、オーサリングのコンテキス
トにおいて実施するレンダリング・プロセスは、オーサ
リング・コンテキストと互換性があるものとして識別し
た、ある種のショートカット(shortcut)を定義し、実
装することによって、従来のレンダリング・プロセスよ
りも更に迅速にプロセスを進行させることができる。更
に、オーサリング・コンテキストにおいて利用可能なレ
ンダリングは、追加の工程やコンテキストの変更を必要
とせず、しかも完全に自動である。
能となる。その内のいくつかを用いてもよく、いくつか
を用いなくてもよく、それでもなお本発明の特徴の少な
くとも一部分(subset)を提供する。第1に、編集環境
によって、著作者は、レンダリングするシーンの特定領
域を指定し、更新することができる。この領域は、例え
ば、著作者が作業中のシーンの特定の部分に対応する。
以下で説明するように、レンダリングは、自動的かつ連
続的に行われ、しかも編集用ビュー(例えば、ワイヤ・
フレーム)を更新するプロセス、編集データの受け入れ
等に対して非同期的に行われる。したがって、特定の領
域は、常に、(レンダリング・プロセスが著作者につい
て行ける範囲において)著作者の原稿の編集に対応する
レンダリング・ビューを示す。好適な実施形態では、こ
の領域は、ウインドウとして定義することができ、透視
ワイヤ・フレーム・ビュー上で直接サイズの変更や再位
置決めを行うことができる。あるいは、この領域は、あ
るオブジェクトのシルエットに対する(subtend)視野
のエリアとすることができる。この場合、オブジェクト
を選択し、オブジェクトの背景ではなく、その寸法デー
タを用いて、その領域を定義することができる。
な透視ワイヤ・フレーム・ビューの上に表示することが
できる。これによって、著作者は、レンダリング・ビュ
ーを、ワイヤ・フレーム・ビュー内に表示した情報と比
較し、相関付けることができる。実際に、領域をワイヤ
・フレーム・ビューの小部分として定義し、その上に直
接重ね合わせることによって、著作者はレンダリング・
ビューについての展望を得ることができる。これは、完
全なレンダリング(full rendering)では、さほど容易
に得ることはできない。即ち、例えば、あるシーンの中
の背景オブジェクトと前景オブジェクトとの間の色差ま
たはコントラストが非常に低いことを想定し、更にこれ
らのオブジェクトが部分的にレンダ領域内まで達し、部
分的にレンダ領域の外側まで達することを想定する。こ
のようなオブジェクトのワイヤ・フレーム画像は、(あ
らゆる制御点、および光源の投射の人工的な円錐のよう
な、見えないコンポーネントと共に)明確にしかもコン
トラストが高く現れる。同じオブジェクトのワイヤ・フ
レームとレンダリング画像との隣接性(adjacency)
は、著作者の適応力(orientation)、および著作者が
レンダリング画像で見るものと著作者がワイヤ・フレー
ム画像で見るものを相関付ける能力を高めることができ
る。
リング画像の存在は、編集コンテキストに用いる編集ツ
ールへの著作者のアクセスを全く妨害しないことを特記
しておく。著作者は、編集コンテキストに通常関連する
あらゆる編集ツールにアクセスしつつ、同時にレンダリ
ング領域(rendered region)を見ることができる。ま
た、コンテキストはそれでも、3Dシーンの作業を行う
のに有用な抽象化したビュー、3Dマニピュレータ、お
よび制御点を与えかつ維持する。実際、これら同一の抽
象化ビューは、レンダリング画像の抽象化画像との並置
によって、一層効果的となる。即ち、レンダリング画像
を対応するワイヤ・フレーム画像の隣に置くことによっ
て、例えば、著作者は、現実的画像においてシーン修正
の効果を容易に見ることができる。更に、変更を行う毎
に、例えば、色に細かい調節を行う毎に、著作者はシー
ン修正の結果として、未編集シーン(または主題)の変
化を見つつ、その領域を視認することができる。即ち、
著作者は、時間的に並置して新旧のレンダリングを見る
ことができる。これは、微調整を行う際に非常に役に立
つ(conductive)。
イヤ・フレーム・ビューのリフレッシングやシーン修正
の入力に対して非同期的に、レンダ領域を更新するプロ
セスを行う。通常の編集環境プロセスには、したがっ
て、レンダ領域のリフレッシングよりも高い優先度を与
えることができる。更に、領域のリフレッシングは、従
来のレンダリングよりも素早く行うことができる。何故
なら、レンダリングは、著作者に直接関与する小さな面
積の領域に限定されるからである。
する速度は、レンダリングを必要とする領域の部分を識
別し、再度レンダリングすることによって更に高められ
る。例えば、あるオブジェクトの表面のテクスチャに変
更を加える場合、オブジェクトの一次および二次レイに
対応する領域の部分のみに再度レンダリングすればよ
い。領域の他の部分は、そのまま、放置しておけばよ
い。また、本発明は、更に別の特徴として、ある種のシ
ョートカットの使用を可能にする。例えば、著作者が選
択的に、全ての光源を面光(area light)ではなく、点
光源として指定することを可能にする。これによって、
レンダリングの大幅な高速化が可能となる。これは、修
正可能なデフォルト・プロパティとして実装することが
できる。
可能としたレンダリングは、追加の工程やコンテキスト
の変更を必要とせず、完全に自動化となる。レンダ領域
は、必要なときには常に編集画面上にある。レンダリン
グを要求する必要はない。また、コンテキストを、編集
ツールにアクセス可能なコンテキストから、編集ツール
が使用できないコンテキストに変更する必要もない。
能的特徴およびこの明細書のいずれかの部分で論ずる機
能的特徴を実施する唯一の方法を表すことを意図するも
のではない。この特定の実施形態では、レンダ領域をそ
の一部として有するビューをタイルに分解する。レンダ
領域の境界は、タイルの境界を横切っても、横切らなく
てもよい。しかしながら、ワイヤ・フレーム・ビュー全
体の大部分に重なり合うようにサイズを決める場合、レ
ンダ領域の境界は、多くのタイルを横切ることになろ
う。したがって、レンダ領域は、多数のタイル、および
多数のタイルの断片を含む場合がある。この実施形態で
は、以下のオブジェクトを定義することができる。
クトは、処理の進行中に著作者のシーン修正を受け入れ
ることを可能にする。ユーザ・インターフェースは、従
来よりオーサリング環境と関係する全ての機能を支援す
るという意味において、従来通りに応答する。従来から
逸脱するのは、レンダ・マネージャ・オブジェクトに使
用可能としたこと、著作者の編集作業に応答するシーン
の変更、ならびにレンダ領域ウインドウの呼び出し、再
位置決め、およびサイズ変更に対応したことである。
は、シーン変更を受け取り、その変更が、(オブジェク
トの表面テクスチャの変更のような)レンダ領域の更新
を必要とし得る形式のものであるか、あるいは、例え
ば、オブジェクトの名称、または他のオブジェクトとの
集合化のような、表示不可能な変更であるかについて判
定を行う役割を果たす。また、レンダ・マネージャは、
レンダ・エンジンの起動および停止する機能も果たす。
この機能は、レンダリング・プロセスが、ユーザ・イン
ターフェースを維持する従来の機能面(aspect)を妨害
するのを防止する。したがって、例えば、再位置決めの
後ワイヤ・フレームをリフレッシュしている場合、レン
ダリングを中断することができる。言い換えると、レン
ダ・スレッド(レンダリング・プロセス。以下で説明す
る)の作成、終了および同期化は、レンダ・マネージャ
によって中断することにより、編集用ユーザ・インター
フェースの障害となるのを防止する。また、レンダ・マ
ネージャは、ユーザが入力するシーン修正をレンダ・エ
ンジンに受け渡す。また、レンダ・マネージャは、環境
シェーダを編集する場合のように、シーン修正がレンダ
領域全体の全面的な再レンダリングを必要とするか否か
についての判定も行う。この場合、レンダ・マネージャ
は、タイルのレンダリングを中断し、レンダ・キャッシ
ュを消去するように、レンダ・エンジンにコマンドを発
行する。キャッシュを消去するコマンドは、高い優先度
でレンダ・キャッシュに渡すので、遅延なく実行する。
レンダ・キャッシュを消去することの効果は、あらゆる
非表示タイルを破棄(flush)し、コマンド以前に表示
してあったもののみをレンダ領域が示すようにすること
である。
レンダ・マネージャから、レンダリングを開始および停
止する命令を受け取る。シーン・データは、シーン・デ
ータの中央記憶部である、シーン・マネージャから得
る。ユーザ入力からの更新は、レンダ・マネージャを通
じて、レンダ・エンジンに供給する。すると、レンダ・
エンジンは、レンダ領域のどの部分をリフレッシュしな
ければならないか判定し、必要なレンダリングを実行す
ることができる。特定の実施形態では、画像エリアをタ
イルに分解し、そのいくつか即ち部分を、レンダ領域と
対応させることができる。この場合、レンダ・エンジン
は、タイルの寸法(座標)から、未だ進行中の特定のシ
ーン修正を判定し、他のシーン・データから、再度レン
ダリングしなければならない特定のタイルを判定する。
また、レンダ・エンジンは、先に到達したシーン修正に
対応するタイルのレンダリングの前に受け取った、後か
ら到達したシーン修正のシーケンスを調和することも可
能である。例えば、ユーザが第1のシーン修正を入力し
た後、第2のシーン修正を入力したときに、レンダ・エ
ンジンは第1のシーン修正を実施するために適切なタイ
ルを未だレンダリングしている場合がある。第2のシー
ン修正は、第1のシーン修正に応答して再度レンダリン
グする目的で、あらゆるタイルにレンダリングを行う場
合に組み込まれる。また、レンダ・エンジンは、レンダ
・マネージャからのコマンドに応答して、進行中のレン
ダリングを中断することができる。レンダ・エンジン
は、タイルにレンダリングを行いつつ、連続的にレンダ
リングしたタイルをレンダ・キャッシュに供給する。
は、レンダ・エンジンから来るタイルを格納する。ま
た、レンダ・キャッシュは、レンダ・エンジンからの命
令にしたがって、その中に格納されている古いタイルを
捨てなければならない。更に、レンダ・キャッシュはタ
イルをレンダ・ビュー・オブジェクトに供給する。レン
ダ・キャッシュの内容は、レンダ領域において見ること
ができるものである。
ンダ領域のサイズおよび位置を指定するコマンドを受け
取り、格納し、実施する。このレンダ領域定義データ
は、レンダ・エンジンにも使用可能となっており、レン
ダ・エンジンはこれを用いて、レンダリングするタイル
を決定することができる。また、レンダ・ビュー・オブ
ジェクトは、レンダリング・オプション、例えば、レン
ダリング・サンプリング、速度も格納する。また、この
オブジェクトは、レンダ領域を再定義するときに、ある
タイルの新たなレンダリングの要求を発生することもで
きる。後者の機能は、レンダ・マネージャによって処理
することも可能である。領域定義データは、レンダ・エ
ンジンに供給してもよい(例えば、シーン修正または領
域の再定義によって、どのタイルを更新する必要がある
かを判定できるようにする)。最後に、レンダ・ビュー
・オブジェクトは、レンダ・キャッシュからタイルを検
索し、新たにレンダリングしたタイルの受け取りに応答
して、領域に彩色する役割も果たす。
ーンを編集するためのオーサリング・システムを提供す
る。本発明は、以下のようにプログラムすることによっ
て、汎用コンピュータ上に実装可能である。第1および
第2の同期スレッドを定義する。第1のスレッドは、ユ
ーザ・データを受け入れるスレッドであり、三次元シー
ンに対する変更をユーザが入力したときはいつでも、あ
る種のフィードバックを与える。また、ユーザは、特定
のワイヤ・フレーム・ビューを形成するために用いるカ
メラの方位のように、シーンをどのように表示するかを
定義するデータを入力することができる。第1のスレッ
ドは、三次元シーンを維持し(ユーザ入力にしたがって
これを更新し)、ワイヤ・フレーム・ビューのような、
少なくとも抽象的なレンダリングを表示する。第1のス
レッドでは、データの入力、シーンの更新、および抽象
化ビューの更新は、同期プロセスとして実行する。第2
のスレッドは、第1のスレッドと並列に実行する。第2
のスレッドは、レイ・トレーシングを伴う場合がある、
三次元シーンの現実的レンダリングを維持する。レンダ
リング・プロセスは大量の時間を要し、したがって資源
の消費を削減し第1のスレッドが生成するオーサリング
環境を阻害しないように制御可能であるという考えであ
る。レンダリング画像は、オーサリング環境において連
続的に表示しても、しなくてもよい。第1および第2の
スレッドは、実質的に同時に実行し、レンダリングがオ
ーサリング環境のコンテキストにおいて表示できるよう
にする。現実的レンダリングの角視野は、抽象的レンダ
リングの角視野と実質的に同一に維持する。オプション
として、抽象的レンダリングの対応するエリアを覆うよ
うに、現実的レンダリングを表示し、抽象的レンダリン
グが、現実的レンダリングに視覚的方向付けを与えるよ
うにする。また、第1の抽象的レンダリングと実質的に
同一の第2の抽象的レンダリングを同時に表示すること
ができる。第1および第2の抽象的レンダリングは、こ
れらの抽象的レンダリングのビューを特徴化する視点を
定義するカメラに関して、実質的に同じ角度方位で維持
することができる。好ましくは、抽象的レンダリング
は、ワイヤ・フレーム画像である。素早いレンダリング
の更新を可能とするために、第1の同期スレッドは、現
実的レンダリングにおいて現実的にレンダリングする特
定のオブジェクトを識別するデータの入力を含むことが
できる。これによって、レンダリングの範囲を制限し、
プロセスをより迅速に完了させることが可能となる。
シーンを編集するためのオーサリング・システムを提供
する。本発明は、以下のようにプログラムすることによ
って、汎用コンピュータ上に実装可能である。第1およ
び第2の同期スレッドを定義する。第1のスレッドは、
ユーザ・データを受け入れるスレッドであり、三次元シ
ーンに対する変更をユーザが入力したときはいつでも、
ある種のフィードバックを与える。また、ユーザは、特
定のワイヤ・フレーム・ビューを形成するために用いる
カメラの方位のように、シーンをどのように表示するか
を定義するデータを入力することができる。第1のスレ
ッドは、三次元シーンを維持し(ユーザ入力にしたがっ
てこれを更新し)、ワイヤ・フレーム・ビューのよう
な、少なくとも抽象的なレンダリングを表示する。第1
のスレッドでは、データの入力、シーンの更新、および
抽象化ビューの更新は、同期プロセスとして実行する。
第2のスレッドは、第1と並列に実行する。第2のスレ
ッドは、レイ・トレーシングを伴う場合がある、三次元
シーンの現実的レンダリングを維持する。レンダリング
・プロセスは大量の時間を要し、したがって資源の消費
を削減し第1のスレッドが生成するオーサリング環境を
阻害しないように制御可能であるという考えである。レ
ンダリング画像は、オーサリング環境において連続的に
表示することも、しないことも可能である。第1および
第2のスレッドは、実質的に同時に実行し、レンダリン
グがオーサリング環境のコンテキストにおいて表示でき
るようにする。現実的レンダリングの角視点は、抽象的
レンダリングの角視点と実質的に同一に維持する。第1
および第2の抽象的レンダリングは、これらの抽象的レ
ンダリングのビューを定義する視点を定義するカメラに
関して、実質的に同じ角度方位で維持することができ
る。現実的レンダリングは、抽象的レンダリングの対応
するエリア上の位置に置き、抽象的レンダリングが現実
的レンダリングに関する視覚方位情報を与えるようにす
ることができる。オプションとして、第1の同期スレッ
ドは、第2の同期スレッドよりも低い優先度で実行可能
であり、第1の同期スレッドの実行速度が、第2の同期
スレッドによる影響を受けないようにする。あるいは、
第1および第2の同期スレッドは、第1の同期スレッド
が第2の同期スレッドによる影響を実質的に受けないよ
うに制御する。その結果、第1の同期スレッドによって
維持するユーザ・インターフェースは、現実的レンダリ
ングを生成するための計算要求量によって生ずる遅延の
増大を実質的に伴わずに実行する。好ましくは、現実的
レンダリングは、内部に含まれる画素数を変更するよう
に調節可能なサイズ変更可能ウインドウに表示可能であ
る。これによって現実的レンダリングを維持するための
計算要求量を制限する。レンダリングのための計算要求
量を制限する別の代替案は、現実的レンダリングの解像
度をユーザに調節させることである。一変形では、現実
的レンダリングを複数の部分に再分割し、選択した部分
に第2の同期スレッドによって順次レンダリングを行
う。選択した部分とは、更新データの結果として、外観
を変更すると判定されたものである。また、これは、レ
ンダリングした部分を再生しないことによって、計算要
求量を削減する。別の変形では、更新データを受け取っ
たとき、第2のスレッドの実行を中断し、更新データが
第2のスレッドのレンダリング・プロセスに使用可能と
なった後に、第2のスレッドの実行を再開させる。これ
によって、更新データによって無効化したデータを、レ
ンダリング・プロセスにおいて使用しないことを保証す
る。無効化部分は、レンダリングに先立って、表示を空
白化し、レンダリングの古い部分を決して表示しないよ
うにする。あるいは、更新部分が上書きするまで、古い
部分を表示に残しておく。これによって、著作者は、古
い部分および新しい部分を並置して見ることができる。
レンダリング表示を更新する更に別の方法は、全ての部
分を更新するまで待ち、単一ステップで表示に再度彩色
を行うことである。更に、何らかの方法で表示にマーク
を付け、上書きを行うまでそれが無効であることを明確
にすることも可能である。これを行うには、例えば、表
示を黒(またはゼロ−アルファ画素)で点彩(stippl
e)し、古いレンダリングの古い画素で一時的に彩色
し、次いで更新したレンダリングの更新画素で彩色すれ
ばよい。
シーンを編集するためのオーサリング・システムを提供
する。本発明は、以下のようにプログラムすることによ
って、汎用コンピュータ上に実装可能である。第1およ
び第2の同期スレッドを定義する。第1のスレッドは、
ユーザ・データを受け入れるスレッドであり、三次元シ
ーンに対する変更をユーザが入力したときはいつでも、
ある種のフィードバックを与える。また、ユーザは、特
定のワイヤ・フレーム・ビューを形成するために用いる
カメラの方位のように、シーンをどのように表示するか
を定義するデータを入力することができる。第1のスレ
ッドは、三次元シーンを維持し(ユーザ入力にしたがっ
てこれを更新し)、ワイヤ・フレーム・ビューのよう
な、少なくとも抽象的なレンダリングを表示する。第1
のスレッドでは、データの入力、シーンの更新、および
抽象化ビューの更新は、同期プロセスとして実行する。
第2のスレッドは、第1と並列に実行する。第2のスレ
ッドは、レイ・トレーシングを伴う場合がある、三次元
シーンの現実的レンダリングを維持する。レンダリング
画像は、オーサリング環境において連続的に表示するこ
とも、しないことも可能である。第1および第2のスレ
ッドは、実質的に同時に実行し、レンダリングがオーサ
リング環境のコンテキストにおいて表示できるようにす
る。現実的レンダリングの角視点は、抽象的レンダリン
グの角視点と実質的に同一に維持し、第2の抽象的レン
ダリングを、第1の抽象的レンダリングと実質的に同一
とする。この実施形態では、現実的レンダリングは、抽
象的レンダリングの対応するエリア上の位置に置き、抽
象的レンダリングが現実的レンダリングに関する視覚方
位情報を与えるようにする。第1の抽象的レンダリング
と実質的に同一の第2の抽象的レンダリングを同時に表
示する。第1および第2の抽象的レンダリングは、抽象
的レンダリングのビューを特徴化する視点を定義するカ
メラに対して、実質的に同一角度方位で維持する。
シーンを編集するためのオーサリング・システムを提供
する。本発明は、以下のようにプログラムすることによ
って、汎用コンピュータ上に実装可能である。第1およ
び第2の同期スレッドを定義する。第1のスレッドは、
ユーザ・データを受け入れるスレッドであり、三次元シ
ーンに対する変更をユーザが入力したときはいつでも、
ある種のフィードバックを与える。また、ユーザは、特
定のワイヤ・フレーム・ビューを形成するために用いる
カメラの方位のように、シーンをどのように表示するか
を定義するデータを入力することができる。第1のスレ
ッドは、三次元シーンを維持し(ユーザ入力にしたがっ
てこれを更新し)、ワイヤ・フレーム・ビューのよう
な、少なくとも抽象的なレンダリングを表示する。第1
のスレッドでは、データの入力、シーンの更新、および
抽象化ビューの更新は、同期プロセスとして実行する。
第2のスレッドは、第1と並列に実行する。第2のスレ
ッドは、レイ・トレーシングを伴う場合がある、三次元
シーンの現実的レンダリングを維持する。第1の同期ス
レッドは、第2の同期スレッドよりも低い優先度で実行
可能であり、第1の同期スレッドの実行速度が、第2の
同期スレッドによる影響を受けないようにする。現実的
レンダリングは、内部に含まれる画素数を変更するよう
に調節可能なサイズ変更可能ウインドウに表示可能であ
り、これによって現実的レンダリングを維持するための
計算要求量を制限する。
シーンを編集するためのオーサリング・システムを提供
する。本発明は、以下のようにプログラムすることによ
って、汎用コンピュータ上に実装可能である。第1およ
び第2の同期スレッドを定義する。第1のスレッドは、
ユーザ・データを受け入れるスレッドであり、三次元シ
ーンに対する変更をユーザが入力したときはいつでも、
ある種のフィードバックを与える。また、ユーザは、特
定のワイヤ・フレーム・ビューを形成するために用いる
カメラの方位のように、シーンをどのように表示するか
を定義するデータを入力することができる。第1のスレ
ッドは、三次元シーンを維持し(ユーザ入力にしたがっ
てこれを更新し)、ワイヤ・フレーム・ビューのよう
な、少なくとも抽象的なレンダリングを表示する。第1
のスレッドでは、データの入力、シーンの更新、および
抽象化ビューの更新は、同期プロセスとして実行する。
第2のスレッドは、第1と並列に実行する。第2のスレ
ッドは、レイ・トレーシングを伴う場合がある、三次元
シーンの現実的レンダリングを維持する。更新データを
受け取ったとき、第2のスレッドの実行を中断する。更
新データが第2のスレッドのレンダリング・プロセスに
使用可能となった後に、実行を再開させる。これを行っ
て、更新データによって無効化したシーン・データの部
分に対応する現実的レンダリングの部分のレンダリング
を防止する。
ングを行うユーザ・インターフェースを生成する方法も
提供する。この方法は、3Dシーンをメモリに格納する
ステップと、著作者が入力する3Dシーンに対する編集
を受け取るステップと、編集に応答して3Dシーンを更
新するステップと、OpenGLライブラリ(例えば、
ワイヤ・フレーム、シェード等)に対応する表示モード
を用いて、3Dシーンの最適化ビューを表示するステッ
プと、ワイヤ・フレーム・ビューを表示するステップと
同時に、3Dシーンのレンダリング・ビューも生成し、
レンダリング・ビューが3Dシーンのレイ・トレーシン
グの結果を示すステップと、ワイヤ・フレーム・ビュー
の方位と同一のレンダリング・ビューの方位を維持し、
ワイヤ・フレームの方位を変更した場合に、レンダリン
グ・ビューの方位を自動的に共に変更するステップとを
有する。
ングを行うためのユーザ・インターフェースを生成する
方法を提供し、3Dシーンをメモリに格納するステップ
と、ユーザが供給する3Dシーンに対する編集を受け取
るステップと、編集に応答して3Dシーンを更新するス
テップと、3Dシーンのワイヤ・フレーム・ビューを表
示するステップと、ワイヤ・フレーム・ビューを表示す
るステップと同時に、3Dシーンのレンダリング・ビュ
ーも生成するステップと、ワイヤ・フレーム・ビューを
受け取り、更新し、更に表示するステップの第2のプロ
セスと並列な第1のプロセスにおいて、レンダリング・
ビュー内で可視の3Dシーンの部分を連続的にレンダリ
ングすることによって、編集に応答してレンダリング・
ビューの現行性(currency)を維持するステップであっ
て、第1のプロセスが第2のプロセスに対して非同期で
あるステップとから成る。前述の維持するステップは、
第2のプロセスが第1のプロセスによる影響を実質的に
受けないように、第1および第2のプロセスを制御する
ステップを含む。第2のプロセスは、第1のプロセスよ
りも低い優先度で実行可能である。
オーサリングを行うためのインターフェースを与える方
法である。そのステップは、3Dシーンをメモリに格納
するステップと、ユーザが供給する3Dシーンに対する
編集を受け取るステップと、編集に応答して3Dシーン
を更新するステップと、3Dシーンの第1のワイヤ・フ
レーム・ビューを表示するステップと、ワイヤ・フレー
ム・ビューを表示するステップと同時に、3Dシーンの
レンダリング・ビューも生成し、レンダリング・ビュー
が3Dシーンのレイ・トレーシングの結果を示すステッ
プと、連続的かつ自動的にレンダリング・ビューを表示
するステップと、第2のワイヤ・フレーム・ビューを表
示するステップと、第1のワイヤ・フレーム・ビューの
方位と実質的に同一の第2のレンダリング・ビューの方
位を維持するステップと、第1のワイヤ・フレーム・ビ
ューに対応するエリアでかつこれと同一のズーム・レベ
ルで、第1のワイヤ・フレーム・ビュー上にレンダリン
グ・ビューを表示し、ワイヤ・フレームがレンダリング
・ビューを方向付けるように機能するステップとから成
る。
応する画像を生成する方法である。そのステップは、メ
モリに3Dシーンを格納するステップ(ビューは、3D
シーンのカメラ・オブジェクトの位置および方位によっ
て定義し、更にビューは、視野および倍率によって更に
定義し、視野をタイルに分割する。タイルとは、視野の
隣接部分のことである)と、3Dシーンに対する修正を
指定する更新データを受け入れるステップと、受け入れ
るステップに応答してレンダリング・プロセスを中断す
るステップと、レンダリング・プロセスが、無効タイル
のリストにおいて識別したタイルに順次レンダリングを
行い、レンダリング・プロセスが3Dシーンの少なくと
も一部のレイ・トレーシングを含み、受け入れるステッ
プに応答して、メモリに格納してある3Dシーンを更新
するステップと、更新データによって無効としたタイル
を識別し、それに応答して無効タイルのリストを更新す
るステップと、識別するステップにおいて更新したリス
トを用いて、レンダリング・プロセスを再開するステッ
プとから成る。オプションとして、前述の方法は、識別
するステップにおいて無効として識別したタイルの各々
の表示を空白化するステップを含む。また、レンダリン
グ・プロセスの結果を連続的かつ自動的に表示するステ
ップを含んでもよい。更に、更新データがいずれかのタ
イルの外観に影響を与えるか否かについて判定を行うス
テップと、判定するステップの結果が、更新データがい
ずれのタイルの外観にも影響を与えないことを示した場
合、中断するステップを省略するステップとを含んでも
よい。
を含む方法である。即ち、メモリに3Dシーンを格納す
るステップと、3Dシーンのカメラ・オブジェクトの位
置および方位によってビューを規定するステップと、視
野と倍率によってビューを更に規定するステップと、視
野をタイルに分割するステップであって、タイルを視野
の隣接部分とするステップと、3Dシーンのレンダリン
グを行うステップと、3Dシーンに対する修正を指定す
る更新データを受け入れるステップと、更新データがい
ずれかのタイルの外観に影響を与えるか否かについて判
定し、判定するステップの結果が、更新データはいずれ
かのタイルの外観に影響を与えることを示す場合、受け
入れるステップに応答してレンダリングを行うステップ
を中断するステップと、レンダリング・プロセスが、無
効タイルのリストにおいて識別したタイルに順次レンダ
リングを行い、レンダリング・プロセスが3Dシーンの
少なくとも一部のレイ・トレーシングを含み、更新デー
タによって無効としたタイルを識別し、それに応答して
無効タイルのリストを更新するステップと、識別するス
テップにおいて更新したリストを用いて、レンダリング
・プロセスを再開するステップとから成る。前述の受け
入れるステップとレンダリングを行うステップは、互い
に対して非同期的に実行することができる。また、前述
のレンダリングを行うステップおよび受け入れるステッ
プは、レンダリングを行うステップよりも高い優先度で
実行してもよい。前述のレンダリングを行うステップ
は、リスト内に識別したオブジェクトにレンダリングを
制限し、ユーザが入力する画面エリア定義にしたがって
レンダリングを行うステップの結果を構成する画素数を
制限することによって、レンダリングを行うオブジェク
トの範囲を限定するステップを含むことができる。ま
た、ワイヤ・フレーム・ビューを表示するステップと同
時に、本方法は、レンダリングを行うステップから得ら
れた3Dシーンのレンダリング・ビューを表示するステ
ップを含み、レンダリング・ビューが3Dシーンのレイ
・トレーシングを行った結果を示すようにしてもよい。
加えて、本方法は、更に、第2のワイヤ・フレーム・ビ
ューを表示し、第1のワイヤ・フレーム・ビューの方位
と実質的に同一の第2のワイヤ・フレーム・ビューの方
位を維持するステップを含むことができる。加えて、レ
ンダリング・ビューを表示するステップは、第1のワイ
ヤ・フレーム・ビューに対応するエリアでかつこれと同
一のズーム・レベルで、第1のワイヤ・フレーム・ビュ
ー上にレンダリング・ビューを表示するステップを含む
ことができ、ワイヤ・フレームはレンダリング・ビュー
を方向付けるように機能する。また、レンダリング・ビ
ューを表示するステップは、第1のワイヤ・フレーム・
ビューに対応するエリアでかつこれと同一のズーム・レ
ベルで、第1のワイヤ・フレーム・ビュー上にレンダリ
ング・ビューを表示するステップを含むことができ、ワ
イヤ・フレームがレンダリング・ビューを方向付けるよ
うに機能する。
ことができる、適切な計算機環境を示す。図示のよう
に、種々のコンピュータ・システム構成がある。尚、本
発明は、分散型計算機環境において実用化することがで
き、通信ネットワークを通じて、ローカルおよび/また
はリモート記憶装置内に配置したプログラム・モジュー
ルとリンクしたリモート処理装置によってタスクを処理
することを注記しておく。システムの一例は、従来のパ
ーソナル・コンピュータ900を含み、処理ユニット9
10、システム・メモリ920、およびシステム・メモ
リないし処理ユニット910までを含むシステム・コン
ポーネントを相互接続するシステム・バス930を備え
ている。システム・バス930は、メモリ・バスまたは
メモリ・コントローラ、周辺バス、あるいはローカル・
バスを含むあらゆる構造とすることができる。システム
・メモリは、リード・オンリ・メモリ(ROM)940
およびランダム・アクセス・メモリ(RAM)950を
含む。起動中のように、パーソナル・コンピュータ90
0内のエレメント間で情報を転送する際に役立つ基本ル
ーチンを収容した基本入出力システム(BIOS)96
0が、ROM940に記憶してある。更に、パーソナル
・コンピュータ900は、ハード・ディスク・ドライブ
970、リムーバブル磁気ディスク990を備えた磁気
(例えば、フロッピ)ディスク・ドライブ980、およ
びリムーバブル光ディスク992を備えた光ディスク・
ドライブ991も含む。ハード・ディスク・ドライブ9
70、磁気ディスク・ドライブ980、および光ディス
ク・ドライブ991は、それぞれ、ハード・ディスク・
ドライブ・インターフェース992、磁気ディスク・ド
ライブ・インターフェース993、および光ディスク・
ドライブ・インターフェース994を介して、システム
・バス930に接続してある。磁気カセット、フラッシ
ュ・メモリ・カード、デジタル・ビデオ・ディスク、ベ
ルヌーイ・カートリッジ、ランダム・アクセス・メモリ
(RAM)、リード・オンリ・メモリ(ROM)等のよ
うに、他の形式のコンピュータ読み取り可能媒体を用い
てデータを格納してもよい。
スク、磁気ディスク990、光ディスク992、ROM
940またはRAM950上に記憶すればよく、オペレ
ーティング・システム950、1つ以上のアプリケーシ
ョン・プログラム996、他のプログラム・モジュール
997、およびプログラム・データ998を含む。ユー
ザは、キーボード901およびポインティング・デバイ
ス901のような入力装置を通じて、コマンドおよび情
報をパーソナル・コンピュータ900に入力することが
できる。他の入力装置(図示せず)には、マイクロホ
ン、ジョイスティック、ゲーム・パッド、サテライト・
パラボラアンテナ、スキャナ等も含まれる場合がある。
これらおよびその他の入力装置は、多くの場合、システ
ム・バスに結合するシリアル・ポート・インターフェー
ス46を介して処理ユニット910に接続するが、パラ
レル・ポート、ゲーム・ポートまたはユニバーサル・シ
リアル・バス(USB)のようなその他のインターフェ
ースを介して接続することも可能である。モニタ907
またはその他の形式の表示装置も、ビデオ・アダプタ9
08のようなインターフェースを介して、システム・バ
ス930に接続してある。モニタに加えて、パーソナル
・コンピュータは、典型的に、スピーカやプリンタのよ
うな、その他の周辺出力装置(図示せず)も含む。
ート・コンピュータ909のような、1つ以上のリモー
ト・コンピュータへの論理接続を用いたネットワーク状
環境において動作することができる。リモート・コンピ
ュータ909は、別のパーソナル・コンピュータ、サー
バ、ルータ、ネットワークPC、ピア・デバイス、また
はその他の一般的なネットワーク・ノードとすることが
でき、典型的に、パーソナル・コンピュータ900に関
して先に記載したエレメントの多くまたは全てを含む
が、図1にはCPU911のみを図示してある。図1に
示す論理接続は、ローカル・エリア・ネットワーク(L
AN)912およびワイド・エリア・ネットワーク(W
AN)913を含む。このようなネットワーク状環境
は、事務所、会社規模のコンピュータ・ネットワーク、
イントラネット、およびインターネットにおいては、目
新しいものではない。
場合、パーソナル・コンピュータ900は、ネットワー
ク・インターフェース即ちアダプタ914を介して、ロ
ーカル・ネットワーク912に接続する。WANネット
ワーク状環境において用いる場合、パーソナル・コンピ
ュータ20は、典型的に、モデム915またはインター
ネットのようなワイド・エリア・ネットワーク913を
通じて通信を確立するその他の手段を含む。モデム91
5は、シリアル・ポート・インターフェース906を介
して、システム・バス930に接続してある。ネットワ
ーク状環境では、プログラム・モジュール、またはその
一部分は、リモート・メモリ記憶装置に記憶してある場
合がある。尚、図示のネットワーク接続は一例であり、
複数のコンピュータ間に通信リンクを確立するその他の
手段も使用可能であることは認められよう。
ュータ・システム900は、更に、オペレーティング・
システムおよび少なくとも1つのアプリケーション・プ
ログラムを含む。オペレーティング・システムは、コン
ピュータ・システムの動作および資源の割り当てを制御
する。アプリケーション・プログラムは、オペレーティ
ング・システムを通じて使用可能なコンピュータ資源を
利用して、ユーザが所望するタスクを処理する1組のソ
フトウエアである。双方共、図示のメモリ920または
先に示唆したようなその他の記憶装置内に位置すること
ができる。
ける当業者の実務(practice)にしたがって、特に指示
がない場合は、アクト(act)およびコンピュータ・シ
ステム900が処理する動作シンボル表現を参照しなが
ら、本発明の説明を行うことにする。このようなアクト
および動作は、ときとして、コンピュータ実行(comput
er-executed)と呼ぶことがある。尚、アクトおよびシ
ンボル表現した動作は、データ・ビットを表す電気信号
のCPU910による操作を含む。この操作によって、
結果としての電気信号表現の変換または減少、メモリ・
システム22内のメモリ位置へのデータ・ビットの維持
によるコンピュータ・システムの動作の再構成またはそ
の他の方法による変更、あるいはその他の信号処理が行
われる。データ・ビットを維持するメモリ位置は、当該
データ・ビットに対応する特定の電気的、磁気的、光学
的、または有機的プロパティを有する物理的な位置であ
る。
ータ・システム20は、WindowsNT(登録商標)、Windows
95(登録商標)、Windows98(登録商標)のクライアント・
サーバ・オペレーティング・システムを用いることがで
きる。他のクライアント/サーバ・オペレーティング・
システム(例えば、IBMによるO/S2、MacOS、UNIX、Wind
ows CE等)も使用可能である。クライアント/サーバ・
オペレーティング・システムとは、2つの異なる種類の
多数のプロセスに分割したオペレーティング・システム
のことであり、2つの異なる種類のプロセスとは、各々
が典型的に1組のサービスを実現するサーバ・プロセス
と、サービス・プロセスから種々のサービスを要求する
クライアント・プロセスである。オブジェクト指向プロ
グラミングを用いて、クライアント/サーバ・オペレー
ティング・システム、および当該クライアント/オペレ
ーティング・システムの下で走るアプリケーションを設
計する。ここでは、オブジェクトとはシステム資源を表
す。
・オペレーティング・システムは、ファイル、メモリ、
プロセスおよびスレッドというような共有可能な資源を
提供する。これらは、「オブジェクト」として実装し、
「オブジェクト・サービス」を用いることによって、ア
クセスすることができる。当技術分野では周知である
が、「オブジェクト」とはデータ構造のことであり、そ
の物理的フォーマットが型定義の背後に隠されているも
のである。データ構造とは、レコードまたはフォーマッ
トとも呼ぶが、データに適用し、解釈可能としたり、当
該データに対して特定の動作を実行可能とする、編成の
スキーム(organization scheme)である。このような
データ構造は、コンピュータ・メモリ920内部に格納
してあるデータの集合体に物理的な編成を課し、特定の
電気的、磁気的または有機体的エレメントを表す。
・クラス」とも呼び、データ型、当該データ型のインス
タンスにおいて動作するサービス、および1組のオブジ
ェクト属性から成る。「オブジェクト属性」とは、オブ
ジェクトの状態を部分的に定義するオブジェクト内のデ
ータの欄のことである。「オブジェクト・サービス」
は、通常、オブジェクト属性を読み込みあるいは変更す
ることにより、オブジェクトの実装および操作を行う。
「オブジェクト指向設計」とは、オブジェクトを用いて
システムまたはコンポーネントを表現する、ソフトウエ
ア開発技法のことである。
ネントを有する。即ち、当該オブジェクトのクラスにお
いて定義してある各オブジェクト・メンバ関数(即ち、
ときとしてオブジェクト・メソッドとして知られてい
る)に対するポインタを含む関数テーブルと、各オブジ
ェクト変数(即ち、ときとしてオブジェクト・プロパテ
ィとしても知られている、データ・メンバ)毎に現在の
値を収容するデータ・ブロックである。アプリケーショ
ンは、オブジェクト・ポインタを介して、あるオブジェ
クトに対して何らかの参照(reference)を有する。ア
プリケーションは、何らかの型の関数コール(直接また
は黙示的)を用いることによって、このオブジェクト参
照を得る。関数コールにおいて、当該関数がオブジェク
ト・ブロックをコンピュータ・メモリ内に割り当て、関
数テーブルを初期化し、コンピュータ・メモリに対する
参照をアプリケーションに返す。コンピュータ・メモリ
は、ローカルでも、リモート・コンピュータ上に分散し
てもよい。
は、それが実行すべき多くのタスクを「プロセス」に編
成することにより、ユーザが2つ以上のプログラムを一
度に実行できるようにする。このオペレーティング・シ
ステムは、コンピュータの資源の一部を各プロセスに割
り当て、適切な時点に適切な順序で、各プロセスのプロ
グラムを実行のために発行することを保証する。
をオブジェクトとして実装する。プロセス・オブジェク
トは、次のエレメントから成る。実行可能プログラム、
専用アドレス空間、プログラムを実行する際にオペレー
ティング・システムがプロセスに割り当てるシステム資
源(例えば、通信ポートやファイル)、および少なくと
も1つの「実行のスレッド」である。「スレッド」と
は、オペレーティング・システム・カーネルが実行のた
めにスケジュールする、プロセス内のエンティティであ
る。当技術分野では周知であるが、各スレッドは、関連
する「コンテキスト」を有する。「コンテキスト」と
は、スレッドの実行と関連する揮発性データである。ス
レッドのコンテキストは、システム・レジスタの内容、
およびスレッド・プロセスに属する仮想アドレスを含
む。したがって、スレッド・コンテキストを構成する実
際のデータは、実行するに連れて変化する。
使用可能となり得るスクリーン・ショット110の一例
は、シェーダ・エディタ・ウインドウ120、2つの透
視3Dワイヤ・フレーム・ビュー140,170、およ
び平面ワイヤ・フレーム・ビュー160を含む。透視ワ
イヤ・フレーム・ビューの一方170は、移動およびサ
イズ変更が可能な、概略レンダ領域175を示す。この
レンダ領域の内側には、基礎となるワイヤ・フレーム・
オブジェクトが、完全にレンダリングされている。即
ち、レンダ領域175の境界によって定義するシーンの
部分をレンダリングし、レンダ領域175のウインドウ
内部の適所に示している。したがって、ワイヤ・フレー
ム・ビュー170の殆どは、例えば、白黒の線として現
れるが、レンダ領域175の内側のビューの部分は、レ
イ・トレーシング・アルゴリズムの適用後にレンダリン
グしたビューにおけるものとして現れる。
ンの部分に対応するビュー170の部分の上に、レンダ
領域175を配置する。例えば、著作者が単一のオブジ
ェクトのプロパティを編集している場合、著作者はレン
ダ領域175をこのオブジェクト上に置き、当該オブジ
ェクトと隣接エリアの小部分、例えば、第1のオブジェ
クトが影を付ける別のオブジェクトの一部とを包囲する
ように、領域175のサイズを決定することができる。
レンダ領域をワイヤ・フレーム・ビューの上に置くこと
によって、著作者は、ワイヤ・フレーム・ビュー内に現
れる、制御点、マニピュレータ、ガイド等のフレームワ
ークに対して、レンダリングをより良く見ることができ
る。
者が編集制御部と双方向処理を行いながら、自動的かつ
連続的に行われる。したがって、レンダ領域は、レンダ
リング・プロセスが現行のまま残っていることができる
範囲で、常に、著作者の現行の編集に対応するレンダリ
ング・ビューを示す。
ーサリング・ツール全てが利用可能である。この編集環
境は、編集環境に通常関連する編集ツールに最大限アク
セスすることを可能にする。更に、この編集環境は、3
Dシーンの作業をする際に有用な、抽象化ビュー、3D
マニピュレータおよび制御点を与えかつ維持する。重要
なことは、編集ツールへのアクセスが、レンダリング・
プロセスの完了を待つ必要性によって阻害されないこと
である。加えて、レンダ領域ウインドウ175のサイズ
変更や再位置決めを行うツールが使用可能である。好適
な実施形態では、通常のオーサリング機能は、レンダ領
域に更新画像を与える機能よりも高い優先度を有する。
これを可能にするために、ユーザが入力するシーン変更
を受け入れるプロセスは、可能な限り最も新鮮なレンダ
リングを与えるプロセスと並列に、そしてこれよりも高
い優先度で行う。したがって、例えば、著作者がオブジ
ェクト130を移動させる場合、ワイヤ・フレーム・ビ
ューにおいてワイヤ・フレームに再度彩色を行い、その
後にレンダ領域175の再レンダリングおよび再彩色を
行う。したがって、レンダ領域175のリフレッシング
は、資源が使用可能になるに連れて進行する。もちろ
ん、ハードウエアの実現例によっては、レンダ領域17
5をレンダリングする並列処理は、優先順位を決めるこ
とを不要とする資源(並列プロセッサのような)を使用
する場合もあり、その場合レンダリングは、オーサリン
グ・システムの従来の機構によって継続することにな
る。
75は、透視ワイヤ・フレーム・ビュー140の上に重
なっており、透視ワイヤ・フレーム・ビュー140のビ
ュー方位は、別のワイヤ・フレーム・ビュー170のそ
れと一致している。これは、著作者が、別のワイヤ・フ
レーム・ビュー140に表示される情報を、レンダリン
グしたビューと比較し相関付ける際に役立つ。領域をワ
イヤ・フレーム・ビューの小部分として定義し、その上
に直接重ねることにより、領域175の位置およびサイ
ズを定義する便利な機構を与えるだけでなく、著作者
が、レンダリングしたビューに関する展望を得ることが
できる。これは、ビュー全体をレンダリングする場合、
例えば、レンダリングの表示を、それ自体の完全にレン
ダリングしたビューで行う場合、これを容易に得ること
はできない。あるシーンの中の背景オブジェクトと前景
オブジェクトとの間の色差またはコントラストが非常に
低いことを想定する。また、更にこれらのオブジェクト
が部分的にレンダ領域175に覆われており、部分的に
レンダ領域内まで達し、部分的にレンダ領域の外側まで
達することを想定する。これらのオブジェクトのコント
ラストが高いワイヤ・フレーム画像は、あらゆる制御点
ならびに見ることができないガイドおよび/またはマニ
ピュレータと共に見ることができ、著作者の適応力を高
めると共に、著作者がオブジェクトを操作する際に役に
立つ。これは、レンダ領域175と同じビュー170に
おいて行うことができる。
ームによってもたらされる方向性(orientation)およ
び明確性という重要な成果は、著作者がレンダ領域17
5のサイズを最小化できることにある。ワイヤ・フレー
ムがそれを示すので、著作者は、レンダ領域175内の
シーンの大きな割合を、参照の視覚フレームを得るため
に割く必要がない。
という用語は、カメラの有利性(camera vantage)から
生成し得る画像に伴う倍率および視野(被写体深度は、
「ビュー」のコンテキストでは考慮しないと仮定する)
に全く言及することなく、カメラの位置および方位によ
って規定されるものを暗示するために用いる場合もある
ことを注記しておく。したがって、異なる視野を有する
魚眼ビューまたはズーム・ビューは、双方共同じカメラ
の有利性から得られるが、この広義の意味で用いる場合
には同じ「ビュー」となる。また、この明細書では、
[ビュー」という用語は、より具体的な何かを暗示する
ためにも用いる。即ち、この用語は、場合によっては、
特定の視野を指定するため、おそらく、特定の倍率を一
層狭く指定するにも用いられる。これら可能な定義の特
定の1つを具体的に示すことなく本明細書においてこの
用語が用いられる場合、その用法のコンテキストがそれ
を明確にすること、またはこれらの意味のいずれでも適
用可能であることと考える。請求の範囲では、「ビュ
ー」という用語は、請求の範囲において更なる限定によ
って定義を特定する即ち狭くする場合を除いて、その最
も広義の意味で用いるものとする。
指向プログラムに実装可能である。図6は、オブジェク
ト指向の実現例のためのフレームワークとして用いるこ
とができる、オブジェクトおよびデータ・フローの特定
例を示す。そのアーキテクチャは、例えば、Microsoft
のComponent Object Model(COM)(コンポーネント
・オブジェクト・モデル技術)を基本とすることがで
き、カスタムCOMインターフェースを用いてコンポー
ネント(オブジェクト)同士が相互動作を行う。以下の
説明は抽象化してあり、記載する各オブジェクトは実際
には、多数のコンポーネント・オブジェクトから成り、
それらが相互動作することにより、記載する機能を行
う。このアーキテクチャは、通知モデル(notification
model)に基づくものである。コンポーネントは非同期
的に通信する。
の3種類の別個のスレッドを定義する。(1)ユーザ・
インターフェースのための支援、(2)レンダリング、
および(3)レンダリングした部分の画面彩色(screen
-painting)。先に論じたように、ユーザ・インターフ
ェースの支援機能には、より高い優先度を与えることが
できる。あるいは、他の何らかの方法で別個のスレッド
を制御し、レンダリング・スレッドによってユーザ・イ
ンターフェースが不当に低速化しないことを保証するよ
うにしてもよい。
おいて、レンダ領域175がその一部であるビュー17
0をタイル172に分解する。レンダ領域175の境界
は、タイル172の境界を横切っても、横切らなくても
よいが、ワイヤ・フレーム・ビュー170全体の大部分
に領域175が重なり合うようにサイズを決める場合、
レンダ領域の境界は、多くのタイルを横切ることが予期
される。したがって、レンダ領域は、多数のタイル17
2、および多数のタイル172の断片を含む場合があ
る。この実施形態では、以下のオブジェクトを定義する
ことができる。
305は、ユーザ・インターフェースを支援する機能を
扱う。従来のユーザ・インターフェース機構の支援に加
えて、ユーザ・インターフェース・オブジェクト305
は、レンダ領域の位置およびサイズを決めることができ
る。シーン定義データおよび修正値を受け入れることに
加えて、アルファ複合オプション(alpha compositing
option)や、レンダ領域に関連するその他いずれかのオ
プションのような、レンダリング・オプションのユーザ
入力を支援する。ユーザ・インターフェースは、従来の
機能面では、レンダ領域を彩色するワイヤ・フレーム・
ビューの個別処理(tailoring)を行うことができる。
このデータは、レンダリングを実行する際に用いる。ユ
ーザ・インターフェース305は、従来よりオーサリン
グ環境と関係する全ての機能を支援するという意味にお
いて、従来通りに応答する。代替実施形態では、ユーザ
・インターフェース・オブジェクト305は、ユーザ
に、レンダリングしたビューを呼び出したり閉じたりす
ることも可能にする。レンダ領域を定義するデータは、
レンダ・ビュー・オブジェクトに供給することができ、
これを格納し、例えば、レンダ・エンジン・オブジェク
ト325に使用可能とすることもできる。
310は、レンダ・エンジンの起動および停止を行う機
能を果たす。このオブジェクトはシーン変更を受け取
り、その変更が、(オブジェクトの表面テクスチャの変
更のような)レンダ領域の更新を必要とし得る形式のも
のであるか、あるいは(オブジェクトの名称、または他
のオブジェクトとの集合化のような)表示不可能な変更
でないかについて判定を行う。変更が表示可能と判定し
た場合、レンダ・マネージャは、レンダリング停止コマ
ンドをレンダ・エンジンに送ることによって、レンダリ
ングを中断する。更新した内容をレンダ・エンジンに送
り、どのタイルのレンダリングをし直さなければならな
いかについてレンダ・エンジンが判断できるようにす
る。更新したシーン・データは、中央記憶部から得るこ
とができ、あるいはレンダ・エンジンがそれを異なるフ
ォーマットで要求する場合、レンダ・マネージャが構築
することができる。
グに伴うタスクを定義する動作のスレッドを、作成し、
終了し、同期化する。これは、編集用システムの障害と
なるのを防止する。レンダ・マネージャ310は、シス
テムの中央シーン・マネージャ320、即ち、シーンの
現定義を格納してある中央記憶部に対するデータ通知シ
ンク・インターフェース(data notification sink int
erface)を登録する。シーン・データが変化したとき、
シーン・マネージャ320がレンダ・マネージャに通知
する。シーン・データの各変化を類別するために、ビッ
ト・フィールドを用いることができる。このビット・フ
ィールドは、変化が再度レンダリングを必要とするか否
かについて判定する際に、類別を考慮に入れてもよい。
ネージャからシーン修正を受け取り、これらの修正を選
択的にレンダ・エンジンに渡す。シーン修正が性質上グ
ローバルである場合、レンダ・マネージャは、シーン修
正データをレンダ・エンジンに渡す前にこれを判定す
る。グローバル・パラメータ、例えば、シーンの周辺光
強度を修正する場合、シーンのレンダ領域部分のレンダ
リングを無効にする。レンダ・マネージャは対応するコ
マンドを、レンダ・エンジンに発行し、あらゆるレンダ
リング・プロセスを中断するようにレンダ・エンジンを
指揮する。レンダ・エンジンは、コマンドをレンダ・キ
ャッシュに渡し、キャッシュを消去する。これによっ
て、レンダ・エンジンおよびレンダ・キャッシュが無効
のシーンの部分をレンダリングすることによる、不要な
資源消費を防止する。本実施形態では、レンダリング・
プロセスはタイル毎に進められる。グローバル・パラメ
ータ、即ち、レンダリングの外観全体に影響を及ぼすパ
ラメータを変更する場合、レンダリング中断/キャッシ
ュ消去コマンドの効果は、レンダ・エンジンがタイルの
レンダリングを停止し、レンダ・キャッシュは、レンダ
リングしてレンダ・ビューが拾い上げるのを待っている
あらゆるタイルを破棄し、レンダ領域の表示をリフレッ
シュすることである。
いはそのサイズを変更するためのいずれかのコマンドを
入力した場合、そのデータはユーザ・インターフェース
からレンダ・ビューに送られる。レンダ・ビューは、変
更の指示をレンダ・マネージャに送り、レンダ・マネー
ジャがそれに応じて再度レンダリングを開始できるよう
にする。尚、レンダ領域の修正により、シーン修正と同
じイベントのチェーンが発生する場合があることを注記
しておく。即ち、レンダ領域は、シーンを修正するとき
にそれを更新しなければならないのと同様に、当該領域
を再定義するときに、更新しなければならない。
トは、レンダ・マネージャ310から、レンダリングを
開始および停止する命令を受け取る。シーン・データ
は、シーン・データの中央記憶部である、シーン・マネ
ージャ320から得る。シーン・マネージャは、レンダ
・エンジンが用いるのとは異なるフォーマットで、シー
ン・データを格納する場合もある。その場合、シーン・
マネージャは、必要に応じてフォーマットを変換する。
また、シーン・マネージャ320からのシーン・データ
と、シーン・マネージャ320によってレンダ・エンジ
ン325から(ユーザ・インターフェース305から)
送信するシーン修正との同期は、レンダ・マネージャ3
10が処理する。
ザ入力の結果生ずるシーン修正をレンダ・エンジン32
5に供給する。すると、レンダ・マネージャ310は、
レンダ領域175のどの部分をリフレッシュし、必要な
レンダリングを実行しなければならないかについて決定
することができる。好適な実施形態では、既に論じたよ
うに、画像エリアをタイル172に分解する。したがっ
て、レンダ・エンジンは、その場合、タイルの寸法(座
標)および特定のシーン修正の座標から、再度レンダリ
ングしなければならない特定のタイルを判定することが
できる。次いで、レンダ・エンジン325は、これらの
タイル172に順次レンダリングを行い、各タイルのレ
ンダリングが完了する毎に、レンダリングしたタイルを
定義するデータをレンダ・キャッシュ330に印加す
る。このタイルにレンダリングを行うプロセスは、ユー
ザ・インターフェースの保守(シーン修正を受け入れ、
ワイヤ・フレーム・ビューを更新する等)、およびレン
ダ・マネージャ310が実行するシーン修正フィルタリ
ング・プロセスと並行して進める。著作者の修正による
影響を受けるタイルのみを識別し、再度レンダリングす
ることによって、レンダリングを更新する速度は更に高
まる。例えば、オブジェクトの表面のテクスチャに変更
を加える場合、いくつかのタイルのみ再度レンダリング
すればよい場合がある。
グを行いつつ、レンダリングしたタイルをレンダ・キャ
ッシュに連続的に供給する。レンダ・エンジン325
は、レンダ・キャッシュ330にコマンドを送って無効
のタイルを空白にし、有効なタイルをレンダ・キャッシ
ュ330に供給して無効のものと置換するまで、対応す
る領域に何も表示しないようにすることも可能である。
あるいは、新しいタイルを受け取るまで、最後の有効な
タイルを適所に残しておいてもよい。これにより、「古
い」バージョンおよび「新しい」バージョンの比較が改
善する。別のところでも論じたように、この並置は著作
者にとって有用となり得るものである。この機構は、レ
ンダ・オプション(例えば、無効タイルの空白化、また
は更新時の上書き)の中に含ませてもよい。他の代替案
としては、全てのタイルについて再度レンダリングをす
る場合のみキャッシュを破棄し、特定のタイルにレンダ
リングが必要であると判定した場合には、タイルを上書
きすることがあげられる。
クトは、レンダ・エンジン325がタイルをレンダリン
グした後、レンダリングしたタイルを格納する。また、
レンダ・キャッシュ330は、レンダ・マネージャ32
5またはレンダ・エンジン325からのコマンドに応答
して、その中に格納されている古いタイルを捨てること
も可能である。レンダ・キャッシュ330を消去する
と、レンダ領域を空白にし、それぞれのタイルに有効な
レンダリングが得られるまで、何もオブジェクトを表示
しないようにするという効果がある。
は、レンダ領域175のサイズおよび位置を指定するコ
マンドを受け取り、格納し、実施する。このレンダ領域
定義データは、レンダ・エンジン325にも入手可能と
なっており、レンダ・エンジン325はこれを用いて、
レンダリングするタイルを決定することができる。ま
た、レンダ・ビュー・オブジェクト335は、レンダリ
ング・オプション、例えば、サンプリングおよび彩色速
度を格納する。レンダリング速度を更に高めることがで
きるレンダリング・オプションの一例は、レンダリング
の目的のために、全ての光を、面光ではなく点光として
レンダリングするように指定することである。後者の方
が、レンダリングに要する時間は少なくて済む。これら
のオプションは、レンダ・エンジンに供給しなければな
らない場合もある。また、このオブジェクトは、レンダ
領域を再定義する場合、ある種のタイルを新たにレンダ
リングする要求を発行することもできる。後者の機能
は、レンダ・マネージャが処理してもよい。領域定義デ
ータは、レンダ・エンジンに供給することができる(例
えば、シーン修正または領域の再定義によって変更する
必要があるタイルを判定できるようにする)。最後に、
レンダ・ビュー・オブジェクトは、新たにレンダリング
したタイルの受け取りに応答して、レンダ・キャッシュ
からタイルを検索し、領域に彩色する役割も担ってい
る。
ある。ここで、図7を参照すると、本発明を実施するプ
ログラムの一実施形態を定義するフローチャートは、並
列に実行する3つの独立したスレッドを有する。ユーザ
・インターフェース・スレッド(実際には、この実施形
態では、ユーザ・インターフェース・タスクの大きい方
の割合を、レンダリング・プロセスにリンクする中間プ
ロセスであり、ユーザ・インターフェースの保守とは別
個のスレッドとして動作することができる)は、図7に
関連部分を示すが、最初のステップS10においてシー
ン修正を受け取る。ステップS20において、受け取っ
たシーン修正が、表面シェーダ・プロパティのように、
レンダリングの外観に影響を与えるようなものである場
合、制御はステップS30に移る。シーン修正が、シー
ン・オブジェクト集合化や名称の変更のように、表示し
てあるレンダリングに全く変更を要しないようなもので
ある場合、制御はステップS10に戻る。ステップS3
0において、シーン修正が性質上グローバルである場
合、即ち、レンダ領域175におけるあらゆるタイル1
72に影響を与える場合、制御はステップS40に移
る。その他の場合、制御はS50にスキップする。ステ
ップS40において、レンダリングを停止するコマンド
を、ステップS90におけるレンダリング・プロセスに
適用する。これについては以下で論ずる。また、ステッ
プS40では、レンダリングしたタイルを格納してある
キャッシュを消去するコマンドも発行する。これによっ
て、レンダ領域は、空白化するか、あるいは古くなった
レンダリングを表示する。先に論じたように、キャッシ
ュ消去コマンドは、レンダ領域ビュー・オプションに従
属する場合があり、その場合、レンダ領域をそのまま残
し、有効なタイルをレンダリングする際に、無効のタイ
ルに単に上書きすればよい。ステップS50において、
レンダリングを停止する。
は、ステップS100におけるシーン修正の受け取りか
ら始まる。制御は、ステップS60に移り、ここで、レ
ンダリングする必要のあるタイルを識別し、整列させ
る。実際には、キューは、単に再度レンダリングする必
要があるタイルのリストとすればよい。例えば、領域を
対応する寸法よりも小さい距離だけ移動させる場合、そ
の領域の一部分のみ再度レンダリングすればよい。この
部分のタイルは、整列させない。再度レンダリングする
タイルを識別するには、例えば、特定のオブジェクトの
シェーダを修正する場合に、シーンのどの小部分を再度
レンダリングしなければならないかについて決定できる
ようにする、画素による二次反射をマップする既知の技
術を利用するとよいことを注記しておく。これを決定す
ることができるのは、当該オブジェクトが、画素位置が
過去のレンダリングから決定されている、ある他のオブ
ジェクトのみにおいて二次反射を生成するからである。
この技法は、画素タッギング(pixel tagging)と呼
び、本発明を実施するには好適なレンダリング技法であ
る。
のシーン修正に基づいてレンダリングすべきタイルの現
在のキューを、最新の修正に基づいてレンダリングする
必要があるタイルと調和させる。次いで、制御はステッ
プS80に移り、キュー内の次の(または最初の)タイ
ルのレンダリングを行う。次に、制御はステップS90
に移り、レンダリング停止コマンドを受け取ったか否か
について判定を行う。受け取った場合、プロセスは、ス
テップS100において、新たなシーン修正を待つ。ス
テップS90においてレンダリング停止コマンドを受け
取らない場合、制御はステップS110に移り、いずれ
かのタイルがキューに残っているか否かについて判定を
行う。残っている場合、制御はステップS60に戻り、
残っていない場合、ステップS100に戻る。レンダ・
スレッド・プロセスに、それを一時停止させる別のプロ
セスを追加して、レンダ領域の維持以外のユーザ・イン
ターフェースの機能面を維持するために用いる資源を利
用しないことを保証する。これは、容易に実施されるた
め、図示しない。また、このフローチャートはステップ
S100においてシーン修正についてのみ述べている
が、位置やサイズのように、レンダ領域に影響を与える
変更も、同様に処理することを注記しておく。
要な最後の並列プロセスは、レンダ領域上への、レンダ
リングしたタイルのキャッシュの内容の彩色である。こ
のプロセスは、最新のレンダ領域定義をチェックし、実
施することから成る。
ブック」(flipbook)を生成する際に、その領域がオブジ
ェクトと共に移動し、アニメーション・シーケンスのよ
り素早いプレビューを可能とすることができる。ここ
で、図8aないし図8cを参照して、一実施形態につい
て説明する。アニメーション・シーケンスのビュー45
0は、3つの時間ステップで示す。即ち、図8aに対応
する第1の時間ステップ、図8bに対応する第2の時間
ステップ、および図8cに対応する第3の時間ステップ
である。単一の三次元プリズム410/420/430
がシーン全体を移動する。プリズムは、410におい
て、第1の時間ステップに対応する位置に示す。プリズ
ムは、420において、第2の時間ステップに対応する
位置に示す。プリズムは、440において第3の時間ス
テップに対応する位置に示す。カメラ位置を470に示
す。放射中央線を405で示す。オブジェクトに対して
固定した単一の点cを定義する。移動するレンダ領域4
55に対する別の単一点aを定義する。レンダ領域45
5は、ビュー450に対して移動し、点aが放射中央線
405上に留まり、オブジェクト点cおよびカメラと結
ばれるようにする。プリズム410/420/440が
順方向時間に移動するに連れ、回転し、カメラ470か
ら遠ざかるように放射状に移動し、x方向およびy方向
が入れ替わる。ビュー450およびレンダ領域455
は、矩形アパーチャとして図示してあり、カメラに対し
てどこにでも配置でき、画面上に表示した立体角領域
(solid angular region)を表す。線400a〜400
dは、レンダ領域455の角をカメラ470と接続する
放射線を示す。時間の進行に連れてプリズム410/4
20/440が形状を変化させても、これは何ら問題を
生じない。何故なら、オブジェクトに対して座標系を定
義することができ、点cは当該オブジェクトの座標系内
に固定することができるからである。
は、選択したオブジェクトを示すのに十分大きくなるよ
うにこれを生成することによって、移動するオブジェク
ト410/420/400に対して、動的にサイズや位
置を決めることができる。コンピュータは、選択したオ
ブジェクトにレンダリングを行うユーザからのコマンド
に動的に応答して、これを行う。また、例えば、オブジ
ェクトの境界周囲に輝きまたは霞の効果を示すために、
マージンを含むように定義することも可能である。後者
の方法は、ユーザが当該領域を定義し、それをオブジェ
クトに関係付けるのを簡素化する。しかしながら、評価
する物体の部分のみを対象にする場合、これは便利では
ない。このように、オブジェクト自体の座標系において
特定の点を識別することによって、時間が節約できる。
ーン全体のレンダリングを含む必要はないことを注記し
ておく。例えば、レンダ領域は、選択したオブジェクト
または複数のオブジェクトのビューティ・パスだけであ
ってもよい。ビューティ・パスという用語は、レンダリ
ングを特徴付けるものであり、選択したオブジェクト
(複数のオブジェクト)のみに実際に現実的レンダリン
グを行い、残りの部分はレンダリングせずに置いておく
か、あるいは抽象的にレンダリングする。
用ユーザ・インターフェースの環境に統合化することを
可能にする機構を提供する。これらの機構は、(1)レ
ンダリングの速度、(2)レンダリング画像の典型的な
編集作業環境への相乗的統合(synergistic integratio
n)、(3)時間がかかるレンダリングのプロセスが、
編集用ユーザ・インターフェースを妨害しないことの保
証、(4)レンダリングが最少のコンピュータ資源を利
用することの保証、および(5)著作者の特定の要望に
したがってレンダリング機構を最適化することに関係す
る機構に波及効果がある。
の目的に必要な、正確に最も小さいレンダリング領域を
定義することができる。
変更のみが、レンダリングを中断させる。3Dシーンの
他の全てのプロパティ(例えば、オブジェクトの名称)
の変更は、進行中のレンダリングに影響を与えない。
小部分がレンダリング・プロセスに引き渡され、同じま
ま残る小部分の再レンダリングを省略する。レンダ領域
画像にショートカットを備えて、レンダリングのプロセ
スを高速化する。例えば、ユーザは全ての光源を面光で
はなく点光源として処理させる、レンダ領域オプション
を実装することができる。
更新を、レンダリングのために整列してある以前のあら
ゆる更新と調和させることによって、冗長なレンダリン
グの潜在性をなくす。シーン修正をレンダリング・スレ
ッドに転送する場合、レンダリング・プロセスは、レン
ダリングしなければならないタイルを識別し、レンダリ
ングのシーンとの対応付けを保証することができる。こ
れによって、これらのタイルを整列させる(キューは、
おそらく、再度レンダリングすべきタイルを列挙した単
なるリストである)。レンダリングするタイルの識別
は、現シーン定義(それ自体のフォーマットで格納して
あるか、あるいは共通のシーン定義データ構造から得
る)を修正と比較することによって、行うことができ
る。次に、レンダリング・プロセスは、シーン定義を更
新し(または、これは、共通シーン定義およびレンダリ
ングのプロセスで用いる更新データを維持する外部プロ
セスによって、行うことも可能である)、この更新デー
タを用いてタイルにレンダリングを行うことができる。
もちろん、キューも更新し、再度レンダリングしなけれ
ばならないタイルを反映しなければならない。また、プ
ロセスは、コマンドを発行し、レンダ・キャッシュから
無効のタイルを除去し、それらが表示されないようにす
ることも可能である。新たな修正をレンダリング・スレ
ッドに送る毎に、現変更を現シーン・データに統合し、
レンダリングに用いるシーン・データが現行(curren
t)であることを確認するまで、レンダリング・スレッ
ドを中断する。これによって、タイルのレンダリングに
使用可能な資源を常に最大効果で使用することが確実と
なる。
統合 レンダリング・プロセスの実装により、ユーザ・インタ
ーフェースに中断のない優先度(uninterrupted priori
ty)を与えることができる。これを得るには、レンダリ
ング・プロセスを、並列な独立したプロセスとして分離
する。これによってレンダリング・プロセスがユーザ・
インターフェースのいずれの機構を阻害するのも防止す
る。
の上面上に制御点と共に表示することができる。これ
は、方向付け(orientation)を与えると共に、領域の
サイズ変更および再位置決めを行うための便利なコンテ
キストを与える。
必要とせずに、自動的に表示することができる。編集コ
ンテキストにおいて通常使用可能な制御には、妨害や阻
害を受けるものはない。実際、レンダリング画像は選択
的に呼び出したり隠したりすることができるように与え
ることができるので、必要であれば、編集画面上のみに
提示する(レンダリングは、しかしながら、画面上で彩
色しないように連続的に維持することができる)。
レーム・ビューの一方において表示することができる。
レンダリング領域のないビューは、従来のワイヤ・フレ
ーム・ビューの制御点、ガイド、およびマニピュレータ
全てを表示する。したがって、このビューは、透視図、
オブジェクト操作等を変更するために用いることがで
き、一方、同時に操作しているワイヤ・フレームと明確
に対応する位置に、レンダ画像を表示する(第2のワイ
ヤ・フレーム・ビューは同じシーン透視図を示すという
事実のため)。
ーフェースを妨害しないことの保証 レンダリングは、ユーザ・インターフェースのための支
援と並列に行う。したがって、ユーザ・インターフェー
ス支援タスクは、レンダリングが完了するのを待つ必要
はない。
境)を支援するスレッドは、レンダリングのリフレッシ
ングを支援するスレッドよりも高い優先度で走る。これ
によって、ユーザ・インターフェースが低速化するのを
防ぐ。あるいは、他の何らかの手段によって時間を割り
当て、ユーザ・インターフェースが不当な遅延を招くこ
となく走るための、適切な支援を得ることを保証しても
よい。
幅に変わることはない。従来の編集ツールは、従来の環
境におけると同様、全て利用可能であり、レンダリング
画像は、仮想環境に境目なく嵌め込むことができる。
ことの保証 本システムは、新たなシーン修正が入力された場合いつ
でもレンダリングを中断し、シーン定義を変更すること
により、レンダリング装置が無効のシーン定義データの
レンダリングによって資源を浪費することを防止する。
イヤ・フレーム・ビューの上に残して置くことができ、
あるいは単一のワイヤ・フレーム・ビュー上に置き、必
要に応じて動作状態のままキー・インおよびキー・アウ
トすることができる。この実施形態では、基礎となるレ
ンダリング画像を維持し、ワイヤ・フレーム・ビュー上
のレンダ領域のみを、呼び出し(invocation)によって
彩色する。この機構は、レンダリングを利用する画面の
「面積」(real estate)を最少化する。こうして、レ
ンダリングしなければならない画素数を削減し、これに
よって、レンダリングを維持する計算上の要求量も減少
させることができる。レンダリングの解像度は、容易に
調節し、レンダリングを維持する計算機の負担を軽減す
ることもできる。即ち、レンダリングは、多数の隣接す
る画素、例えば、正方形に集合化した画素で生成し、単
一の画素として扱うことによって、レンダリングがモザ
イクの外見を有するようにすることができる。
わせることに関する機構 レンダ領域は、ワイヤ・フレーム上に重ねた、熟知した
ウインドウを用いて定義する。この領域は、オブジェク
トのサイズ変更や再位置付けを行う、熟知した制御点を
都合よく用いることによって、サイズおよび位置を調節
することができる。領域は、矩形または他の要求された
いずれの形状とすることもできる。
シーン内の選択したオブジェクトまたはレイヤに限定す
ることができる。したがって、レンダ領域は、これらの
オブジェクトまたはレイヤ自体に対応する部分のみに、
現実的レンダリングを示し、他の部分は空白のまま残し
ておく。
いずれかの部分にレンダリングを行わなかった場合(そ
して、生のアクション・ショットのようなビットマップ
・シーンを、レンダリング領域の背後に表示することは
望まないと仮定する)、レンダ領域のこれらの点は、下
地の画面が透けて見えるように、彩色することができ
る。したがって、レンダ領域がワイヤ・フレーム・ビュ
ー上にある場合、ワイヤ・フレームは、レンダリング・
オブジェクトがないエリアにおいて透視することができ
る。このプロセスを、「ゼロ−アルファ複合」と呼ぶ場
合もある。ゼロ−アルファの値は、画素が完全に透明で
あることを示す画素属性である。
要求せずとも、表示することができる。レンダリングは
自動的に更新し、それを呼び出すこともそれを更新する
ことも不要である。
列更新ワイヤ・フレーム・ビューを備えることができ
る。スクリーン・ビュー・アングルまたはその他のプロ
パティを変更し、他のシーンを更新してそれに一致させ
ることができる。レンダ領域は、これらワイヤ・フレー
ム・ビューの1つの上に置くことができるので、他のワ
イヤ・フレーム・ビューは、常に、制御点、ガイド、お
よびマニピュレータを示す。
実施形態を得ることができるが、その多くはここでは論
じていない。例えば、前述の好適な実施形態では、レン
ダ領域はビューの小部分である。この領域は、ワイヤ・
フレーム・ビューの一部に重なり、これを定義する。レ
ンダ領域は、ワイヤ・フレーム・ビューの別個の小部分
として定義する必要はなく、別個のビュー内にそれ自体
によって収容してもよい。レンダリング・ビューには、
丁度あらゆるワイヤ・フレーム・ビューと同様に、ズー
ム、パンおよび回転が可能である。このビューは、それ
を呼び出すために余分なステップや時間を必要とせず
に、編集環境において視認可能であれば好ましいであろ
う。このようなレンダリング・ビューは、別個のワイヤ
・フレーム・ビューにリンクすることができるので、ワ
イヤ・フレーム・ビューのズーム、パンまたは回転を行
う場合、レンダリング・ビューは同一のビュー方位を維
持する。また、例えば、レンダリング画像は、常に編集
環境に留まっても留まらなくてもよいが、動作状態でキ
ー・インするか、あるいは著作者の促進で他の何らかの
方法で呼び出すことができる。後者のコンテキストで
は、レンダリングをメモリに維持しておき、著作者がレ
ンダリング画像を視認することを要求したときにのみこ
れに彩色することができれば望ましいであろう。
を示す図である。
テキストにおけるシェーダ・エディタと共に表示した、
従来技術のオーサリング環境の一例を示す図である。
で示す、従来技術のオーサリング環境の一例を示す図で
ある。
ング・プレビュー領域毎に1つずつ、編集コンテキスト
におけるシェーダ・エディタと共に表示した、本発明に
よるオーサリング環境の一例を示す図である。
ビューをどのようにタイルに分解するかを示すラインと
共に、3Dシーンのワイヤ・フレーム・ビューを示す図
である。
ェクト指向実現例に対応するオブジェクトの機能との間
のデータ・フローを示すブロック図である。
スを示すフローチャートである。
よびオブジェクト追従レンダ領域(object-following r
ender region)の発生を示す図である。
ース 993 磁気ディスク・ドライブ・インターフェース 994 光ディスク・ドライブ・インターフェース 996 アプリケーション・プログラム 997 プログラム・モジュール 998 プログラム・データ
Claims (85)
- 【請求項1】 三次元シーンを編集するためのオーサリ
ング・システムであって、 メモリおよびディスプレイを有するコンピュータを備
え、 前記コンピュータは、三次元シーンへの修正を定義する
更新データを受け取り、前記三次元シーンへの修正を定
義する更新データを受け取り、前記三次元シーンを維持
し、前記更新データに応答して前記三次元シーンの抽象
的レンダリングを前記ディスプレイ上に維持する効力が
ある第1の同期スレッドを実行するようにプログラムし
てあり、 前記コンピュータは、更に、前記第1の同期スレッドと
平行かつ非同期的に、第2の同期スレッドを実行するよ
うにプログラムしてあり、前記第2の同期スレッドは、
前記コンピュータ内に、前記三次元画像の現実的レンダ
リングを維持する効力があり、 前記コンピュータは、更に、連続的かつ自動的に、前記
コンピュータに維持してある前記現実的レンダリングを
表示するようにプログラムしてあり、 前記コンピュータは、前記抽象的レンダリングの角視点
と実質的に同一に保持した、前記現実的レンダリングの
角視点を維持するようにプログラムしてあること、を特
徴とするオーサリング・システム。 - 【請求項2】 請求項1記載のシステムにおいて、前記
コンピュータは、前記抽象的レンダリングの対応領域上
に前記現実的レンダリングを表示し、これによって、前
記抽象的レンダリングが、前記現実的レンダリングに関
する視覚的方位情報を与えるようにプログラムしてある
ことを特徴とするシステム。 - 【請求項3】 請求項2記載のシステムにおいて、前記
コンピュータは、前記第1の抽象的レンダリングと実質
的に同一の第2の抽象的レンダリングを表示するように
プログラムしてあり、前記第1および第2の抽象的レン
ダリングは、前記抽象的レンダリングのビューを特徴付
ける視点を規定するカメラに対して、実質的に同一角度
方位を維持することを特徴とするシステム。 - 【請求項4】 請求項3記載のシステムにおいて、前記
抽象的レンダリングが、ワイヤ・フレーム・レンダリン
グであることを特徴とするシステム。 - 【請求項5】 請求項1記載のシステムにおいて、前記
第1の同期スレッドは、更に、前記現実的レンダリング
において現実的にレンダリングするオブジェクトを示す
オブジェクト選択データを受け取る効力があり、前記オ
ブジェクト選択データに応答して、前記現実的レンダリ
ングを維持することを特徴とするシステム。 - 【請求項6】 請求項1記載のシステムにおいて、前記
オブジェクト選択データが、前記現実的レンダリングに
おいて表示するオブジェクトを示すことを特徴とするシ
ステム。 - 【請求項7】 三次元シーンを編集するためのオーサリ
ング・システムであって、 メモリおよびディスプレイを有するコンピュータを備
え、 前記コンピュータは、三次元シーンへの修正を定義する
更新データを受け取り、前記三次元シーンへの修正を定
義する更新データを受け取り、前記三次元シーンを維持
し、前記更新データに応答して前記三次元シーンの抽象
的レンダリングを前記ディスプレイ上に維持する効力が
ある第1の同期スレッドを実行するようにプログラムし
てあり、 前記コンピュータは、更に、前記第1の同期スレッドと
平行かつ非同期的に、第2の同期スレッドを実行するよ
うにプログラムしてあり、前記第2の同期スレッドは、
前記コンピュータ内に、前記三次元画像の現実的レンダ
リングを維持する効力があり、 前記コンピュータは、前記抽象的レンダリングの角視点
に実質的に等しく保持した、前記現実的レンダリングの
角視点を維持するようにプログラムしてあり、 前記コンピュータは、前記第1の抽象的レンダリングに
実質的に等しい第2の抽象的レンダリングを表示するよ
うにプログラムしてあり、前記第1および第2の抽象的
レンダリングが、前記抽象的レンダリングのビューを特
徴化する視点を規定するカメラに対して、実質的に同一
の角度方位を維持すること、を特徴とするオーサリング
・システム。 - 【請求項8】 請求項7記載のシステムにおいて、前記
コンピュータは、前記抽象的レンダリングの対応領域上
に前記現実的レンダリングを表示し、これによって、前
記抽象的レンダリングが、前記現実的レンダリングに関
する視覚的方位情報を与えるようにプログラムしてある
ことを特徴とするシステム。 - 【請求項9】 請求項7記載のシステムにおいて、前記
抽象的レンダリングが、ワイヤ・フレーム・レンダリン
グであることを特徴とするシステム。 - 【請求項10】 請求項7記載のシステムにおいて、前
記第1の同期スレッドは、更に、前記現実的レンダリン
グにおいて現実的にレンダリングするオブジェクトを示
すオブジェクト選択データを受け取る効力があり、前記
オブジェクト選択データに応答して、前記現実的レンダ
リングを維持することを特徴とするシステム。 - 【請求項11】 請求項10記載のシステムにおいて、
前記オブジェクト選択データが、前記現実的レンダリン
グにおいて表示するオブジェクトを示すことを特徴とす
るシステム。 - 【請求項12】 請求項7記載のシステムにおいて、前
記第1の同期スレッドおよび前記第2の同期スレッドの
優先度は、前記第1の同期スレッドの実行速度が前記第
2の同期スレッドによって実質的に影響を受けないよう
に均衡化することを特徴とするシステム。 - 【請求項13】 請求項7記載のシステムにおいて、前
記コンピュータは、前記第1の同期スレッドの実行速度
が、前記第2の同期スレッドによって実質的に影響を受
けないように、前記コンピュータの計算資源を前記第1
および第2の同期スレッドに割り当てるようにプログラ
ムしてあり、これによって、前記現実的レンダリングを
生成するための計算要求量によって実質的な遅延の増大
を生ずることなく、前記第1の同期スレッドが維持する
ユーザ・インターフェースを実行することを特徴とする
システム。 - 【請求項14】 請求項13記載のシステムにおいて、
前記コンピュータは、前記現実的レンダリングが、内部
に含まれる画素数を変更するように調節可能なサイズ変
更可能領域に表示可能であり、これによって前記現実的
レンダリングを維持するための計算要求量を制限するよ
うにプログラムしてあることを特徴とするシステム。 - 【請求項15】 請求項7記載のシステムにおいて、前
記コンピュータは、前記現実的レンダリングが、内部に
含まれる画素数を変更するように調節可能なサイズ変更
可能領域に表示可能であり、これによって前記現実的レ
ンダリングを維持するための計算要求量を制限するよう
にプログラムしてあることを特徴とするシステム。 - 【請求項16】 請求項7記載のシステムにおいて、前
記コンピュータは、前記現実的レンダリングの解像度の
調節を可能とし、前記現実的レンダリングを生成するた
めの計算要求量を調節できるようにプログラムしてある
ことを特徴とするシステム。 - 【請求項17】 請求項7記載のシステムにおいて、前
記現実的レンダリングを複数の部分に再分割し、前記部
分から選択したものに前記第2の同期スレッドによって
順次レンダリングを行い、前記選択したものが、前記更
新データの結果として、外観を変更すると判定された、
前記部分のものであることを特徴とするシステム。 - 【請求項18】 請求項7記載のシステムにおいて、前
記コンピュータは、前記更新データを受け取ったとき、
前記第2のスレッドの実行を中断し、前記更新データが
前記第2のスレッドのレンダリング・プロセスに使用可
能となった後に、前記第2のスレッドの実行を再開さ
せ、前記更新データによって無効化した前記シーン・デ
ータの部分に対応する前記現実的レンダリングの部分の
レンダリングを禁止するようにプログラムしてあること
を特徴とするシステム。 - 【請求項19】 請求項18記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに前記第2の同期スレッドによっ
て順次レンダリングを行い、前記選択したものが、前記
更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項20】 請求項19記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものの表
示を空白化し、前記現実的レンダリングが、前記更新デ
ータによって無効とした部分を示さないようにプログラ
ムしてあることを特徴とするシステム。 - 【請求項21】 請求項19記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものを表
示し、前記現実的レンダリングが、前記更新データに応
答して有効部分と置換するまで、非更新部分を示すよう
にプログラムしてあることを特徴とするシステム。 - 【請求項22】 請求項7記載のシステムにおいて、前
記コンピュータは、前記更新データが前記現実的レンダ
リングにおいて可視変更を示す場合にのみ、前記第2の
スレッドの実行を中断するようにプログラムしてあるこ
とを特徴とするシステム。 - 【請求項23】 三次元シーンを編集するためのオーサ
リング・システムであって、 メモリおよびディスプレイを有するコンピュータを備
え、 前記コンピュータは、三次元シーンへの修正を定義する
更新データを受け取り、前記三次元シーンへの修正を定
義する更新データを受け取り、前記三次元シーンを維持
し、前記更新データに応答して前記三次元シーンの抽象
的レンダリングを前記ディスプレイ上に維持する効力が
ある第1同期スレッドを実行するようにプログラムして
あり、 前記コンピュータは、更に、前記第1の同期スレッドと
平行かつ非同期的に、第2の同期スレッドを実行するよ
うにプログラムしてあり、前記第2の同期スレッドは、
前記コンピュータ内に、前記三次元画像の現実的レンダ
リングを維持する効力があり、 前記コンピュータは、前記抽象的レンダリングの角視点
に実質的に等しく保持した前記現実的レンダリングの角
視点を維持するようにプログラムしてあり、 前記コンピュータは、前記抽象的レンダリングの対応す
るエリア上に前記現実的レンダリングを表示し、これに
よって前記抽象的レンダリングが前記現実的レンダリン
グに関する視覚方位情報を与えるようにプログラムして
あり、 前記コンピュータは、前記第1の抽象的レンダリングに
実質的に等しい第2の抽象的レンダリングを表示するよ
うにプログラムしてあり、前記第1および第2の抽象的
レンダリングが、前記抽象的レンダリングのビューを特
徴化する視点を規定するカメラに対して、実質的に同一
の角度方位を維持すること、を特徴とするオーサリング
・システム。 - 【請求項24】 請求項23記載のシステムにおいて、
前記抽象的レンダリングが、ワイヤ・フレーム・レンダ
リングであることを特徴とするシステム。 - 【請求項25】 請求項23記載のシステムにおいて、
前記現実的レンダリングは、前記三次元シーンのレイ・
トレーシングを行うことによって得ることを特徴とする
システム。 - 【請求項26】 請求項23記載のシステムにおいて、
前記第1の同期スレッドは、更に、前記現実的レンダリ
ングにおいて現実的にレンダリングするオブジェクトを
示すオブジェクト選択データを受け取る効力があり、前
記オブジェクト選択データに応答して、前記現実的レン
ダリングを維持することを特徴とするシステム。 - 【請求項27】 請求項23記載のシステムにおいて、
前記第1の同期スレッドは、前記第2の同期スレッドよ
りも低い優先度で実行可能であり、前記第1の同期スレ
ッドの実行速度が、前記第2の同期スレッドによって実
質的に影響を受けないようにしたことを特徴とするシス
テム。 - 【請求項28】 請求項23記載のシステムにおいて、
前記コンピュータは、前記第1の同期スレッドの実行速
度が、前記第2の同期スレッドによって実質的に影響を
受けないように、前記コンピュータの計算資源を前記第
1および第2の同期スレッドに割り当てるようにプログ
ラムしてあり、これによって、前記現実的レンダリング
を生成するための計算要求量によって実質的な遅延の増
大を生ずることなく、前記第1の同期スレッドが維持す
るユーザ・インターフェースを実行することを特徴とす
るシステム。 - 【請求項29】 請求項23記載のシステムにおいて、
前記コンピュータは、前記現実的レンダリングが、内部
に含まれる画素数を変更するように調節可能なサイズ変
更可能領域に表示可能であり、これによって前記現実的
レンダリングを維持するための計算要求量を制限するよ
うにプログラムしてあることを特徴とするシステム。 - 【請求項30】 請求項23記載のシステムにおいて、
前記コンピュータは、前記現実的レンダリングの解像度
の調節を可能とし、前記現実的レンダリングを生成する
ための計算要求量を調節できるようにプログラムしてあ
ることを特徴とするシステム。 - 【請求項31】 請求項23記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに前記第2の同期スレッドによっ
て順次レンダリングを行い、前記選択したものが、前記
更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項32】 請求項23記載のシステムにおいて、
前記コンピュータは、前記更新データを受け取ったと
き、前記第2のスレッドの実行を中断し、前記更新デー
タが前記第2のスレッドのレンダリング・プロセスに使
用可能となった後に、前記第2のスレッドの実行を再開
させ、前記更新データによって無効化した前記シーン・
データの部分に対応する前記現実的レンダリングの部分
のレンダリングを禁止するようにプログラムしてあるこ
とを特徴とするシステム。 - 【請求項33】 請求項32記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに前記第2の同期スレッドによっ
て順次レンダリングを行い、前記選択したものが、前記
更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項34】 請求項33記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものの表
示を空白化し、前記現実的レンダリングが、前記更新デ
ータによって無効とした部分を示さないようにプログラ
ムしてあることを特徴とするシステム。 - 【請求項35】 請求項33記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものを表
示し、前記現実的レンダリングが、前記更新データに応
答して有効部分と置換するまで、非更新部分を示すよう
にプログラムしてあることを特徴とするシステム。 - 【請求項36】 請求項32記載のシステムにおいて、
前記コンピュータは、前記更新データが前記現実的レン
ダリングにおいて可視変更を示す場合にのみ、前記第2
のレンダリングの実行を中断するようにプログラムして
あることを特徴とするシステム。 - 【請求項37】 三次元シーンを編集するためのオーサ
リング・システムであって、 メモリおよびディスプレイを有するコンピュータを備
え、 前記コンピュータは、三次元シーンへの修正を定義する
更新データを受け取り、前記三次元シーンへの修正を定
義する更新データを受け取り、前記三次元シーンを維持
し、前記更新データに応答して前記三次元シーンの抽象
的レンダリングを前記ディスプレイ上に維持する効力が
ある第1同期スレッドを実行するようにプログラムして
あり、 前記コンピュータは、更に、前記第1の同期スレッドと
平行かつ非同期的に、第2の同期スレッドを実行するよ
うにプログラムしてあり、前記第2の同期スレッドは、
前記コンピュータ内に、前記三次元画像の現実的レンダ
リングを維持する効力があり、 前記第1の同期スレッドが、前記第2の同期スレッドよ
りも低い優先度で実行可能であり、前記第1の同期スレ
ッドの実行速度が、前記第2の同期スレッドによって実
質的に影響を受けないようにしてあり、 前記コンピュータは、前記現実的レンダリングが、内部
に含まれる画素数を変更するように調節可能なサイズ変
更可能領域に表示可能であり、これによって前記現実的
レンダリングを維持するための計算要求量を制限するよ
うにプログラムしてあること、を特徴とするオーサリン
グ・システム。 - 【請求項38】 請求項37記載のシステムにおいて、
前記コンピュータは、前記現実的レンダリングの解像度
の調節を可能とし、前記現実的レンダリングを生成する
ための計算要求量を更に調節できるようにプログラムし
てあることを特徴とするシステム。 - 【請求項39】 請求項37記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに前記第2の同期スレッドによっ
て順次レンダリングを行い、前記選択したものが、前記
更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項40】 請求項37記載のシステムにおいて、
前記コンピュータは、前記更新データを受け取ったと
き、前記第2のスレッドの実行を中断し、前記更新デー
タが前記第2のスレッドのレンダリング・プロセスに使
用可能となった後に、前記第2のスレッドの実行を再開
させ、前記更新データによって無効化した前記シーン・
データの部分に対応する前記現実的レンダリングの部分
のレンダリングを禁止するようにプログラムしてあるこ
とを特徴とするシステム。 - 【請求項41】 請求項40記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに、前記第2の同期スレッドによ
って順次レンダリングを行い、前記選択したものが、前
記更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項42】 請求項41記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものの表
示を空白化し、前記現実的レンダリングが、前記更新デ
ータによって無効とした部分を示さないようにプログラ
ムしてあることを特徴とするシステム。 - 【請求項43】 請求項42記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものを表
示し、前記現実的レンダリングが、前記更新データに応
答して有効部分と置換するまで、非更新部分を示すよう
にプログラムしてあることを特徴とするシステム。 - 【請求項44】 請求項41記載のシステムにおいて、
前記コンピュータは、前記更新データが前記現実的レン
ダリングにおいて可視変更を示す場合にのみ、前記第2
のスレッドの実行を中断するようにプログラムしてある
ことを特徴とするシステム。 - 【請求項45】 請求項41記載のシステムにおいて、
前記コンピュータは、前記更新データが前記現実的レン
ダリングにおいて可視変更を示す場合にのみ、前記第2
のスレッドの実行を中断するようにプログラムしてある
ことを特徴とするシステム。 - 【請求項46】 三次元シーンを編集するためのオーサ
リング・システムであって、 メモリおよびディスプレイを有するコンピュータを備
え、 前記コンピュータは、三次元シーンへの修正を定義する
更新データを受け取り、前記三次元シーンへの修正を定
義する更新データを受け取り、前記三次元シーンを維持
し、前記更新データに応答して前記三次元シーンの抽象
的レンダリングを前記ディスプレイ上に維持する効力が
ある第1同期スレッドを実行するようにプログラムして
あり、 前記コンピュータは、更に、前記第1の同期スレッドと
平行かつ非同期的に、第2の同期スレッドを実行するよ
うにプログラムしてあり、前記第2の同期スレッドは、
前記コンピュータ内に、前記三次元画像の現実的レンダ
リングを維持する効力があり、 前記コンピュータは、前記更新データを受け取ったと
き、前記第2のスレッドの実行を中断し、前記更新デー
タが前記第2のスレッドのレンダリング・プロセスに使
用可能となった後に、前記第2のスレッドの実行を再開
させ、前記更新データによって無効化した前記シーン・
データの部分に対応する前記現実的レンダリングの部分
のレンダリングを禁止するようにプログラムしてあるこ
と、を特徴とするオーサリング・システム。 - 【請求項47】 請求項46記載のシステムにおいて、
前記コンピュータは、前記抽象的レンダリングの角視点
と実質的に同一に保持した、前記現実的レンダリングの
角視点を維持するようにプログラムしてあることを特徴
とするシステム。 - 【請求項48】 請求項46記載のシステムにおいて、
前記コンピュータは、前記抽象的レンダリングの対応す
るエリア上に前記現実的レンダリングを表示し、これに
よって前記抽象的レンダリングが前記現実的レンダリン
グに関する視覚方位情報を与えるようにプログラムして
あることを特徴とするシステム。 - 【請求項49】 請求項46記載のシステムにおいて、 前記コンピュータは、前記第1の抽象的レンダリングに
実質的に等しい第2の抽象的レンダリングを表示するよ
うにプログラムしてあり、前記第1および第2の抽象的
レンダリングが、前記抽象的レンダリングのビューを特
徴化する視点を規定するカメラに対して、実質的に同一
の角度方位を維持することを特徴とするシステム。 - 【請求項50】 請求項49記載のシステムにおいて、
前記抽象的レンダリングが、ワイヤ・フレーム・レンダ
リングであることを特徴とするシステム。 - 【請求項51】 請求項46記載のシステムにおいて、
前記第1の同期スレッドは、前記第2の同期スレッドよ
りも低い優先度で実行可能であり、前記第1の同期スレ
ッドの実行速度が、前記第2の同期スレッドによって実
質的に影響を受けないようにしたことを特徴とするシス
テム。 - 【請求項52】 請求項46記載のシステムにおいて、
前記コンピュータは、前記第1の同期スレッドの実行速
度が、前記第2の同期スレッドによって実質的に影響を
受けないように、前記コンピュータの計算資源を前記第
1および第2の同期スレッドに割り当てるようにプログ
ラムしてあり、これによって、前記現実的レンダリング
を生成するための計算要求量によって実質的な遅延の増
大を生ずることなく、前記第1の同期スレッドが維持す
るユーザ・インターフェースを実行することを特徴とす
るシステム。 - 【請求項53】 請求項52記載のシステムにおいて、
前記コンピュータは、前記現実的レンダリングが、内部
に含まれる画素数を変更するように調節可能なサイズ変
更可能領域に表示可能であり、これによって前記現実的
レンダリングを維持するための計算要求量を制限するよ
うにプログラムしてあることを特徴とするシステム。 - 【請求項54】 請求項46記載のシステムにおいて、
前記現実的レンダリングを複数の部分に再分割し、前記
部分から選択したものに前記第2の同期スレッドによっ
て順次レンダリングを行い、前記選択したものが、前記
更新データの結果として、外観を変更すると判定され
た、前記部分のものであることを特徴とするシステム。 - 【請求項55】 請求項54記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものの表
示を空白化し、前記現実的レンダリングが、前記更新デ
ータによって無効とした部分を示さないようにプログラ
ムしてあることを特徴とするシステム。 - 【請求項56】 請求項54記載のシステムにおいて、
前記コンピュータは、前記部分の前記選択したものを表
示し、前記現実的レンダリングが、前記更新データに応
答して有効部分と置換するまで、非更新部分を示すよう
にプログラムしてあることを特徴とするシステム。 - 【請求項57】 請求項46記載のシステムにおいて、
前記コンピュータは、前記更新データが前記現実的レン
ダリングにおいて可視変更を示す場合にのみ、前記第2
のスレッドの実行を中断するようにプログラムしてある
ことを特徴とするシステム。 - 【請求項58】三次元シーンのオーサリングを行うため
のユーザ・インターフェースを生成する方法であって、 3Dシーンをメモリに格納するステップと、 ユーザが供給する前記3Dシーンに対する編集を受け取
るステップと、 前記編集に応答して、前記3Dシーンを更新するステッ
プと、 前記3Dシーンのワイヤ・フレーム・ビューを表示する
ステップと、 ワイヤ・フレーム・ビューを表示する前記ステップと同
時に、前記3Dシーンのレンダリング・ビューも生成
し、前記レンダリング・ビューが前記3Dシーンのレイ
・トレーシングの結果を示すステップと、 前記ワイヤ・フレーム・ビューの方位と同一の前記レン
ダリング・ビューの方位を維持し、前記ワイヤ・フレー
ムの前記方位を変更した場合に、前記レンダリング・ビ
ューの前記方位を自動的に共に変更するステップと、か
ら成ることを特徴とする方法。 - 【請求項59】 請求項58記載の方法であって、更
に、前記レンダリング・ビューを連続的かつ自動的に表
示するステップを含むことを特徴とする方法。 - 【請求項60】 請求項58記載の方法であって、更
に、 ワイヤ・フレーム・ビューを表示するステップと、 前記第1のワイヤ・フレーム・ビューの前記方位と実質
的に同一の前記ワイヤ・フレーム・ビューの方位を維持
するステップと、を含むことを特徴とする方法。 - 【請求項61】 請求項59記載の方法であって、更
に、前記第1のワイヤ・フレーム・ビューに対応するエ
リアでかつこれと同一のズーム・レベルで、前記第1の
ワイヤ・フレーム・ビュー上に前記レンダリング・ビュ
ーを連続的かつ同時に表示し、前記ワイヤ・フレームが
前記レンダリング・ビューを方向付けるように機能する
ことを特徴とする方法。 - 【請求項62】 三次元シーンのオーサリングを行うた
めのユーザ・インターフェースを生成する方法であっ
て、 3Dシーンをメモリに格納するステップと、 ユーザが供給する前記3Dシーンに対する編集を受け取
るステップと、 前記編集に応答して、前記3Dシーンを更新するステッ
プと、 前記3Dシーンのワイヤ・フレーム・ビューを表示する
ステップと、 ワイヤ・フレーム・ビューを表示する前記ステップと同
時に、前記3Dシーンのレンダリング・ビューも生成す
るステップと、 前記ワイヤ・フレーム・ビューを受け取り、更新し、更
に表示する前記ステップの第2のプロセスと並列な第1
のプロセスにおいて、前記レンダリング・ビュー内で可
視の前記3Dシーンの部分を連続的にレンダリングする
ことによって、前記編集に応答して前記レンダリング・
ビューの現行性を維持するステップであって、前記第1
のプロセスが前記第2のプロセスに対して非同期であ
る、ステップと、から成ることを特徴とする方法。 - 【請求項63】 請求項62記載の方法において、前記
維持するステップが、前記第2のプロセスが前記第1の
プロセスによる影響を実質的に受けないように、前記第
1および第2のプロセスを制御するステップを含むこと
を特徴とする方法。 - 【請求項64】 請求項63記載の方法において、前記
第2のプロセスが、前記第1のプロセスよりも低い優先
度で実行可能であることを特徴とする方法。 - 【請求項65】 三次元シーンのオーサリングを行うた
めのユーザ・インターフェースを生成する方法であっ
て、 3Dシーンをメモリに格納するステップと、 ユーザが供給する前記3Dシーンに対する編集を受け取
るステップと、 前記編集に応答して、前記3Dシーンを更新するステッ
プと、 前記3Dシーンのワイヤ・フレーム・ビューを表示する
ステップと、 ワイヤ・フレーム・ビューを表示する前記ステップと同
時に、前記3Dシーンのレンダリング・ビューも生成
し、前記レンダリング・ビューが前記3Dシーンのレイ
・トレーシングの結果を示すステップと、 連続的かつ自動的に前記レンダリング・ビューを表示す
るステップと、 第2のワイヤ・フレーム・ビューを表示するステップ
と、 前記第1のワイヤ・フレーム・ビューの前記方位と実質
的に同一の前記第2のレンダリング・ビューの方位を維
持するステップと、 前記第1のワイヤ・フレーム・ビューに対応するエリア
でかつこれと同一のズーム・レベルで、前記第1のワイ
ヤ・フレーム・ビュー上に、前記レンダリング・ビュー
を表示し、前記ワイヤ・フレームが前記レンダリング・
ビューを方向付けるように機能するステップと、から成
ることを特徴とする方法。 - 【請求項66】 3Dシーンに対応する画像を生成する
方法であって、 メモリに前記3Dシーンを格納するステップと、 前記3Dシーンのカメラ・オブジェクトの位置および方
位によってビューを規定するステップと、 視野と倍率によって、前記ビューを更に規定するステッ
プと、 前記視野をタイルに分割するステップであって、該タイ
ルが前記視野の隣接部分である、ステップと、 前記3Dシーンに対する修正を指定する更新データを受
け入れるステップと、 前記受け入れるステップに応答してレンダリング・プロ
セスを中断するステップと、 前記レンダリング・プロセスが、無効タイルのリストに
おいて識別したタイルに順次レンダリングを行い、 前記レンダリング・プロセスが、前記3Dシーンの少な
くとも一部のレイ・トレーシングを含み、 前記受け入れるステップに応答して、前記メモリに格納
してある前記3Dシーンを更新するステップと、 前記更新データによって無効としたタイルを識別し、そ
れに応答して前記無効タイルのリストを更新するステッ
プと、 前記識別するステップにおいて更新した前記リストを用
いて、前記レンダリング・プロセスを再開するステップ
と、から成ることを特徴とする方法。 - 【請求項67】 請求項66記載の方法であって、更
に、前記識別するステップにおいて無効として識別した
前記タイルの各々の表示を空白化するステップを含むこ
とを特徴とする方法。 - 【請求項68】 請求項66記載の方法であって、更
に、前記レンダリング・プロセスの結果を連続的かつ自
動的に表示するステップを含むことを特徴とする方法。 - 【請求項69】 請求項66記載の方法であって、更
に、前記更新データがいずれかのタイルの外観に影響を
与えるか否かについて判定を行うステップと、前記判定
するステップの結果が、前記更新がいずれのタイルの前
記外観にも影響を与えないことを示した場合、前記中断
するステップを省略するステップとを含むことを特徴と
する方法。 - 【請求項70】 3Dシーンに対応する画像を生成する
方法であって、 メモリに前記3Dシーンを格納するステップと、 前記3Dシーンのカメラ・オブジェクトの位置および方
位によってビューを規定するステップと、 視野と倍率によって、前記ビューを更に規定するステッ
プと、 前記視野をタイルに分割するステップであって、該タイ
ルが前記視野の隣接部分である、ステップと、 前記3Dシーンのレンダリングを行うステップと、 前記3Dシーンに対する修正を指定する更新データを受
け入れるステップと、 前記更新データがいずれかのタイルの外観に影響を与え
るか否かについて判定し、前記判定するステップの結果
が、前記更新データはいずれかのタイルの前記外観に影
響を与えることを示す場合、前記受け入れるステップに
応答して、前記レンダリングを行うステップを中断する
ステップと、 前記レンダリング・プロセスが、無効タイルのリストに
おいて識別したタイルに順次レンダリングを行うことを
含み、 前記レンダリング・ステップが、前記3Dシーンの少な
くとも一部のレイ・トレーシングを含み、 前記更新データによって無効としたタイルを識別し、そ
れに応答して前記無効タイルのリストを更新するステッ
プと、 前記識別するステップにおいて更新した前記リストを用
いて、前記レンダリング・ステップを再開するステップ
と、から成ることを特徴とする方法。 - 【請求項71】 請求項70記載の方法において、前記
受け入れるステップと前記レンダリングを行うステップ
は、互いに対して非同期的に実行することを特徴とする
方法。 - 【請求項72】 請求項71記載の方法において、前記
レンダリングを行うステップおよび前記受け入れるステ
ップは、前記レンダリングを行うステップよりも高い優
先度で実行することを特徴とする方法。 - 【請求項73】 請求項70記載の方法において、前記
レンダリングを行うステップが、リスト内に識別したオ
ブジェクトに前記レンダリングを制限し、ユーザが入力
する画面エリア定義にしたがって前記レンダリングを行
うステップの結果を構成する画素数を制限することによ
って、レンダリングを行うオブジェクトの範囲を限定す
るステップを含むことを特徴とする方法。 - 【請求項74】 請求項73記載の方法であって、更
に、前記3Dシーンの第1のワイヤ・フレーム・ビュー
を表示するステップを含むことを特徴とする方法。 - 【請求項75】 請求項74記載の方法であって、更
に、ワイヤ・フレーム・ビューを表示する前記ステップ
と同時に、前記レンダリングを行うステップから得られ
た前記3Dシーンのレンダリング・ビューを表示するス
テップを含み、前記レンダリング・ビューが前記3Dシ
ーンのレイ・トレーシングを行った結果を示すことを特
徴とする方法。 - 【請求項76】 請求項75記載の方法であって、更
に、前記レンダリング・ビューを連続的かつ自動的に表
示するステップを含むことを特徴とする方法。 - 【請求項77】 請求項76記載の方法であって、更
に、第2のワイヤ・フレーム・ビューを表示し、前記第
1のワイヤ・フレーム・ビューの前記方位と実質的に同
一の前記第2のワイヤ・フレーム・ビューの方位を維持
するステップを含むことを特徴とする方法。 - 【請求項78】 請求項77記載の方法において、前記
レンダリング・ビューを表示する前記ステップが、前記
第1のワイヤ・フレーム・ビューに対応するエリアでか
つこれと同一のズーム・レベルで、前記第1のワイヤ・
フレーム・ビュー上に前記レンダリング・ビューを表示
するステップを含み、前記ワイヤ・フレームが前記レン
ダリング・ビューを方向付けるように機能することを特
徴とする方法。 - 【請求項79】 請求項75記載の方法において、前記
レンダリング・ビューを表示する前記ステップが、前記
第1のワイヤ・フレーム・ビューに対応するエリアでか
つこれと同一のズーム・レベルで、前記第1のワイヤ・
フレーム・ビュー上に前記レンダリング・ビューを表示
するステップを含み、前記ワイヤ・フレームが前記レン
ダリング・ビューを方向付けるように機能することを特
徴とする方法。 - 【請求項80】 三次元シーンの選択した部分的レンダ
リングを、オブジェクトを含む前記シーンの表示の領域
内に表示する方法であって、前記シーンの前記表示が、
前記領域以外の部分において抽象的レンダリングであ
り、前記シーンの前記表示が、前記領域内の部分におい
て現実的レンダリングであり、前記方法が、 前記オブジェクトに対する投射エリアを判定するステッ
プと、 アニメーション・シーケンスの再生中、前記シーンにお
ける前記オブジェクトの位置に応答して、前記領域の境
界を動的に定義するステップと、から成ることを特徴と
する方法。 - 【請求項81】 請求項80記載の方法において、前記
動的に定義するステップが、 前記領域のサイズを固定するステップと、 前記オブジェクト上で選択した点に応答して、前記表示
に対して、前記固定サイズ領域を位置付けるステップ
と、を含むことを特徴とする方法。 - 【請求項82】 請求項81記載の方法において、前記
動的に定義するステップが、前記オブジェクトの少なく
とも一部を常に前記領域内に維持するように、前記領域
を定義するステップを含むことを特徴とする方法。 - 【請求項83】 請求項82記載の方法において、前記
動的に定義するステップが、前記領域が前記オブジェク
トの投射周囲にマージンを含むように、前記領域を定義
するステップを含むことを特徴とする方法。 - 【請求項84】 請求項81記載の方法において、前記
動的に定義するステップが、前記領域が前記オブジェク
トの投射周囲にマージンを含むように、前記領域を定義
するステップを含むことを特徴とする方法。 - 【請求項85】 請求項80記載の方法において、前記
動的に定義するステップが、前記オブジェクトの少なく
とも一部を常に前記領域内に維持するように、前記領域
を定義するステップを含むことを特徴とする方法。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US8058398P | 1998-04-03 | 1998-04-03 | |
| US60/080583 | 1998-06-12 | ||
| US09/096187 | 1998-06-12 | ||
| US09/096,187 US6091422A (en) | 1998-04-03 | 1998-06-12 | System for editing complex visual data providing a continuously updated rendering |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11345349A true JPH11345349A (ja) | 1999-12-14 |
Family
ID=26763700
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11096501A Pending JPH11345349A (ja) | 1998-04-03 | 1999-04-02 | 複雑な視覚デ―タを編集し連続更新レンダリングを行うシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6091422A (ja) |
| EP (1) | EP0947960A3 (ja) |
| JP (1) | JPH11345349A (ja) |
| AU (1) | AU2360099A (ja) |
| CA (1) | CA2267591A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007522567A (ja) * | 2004-02-17 | 2007-08-09 | ウニヴェルズィテート デス ザールランデス | 複雑な動的3次元シーンをレイトレーシング法により写真現実的に表示する装置 |
| JP2011508338A (ja) * | 2007-12-26 | 2011-03-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | グラフィックスパイプラインのための効率的な状態管理 |
| JP2015076096A (ja) * | 2013-10-07 | 2015-04-20 | インテル コーポレイション | 選択的ラスタライゼーション |
| CN109992103A (zh) * | 2017-11-21 | 2019-07-09 | 辉达公司 | 在渲染期间利用注视信息调整角度采样率 |
Families Citing this family (79)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6924801B1 (en) * | 1999-02-09 | 2005-08-02 | Microsoft Corporation | Method and apparatus for early culling of occluded objects |
| US6400841B1 (en) * | 1999-02-11 | 2002-06-04 | General Electric Company | Method for evaluating three-dimensional rendering systems |
| TW475155B (en) * | 1999-09-10 | 2002-02-01 | Sony Computer Entertainment Inc | Method of and apparatus for rendering image, recording medium, and program |
| JP3619143B2 (ja) * | 1999-11-18 | 2005-02-09 | キヤノン株式会社 | 画像処理装置およびその方法 |
| US20060036756A1 (en) * | 2000-04-28 | 2006-02-16 | Thomas Driemeyer | Scalable, multi-user server and method for rendering images from interactively customizable scene information |
| US7827488B2 (en) | 2000-11-27 | 2010-11-02 | Sitrick David H | Image tracking and substitution system and methodology for audio-visual presentations |
| JP4261793B2 (ja) * | 2000-12-25 | 2009-04-30 | キヤノン株式会社 | 描画装置及びその描画方法、カラー印刷装置及びカラー印刷制御装置 |
| US6802055B2 (en) * | 2001-06-27 | 2004-10-05 | Microsoft Corporation | Capturing graphics primitives associated with any display object rendered to a graphical user interface |
| US7126605B1 (en) | 2001-07-03 | 2006-10-24 | Munshi Aaftab A | Method and apparatus for implementing level of detail with ray tracing |
| EP1628265A3 (en) * | 2001-07-31 | 2006-05-10 | PRAD Research and Development N.V. | Construction and maintenance of scenegraphs for interactive feature-based geoscience graphical modeling |
| US7042449B2 (en) * | 2002-06-28 | 2006-05-09 | Autodesk Canada Co. | Push-tumble three dimensional navigation system |
| US7340718B2 (en) * | 2002-09-30 | 2008-03-04 | Sap Ag | Unified rendering |
| US7589732B2 (en) * | 2002-11-05 | 2009-09-15 | Autodesk, Inc. | System and method of integrated spatial and temporal navigation |
| US7515156B2 (en) * | 2003-01-08 | 2009-04-07 | Hrl Laboratories, Llc | Method and apparatus for parallel speculative rendering of synthetic images |
| US7277572B2 (en) * | 2003-10-10 | 2007-10-02 | Macpearl Design Llc | Three-dimensional interior design system |
| WO2005103921A2 (en) * | 2004-04-15 | 2005-11-03 | Edda Technology, Inc. | Interactive 3d data editing via 2d graphical drawing tools |
| US20060007462A1 (en) * | 2004-07-09 | 2006-01-12 | Samsung Electronics Co., Ltd. | Method and apparatus for printing borderless image |
| JP2006031358A (ja) * | 2004-07-15 | 2006-02-02 | Ziosoft Inc | ボリュームレンダリング等の画像処理システム |
| TWI405142B (zh) * | 2004-08-12 | 2013-08-11 | Ati Technologies Inc | 呈現螢幕空間之系統中之方法、呈現螢幕空間之裝置、用於提供螢幕空間的子區的呈現方法及裝置、以及圖形處理器 |
| US8189002B1 (en) * | 2004-10-29 | 2012-05-29 | PME IP Australia Pty, Ltd. | Method and apparatus for visualizing three-dimensional and higher-dimensional image data sets |
| US7664870B2 (en) * | 2005-02-25 | 2010-02-16 | Microsoft Corporation | Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available |
| US8843591B2 (en) * | 2005-03-17 | 2014-09-23 | International Business Machines Corporation | Selectable repainting of updatable network distributable imagery |
| US8386628B1 (en) * | 2005-05-23 | 2013-02-26 | Glance Networks, Inc. | Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session |
| US20070046699A1 (en) * | 2005-09-01 | 2007-03-01 | Microsoft Corporation | Three dimensional adorner |
| US8464170B2 (en) * | 2005-09-09 | 2013-06-11 | Microsoft Corporation | 2D editing metaphor for 3D graphics |
| US8266232B2 (en) * | 2005-10-15 | 2012-09-11 | International Business Machines Corporation | Hardware processing of commands within virtual client computing environment |
| US7477777B2 (en) * | 2005-10-28 | 2009-01-13 | Aepx Animation, Inc. | Automatic compositing of 3D objects in a still frame or series of frames |
| US7305127B2 (en) * | 2005-11-09 | 2007-12-04 | Aepx Animation, Inc. | Detection and manipulation of shadows in an image or series of images |
| US9349219B2 (en) * | 2006-01-09 | 2016-05-24 | Autodesk, Inc. | 3D scene object switching system |
| US7966573B2 (en) * | 2006-02-17 | 2011-06-21 | Microsoft Corporation | Method and system for improving interaction with a user interface |
| US9070402B2 (en) * | 2006-03-13 | 2015-06-30 | Autodesk, Inc. | 3D model presentation system with motion and transitions at each camera view point of interest (POI) with imageless jumps to each POI |
| US8633927B2 (en) * | 2006-07-25 | 2014-01-21 | Nvidia Corporation | Re-render acceleration of frame with lighting change |
| US8115774B2 (en) * | 2006-07-28 | 2012-02-14 | Sony Computer Entertainment America Llc | Application of selective regions of a normal map based on joint position in a three-dimensional model |
| US8947439B2 (en) | 2006-09-15 | 2015-02-03 | International Business Machines Corporation | Process data presentation based on process regions |
| US11205295B2 (en) * | 2006-09-19 | 2021-12-21 | Imagination Technologies Limited | Ray tracing system architectures and methods |
| US20080091499A1 (en) * | 2006-10-02 | 2008-04-17 | International Business Machines Corporation | System and method to control caching for offline scheduling |
| US7796128B2 (en) * | 2007-02-14 | 2010-09-14 | International Business Machines Corporation | Dynamically load balancing game physics using real-time object scaling |
| US8392529B2 (en) | 2007-08-27 | 2013-03-05 | Pme Ip Australia Pty Ltd | Fast file server methods and systems |
| WO2011065929A1 (en) | 2007-11-23 | 2011-06-03 | Mercury Computer Systems, Inc. | Multi-user multi-gpu render server apparatus and methods |
| US9904969B1 (en) | 2007-11-23 | 2018-02-27 | PME IP Pty Ltd | Multi-user multi-GPU render server apparatus and methods |
| WO2009067680A1 (en) | 2007-11-23 | 2009-05-28 | Mercury Computer Systems, Inc. | Automatic image segmentation methods and apparartus |
| US10311541B2 (en) | 2007-11-23 | 2019-06-04 | PME IP Pty Ltd | Multi-user multi-GPU render server apparatus and methods |
| US9019287B2 (en) | 2007-11-23 | 2015-04-28 | Pme Ip Australia Pty Ltd | Client-server visualization system with hybrid data processing |
| US8220002B2 (en) * | 2008-01-25 | 2012-07-10 | Microsoft Corporation | Isolation of user-interactive components |
| US8587593B2 (en) * | 2008-07-25 | 2013-11-19 | Qualcomm Incorporated | Performance analysis during visual creation of graphics images |
| US9792718B2 (en) * | 2008-07-25 | 2017-10-17 | Qualcomm Incorporated | Mapping graphics instructions to associated graphics data during performance analysis |
| US8379955B2 (en) * | 2010-11-27 | 2013-02-19 | Intrinsic Medical Imaging, LLC | Visualizing a 3D volume dataset of an image at any position or orientation from within or outside |
| US9082214B2 (en) * | 2011-07-01 | 2015-07-14 | Disney Enterprises, Inc. | 3D drawing system for providing a real time, personalized, and immersive artistic experience |
| US8872838B2 (en) | 2011-09-09 | 2014-10-28 | Microsoft Corporation | Primitive composition |
| US9645978B2 (en) * | 2011-11-16 | 2017-05-09 | Microsoft Technology Licensing, Llc | Techniques for the automatic animation of changes to document content |
| CN102591651B (zh) * | 2011-12-26 | 2015-02-11 | Tcl集团股份有限公司 | 一种网页3d渲染和控制方法及装置 |
| US9384711B2 (en) | 2012-02-15 | 2016-07-05 | Microsoft Technology Licensing, Llc | Speculative render ahead and caching in multiple passes |
| CN103258338A (zh) * | 2012-02-16 | 2013-08-21 | 克利特股份有限公司 | 利用真实数据来驱动仿真的虚拟环境的方法和系统 |
| US8823715B2 (en) * | 2012-03-02 | 2014-09-02 | Adobe Systems Incorporated | Efficient writing of pixels to tiled planar pixel arrays |
| US9177533B2 (en) | 2012-05-31 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual surface compaction |
| US9286122B2 (en) | 2012-05-31 | 2016-03-15 | Microsoft Technology Licensing, Llc | Display techniques using virtual surface allocation |
| US9230517B2 (en) | 2012-05-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual surface gutters |
| US9235925B2 (en) * | 2012-05-31 | 2016-01-12 | Microsoft Technology Licensing, Llc | Virtual surface rendering |
| US8941676B2 (en) * | 2012-10-26 | 2015-01-27 | Nvidia Corporation | On-chip anti-alias resolve in a cache tiling architecture |
| US10070839B2 (en) | 2013-03-15 | 2018-09-11 | PME IP Pty Ltd | Apparatus and system for rule based visualization of digital breast tomosynthesis and other volumetric images |
| US11183292B2 (en) | 2013-03-15 | 2021-11-23 | PME IP Pty Ltd | Method and system for rule-based anonymized display and data export |
| US9509802B1 (en) | 2013-03-15 | 2016-11-29 | PME IP Pty Ltd | Method and system FPOR transferring data to improve responsiveness when sending large data sets |
| US8976190B1 (en) | 2013-03-15 | 2015-03-10 | Pme Ip Australia Pty Ltd | Method and system for rule based display of sets of images |
| US11244495B2 (en) | 2013-03-15 | 2022-02-08 | PME IP Pty Ltd | Method and system for rule based display of sets of images using image content derived parameters |
| US10540803B2 (en) | 2013-03-15 | 2020-01-21 | PME IP Pty Ltd | Method and system for rule-based display of sets of images |
| US9307007B2 (en) | 2013-06-14 | 2016-04-05 | Microsoft Technology Licensing, Llc | Content pre-render and pre-fetch techniques |
| US11599672B2 (en) | 2015-07-31 | 2023-03-07 | PME IP Pty Ltd | Method and apparatus for anonymized display and data export |
| US9984478B2 (en) | 2015-07-28 | 2018-05-29 | PME IP Pty Ltd | Apparatus and method for visualizing digital breast tomosynthesis and other volumetric images |
| US10482085B2 (en) * | 2015-12-18 | 2019-11-19 | Sap Se | Methods and systems for estimating the number of points in two-dimensional data |
| US20180300326A1 (en) * | 2017-04-17 | 2018-10-18 | The Boeing Company | Three-Dimensional Massive Model Visualization Database System |
| US10909679B2 (en) | 2017-09-24 | 2021-02-02 | PME IP Pty Ltd | Method and system for rule based display of sets of images using image content derived parameters |
| CN109634544B (zh) * | 2018-11-23 | 2022-04-12 | 北京梧桐车联科技有限责任公司 | 应用界面显示方法及装置、显示设备及存储介质 |
| US10926177B2 (en) * | 2019-03-15 | 2021-02-23 | Sony Interactive Entertainment Inc. | Systems and methods for predicting states by using a distributed game engine |
| US11650719B2 (en) | 2019-06-18 | 2023-05-16 | The Calany Holding S.À.R.L. | Virtual creation of real-world projects |
| US11663685B2 (en) | 2019-06-18 | 2023-05-30 | The Calany Holding S. À R.L. | System and method for providing digital reality experiences and decentralized transactions of real estate projects |
| EP4070150B1 (en) | 2019-12-06 | 2025-08-06 | Magic Leap, Inc. | Dynamic browser stage |
| CN111161383B (zh) * | 2019-12-27 | 2022-10-11 | 深圳市环球数码影视文化有限公司 | 一种基于Maya的文件自动优化方法及系统 |
| US11494966B2 (en) | 2020-01-07 | 2022-11-08 | Disney Enterprises, Inc. | Interactive editing of virtual three-dimensional scenes |
| CN112581578B (zh) * | 2020-12-23 | 2024-08-13 | 江苏赞奇科技股份有限公司 | 一种基于软件定义的云渲染系统 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5557711A (en) * | 1990-10-17 | 1996-09-17 | Hewlett-Packard Company | Apparatus and method for volume rendering |
| US5307449A (en) * | 1991-12-20 | 1994-04-26 | Apple Computer, Inc. | Method and apparatus for simultaneously rendering multiple scanlines |
| EP0582875B1 (en) * | 1992-07-27 | 2001-10-31 | Matsushita Electric Industrial Co., Ltd. | Apparatus for parallel image generation |
| US5652851A (en) * | 1993-07-21 | 1997-07-29 | Xerox Corporation | User interface technique for producing a second image in the spatial context of a first image using a model-based operation |
| US5465363A (en) * | 1993-12-30 | 1995-11-07 | Orton; Debra L. | Wrapper system for enabling a non-multitasking application to access shared resources in a multitasking environment |
| JP3527796B2 (ja) * | 1995-06-29 | 2004-05-17 | 株式会社日立製作所 | 高速3次元画像生成装置および方法 |
-
1998
- 1998-06-12 US US09/096,187 patent/US6091422A/en not_active Expired - Fee Related
-
1999
- 1999-03-30 CA CA002267591A patent/CA2267591A1/en not_active Abandoned
- 1999-04-02 JP JP11096501A patent/JPH11345349A/ja active Pending
- 1999-04-06 EP EP99302672A patent/EP0947960A3/en not_active Withdrawn
- 1999-04-06 AU AU23600/99A patent/AU2360099A/en not_active Abandoned
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007522567A (ja) * | 2004-02-17 | 2007-08-09 | ウニヴェルズィテート デス ザールランデス | 複雑な動的3次元シーンをレイトレーシング法により写真現実的に表示する装置 |
| JP4769732B2 (ja) * | 2004-02-17 | 2011-09-07 | ジョーダーン コンサルティング リミテッド ヴイ エルエルシー | 複雑な動的3次元シーンをレイトレーシング法により写真現実的に表示する装置 |
| JP2011508338A (ja) * | 2007-12-26 | 2011-03-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | グラフィックスパイプラインのための効率的な状態管理 |
| US8826294B2 (en) | 2007-12-26 | 2014-09-02 | Advanced Micro Devices, Inc. | Efficient state management system |
| US9659393B2 (en) | 2013-10-07 | 2017-05-23 | Intel Corporation | Selective rasterization |
| JP2016184419A (ja) * | 2013-10-07 | 2016-10-20 | インテル コーポレイション | 選択的ラスタライゼーション |
| JP2015076096A (ja) * | 2013-10-07 | 2015-04-20 | インテル コーポレイション | 選択的ラスタライゼーション |
| JP2017194985A (ja) * | 2013-10-07 | 2017-10-26 | インテル コーポレイション | 選択的ラスタライゼーション |
| JP2017194984A (ja) * | 2013-10-07 | 2017-10-26 | インテル コーポレイション | 選択的ラスタライゼーション |
| JP2018163678A (ja) * | 2013-10-07 | 2018-10-18 | インテル コーポレイション | 選択的ラスタライゼーション |
| US10164458B2 (en) | 2013-10-07 | 2018-12-25 | Intel Corporation | Selective rasterization |
| US10164459B2 (en) | 2013-10-07 | 2018-12-25 | Intel Corporation | Selective rasterization |
| CN109992103A (zh) * | 2017-11-21 | 2019-07-09 | 辉达公司 | 在渲染期间利用注视信息调整角度采样率 |
| CN109992103B (zh) * | 2017-11-21 | 2022-07-05 | 辉达公司 | 用于在渲染期间调整角度采样率的方法、系统和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2360099A (en) | 1999-10-14 |
| EP0947960A2 (en) | 1999-10-06 |
| EP0947960A3 (en) | 2006-04-12 |
| US6091422A (en) | 2000-07-18 |
| CA2267591A1 (en) | 1999-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6091422A (en) | System for editing complex visual data providing a continuously updated rendering | |
| US6570578B1 (en) | System for automatic generation of selective partial renderings of complex scenes | |
| EP0495305B1 (en) | Creating and controlling lighting designs | |
| RU2360284C2 (ru) | Компонующий администратор окон рабочего стола | |
| KR101086570B1 (ko) | 동적 윈도우 구조 | |
| US5561752A (en) | Multipass graphics rendering method and apparatus with re-traverse flag | |
| KR100652466B1 (ko) | 디지털 이미지 처리 장치 | |
| US8368705B2 (en) | Web-based graphics rendering system | |
| US7412706B2 (en) | Input redirection | |
| US20030058241A1 (en) | Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface | |
| JP4129039B2 (ja) | 三次元グラフィックス・レンダリング・システム | |
| MXPA06012368A (es) | Integracion de jerarquia de escena tridimensional en sistema de composicion bidimensional. | |
| JP2001357410A (ja) | 別々に生成された3次元イメージを合成するグラフィックス・システム | |
| WO1998010353A2 (en) | Computer-executed, three-dimensional graphical resource management process and system | |
| US10846908B2 (en) | Graphics processing apparatus based on hybrid GPU architecture | |
| JPH04213779A (ja) | カラー・イメージ処理システム及び方法 | |
| US6396502B1 (en) | System and method for implementing accumulation buffer operations in texture mapping hardware | |
| KR100652464B1 (ko) | 디지털 비디오 처리장치 | |
| JP4864972B2 (ja) | 3dグラフィックスのための2d編集メタファ(metaphor) | |
| JP2692783B2 (ja) | 3次元物体の2次元表示を生成するシステム及び方法 | |
| Larson | The holodeck: A parallel ray-caching rendering system | |
| JP2003168130A (ja) | リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法 | |
| AU2017228700A1 (en) | System and method of rendering a surface | |
| JP3181464B2 (ja) | 大域照明レンダリング方法および装置 | |
| Stellingwerff et al. | Applications of optical and digital endoscopy |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041216 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070911 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070914 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071212 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080121 |