JPH09120465A - 3d映像を効率よくレンダリングする方法および装置 - Google Patents

3d映像を効率よくレンダリングする方法および装置

Info

Publication number
JPH09120465A
JPH09120465A JP8195277A JP19527796A JPH09120465A JP H09120465 A JPH09120465 A JP H09120465A JP 8195277 A JP8195277 A JP 8195277A JP 19527796 A JP19527796 A JP 19527796A JP H09120465 A JPH09120465 A JP H09120465A
Authority
JP
Japan
Prior art keywords
data
processor
rendering
memory
texture map
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.)
Withdrawn
Application number
JP8195277A
Other languages
English (en)
Inventor
Richard M Goldberg
リチャード・エム・ゴールドバーグ
Yakov Kamen
ヤコブ・カーメン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09120465A publication Critical patent/JPH09120465A/ja
Withdrawn 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/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 予め選択された視点から物体または映像を表
示装置上に効率よくレンダリングする方法を提供する。 【解決手段】プロセッサは多角形のエッジ・ウォーキン
グによってスパン・データを決定し、スパン・データを
メモリ・コントローラに伝送する。それぞれの伝送がな
された後、メモリ・コントローラがレンダリング工程の
実行を引き継ぎ、テクスチャ・マップ・スペースのヴォ
クセル(ボリュウム画素)のスパンへの現スパンのマッ
ピングを開始する。次いでメモリ・コントローラがこの
スパンのためのカラーとテクスチャを検索し、スパンを
このようにレンダリングする。すなわち、スパンを表示
するか、または適当なメモリにこれを書き込む。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はコンピュータシステ
ムに3次元映像または物体を視覚化し表示することに関
し、より詳しくは3次元映像の表示を加速する新規な方
法および装置に関する。「視覚化」とは広義においては
(映像または物体の)3Dグラフィック・データのアク
セスから表示装置上の映像としてのデータをレンダリン
グするグラフィック表示システムによって取られる全て
の工程をいう。
【0002】
【従来の技術】現在コンピュータシステムによって実行
される3Dデータを視覚化する方法には、三つの基本的
なタイプがある。すなわち、(1)幾何学的(多角形)
レンダリング(ワイヤ・フレームレンダリングのよう
な);(2)ボリュウム・レンダリング;(3)幾何学
的レンダリングのある特性を典型的に含む3Dテクスチ
ュア・マッピングである。本発明は、特に従来のシステ
ムが利用可能である以上に急速なテクスチュア・マッピ
ングに向けられている。グラフィック視覚化の方法にお
ける広範な処理については、フォーリ,バン・ダム(Fol
ey, van Dam)他によるコンピュータ・グラフィックス−
−原理と実際(第2版、1990年アディソン・ウエズ
リィ(Addison Wesley)を参照するものとし、ここでは参
考文献として取り上げる。
【0003】従来の装置において、プロセッサで実行さ
れるグラフィック装置は、コンピュータ・モニタまたは
他の表示装置ないしは出力装置で表示するために物体ま
たは映像を表わす3次元データを発生するものである。
3次元(3D)の幾何学的データは、典型的にはグラフ
ィックアプリケーションの制御の下でプロセッサ内で処
理される。システムがグラフィックス・アクセレレータ
を含んでいる場合、処理されたデータはモニタでレンダ
リングするためにグラフィック・アクセレレータに伝送
される。
【0004】3Dテクスチュア・マッピングは、幾何学
的なレンダリングからのデータと立体的なレンダリング
からのボリュウム・データとを合成した中間的視覚化で
ある。ボリュウム・データでその最も簡単なものは、通
常「ヴォクセル(voxels)」といわれる一連の3D画素
(個別の色価)の組である。従来の3Dテクスチュア・
マッピングも任意に切断ないしクリッピングを組み合わ
せてヴォクセル・データ内に隠されている構造を見つけ
出すことができる。
【0005】3次元におけるテクスチュア・マッピイン
グは、本来時間のかかる処理である。コンピュータのメ
イン・プロセッサまたは他のプロセッサを基本としたシ
ステムがレンダリング工程を実行するのに使用される場
合は、一般的にプロセッサが他の多くの操作や処理に使
用されるのでシステムの性能が大きく低下する。専用の
グラフィック・コントローラおよびアクセレレータが開
発され、レンダリング工程がスピードアップされたが、
概して非常に高価であり専用のグラフィック・モジュー
ルを備えた完全装備されたシステムにすることができな
い状態にある。
【0006】現在使用されているあるシステムは、レン
ダリング/表示工程をスピードアップするために余分な
メモリ・コントローラを備えた専用の画素バス(画素デ
ータ用の特別のメモリ・バス)を使用しているが、これ
がためにコストが上り、システムが複雑になっている。
【0007】従って、従来のシステムにおいては、コス
トを低くするか、アーキテクチャの性能を高くするかと
いうどちらに重点をおくかを選択する必要がある。
【0008】
【発明が解決しようとする課題】システムはこれらの両
方の課題、すなわち、スピードと費用の点に答えられる
必要がある。理想的には低コストの汎用プロセッサを備
えた高性能の専用グラフィックモジュールを装備したシ
ステムが提供される。
【0009】
【課題を解決するための手段】本発明は、ユーザまたは
プログラムで選択された視点から物体または映像をレン
ダリングするためのシステムに向けられている。このシ
ステムは、プロセッサ、メモリ、表示装置および専用の
グラフィック・メモリ・コントローラを備えたアーキテ
クチャを使用している。このメモリ・コントローラは、
その独自の制御を従来、プロセッサによって処理されて
いた多数の操作に引き継ぐように構成されている。この
システムは、そのメモリ内に標準幾何学(モデル座標)
データ、テクスチャ・マップ・データを備えており、本
発明のレンダリング方法においてはプロセッサはモデル
座標データをテクチャ・マップ・データに合成して、モ
デル座標を装置座標、すなわち、表示装置上の領域に対
応する座標に変換する工程を実行する。このプロセッサ
はさらに従来のスパン、すなわち、最終的に表示装置上
の走査線として表示されるテクスチャ・マップの領域を
表わすベクトルを発生する。
【0010】従って、プロセッサは、1回に1スパンの
スパン情報をメモリ・コントローラに伝送する。この各
スパンの伝送がなされた後、メモリ・コントローラがレ
ンダリング手順とマップの制御、現在のスパンをテクチ
ャ・マップ・スペースのヴォクセル(ボリュウム画素)
に引き継ぐ。次いで、各スパンが割当てられた色、テク
スチャ等を表示装置、あるいは、後ほど表示するために
ディスプレ・メモリまたは他のメモリにレンダリングす
る。
【0011】ここでレンダリング制御はプロセッサに戻
され、プロセッサは次のスパン用のデータをメモリ・コ
ントローラに伝送し、テクスチャ・マッピングとレンダ
リングのためにメモリ・コントローラに制御内容が移送
される。この操作は、任意の多角形(物体に対する視点
を表わす)のためのスパンが全てレンダリングされるま
で繰り返される。他の多角形がある場合は、同じ方法で
実行される。
【0012】プロセッサとメモリ・コントローラとの両
者間の制御の転送は、物体がレンダリングされるスピー
ドが大きく速められる。これは、プロセッサとメモリ・
コントローラが実行するそれぞれの機能が、特にこれら
の各装置に効率がよく、テクスチャ・マッピングおよび
レンダリング手順のメモリ・コントローラの動作が特に
コンピュータ集約的であり、もしこれが行なわれなけれ
ば多重割込みと性能の一般的低下によって抑制される他
の機能をプロセッサに実行させられるからである。
【0013】処理はメイン・メモリ(またはキャシュ
(緩衝記憶装置))の一部をメモリ・コントローラの制
御を排他的にするように設定することにより効率的にな
され、これによってこの部分との間における、大量のグ
ラフィック・データのブロック転送が、プロセッサによ
る他のメモリ部分へのメモリ・アクセスを阻まない。
【0014】
【発明の実施の形態】図1は本発明のコンピュータ・シ
ステム100を示し、インテリジェント・メモリ・コン
トローラ(IMC)130を含むメモリ・コントローラ
120を介してバス140に接続されたプロセッサ11
0を備えている。プロセッサ110はワークステーショ
ンまたはパソコンに現在使用されているような従来のマ
イクロプロセッサでよく、メモリ・コントローラ120
は標準的なものであるが、後ほど説明する機能を有する
IMCを備えている。
【0015】バス140にはさらに(DRAMのよう
な)メイン・メモリ150または緩衝記憶装置(例えば
SRAM)が接続され、必ずしも必要ではないが、オペ
レーティング・システムによって隣接するメモリCME
M160とシステム・メモリSYM170とに仕切られ
る。IMC130はCMEMの部分を制御する専用ハー
ドウエアであるのが好ましく、また、例えばSPARC
ステーション10SXグラフィック・テクノロジィの付
記Aで、ホワイト・ペーパー(サン・マイクロシステム
ズ・インコーポレーテッド 1993)に詳細に説明さ
れているサン・マイクロシステムズ・インコーポレーテ
ッドのSPARCステーション10SXメモリ・コント
ローラ・チップが利用できる。この論文に記述された基
本的なアーキテクチャおよびソフトウエア形態は、本発
明を実行するように適用されている。例えば、付記Aか
ら分るように、IMCハードウエアはサン・マイクロシ
ステムズSS10SXおよびSS20モデル・ワークス
テーションを備え、上述のシステムのマザー・ボードに
組み込まれている。これらのワークステーションは、本
発明ではいずれのハードウエア変形部材もなしに、適当
なプラットホームを提供する。だだし本発明の方法の工
程を実行するのに必要なソフトウエアを備えている必要
があるが、これは現在の知識で与えられている簡単な問
題である。
【0016】プロセッサは、従来の方法で接続された外
部キャシュ(Eキャシュ)115を普通有している。
【0017】システム100は、またディスク記憶装置
180、I/O装置190および表示装置200または
モニタおよび(または)プリンターのような、データを
図式的に表わすことができる他の出力装置を備えてい
る。ディスク記憶装置180は別の方法として、RA
M、テープ、CD−ROM等を含む揮発性または不揮発
性の大容量記憶媒体とすることも可能である。
【0018】ネットワーク接続は従来のネットワーク・
ハードウエア205を介して行なわれる。部材180−
205は全て従来式であり、事情に応じてメイン・シス
テム・バスまたはメモリ・バスのような種々の形態でプ
ロセッサに接続できる。これらの周辺機器のための特定
バス接続は本発明に絶対的ではなく、付記Aのアーキテ
クチャは望ましい形態(17ページ、例えば図2.1の
ような)で教示されており、Sバス装置にはI/O機
器、ネットワーク接続部、大容量記憶装置等を含んでい
てもよい。これ以外の形態も使用可能である。
【0019】本発明の次の説明は、主としてグラフィッ
ク・データをレンダリングし表示することに関している
が、効率、コストおよびスピードの同様の種類の問題が
ファイルとして記憶するためのグラフィック・データを
レンダリングする設定において生じる。すなわち、本発
明の特徴はレンダリングデータの目的と独立し、表示装
置、プリンタ、ポストクリプト(Postcript) ・ファイル
または他の種類のファイル、ネットワークにある他のプ
ロセッサ等であってもよい。従って、出力グラフィック
・データを「表示する」というこれらの説明は、所望の
処理または装置(表示装置、記憶装置等)へのグラフィ
ック・データの出力としても読み取らなければならず、
また、「レンダリングして表示する」または「表示器記
憶装置」は広い意味ではいずれの記憶媒体にも記憶する
ことを含んでおり、この媒体からはレンダリングされた
データが後ほど検索される。
【0020】ユーザが3Dグラフィックを見たいと思う
一般的なセッティングにおいて、二つのタイプのデー
タ、すなわち、幾何学的データとテクスチュア・マップ
・データが大容量記憶装置180に記憶されている。幾
何学的データは「モデル座標空間」、すなわち、3次元
空間を表わす(通常ユークリッド)幾何学に関係し、こ
の空間で見られるべき映像または物体が規定される。こ
こに、「物体」レンダリングはアドレスされるが、その
内に一つまたはそれ以上の物体でのいずれもの3次元設
定をするように適用されることを理解する必要がある。
【0021】例えば、図2において、モデル空間がx−
y−z座標系210によって表わされる。物体220は
大量記憶装置180に記憶された幾何学的データ・ファ
イル182により従来の方法で表わされる。この幾何学
的データ・ファイルは、グラフィック・コンピューティ
ングの分野で「頂点のリスト」とされるものである。こ
れは一般的に三角形のような多数の多角形を表わす形態
をとり、物体はこの多角形に前もってモザイク模様にレ
ンダリングされているからである。これらの三角形の頂
点は記憶され、その形態を発生する走査、CADまたは
他のシステムの解像度の限界まで、さらに、得られた幾
何学的データ・ファイルを記憶するのに利用可能なディ
スク・スペースの大きさの限界まで物体の全体表示を構
成する。
【0022】テクスチュア・マップ・データは、色、テ
クスチュアおよび物体を完全にレンダリングするのに必
要な他の必要事項に関する情報を含む記憶された物体を
表わす情報を含んでいる。テクスチャ・マップはデータ
・ファイル184として大容量記憶装置180に記憶さ
れる。グラフィック・コンピューティングの分野に使用
されるこの目的に適した従来のフォーマットが多数あ
る。例えば、vff (視覚/ボリュウムファイル・フォー
マット)またはobj, nff, wrl フォーマット等である。
未処理のシーケンシャル・バイト・フォーマットがこの
分野に幅広く使用されており、この分野ではヴォックス
・データがテクスチャ・マップ・キューブのために記憶
される。典型的には、データ・ヘッダが未処理のバイト
・データに追従されたデータ・キューブの寸法に関する
情報を含んでいる。出願人の業務用IMCを使用する形
態を特に実行するために、サン・マイクロシステムズ・
コンピュータ・カンパニによるプラットホーム・ノート
の1994年11月、パートNo. 801-7287-10 改訂A、
SPARC ステーション10SXおよびSPARCステーシ
ョン20システム・コンフィグレーション・ガイド(サ
ン・マイクロシステムズ・インコーポレーテッド199
4)を参照する。
【0023】従来において、図3に示したように、テク
スチャ・マップ・スペース(「ヴォクセル・データ・セ
ットとも呼ぶ)が3Dユークリッド座標系310(相互
的に直交座標t,u,v)として表わされる。物体22
0はこのスペースで、物体をスライスすることを含めて
多数のユーザ選択可能な視点からこれを表わす必要のあ
る全ての情報として表わされている。典型的には、テク
スチャ・マップは例えば片側に256バイト、または約
16メガバイトのデータであるデータの有効キューブと
して表わされる。
【0024】幾何学的データ・ファイル182およびテ
クスチャ・マップ184を別々のデータ・ファイルとし
て図1に示す。両者は、単一のデータ・ファイルの異な
る部分として表わすこともできる。
【0025】図2において、視覚面(または「スライス
平面」)230は、頂点P1-P2-P3および物体220と交
差する領域240とで規定される。スライス平面230
は物体220に対する視点を表わしている。この視点は
ワークステーション(マウス、すなわち、ユーザの入力
する指令により)で、ランニング・アプリケーションの
プロセスにより、あるいは他の適当な機構により、ハー
ドウエアまたはソフトウエアのいずれかでユーザによっ
て選択することができる。得られたレンダリンググラフ
ィック・データの出力(モニタ、出力ファイル、ネット
ワーク上のプロセッサ等)は、必要とされるプロセスに
よって決まる。典型的には、例えば、ワークステーショ
ンにいるユーザが、レンダリンググラフィック・データ
をモニタに表示させ、一方で実行アプリケーションがデ
ータをファイルに記憶させたい場合である(あるいはこ
れと逆の場合も同様に可能である)。
【0026】スライス平面230が選択されると、域2
40が表示装置200に表示され、視覚面がいずれの所
望の位置または角度に移動、回転される。これはグラフ
ィック表示システムの分野においては「スライス抽出」
として知られており、その工程は現在のグラフィック表
示システムにおいて公知である。
【0027】複雑な映像または物体の視点が従来のシス
テムで変化した場合に、プロセッサは、物体のどの部分
を表示させるべきかを決定し、また、どのテクスチャと
色とをレンダリングされるべき多角形に適用すべきかを
決定するのに相当な再計算を実行しなければならない。
プロセッサは通常(従来の)メモリ・コントローラを介
してシステム・メモリ内のデータ(またはネットワーク
・メイン・システム・メモリ、テープ・ドライブまたは
いずれ他の大容量記憶媒体、揮発性または不揮発性)に
アクセスし、次いでバスに対する裁定として待機し、他
の矛盾した点を解決し、最終的にデータを受信したとき
にその外部キャシュで可能な範囲までデータをロードす
る。これらは全て他の実行プロセスに匹敵し、また全シ
ステムの性能を阻む。
【0028】本発明はレンダリングされるグラフィック
スの潜在的なスピードを多数の機構によって大きく増大
する。視点が変化する度にプロセッサにディスクからキ
ャシュにデータをリロードさせる代わりに、メモリのC
MEM域160がこの目的に確保されている。このCM
EM領域はIMC120の排他的制御下にあり、オペレ
ーティング・システム中で特定付けることができる。例
えば、出願人のSPARCステーション・ワークステー
ション中のSOLARISオペレーティング・システム
の特徴がそのようになっていて、本発明を実行するのに
使用できる。(付記AおよびE参照。)SOLARIS
オペレーティング・システムは、ソフトウエア、また
は、ユーザあるいはプログラマーがCMEMとしてメモ
リ150のどのような容量の部分にも特定付けることが
できるように構成される。例えば、メモリ150が32
MBであれば、RAMの32MBまで(オペレーティン
グ・システムに対して必要とされる容量を差し引く)
が、CMEMとして区分けするためにIMCとして利用
可能である。この場合、CMEMとSYMとの総容量は
32MBに等しくなる。
【0029】IMCの制御下でのCMEMの使用はプロ
セッサの性能を大きく増大する。これは他にも色々理由
はあるが、とりわけプロセッサが一つのクロック・サイ
クルを基本にして全ての指令を実行し、一方IMCがグ
ラフィック・データをCMEMからメモリの他の部分
(例えばディスプレイRAM)に極めて迅速にブロック
移動できるからである。
【0030】図4は本発明の方法400の好ましい実施
例を示す。図4中の各ボックスはシステム・メモリ17
0に指令として記憶されたプログラムまたはプログラム
・モジュールによって実行されるべき工程または一連の
ステップを表わしており、次に説明するようにプロセッ
サ110またはIMC130のいずれかによって実行可
能である。この種のプログラム・モジュールの創作は簡
単であり、本発明の教示にも与えられ、例えばC言語の
ような適当な従来のプログラム言語で実行できる。
【0031】ボックス410において、ユーザの指示ま
たは実行プロセスでプロセッサが、グラフィック・デー
タをメモリにロードする指令を実行する。本実施例にお
いて、プロセッサがリクエストとしてこの指令をIMC
130に送り、幾何学的データ182とテクスチャ・マ
ップ184をCMEM180にロードする。このように
プロセッサによって実行される他のプロセスに対向する
ものは何もなく、というよりはむしろIMCがグラフィ
ック・データのローディングを引き継ぎ、これを直接C
MEM160に移動させ、一方プロセッサがその実行中
のプロセスの実行を続行する。
【0032】ボックス420において、プロセッサが幾
何学的データ(モデル座標スペースないしMCSの)を
テクスチャ・マップ・データに結合する。この工程への
入力は頂点(x,y,z) のリストであり、出力はテクスチャ
・マップ・スペース中の適当なヴォクセルと相関する頂
点のリストである。すなわち、これらのヴォクセルはス
ライス平面230の頂点の3次元位置に対応している。
従って、図2、図3の例による結合操作への入力は、頂
点P1-P2-P3 、すなわち、(x1, y1, z1; x2,y2, z2;
x3, y3, z3) のモデル座標スペース中の座標リスト、ま
たは通常のベクトル表示中のリストである。
【数1】 結合操作自体は従来のものである。
【0033】この結合操作後、得られたデータ構造はP
1-P2-P3 =(x1, y1, z1, t1, u1,v1; x2, y2, z2, t
2, u2, v2; x3, y3, z3, t3, u3, v3) の形態にあるベ
クトルである。
【数2】 すなわち、各頂点P1-P3 は、テクスチャ・マップ・ス
ペース中のそれ自体の単独のt-u-v 座標と相関(これと
結合)している。典型的に、ユーザ(またはプログラマ
ー)は、この結合情報、すなわち、モデル座標スペース
中の頂点とテクスチャ・マップ・スペース中の対応する
座標の頂点との間の関係を供給する。
【0034】ボックス430において、プロセッサは三
つのポイントP1、P2 およびP3 のモデル座標をテーブ
ルで調べるか、または変換マトリックスを使用するよう
な従来の方法でこれらをスクリーン座標に変換する。次
いで、ボックス440において、プロセッサがこれも従
来の方法で目に見えない(潜在)領域を抜き出す。
【0035】ボックス442において、次の多角形がレ
ンダリングのために選択される。操作工程に入る際に、
最初のこの種の多角形が現在の多角形として選択され
る。目下の例においては、ただ一つの多角形、すなわ
ち、三角形230が選ばれる。
【0036】ボックス444において、プロセッサが
「エッジ・ウォーキング」としてこの分野で知られてい
る工程を実行する。この工程はスパンに関するデータを
決定する方法である。このスパンは概して物体に関する
「個別」データと呼ばれる。すなわち、これらのスパン
は連続した実生活の物体に近いだけである。
【0037】エッジ・ウオーキング手順は従来のもので
あって、基本的にはy座標(スクリーン座標における)
で所定の規則正しい増分だけ三角形230のP1-P3 ま
でを走行し、スパンの左右のエッジに対する対応x値の
各増分を補間することを含んでいる。この点から、左エ
ッジの交点に関するスパンの方向と長さが決定される
が、そのスパンでの第1画素(最も左側の画素)の(t,
u,v) の値も決定される。
【0038】エッジ・ウオーキング操作は直線補間操作
を使用し、現スパンの左端の(tuv)座標を決定する。補
間が用いられるのはこの点が三角形の頂点の間に位置し
ているからである。
【0039】例えば、図5において、走査線231はテ
クスチャ・マップ・スペースの座標(t,u) に投射されて
描かれる(多角形の残りの部分は明瞭にする目的で省略
している)。P3 とP1 は頂点で、P.intは図3のP.l
eft になり、または、概してP2 とP1 間の点は典型的
にはスパンの左端を表わす。(v座標(図5ではページ
外にある)は図示の目的で一定であると仮定している
が、普通はそうではなく、特に、図2、図3の例のよう
にはならない。)
【0040】線分P3 −P1 に沿った各中間点P.intに
つき、テクスチャ・マップ・スペース中の対応するt−
およびu−値を決定するのは簡単な問題であり、線形補
間の問題で簡単である。例えば、次のようにして実行で
きる。長さ(P.int- P3 )が走査長さ(P1-P3 )で
割り算され、比Rが得られる。P3(例えば、(t1,u1)お
よびP1(t.r.u.r)に対応するt-/u- 座標が決定される。
t-/u- 座標(t.int,u.int) を、また、いずれの中間点
P.intに対応するテクスチャ・マップ・アドレスを決定
するために、次式が使用できる; t.int =R*(t.r-t.l) (式3) u.int =R*(u.r-u.l) (式4) これは3次元に簡単に一般式化でき、すなわち、z.int
=R*(z.r-z.l)(式5)が得られる。この方法におい
て、全てのテクスチャ・マップ・スペース座標(および
テクスチャ・マップ・アドレス)は、入力走査線のちょ
うどエンドポイントの(x,y,z) 座標から導出できる。
【0041】従って、エッジ・ウオーキングの結果(す
なわち、工程444の一つの反復)が現在のスパン;関
連する始点(メモリに記憶された予め規定されたテーブ
ルから決定された左側交点に対するスクリーン座標中の
x,y値);ベクトル情報(長さと方向を含む)および
各スパンの最も左側の点に対する(tuv) 座標のために発
生される。ベクトルの「長さ」はスパンの幅に対応し、
表示装置に画素として表わされる。工程444の実行の
終わりにおいて、一つの新しい(すなわち、現在の)ス
パンのデータが発生される。
【0042】上述のエッジ・ウオーキング走査は有効な
一方法であるが、他の適当な方法も使用できる。すなわ
ち、重要なのはマップに対するようなやり方で組織化さ
れた幾何学をテクスチャ・マップに適用し、物体への視
点が表示装置上でレンダリングされるようになされるこ
とである。
【0043】上述の説明に加えて、工程444におい
て、プロセッサがさらにテクスチャ・マップ・スペース
の現在の走査線の3Dスロープを決定する。スパン23
1のような任意のスパンにつき、どの(tuv) 値が左側交
点P.left と右側交点P.rightに対する(xyz) スクリー
ン座標系値に対応しているかを決定する。(t vs. x) の
変化率が計算されるのを始め、(u vs. x) および(v vs.
x) も次のようにして計算される:
【数3】 ここに、x.right はテクスチャ・マップ・スペースにマ
ップされたP.rightのx−座標、t.right はP.rightの
t−座標で、この式中で他の(tuv) および(xyz)値につ
いてアナログ的に規定されている。
【0044】これらΔt/Δx 、Δu/Δx およびΔv/Δx
値は、テクスチャ・マップ・スペースの任意のスパンの
3Dスロープを表わしている。
【0045】ボックス446において、新しいスパンが
現スパンとして選択される。このスパンはスライス平面
230と(スクリーン座標の)走査線の交点とからな
る。このスパンは図2、図3において線231−235
として表わされる。これらの線は典型的には表示された
物体または映像当たり何百本もあるが、明瞭にする目的
で図2−3では4本のみを示してある。これらの特徴は
コンピュータ・グラフィックスの分野では周知である。
従って、図2、図3において、スパン231−235は
最終的には表示装置を横切る水平走査線に対応する。
【0046】ボックス450において、プロセッサ11
0は現スパンの情報(左エッジ交点、ベクトル−−方向
と長さ−−データおよび3Dスロープを含む)をテクス
チャ・マップの物理的アドレスに沿ってIMC130に
伝送する。
【0047】ボックス460において、IMCは現スパ
ンの実際のテクスチャ・マッピング、すなわち、現走査
のテクスチャ・マップ・スペースへの投影を実行し、ス
パン上の各点に対するヴォクセル・データを決定する。
IMCは次の方法で任意のスパンの各(xyz) 値に対する
(tuv) 値を決定できる。P.left に対する(tuv) 値は、
ボックス450のIMCに入力として与えられる。この
IMCがこの値のペア(tuv,xyz) を記憶し、次のx−増
分、すなわち、現スパン上の現画素の右側から次の画素
に対応する(tuv) 値を計算する。一つの計算当たり一度
に(x−値の一つの増分)一画素進行する。
【0048】上述したような各x−値増分において、式
6の三つのスロープ値を用いて現画素に対する対応する
(tuv) 値が決定される。三つに基づく(これを具体化す
る)付加的な工程があり、極めて速く処理され、(xyz)
値が対応する各(tuv) 値が前述のテーブルで見つけるこ
とができるよりもより速く、また、分割が実行されるよ
りもさらに速く実行される。従って、マッピング処理は
IMCによって効果的に処理される。
【0049】ボックス470において、IMCが合成(t
uv) 値から線形メモリ・アドレスを作表(テーブルで調
べる)することによって現スパンの終点と中間点のカラ
ー/テクスチャを検索する。すなわち、テクスチャ・マ
ップの各座標点が、これら各点を表わすように表示され
る画素のカラーと光強度に関連する値を有している。各
座標はテクスチャ・マップ184中のアドレスで記憶さ
れた実際のRGB(またはCYMあるいは他のフォーマ
ット)値の形態にあるか、あるいはテーブルに対するポ
インターないしアドレスであるか、または色価を決定す
る工程であってもよい。この種の工程はシェーディング
(色を漸次変化させる)処理となる。テーブルが参考に
される場合は、実際の色価はテーブル・エントリーに記
憶することも可能である。多数のバリエーションが可能
であり、特定の処理をするデザイナによって選択され
る。
【0050】ボックス480において、現走査線がIM
Cによってレンダリングされる。すなわち、ディスプレ
イ・メモリ(例えばVRAMまたはディスプレイ・バッ
ファ)に書き込まれ、ディスプレイに直接出力され、プ
リントのためにスプールし、ファイルまたはこれと同様
のものに書き込まれる。工程の制御はここでIMCから
プロセッサに転送される。
【0051】ボックス490において、プロセッサがこ
の多角形でレンダリングされるべき他のスパンがあるか
否かを決定する。図2−3の例において、該方法が工程
446に進行して、スパン232を表わすデータに工程
446−480を実行し、次いでスパン233−235
に同様の工程を実行する。
【0052】一度全三角形230がボックス442−4
90における工程によって処理されると、ボックス50
0においてプロセッサが、レンダリングされるべき映像
ないし視野内に他の多角形(例えば、三角形)があるか
否かを決定する。もしある場合は、この方法が工程44
2に進行し、もしなければこの方法は工程510に進行
して、そこでレンダリングするために(例えば、ユーザ
によって、または、プログラム実行工程によって)他の
視野ないし幾何学構造が選択されたかどうかをプロセッ
サが決定する。もしある場合には、この方法がボックス
410に進行して工程を改めて開始し、もしそうでなけ
ればこの方法がボックス520で停止される。
【0053】以上の説明から分るように、適切な使用は
プロセッサとIMC両者によってなされ、両者間の往復
制御を通してそれぞれが最も効率的なようにこれらの工
程を実行する。従って、テクスチャ・マッピング、ヴォ
クセル・データの検索およびレンダリング工程(ボック
ス460−480)が全て平衡してIMCによって最も
効率的に実行され、プロセッサを他のタスクから自由に
する。IMCによる専用のCMEMの使用はこのような
実行を可能にし、プロセッサはメモリとの往復バスによ
る集中的グラフィック計算あるいは大量のデータ伝送の
いずれかによって拘束されることはない。
【0054】しかし、プロセッサが実行する工程は、そ
れを実行するのに効率的でIMCには適していない。従
って、3Dグラフィックレンダリングの高い効率は、ア
ーキテクチャがそう複雑でなく、専用の画素バスまたは
他の専用のハードウエアを必要としないがプロセッサと
知的メモリ・コントローラ間を通過させる制御方法によ
る便宜により達成できる。
【図面の簡単な説明】
【図1】 本発明による装置のブロック図を示す図。
【図2】 モデル座標スペース中の3D物体のスライス
平面視点を示す図。
【図3】 図2の物体と視覚平面を3Dテクスチャ・マ
ップ・スペースで示す図。
【図4】 本発明の方法のフローチャートを示す図。
【図5】 スパンを生ぜしめるための本発明の補間操作
を示す図。
【符号の説明】
110 プロセッサ、120 インテリジェント・メモ
リ・コントローラ 140 バス、150 メモリ
フロントページの続き (72)発明者 ヤコブ・カーメン アメリカ合衆国 95014 カリフォルニア 州・カパチーノ・グリーンウッド ドライ ブ・19334

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 物体の形状に対応し、プロセッサとこの
    プロセッサに接続されたメモリとメモリ・コントローラ
    とを有するコンピュータシステムに接続された表示装置
    のためのデータをレンダリングする方法において、メモ
    リが少なくとも一つの多角形で表わされたビューポイン
    ト・データと、物体を表わすテクスチュア・マップ・デ
    ータを記憶する方法であって、 (1)プロセッサにおいて、前記多角形にわたる複数の
    スパンのための前記多角形のためにスパンデータを発生
    する工程と; (2)現在の前記スパンに関する前記スパンデータをプ
    ロセッサからメモリ・コントローラに伝送する工程と; (3)メモリ・コントローラにおいて、前記現スパンデ
    ータを前記テクスチュア・マップ・データにマッピング
    する工程と; (4)前記現スパンデータをメモリ・コントローラによ
    ってレンダリングする工程と; (5)前記複数のスパン全てがレンダリングされるまで
    工程2−4を繰り返す工程と;からなることを特徴とす
    るデータをレンダリングする方法。
  2. 【請求項2】 プロセッサとこのプロセッサに接続され
    たメモリとメモリ・コントローラとを有するコンピュー
    タシステムに接続された表示装置のために物体を表わす
    データをレンダリングする方法において、前記メモリが
    前記物体に対する形状を表わすビューポイント・データ
    と物体自体を表わすテクチュア・マップ・データとを記
    憶する方法であって、 (1)プロセッサ内でビューポイント・データに対応す
    る個別データを発生する工程と; (2)メモリ・コントローラにおいて個別データに対応
    するテクチュア・マップ・データを発生し、テクスチュ
    ア・マップデータセットをレンダリングする工程と; (3)メモリ・コントローラによってテクスチュア・マ
    ップ・データセットを発生する工程と;からなることを
    特徴とする物体を表わすデータをレンダリングする方
    法。
  3. 【請求項3】 プロセッサとこのプロセッサに接続され
    たメモリとメモリ・コントローラとを有するコンピュー
    タシステムに接続された表示装置のために物体の形状に
    対応してデータをレンダリングする装置において、前記
    メモリが前記物体に対する形状を表わすビューポイント
    ・データと物体自体を表わすテクチュア・マップ・デー
    タとを記憶し、前記メモリがプログラム・モジュールを
    さらに記憶する装置であって、 前記プロセッサにおいて前記ビューポイント・データに
    対応する個別データを発生するように成形されたレンダ
    リングモジュールと;前記メモリ・コントローラ内で個
    別データに対応するテクスチュア・マップ・データを発
    生するように成形されたマッピング・モジュールと;前
    記メモリ・コントローラによってテクスチュア・マップ
    ・データセットをレンダリングするように成形されたレ
    ンダリングモジュールと;からなることを特徴とする物
    体の形状に対応するデータをレンダリングする装置。
  4. 【請求項4】 物体の形状に対応するデータをレンダリ
    ングするコンピュータ・システムであって、 プロセッサと;前記プロセッサに接続され、前記物体の
    形態を表わす形状データと物体自体を表わすテクスチュ
    ア・マップ・データとを記憶し、さらに、前記レンダリ
    ング操作に関連する機能を実行するように成形されたプ
    ログラム・モジュールを記憶する記憶装置と;前記プロ
    セッサにおいて前記ビューポイント・データに対応する
    個別データを発生するように成形されたレンダリングモ
    ジュールと;前記メモリ・コントローラにおいて個別デ
    ータに対応するテクスチュア・マップ・データを発生す
    るように成形されたマッピング・モジュールと;前記メ
    モリ・コントローラによってテクスチュア・マップ・デ
    ータセットをレンダリングするように成形されたレンダ
    リングモジュールと;からなることを特徴とする物体の
    形状に対応するデータをレンダリングするコンピュータ
    システム。
JP8195277A 1995-07-06 1996-07-08 3d映像を効率よくレンダリングする方法および装置 Withdrawn JPH09120465A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/498733 1995-07-06
US08/498,733 US5877779A (en) 1995-07-06 1995-07-06 Method and apparatus for efficient rendering of three-dimensional scenes

Publications (1)

Publication Number Publication Date
JPH09120465A true JPH09120465A (ja) 1997-05-06

Family

ID=23982282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8195277A Withdrawn JPH09120465A (ja) 1995-07-06 1996-07-08 3d映像を効率よくレンダリングする方法および装置

Country Status (4)

Country Link
US (1) US5877779A (ja)
EP (1) EP0752685B1 (ja)
JP (1) JPH09120465A (ja)
DE (1) DE69631718T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016151A (en) * 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
US6094203A (en) * 1997-09-17 2000-07-25 Hewlett-Packard Company Architecture for a graphics processing unit using main memory
US6181348B1 (en) * 1997-09-22 2001-01-30 Siemens Corporate Research, Inc. Method for selective volume visualization via texture mapping
DE69915901T2 (de) * 1998-01-14 2004-09-02 Canon K.K. Bildverarbeitungsgerät
US6097403A (en) * 1998-03-02 2000-08-01 Advanced Micro Devices, Inc. Memory including logic for operating upon graphics primitives
JP2002520748A (ja) * 1998-07-16 2002-07-09 ザ リサーチ ファウンデーション オブ ステイト ユニヴァーシティ オブ ニューヨーク リアルタイム・ボリューム処理およびユニバーサル3dレンダリングのための装置および方法
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6532018B1 (en) 1999-04-19 2003-03-11 Microsoft Corporation Combined floating-point logic core and frame buffer
AU2001239926A1 (en) * 2000-02-25 2001-09-03 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering
ATE345650T1 (de) * 2000-09-07 2006-12-15 Actuality Systems Inc Volumetrische bildanzeigevorrichtung
US6542153B1 (en) * 2000-09-27 2003-04-01 Siemens Medical Solutions Usa, Inc. Method and system for three-dimensional volume editing for medical imaging applications
US6853373B2 (en) * 2001-04-25 2005-02-08 Raindrop Geomagic, Inc. Methods, apparatus and computer program products for modeling three-dimensional colored objects
WO2003023720A1 (en) * 2001-09-12 2003-03-20 Volume Interactions Pte Ltd. Interaction with a three-dimensional computer model
US6700573B2 (en) 2001-11-07 2004-03-02 Novalogic, Inc. Method for rendering realistic terrain simulation
US7145566B2 (en) * 2003-07-18 2006-12-05 Microsoft Corporation Systems and methods for updating a frame buffer based on arbitrary graphics calls
US7551174B2 (en) * 2003-12-23 2009-06-23 Via Technologies, Inc. Method and apparatus for triangle rasterization with clipping and wire-frame mode support
US8134566B1 (en) * 2006-07-28 2012-03-13 Nvidia Corporation Unified assembly instruction set for graphics processing
US8228327B2 (en) * 2008-02-29 2012-07-24 Disney Enterprises, Inc. Non-linear depth rendering of stereoscopic animated images
US8957892B2 (en) 2012-08-20 2015-02-17 Disney Enterprises, Inc. Stereo composition based on multiple camera rigs
EP3474562A1 (en) * 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
US10955256B2 (en) * 2018-10-26 2021-03-23 Here Global B.V. Mapping system and method for applying texture to visual representations of buildings
CN114723870B (zh) * 2022-06-07 2022-09-13 深圳市中视典数字科技有限公司 一种三维模型渲染方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
US5493644A (en) * 1991-07-11 1996-02-20 Hewlett-Packard Company Polygon span interpolator with main memory Z buffer
US5517603A (en) * 1991-12-20 1996-05-14 Apple Computer, Inc. Scanline rendering device for generating pixel values for displaying three-dimensional graphical images
EP0600204A3 (en) * 1992-11-30 1994-07-27 Ibm Method and apparatus for rendering primitives with multiple processors.
US5392393A (en) * 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
US5490240A (en) * 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures

Also Published As

Publication number Publication date
EP0752685A1 (en) 1997-01-08
EP0752685B1 (en) 2004-03-03
DE69631718D1 (de) 2004-04-08
US5877779A (en) 1999-03-02
DE69631718T2 (de) 2005-01-13

Similar Documents

Publication Publication Date Title
JPH09120465A (ja) 3d映像を効率よくレンダリングする方法および装置
EP0531157B1 (en) Three dimensional graphics processing
US4609917A (en) Three-dimensional display system
US8115767B2 (en) Computer graphics shadow volumes using hierarchical occlusion culling
US4475104A (en) Three-dimensional display system
US7924278B2 (en) Real-time GPU rendering of piecewise algebraic surfaces
US4731606A (en) Method for rapid windowing of display information in computer graphics
JP3697276B2 (ja) 画像ディスプレイ方法及び画像ディスプレイ装置並びに画像スケーリング方法
US7324121B2 (en) Adaptive manipulators
US5940091A (en) Three-dimensional graphic drawing apparatus wherein the CPU and the three-dimensional drawing mechanism access memory via a memory control unit
US5898437A (en) Method for fast rendering of three-dimensional objects by generating lists of like-facing coherent primitives
US5251322A (en) Method of operating a computer graphics system including asynchronously traversing its nodes
US5155822A (en) High performance graphics workstation
US4855938A (en) Hidden line removal method with modified depth buffer
US5877769A (en) Image processing apparatus and method
WO2000002165A1 (fr) Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
EP1314139A2 (en) Texture mapping system used for creating three-dimensional urban models
JPH04287292A (ja) トリミングされたパラメトリック面のレンダリング方法及び装置
JPH0877385A (ja) コンピュータ・グラフィクス装置
JPH117545A (ja) ボリューム・レンダリング事前クリッピング方法
GB2406252A (en) Generation of texture maps for use in 3D computer graphics
US6181346B1 (en) Graphics system
US6437779B1 (en) Image processing method image processing unit and recording medium recording integrated shaping model data and image processing program to be used thereof
JPH09330423A (ja) 三次元形状データ変換装置
KR100429092B1 (ko) 그래픽영상처리방법및장치

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20041125