JPH0362276A - グラフィクス処理装置及び方法並びにピクセル・メモリ装置 - Google Patents

グラフィクス処理装置及び方法並びにピクセル・メモリ装置

Info

Publication number
JPH0362276A
JPH0362276A JP2099450A JP9945090A JPH0362276A JP H0362276 A JPH0362276 A JP H0362276A JP 2099450 A JP2099450 A JP 2099450A JP 9945090 A JP9945090 A JP 9945090A JP H0362276 A JPH0362276 A JP H0362276A
Authority
JP
Japan
Prior art keywords
depth
buffer means
sweep
point
intensity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2099450A
Other languages
English (en)
Other versions
JPH0727579B2 (ja
Inventor
Jaroslaw R Rossignac
ジヤロスロー・ロマン・ロシングナツク
David A Epstein
デヴイド・アレキサンダー・エプステイン
Nader Gharachorloo
ナダー・ガラチヨーロ
Frederik W Jansen
フレデリツク・ウイリン・ジヤンセン
Christos S Zoulas
クリストス・スターモーリス・ゾーラス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0362276A publication Critical patent/JPH0362276A/ja
Publication of JPH0727579B2 publication Critical patent/JPH0727579B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、広くコンピュータ・グラフィクスとソリッド
・モデルの生成に関し、特にコンストラクティブ・ソリ
ッド・ジオメトリ(CSG)において単純なプリミティ
ブ・ボリュームのブーリアン・コンビネーションと規定
されるソリッドの、実物に近い陰影の付いたイメージを
生成する装置に関する。
B、従来の技術及びその課題 ソリッド・モデリング・システムは、5Hmパーツおよ
び製造プロセスのデザインにおいてますます重要な役割
を果たしつつある。上記システムは、ユーザに対して、
デザイン活動のコストを相当に削減するインターラクテ
ィブなデザイン・ツールおよびデザイン・サイクルを短
縮し且つ最終製品の品質と製造プロセスの効率を向上さ
せる解析ツールを提供する。
ソリッドは、タイプ、位置、ソリッドのすべての面の次
元のリストとして、境界によって記述される。しかしこ
のような記述は一般に、人間にとってあまりに冗漫であ
る0人間は、先に定義されているサブソリッドを組み合
わせたり変更したりすることによって、階層的にそして
漸進的にソリッドをデザインすることを好む、このよう
なサブソリッドの組み合わせは、多くはブーリアン・セ
ット・セオレティック・オペレーションによって正確に
指示される。たとえば、2つのパーツを組み立てて1つ
のソリッドを作ることは、数学的にはセット・セオレテ
ィック・ユニオン(和)としてモデル化することができ
る。スロット、ホール、ボスのような特殊な幾何学的フ
ィーチャな得るため形状に手を加えることは、しばしば
修正対象のソリッドと、該ソリッドに付加したりそれか
ら削除したりするシリンダやブロックなどの単純なプリ
ミティブ・ボリュームとの間の、セット・セオレティッ
ク・ユニオンおよびディファレンス(差)によって定式
化される。
ソリッド・モデルは、しばしば、ミリングやドリリング
によるマテリアル除去のような、ある加工操作の幾何学
的影響を表現し解析するのに使用される。そのような幾
何学的影響もまた、セット・セオレティック、オペレー
ションによって、たとえばパーツとカッタによってスイ
ープされる領域とのディファレンスとして1表現可能で
ある。このような一連のオペレーションを加えることは
、マシニング・プロセスをシミュレートする効果的な方
法である。カッタの軌跡が与えられれば、ソリッド・モ
デラを使うことによって、カッタがフィクスチュアと衝
突しないことを確かめることができ、カッタのモーショ
ンごとにどれだけのマテリアルが取り除かれるかを計算
することもできる。このような解析は、効率のよい、そ
してエラーの生じない製造プロセスを計画する上で重要
である。解析を行うためには、ソリッド同士のブーリア
ン・セット・インターセクション(積)を計算し、かか
るインターセクションが空か否かをチエツクする能力が
要求される。
同様に、パーツの組立可能性は、ソリッド・モデラを使
って、指定された形状および位置公差に従って1組立対
象となる各パーツのモデルを数多く作成し、どのような
場合にモデルが衝突するかを判断することによって解析
可能である。一般に、2つのソリッドが衝突(干渉)す
るのは、それらのセット・セオレティック・インターセ
クションが空ではない3次元集合であるときに限られる
と考えられている。
マシニング・プロセスのシミュレーションを含む多くの
アプリケーションでは、2つの表現(レプレゼンテーシ
ョン)によって同一のシステムが決定されるか否かにつ
いての判断が要求される。
たとえば、ストックに対する金属切削の結果をシミュレ
ートして得られるソリッド・モデルが、所望の最終パー
ツのソリッド・モデルと一致することを確認することが
重要である。
このような重要なアプリケーションでは、パーツやツー
ルを表現したり、加工効果を反映したりすることのでき
るソリッド・モデルは、セット・セオレティック・ブー
リアン・オペレーションによって、サブソリッドつまり
プリミティブ・ボリュームを組み合わせることによって
指定することができる。そのようなオペレーションの例
としては、セットのユニオン(和)、インターセクショ
ン(M)、 i5よびディファレンス(差)がある、か
かるソリッドは、コンピュータ・メモリの中に2進水(
バイナリ・ツリー)表現の形で効率よく記憶することの
できるセット・セオレティック・プール式によって表現
可能である。第1図は、2つのサブソリッド(2,33
のユニオンであるソリッド(1)の2進本表現を示した
ものである。サブソリッド(3)は、ブロック・プリミ
ティブ(4)とシリンダ・プリミティブ(5)のディフ
ァレンスである。このようなツリーの形状(フオーム)
は、プール式(2)+ ((4)(5))のパージング
(parsing )によって直に得られる。ツリーの
ルート(ソリッドl)は、プール式によって規定される
ソリッドに関連づけられている。ツリーの内部ノードは
、プール式に対応し且つサブソリッドに関連づけられて
いる。
ツリーの葉はプリミティブ・ボリュームに関連づけられ
ている。プリミティブ・ボリュームは概して、比較的単
純な代数学的半空間、すなわち3次元座標系において単
純な多項式で表される関数が正ではない値をとる領域、
のインターセクションである。たとえば、原点を中心と
する半径Rのボールは、関数x* +y24 zN −
1(2≦Oによって規定される半空間である。任意に位
置づけられ且つ方向づけられたプリミティブ・ボリュー
ムは、剛体運動の変形(rigid Ilotiont
ransformationl 、つまり回転と並進の
組み合わせ、および簡便な局所座標系で規定された合同
プリミティブ・ボリュームによって記述することができ
る、単純なプリミティブ・ボリュームは、球、シリンダ
、コーンなどのタイプ、および半径、長さ、頂角などの
イントリンシック・パラメータによって表わすことが出
来る。かかるツリーは、コンストラクティブ・ソリッド
・ジオメトリ表現として知られており、以下ではC3G
と略す。
プリミティブ・ボリュームの位置や寸法、つまりイント
リンシック・パラメータは、CSGツリーによって表さ
れるソリッドの全ファミリ中の特定メンバーを特徴づけ
る数個の1次パラメータによって表現することも可能で
ある。したがって、このようにしてパラメータ化された
CGS表現は、その寸法が公差限度内で変化し得るパー
ツの組立をモデル化するのに便利であり、よって上述の
問題をモデル化して解くのに用いることができる。
デザイン活動は、一連のステップに分解すると好都合な
場合が多い、つまりサブソリッドのマージによって、あ
るいは幾何学的フィーチャ、ブレンド、フィレットなど
の細部を追加して変更することによって、最終的なソリ
ッド・モデルを段階的に作っていくのである。しかしこ
ういった複雑なプロセスでは、人間のミスはまず避けら
れず、多くの場合、デザイナがステップごとに結果をチ
エツクし、必要なら調整を行うという試行錯誤過程にな
る。そのような調整は、パラメータの値の変更に限られ
る場合もあり、特定のCGSツリーの構造を修正しなけ
ればならない場合もある。幾何形状をデザインする対話
的プロセスの能率は、最終的には、視覚による確認に大
きく依存する。デザイナが、表示装置上である特定のデ
ザインまたは調整ステップの結果を直ちにテストできな
ければならないのである。CGSパラメータや構造の変
更結果がスクリーンに直ちに反映されるようにするだけ
ではなく、デザイナが、対話的手法により、表示オブジ
ェクトを回転させたりズームしたりすることも可能でな
ければならない、実用性を考慮すれば、表示されたイメ
ージは、曖昧さのない明瞭なものでなければならない、
この点に関していえば、表示結果は、ソリッド表面の反
射光の強度を表示することで重要な形状や方向に関する
情報が伝えられる陰影付きイメージによって向上する。
陰影を正確にモデル化することによって、リアリズムと
視覚的な手がかりが加わる。ただし、シャドウ・モデリ
ングは、パーツのデザインや製造プロセスの解析に必須
であるとは、一般には考えられておらず、ここでも詳細
にはふれな1い。
上述のように、組立解析および製造プロセスのシミュレ
ーションは、ソリッド干渉の反復検出に基づくものであ
り、これは、2つのソリッドのインターセクションが空
集合に相当するか否かのテストを伴う、また該シミュレ
ーションは、ソリッド同士のディファレンスの反復検出
に基づくものでもあり、これには、2つのソリッドのシ
ンメトリック・ディファレンスが空集合に相当するか否
かのテストが含まれる。このようなテストは、ソリッド
が複雑な場合は視認によっては実施できない。またソリ
ッドが単純な場合でも、解析が繰り返しの多いものであ
るために、自動化が必須条件になる。したがって、ここ
で重要なことは、ディファレンスや干渉を検出するタス
クを、コンピュータ・システムによって効率的かつ自動
釣に行うことである。
複雑なC3Gモデルから陰影付きイメージを生成するに
あたっては、このプロセスが大量のri4Wとデータ処
理を伴うという問題がある。汎用コンピュータで実行さ
れるシェーディング・プログラムは、実行速度が遅すぎ
て対話的デザインには適さず、このプログラムを使うこ
とは、デザイナの時間を有効に使うことにはならない1
表示タスクの一部を実行する専用ハードウェアが一般に
入手できるが、これはCSGモデルの処理には適さない
、はとんどの場合、こういった専用ハードウェアは、ソ
フトウェアによる前処理と組み合わせなければならず、
その場合は、専用ハードウェアの性能は、対話的デザイ
ンに許容し得る限度以下に落ちる。
ここで、本発明によるメリットをより明確にするために
、ソリッド・モデルの陰影付きイメージを形成するため
に開発された手法について説明する。説明から明らかに
なるが、このような手法を汎用コンピュータに実施して
得られる性能は、対話的デザインには適さない。また、
特殊用途向はハードウェアによる手法の欠点についても
述べる。
陰影付き平面や曲面のイメージを生成する機能は、グラ
フィック・ワークステーションで利用できる。これは、
 GouraudシェーディングあるいはPhongシ
ェーディングを用いて多角形を塗りつぶす手法を提供す
る。ソリッド・七デラのソフトウェアが、空間内の多角
形の角の座標など、ソリッドの各面を簡潔に記述し、ワ
ークステーションが1面の陰影付きイメージを表示スク
リーンに描く1色と強度は、ユーザが光源の位置とモデ
ル空間内の視点とを定義していれば、面で反射される光
の量を示すために選択される。ユーザは、視点の位置を
変えることで、たとえば表示されたオブジェクトの背面
を確かめたり細部を拡大したりできる。
このようなシステムでは、表示スクリーンが多数のピク
セルすなわち画素に分けられている6面の陰影付きイメ
ージをスクリーンに表示するためには1面が投影される
ピクセルを適宜色付けしなければならない、投影光のピ
クセルは、オブジェクト空間内のスクリーン・モデルを
用い、そのスクリーン・モデルを、実際のスクリーンの
1ピクセルに関連する小さい四角形に分割して決定され
る。第2図かられかるように、面の一点は、モデル空間
において、対応する点と視点とを結ぶ線が、対応する四
角形においてスクリーン・モデルと交わる場合は、ピク
セルを“カバー“する、つまりピクセルによって面の一
点が表示される0面が表示されると、カバーされたピク
セルに前に付けられた色は捨てられる。あるピクセルは
、ソリッド・モデルの数個の面の投影によってカバーで
きるが1表示されるのは視点に最も近い可視面だけであ
り、−隠面”は消去される。このような隠れた面または
表面を消去する手法はいくつか知られている。
前面や背面については(第3a図ないし第3d図参照)
 面の内側の各点において、法線はソリッドの外側に向
けられる、と想定した手法がある。視点が与えられると
、モデルの各面は、分離した2つのセット、すなわち前
面から構成されるセットと背面から構成されるセットに
分けられる。このように分ける際には、球などの曲面を
、分離したサブセットに分割しなければならない場合が
ある。前面の各点において、法線は、視点の方向へ向け
られ、そのとき法線と視点に対する方向との角度は90
°より小さい、背面の各点において法線は、視点から離
れる方向へ向けられ、そのとき法線と視点に対する方向
との角度は、90°に等しいかまたはより大きい、ソリ
ッド・モデルでは、背面は見えない面である0面がすべ
て平面である多面体モデルの場合、従来のほとんどのシ
ステムは、前面と背面を自動的に区別し、前面だけを表
示するようにという指示を受は付ける。凸面モデルの場
合釜ピクセルは、多くとも1つの前面でカバーされる。
その結果、凸面モデルのイメージにはン前面を表示する
だけで陰影が正しく付けられる。
しかし、第4図に示すように、凸面以外のソリッドの場
合は、表示スクリーンにおける数個の前面の投影像がオ
ーバラップし、処理された面が、たとえ前に処理された
他の面によって部分的にか全体的に隠されてもスクリー
ンに表示されることがある。
可視面だけを表示する最も簡単な方法は、可視面がさえ
ぎる面の後に可視面を表示するようにすることである。
この方法では、各面は、第4図に示すように、後方から
前方へ表示できるよう、よって、さえぎられる面よりも
視点に近い可視面が最後に表示されるように、順序付け
られる。このような順序付けは、視点に依存しないバイ
ナリ・スペース・パーティション(BSP)のツリーか
ら導かれる。ただし、BSPツリーの構造では、演算が
多くなり、ソフトウェアによる前処理が必要になる。そ
してこれは各面の分割を伴うことがある、したがって、
この方法は、リアルタイムで対話的モデル化を行うシス
テムには適さない。
このBSPツリーの前処理ステップをなくそうとする場
合、奥行バッファすなわちZバッファを用いれば、可視
面を各ピクセルに対して自動的に選択できる。このZバ
ッファ方式では、各ピクセルはZバッファ内の格納場所
に関連づけられる。
Zバッファの内容は、現在表示されている点の奥行であ
り1代表的な奥行は、視点と表示点との距離で表される
。所定の表示ピクセルに新しい点が表示されるごとに、
投影される点の奥行が、Jgllr定のピクセルのメモ
リ位置に格納された奥行と比較される。新しい点が前面
にあれば、すなわち、その奥行が、ピクセルのメモリに
格納されたものより小さい場合、新しい点が表示され、
ピクセルのメモリが更新されるので、このメモリに新し
い点の奥行が反映される。他の場合、新しい点は無視さ
れる。すなわち、新しい点は、すでに表示されている点
の背後に隠れるので見えなくなる。
ある面について、各ピクセルに投影される各点の奥行の
値を生成するプロセスは、スキャン・コンバージョンと
呼ばれる0代表的な奥行値は、ピクセルとピクセルとの
間で一定の奥行の増分を用いたスキャン・ラインの順序
で生成される1本発明との関係で以下に述べる方法では
、面によってカバーされない各ピクセルに、奥行の省略
時の値(デフォルト)が割り当てられる。このデフォル
トは、Zバッファで表現可能な最大奥行または最小奥行
であり、最大/最小は面の役割によって決まる。
この方法を、複数の点をa、b、cとして第58図ない
し第5d図に示す、第5a図において、各ピクセルの強
度は、背景の強度に等しく設定され、Zバッファに格納
される距離は初めに、無限大または一般に大きい優に等
しく設定される。第5b図では点“a−が処理される。
a度は、点a゛での反射強度に等しくされ、Zバッファ
に格納された対応するピクセルの距離は、視点から点”
a”への距離に等しくされる。第5C図では点″′b”
が処理される。′b”までの距離はa”までの距離より
小さいので、点−b“が表示され、強度は、点“b゛で
の反射強度に等しくされる。さらに、“b“の奥行がZ
バッファのメモリに格納される。第5d図では点−〇“
が処理される。Z軸に沿った点“C”までの距離は、そ
の時点でZバッファ・メモリに格納されている点“b”
の距離より大きいので、点−C−は無視され、この点の
強度は結局、点”b”の強度となる0点”b”が、対応
するピクセルを通して見える点である。
BSTツリーあるいは従来のZバッファを採用する際に
大きな問題となるのが、ソリッドの各面は既知でなけれ
ばならないということである。ソリッドの各面は、CS
Gツリーでは明示的に表現されないため、表示する前に
各面を導く必要がある。このような導出は“バウンダリ
・エバリユエーション” (境界評価)として知られ、
時間のかかる幾何計算を相当な回数行うという複雑なプ
ロセスである0代表的な境界評価プロセスでは、ソリッ
ドの端部の計算によって、プリミティブ・ボリュームの
各面が切り込まれる( trial 、端部は最初、曲
面または対をなす表面のインターセクションを生成する
ことによって計算され、次に、これらの曲面が、プリミ
ティブ・ボリュームの他の面とのインターセクションに
従って細分化される。細分化された部分から、CSGツ
リーで得られたプール式により、最終的なソリッドの端
部が選択される0曲面が3つ以上のプリミティブ面にか
かると、選択時に“端の近傍−を評価するというかなり
コスト高になるオペレーションが必要になることがある
。ここから分かるように、プリミティブが相当数にのぼ
るオブジェクトの場合、代表的な汎用コンピュータ上で
実施される境界評価プロセスは時間がかかりすぎて、対
話的な用途には向かない、その上、1個のプリミティブ
、ボリュームの寸法や位置など、1個のバラメークが変
わると、境界全体の表現を再計算しなければならない場
合もある。このように、計算に時間がかかると、デザイ
ン上のミスを訂正するときよく必要になるような、オブ
ジェクトを簡単に処理するという機能が著しく制限され
る。
境界評価に伴うこの問題は、第6図に示したレイ・キャ
スティング・アルゴリズムを採用することによって回避
できる。このアルゴリズムは、視点とスクリーン・モデ
ルのピクセルとを通過する線あるいはレイ(半直線)を
計算する6次に、かかるレイのそれぞれとソリッドとの
交点が計算される。各レイに沿った最初の交点A(視点
に最も近い)が選択され、レイが当たるその点の面を基
に、関連するピクセルの色が求められる。レイとソリッ
ドとの交点の計算は、最初にレイを、プリミティブ・ボ
リュームの内側1表面、または外側に全体が位置するセ
グメントに分けることによって、各プリミティブ・ボリ
ュームに対してレイを分類し1次に分類結果を、ツリー
をさかのぼって、そのツリーの各ノードに関連するプー
ル演算子に従ってマージすることによって実行できる。
このようなマージは一般に、値の比較と論理漬算を伴う
にすぎない、しかし、プリミティブに対してレイを細分
化するというプロセスでは、線や面の交点を計算する必
要があり、これは表面が複雑になると時間がかかる(こ
のような比較的複雑な面は、高次の多項式の0に対応す
る)、このように、レイ・キャスティング・アルゴリズ
ムをソフトウェアで実施したものは遅すぎて、対話的な
用途には適さない。
各ピクセルに対するスキャン・ライン方式では、所定の
ピクセル列のレイがすべてまとめられ、レイのグループ
として、表示スクリーンの水平の列または線に対応する
。所定の列のレイはすべて、イメージがその列とオーバ
ラップするプリミティブと交差させるだけでよい、この
スキャン・ライン方式は、現在の列で−アクティブなプ
リミティブを記録する。アクティブなプリミティブとは
、その投影像が列とオーバラップするプリミティブであ
る。スクリーン上の列は、−列ごとに、あるいは比較的
小さい連続した列のグループごとにトップダウンに処理
される。プリミティブは、その最上位点が、処理された
列にあるときにアクティブ・リストに加わる。該プリミ
ティブは、その最下位点が、前に処理された列にあると
きにアクティブ・リストから外される。最上位点と最下
位点は、それぞれの頂点をスクリーンに投影したときの
座標によって決定される。境界が平面であるソリッドの
場合、最下位点は比較的簡単に計算できる。また、連続
した列とアクティブな面との交点を計算するために、効
率のよりインクリメンタル方式を用いることもできる。
このようなスキャン・ライン方式は、多面体の境界を表
示するために実施されている。しかし、これまでのスキ
ャン・ライン方式では、ソリッド境界の計算および平面
への分解や近似は遅すぎて、対話の速度で実行すること
はできない。
表示プロセスの速度を上げることを目的とした専用ハー
ドウェア・システムが開発されている。
このような専用システムは当初、ビュー変換(view
ing transformationl とスキャン
・コンバージョン・プロセスの各部を専用ハードウェア
によって実施していた。性能を改良するために、ハード
ウェアにパラレル・アーキテクチャを用い、ピクセル・
パラレル・アルゴリズムを採用したシステムが開発され
ている。このシステムでは、数個のプロセッサが、異な
るイメージ・セグメントを並列に処理する。この方式を
突きつめたものが、デイスプレィの各ピクセルに小型の
プロセッサを用いるシステムによって提供されている。
いわゆるスキャン・ライン・システムは。
本の仮想走査線に一列のプロセッサを準備することで、
暫定的な手法を提供するものである。ピクセル値が生成
されると、この値はビデオ・デイスプレィに直接書き込
むかくこの場合はビデオ・リフレッシュ・レートで値を
生成する必要がある]、またはフレーム・バッファに格
納することができる。
このような専用ハードウェア・システムは一般に、汎用
コンピュータよりも実質上複雑でありコスト高になる。
さらに、その性質上、C3Gソリツドに対して効率よく
且つ高速にシェーディングを行うという問題に答えてい
ない、また、こうした専用システムにおいても、ソリッ
ドの各面と境界を決定する際およびソリッドのCSG表
現を処理する際に前述のような欠点がみられるので、シ
ステムの速度が犠牲になる。
上述のように、レイ・キャスティング・アルゴリズムの
マージ・ステップでは、コスト高につながる複雑な計算
を要する。これを避けるために、また、C3Gソリツド
を表示するとき、ハードウェアを充分活用して面のスキ
ャン・コンバージョンおよびビュー変換をサポートする
ために、奥行バッファ・アルゴリズムが提案されている
このアルゴリズムは、C3Gツリーを積和の(選書)形
に変換する。この形式でプロダクトはそれぞれ、ソリッ
ドのプリミティブまたはそのコンプリメント(補集合)
のインターセクションである。このアルゴリズムでは、
奥行バッファを使用して各プリミティブの面上の点がプ
ロダクトの中の他の全プリミティブと比較される。この
比較が行われるごとにプロダクトにはない点が除外され
る。残りの点は1表示の前に奥行バッファを使用して処
理され、可視点が選択される。
この方法は、各プリミティブの点の奥行がプロダクト内
の他の全プリミティブと比較されることによってプロダ
クトが与えられるという点が大きな欠点と言える。この
ような比較では、各プロダクト内の各プリミティブにつ
いてスキャン・コンバージョンを何度も繰り返さなけれ
ばならない。
たとえば、プロダクトABCDHのプリミティブAがス
キャン・コンバートされる場合1面B、C,D、Eをス
キャン・コンバートすることによって、プロダクトAB
CDE内の可視部に相当する大きさにまでAを切り込ま
なければならない0次に、Bのスキャン・コンバージョ
ンを行うには、残りのプリミティブC,D、Eを再びス
キャン・コンバートしてBをその可視部に相当する大き
さにまで切り込まなければならない、このプロセスは、
プロダクトの全プリミティブが処理されるまで繰り返さ
れる。この例では、Eは5回スキャン・コンバートされ
る。
したがって、プロダクト内のプリミティブを繰り返しス
キャンすることをなくした方法、たとえばプロダクトの
プリミティブを1回スキャンするだけでプロダクトが与
えられる方法を目標とするのが望ましい、さらに、すで
に明らかにしたが、CSG表現によるソリッドに対して
、実物に近いシェーディングを効率よく高速に実行でき
、かかるソリッド同士のディファレンスや干渉を簡単に
検出する装置も必要である。
C1課題を解決するための手段 前述の問題は、実物に近い陰影が付けられたソJツドを
生成する本発明による装置によって解決され、他のメリ
ットも得られる。ソリッドは、C3Gに右いて単純なプ
リミティブ・ボリュームのブーリアン・コンビネーショ
ンと規定されているタイプである1本発明は、ソリッド
同士の干渉とディファレンスを容易に検出するものであ
る1本発明の装置は、アーキテクチャとして、前面と後
面の少なくとも一対の奥行バッファを採用している。こ
れはピクセル・パラレル・コンピュータ・システムで実
現することも、あるいはコンピュータ・グラフィクスで
用いられるスキャン・ライン・コンピュータ・、システ
ム上で効率よくシミュレートすることもできる0本発明
の方法は、Z連結プロダクトと呼ばれる特殊tlブール
式をCSG表現から抽出するものである。Z連結プロタ
フト式および前面と後面の奥行バッファの対を併用する
ことで、C3Gで規定されたソリッド・オブジェクトの
実物に近いシェーディング像を生成するとき、あるいは
かかるソリッド同士の干渉やディファレンスを検出する
ときの処理効率が大幅に向上する1本発明を実施するこ
とで、ソリッド・モデリングやCAD/CAMアプリケ
ーションに用いられるコンピュータ・システムの性能が
大幅に向上する。
本発明はさらに、CSGで表現されるソリッドのVA影
付きイメージを生成するために、また、かかる2つのソ
リッドの干渉とディファレンスを検出するために利用で
きる6本発明は、Z連結スイープというfT規+7>概
念および関連概念を用いる。関連概念としては、任意の
CSGツリーによって表現されるソリッドは、Z連結プ
ロダクトのユニオンとしても表現できること、またこの
よりなZ連結プロダクトはそれぞれ、2つのZ連結スイ
ープのインターセクションとして表すことができるとい
う考え方かある。このほか、スイープによるZ連結プロ
ダクトの式は、CSGツリーから直接かつ効率的に抽出
可能である。
本発明は、任意のZ連結プロダクトによって占有される
ボリュームが、2つの奥行バッファによって完全に表現
されることと、2*結プロダクトから反射する光の強度
が、強度バッファに格納されるということを示すもので
ある、Zつの奥行バッファと1つの強度バッファとを含
むZ連結プロダクトのトリプル・バッファ表現は、この
プロダクトを規定する各Z連結スイープを1回だけスキ
ャン・コンバートすることによって生成される。さらに
、スキャン・コンバージョンの間、空プロダクトおよび
特定のラインを含むプロダクトの空インターセクション
が簡単に検出される。
本発明はさらに、各Z連結プロダクトの前面バッファを
従来の奥行バッファにマージすることによって最終的な
イメージが容易に得られることと、中間プロダクトを格
納して全体的なパフォーマンスを向−ヒさせるために、
数組のトリプル・バッファを採用できることを示すもの
でもある。
本発明により、トリプル・バッファを備える数個のプロ
セッサが作動して1、プロダクトが評価され、各プロダ
クトの評価結果が1つのZバッファにマージされる。C
SGツリーに沿って処理が進むと、積和ツリーを展開す
ることなく、各Z連結プロダクトの表現が得られる。こ
の表現は、各スイープを規定するプリミティブの前面ま
たは後面に関するレファレンスのリストである。各Z連
結プロダクトのZバッファ表現は、直ちに生成され、プ
ロダクトの各プリミティブ面は1回スキャン・コンバー
トするだけですむ。
干渉またはディファレンスの検出プロセスは、空でない
Z連結プロダクトが検知されたとき終了する。
陰影付きイメージの生成では、強度バッファが、各Z連
結プロダクトの奥行バッファ表現とともに計算される0
強度バッファは、Z連結プロダクトによって表現される
ソリッドのイメージを含む。各プロダクトの表現は、イ
ンクリメンタルに統合されて、最終イメージが表現され
る。このような組み合わせオペレーションの間、各ピク
セルについて、視点に最も近いZ連結プロダクトの前面
の奥行を格納することによって、各Z連結プロダクトの
可視部を還択するために、汎用奥行バッファが用いられ
る。また、Z連結プロダクトの前面の可視部(サブセッ
ト)のイメージを格納するために汎用強度バッファも採
用される。
本発明の方法は、上述のピクセル・パラレル・アルゴリ
ズムと同様に、スキャン・ライン・アーキテクチャを用
いることによって、並列の全ピクセルを対象として、あ
るいは−度に数列のピクセルのみを対象として実施でき
る。
本発明では、奥行バッファと強度バッファをそれぞれ追
加して、前面奥行バッファ、後面奥行バッファおよび強
度バッファを含むトリブレットのグループに分゛け、Z
連結プロダクトのユニオンへの展開が終了していないプ
ール式を1パスで処理することも可能である。バッファ
のトリプレットを複数個用いることで、各プリミティブ
面の処理回数の合計が小さくなり1本発明の装置全体の
効率と速度も大きく改良される。
各プロダクトに3つのバッファ(前面奥行バッファ、後
面奥行バッファ、強度バッファ)を用いる代わりに、こ
こで示したアルゴリズムの中には、2つのバッファ(前
面奥行バッファと強度バッファ)i5よび1つのビット
・マスクしか必要としないものがある。したがって後面
奥行バッファは(代表的なものはlピクセル当り少なく
とも24ビツトのメモリを要する)、メモリが1ピクセ
ル当り1ビツトだけの小型のバッファと置き換えること
ができる。フルスクリーンに奥行バッファが用いられる
場合、このような節約の意味は大きい。
本発明によるスキャン・アーキテクチャ・システムは、
プリミティブ面すなわち半空間をすべて処理することな
く、z連結プロダクトを自動的に除外する。除外される
のは、Z連結プロダクトの規定に用いられるZ連結スイ
ープが、表示が計算されるピクセルの列と交差しないと
きである。また、所定のZ連結プロダクトですでに処理
されているすべてのZ連結スイープの1面の列に対する
投影像が交差しないときも除外が起こる。このような交
差(インターセクション)は、スキャン・ライン表示ア
ルゴリズムによってインクリメンタルに決定される。
D、実施例 ここではCSG表現は、プロダクトのユニオンによって
表し、各プロダクトが、前面と後面のスイープのインタ
ーセクションとなり、一定のコネクティビティ・プロパ
ティを示すセットを表すようにする。また、このような
分解が任意のCSG表現からどのように導かれるかを示
し、かかる分解を採用する方法についても説明する。陰
影が正しく付けられたイメージを生成するために、また
、干渉とディファレンスをCSGから直にテストするた
めに、トリプル奥行バッファまたは2バツフアを用いる
方法を示している。さらに、スキャン・ライン・アーキ
テクチャにおいてこのようなトリプル奥行バッファを使
用することについても説明している。
先にも述べたとおり、ソリッドの面が分かれば、ソリッ
ドの陰影付きイメージは、各面を表示することによって
、およびZバッファを用いて隠面な消去することによっ
て生成できる0面が表示される順序は、可視面がZバッ
ファによって自動的に選択されるという意味において重
要ではない、その上、Zバッファを用いると、ソリッド
の内側にある別の面を表示しようとしても、別の面のい
ずれの点も、ソリッド前面の少なくとも1点の背後にく
るという意味で、イメージに対しては効果がない。
この性質を生かし、また本発明によって、Zバッファの
用途を拡大してソリッドの陰影付けが行われる。その場
合、ソリッドは、交差すると考えられる有限個のサブソ
リッドのユニオンと定義される。このソリッドを、ここ
ではプロダクトという、ソリッドの面は、全プロダクト
の面のサブセットである。さらに、プロダクトの面上の
任意の点は、ソリッド上またはソリッドの内側にある。
所定のピクセルに投影される点の中では、視点に最も近
い1点だけが表示される。このピクセルのZバッファ・
メモリは、最も近い点の奥行を含む、この奥行は、ピク
セルに投影される全点の奥行のうち最小の奥行である。
実際、考慮すべきは、各プロダクトの前面上の点だけで
ある。
そこで、プロダクトの前面が分かっている場合、Zバッ
ファは、ソリッド全体の正しい陰影付きイメージを生成
する。ここで、本発明により。
2つのZバッファと一時強度バッファを追加することで
、C3Gツリーによって表されるソリッドが、どのよう
にしてプロダクトのユニオンとして表され、各プロダク
トの前面が決定されるかについて説明する。
コンピュータによって作成するグラフィクスに用いられ
る標準座撫系は、スクリーン・モデルがZ軸に対して直
角になると規定される。ソリッドは、Z軸に平行な任意
の線とのインターセクションが連結される場合(全集合
、単点または連結線分)にのみZ連結されているという
。この意味で、凸面ソリッドは、その方向はどうあれ、
Z連結されているが、非凸面ソリッドはZ連結されてい
る場合とそうでない場合もあり得る。これは非凸面ソリ
ッドの形状によって、また視点によって決まる。第7a
図では、非凸面ソリッドがZ連結されているが、同じ非
凸面ソリッドか、第7b図ではZ連結されていない、こ
れは1表面の凹部が視点からは見えないからである。さ
らに、共通のプリミティブ・ボリュームは、2連結セツ
トに常に分解可能である。ブロック、球、シリンダおよ
びハーフ・コーンは凸面ソリッドであり、よって常にZ
連結される。ただし、トーラス(円環体)は、対称軸が
Z軸に対して充分に小さい角度をなす場合は、Z連結さ
れた非凸面プリミティブ・ポリュームの一つである。し
かしその角度が一定の値を超える場合、トーラスはZ連
結されなくなる。しかしそれでも、2つの分離したZ連
結ボリュームに分解することは可能である。このような
分解は、前面または後面を新たに導入することなく行え
るが、一般には、トーラスを、Z連結された部分に2等
分する方がはるかに容易である。
第8a図は、Z連結セットSを示す、第8b図は、ソリ
ッドSの前面スイープSfが、初期位置から正のZ方向
へ無限に移動するとき、あるいは視点から無限に離れる
とき、Sによってスイープされる空間領域であることを
示す、同様に、第8C図は、Sの後面スイープsbが、
初期位置から負のZ方向へ無限に移動するとき、あるい
は視点の方向へ無限に移動するとき、Sによってスイー
プされる空間領域であることを示す、Sfとsbは、有
界ではないZ連結セットである。
第9図に示すように、SかZ連結されていれば、SはS
fとsbのインターセクションに等しい。さらに、前面
または後面のスイープのコンプリメント(補集合)がZ
連結されることと、前面または後面の任意個数のスイー
プのインターセクションPがZ連結されることは可能で
ある。その結果、インターセクションは、2つのスイー
プPfとpbだけのインターセクションとして表せる(
それぞれPの前面スイープと後面スイープ)。
Pfは、後面がないので、前面によって完全に表現され
る。逆にpbは、後面によって完全に表現される。よっ
て、Pfとpbはそれぞれ、解像度すなわちピクセル数
によって決まる精度の範囲内で、単一のZバッファZf
とzbによって表すことができる。
プロダクト表現を決定する場合には、どのようなCSG
ツリーもプロダクトのユニオンとして表すことができ、
各プロダクトPは、複数の前面スイープと複数の後面ス
イープのインターセクションになる1本発明により、シ
ェーディング・プロセスおよび干渉とディファレンスの
検出プロセスでは、かかるプロダクトが、Zバッファで
表され、2つのZバッファF、Bを使用することによっ
て形成される。Fの内容は、各ピクセルについて、ピク
セルに投影されるpbを規定するスイープの後面におけ
る全点の最小奥行を格納することによって決定される。
Bの内容は、各ピクセルについて、ピクセルに投影され
るpbを規定するスイープの前面における全点の最大奥
行を格納することによって決定される。したがって、F
を計算するためには、Pの前面スイープの各面をトラバ
ースするだけでよい、さらに、前面はそれぞれ1回トラ
バースするだけですむ、同様に、Bを計算するには、後
面スイープの各面を1回だけトラバースすればよい。
上述のように決定されるFとBはそれぞれ、Pを規定す
る前面スイープと後面スイープのすべてのインターセク
ションを表す、ただしPは、先にpbとPfとのインタ
ーセクションと示した。したがって、Pの前面は、第1
O図に示すように、Fに格納された前面に含まれる(同
一である必要はない)、実際上、Pの前面は、Bに格納
された後面の前にくるFに格納された前面の部分と等し
い、よって、Pの・前面の範囲は、各ピクセルについて
、Fに格納された奥行とBに格納された奥行とを比較す
ることによって決定される。
上述の内容は、本発明により、第11a図に示すように
トリプルZバッファ・アーキテクチャを持つソリッド・
モデリング、システムlOにて実施される、ピクセル・
メモリ12には1表示スクリーン14の全体に対応する
フルフレーム・バッファ、またはスキャン・ライン方式
のシステムに対応するライン・バッファを使用できる。
いずれの場合も、ピクセル・メモリ12に格納される各
ピクセルについて、5つのストレージ・エントリが5つ
のバッファにグループ分けされる。これらのバッファの
1つは、−時画面ZバッファF16として、現在処理さ
れているZ連結プロダクトの前面の奥行を格納する。他
のバッファの1つは。
−時後面ZバッファBlBとして、現在処理されている
Z連結プロダクトの後面の奥行を格納する。他のバッフ
ァの1つは、最終ZバッファZ20として、表示された
ソリッド全体の前面に関連する奥行を格納する。残りの
2つのバッファは、現在のプロダクトの強度を格納する
一時強度バッファT22と、表示されたソリッド全体の
可視面の強度を格納する最終強度バッファI24である
実流例においてバス26は、これらのバッファを相互に
接続し、またプロセッサ28にも接続する。プロセッサ
28は、中央処理装置あるいは周辺装置プロセッサとし
て、バッファを管理し、本発明の方法を実施する命令を
実行する。そのため、プロセッサ28は、バッファや表
示の管理、オペレータの操作、その他のプロセッサ28
の機能に必要なデータや命令を格納するほか、表示され
たソリッドを規定するC3Gツリー構造を格納するメモ
リ30を備える、ピクセル・メモリ12は、いろいろな
方法で構成でき、また、Zバッファと強度バッファのそ
れぞれに関連する24ビツトのピクセル・ワードを規定
するために、たとえば、1ビツトの格納場所を24ブレ
ーン含むメモリとしてもよい。
本発明の方法により、プロセッサ28は、元のC3Gツ
リーをトラバースして、Z連結プロダクトを個別に処理
する。あるプロダクトを考えると、F16、B18、T
22それぞれの内容は、各スイープにおいてZ連結プロ
ダクトに寄与する部分を取り込むことによって決定され
る。プロダクトの前面と後面のスイープがすべて処理さ
れると、その結果は、R終バッファ220とI24に取
り込まれる。以下に、スキャン・ライン・アーキテクチ
ャ・システムを対象にしてこの方法を記述したアルゴリ
ズムについて説明する。このアルゴリズムは、ピクセル
の各列について繰り返されるものである。
この高度なアルゴリズムでは、符号LTは−より少ない
“を表す。
Z=後面奥行: ■=背景色: FOREACH(プロダクトpについて)DOEGIN F=後面奥行: B=前面奥行: T=背景色: 1eft=  0  : right  = 0  : FOREACH(プロダクト・スイープの9面りについ
て)D。
EGIN hl=hスタート・ピクセル: hr=hラスト・ピクセル: IF(hが正のとき)THEN EGIN left =MAX (left、  h l )  
:right =M I N (right、h r 
)  ;FOR(その列のピクセルXについて)DOI
F(hが正ではない、かっXはインターバル(lr、h
r)、またはhが正、か つxはインターバル(1eft、rightlO EGIN d=h奥行(X): IP(hが前面)THEN EGIN IF   d   GT   F(x)EGIN F  (x)  =d  : THEN T (x)=h強度(X): END  : ENr); ELSE   IF   d   LT   B(x)
THEN   B  (x)=d  ;END  。
END  : FOREACH(ピクセルXについて)0 IF(xはインターバル(1eft。
rightll ”「HE N IF  F(x)  LT  MAX(B(x)、Z 
(x)) T HE N  B E G I N  Z(x)=F
  (x)  :  I  (x)=T  (x)  
:END: END  : 第12図に、上記のアルゴリズムのオペレーションの流
れ図を示す。これはスキャン・ライン方式とは異なり、
フルフレーム・バッファとZバッファを用いたものであ
る。
本発明により、干渉またはディファレンスを検出するこ
とによって、たとえば2つのソリッドA、Bが干渉する
かどうか、あるいは同一かどうかを決定する装置が提供
される。前述の表示アルゴリズムに手を加えたものが、
A、Bまたは(A−B)ユニオン(B−A)のCSG表
現に適用される。この決定では、空ではないプロダクト
が検出されるまで各プロダクトが評価されるという意味
で、最終バッファ220も、どのような強度バッファ(
22,24)も必要ない、上述のアルゴリズムに従って
、プロダクトに対応する前面と後面のZバッファが決定
されると、先に示した最後のFOREACHループに代
えて下記のテストが実行される。
FOREACH(xが1eft、rightl D O
IF  F(x)  LT  B(x)T [E N 
 RE T U RN lnotemptyl : END 。
(not −en+pLylが返ると、これは、干渉が
存在するか、または2つのソリッドが同一でないことを
示す。
ここで、任意のCSGツリーを考えた場合に。
Z連結プロダクトのユニオンであるC3Gツリーを生成
する一連の変換処理について説明する。この場合、各プ
ロダクトは前面または後面のスイープのインターセクシ
ョンである。前面または後面のスイープは、元のCSG
ツリーのプリミティブ・ボリュームの性質と位置から簡
単に決定される。
第13図の流れ図に示すとおり、下記の変換シーケンス
により、該C3Gツリーが生成される。
ブロックAにおいて、Z連結されていない各プリミティ
ブ・ボリュームまたは半空間は、Z連結サブボリューム
のユニオンに置き換えられる。ブロックBにおいて、各
プリミティブ・ボリュームまたは半空間は、その前面ス
イープと後面スイープのインターセクションに置き換え
られる。ブロックCでは、ツリーの各ディファレンスW
4TX子がインターセクション演算子に置き換えられ、
その演算子の右側のサブツリーがコンプリメントされる
。右のサブツリーをコンプリメントするステップでは、
このサブツリーは、ド・モルガンのコンプリメンテ−ジ
ョンの法則を適用することによ−)て、等価なサブツリ
ーに変換される。コンプリメントされた前面スイープは
後面スイープと呼ばれ、この逆も成り立つ。
前記のステップが実行された結果1葉がZ連結スイープ
であり、内部ノードがユニオンまたはインターセクショ
ン・ノードに対応するCSGツリーが得られる。このツ
リーは、元のソリッドを表すプール式に対応する。この
式のユ・ニオンにインターセクションを分配すると、選
言形である別の等価な式すなわち積和ともいうインター
セクションのユニオンが得られる。この等価式はまた、
CSGツリーとして格納しやすい。
展開したツリーを作る必要はなく、実際上、展開したツ
リーは通常、元のツリーよりかなり大きくなるので、避
ける方が望ましい0本発明は、新しいツリーを形成する
代わりに、元のC3Gツリーを用いて、前面と後面のス
イープのリストを生成できるようにするものである。こ
のリストは、各プロダクトの要素から成り、よって該プ
ロセスに必要な記憶域を大幅に節約できる。
選言標準形の連続環は1元のツリーを繰り返しトラバー
スすることによって、“速やかに一生成される。この方
法は、再帰的呼び出しを通して各ノードの符号を伝播す
るブリオーダ・ツリー・トラパーサルを実行するもので
ある。各内部ノードにおいて、等価な演算子すなわち正
の値をとる対応するノードの演算子の性質が決定される
。所定のプロダクトのリテラルを得るために、この方法
では1元のC3Gツリーがトップダウンにトラバースさ
れる。等価な演算子がインターセクションであるとき、
左右両方の子が再帰的に辿られる、 等価な演算子がユ
ニオンのとき、辿られる子は1個のみである。いずれの
子かは、どのプロダクトが計算されるかによる0葉に達
すると、対応するリテラル、または元のツリーのプリミ
ティブとその符号が表示アルゴリズムによって処理され
る。各にオン・ノードでどのパスを取るかを決定するた
めに、方向フラグが初期化されて、左の子が指示される
。左の子のプロダクトの組み合わせがすべて生成される
と、方向フラグが変更され、右の子が指示される。右の
子のプロダクトの組み合わせがすべて生成されると、方
向フラグが変更され、再び左の子が指示される。このプ
ロセスは、全プロダクトか生成されるまで繰り返される
本発明をマルチプロセッサで実施すれば、各プロセッサ
はトリプル・バッファに関連する。Z連結プロダクトを
規定する式は、別々のプロセッサに送られ、プロダクト
のトリプル・バッファ表現が並列に構成される。あるプ
ロセッサが2連結プロダクトの評価を終了すると、その
プロセッサは結果を共通のZバッファにマージし、そこ
で次のプロダクトを処理できるようになる。
プリミティブ・ボリュームの面Aを何回スキャン・コン
バートすべきかは、Aを含む、すなわち展開されたC3
Gツリーの形のZ連結プロダクトが何個あるかの関数で
ある。以下の説明かられかるように、本発明により、あ
るサブツリーについては全プロダクトの生成をなくすこ
とによって、CSGツリーを処理するパフォーマンスが
さらに向上する。すなわち、本発明は、積和の形式では
ないCSGツリーを処理する方法を提供し、結果的に、
各プリミティブに対して必要なスキャン・コンバージョ
ンの回数を少なくするものである。
特に、あるクラスのサブツリーが規定され、これが、ど
のようなプリミティブ面も2回以上スキャン・コンバー
トすることなく処理される。詳しくは後述するが、この
ようなプロセスには、3つのZバッファと2つの強度バ
ッファを用いるプロセス、および4つのZバッファと3
つの強度バッファを用いるプロセスが含まれる。またC
10表現の一般形も示すが、これは、反復スキャンを行
わずに処理しやすい、さらに、バッファを追加便用でき
ることから、各プリミティブをスキャン・コンバートす
る回数がさらに減り、特に、比較的大きいサブツリーの
処理は、プロダクトのどのプリミティブ面も2回以上ス
キャン・コンバートすることなく行える。
スキャン・コンバージョンは、規定された多角形のスク
リーン座標に基づき、多角形を連続スキャンして、多角
形が投影されるピクセルをカバーする点のリストを生成
するプロセスとして知られている、ピクセルのリストに
は、ピクセルのレファレンスとなる多角形上の点のZ軸
に沿った匁行のほか、各ピクセルのX/Y位置が含まれ
る。従来のシステムでは、この奥行は、多角形が投影さ
れる各ピクセルに関連したtUの奥行バッファまたはZ
バッファの場所に格納される。
面によってカバーされないピクセルについては、用いら
れる奥行は、スキャンされた面が正のプリミティブの前
面あるいは負のプリミティブの後面であれば、最大値で
ある。他の場合は、最小奥行値が用いられる。
先に示したように、Z連結プロダクトは2つのZバッフ
ァによって表現できる。さらに言えば。
Z連結プロダクトのコンプリメントも2つのZバッファ
によって表現でき、Z連結された前面と後面のスイープ
であるか、またはZ連結セットのコンプリメントのいず
れかであるセットのプロダクトの前面は、2つのZバッ
ファと1つの一時強・度バッファだけで決定でき、コン
プリメントされていないスイープのスキャン・コンバー
ジョンは1回行うだけでよい、さらに付は加えれば、2
つのZ連結プロダクトのディファレンスの前面は。
最初のプロダクトが1つの前面スイープしかちたない場
合は、2つの2バツフアと1つの一時強度バッファを使
用するだけで決定でき、各スイープは1回スキャン・コ
ンバートするだけでよい、また、2つのZ連結プロダク
トのディファレンスの前面は、3つのZバッファと1つ
の一時強度バツファを使用することによって決定でき、
各スイープのスキャン・コンバージョンは1回だけです
む。さらにまた、CSGで2つのプロダクトのディファ
レンスのユニオンと規定されたソリッドであって、最初
のディファレンスを除き、各ディファレンスの最初のプ
ロダクトが前面スイープを1つしかもたないソリッドは
、3つのZバッファと2つの強度バッファを用いること
で決定でき、各スイープのスキャン・コンバージョンは
1回ですむ、そして、CSGにおいて2つのプロダクト
のディファレンスのユニオンと規定されたソリッドは、
4つのZバッファと2つの強度バッファだけで決定でき
、各スイープのスキャン・コンバージョンは1回ですむ
数学的にはRセットと定義されるソリッドの表現は、本
来的にそのコンプリメントを規定する。
したがって、Z連結セットがその前面と後面のスイープ
によって表されるのであるから、ソリッドのコンプリメ
ン1−も、2つのスイープが有界なソリッドまたはその
コンプリメントを表現するとすれば、同じ2つのスイー
プによって表される。
ここで、プリミティブのプロダクトとプリミティブのコ
ンプリメントのプロダクトについて、Z連結された前面
と後面のスイープのプロダクトな■)とする。コンプリ
メントされたに個の2連結セツトをQl、Q21.、、
、Qkとする(k個のプリミティブ・ボリュームのコン
プリメントなど)、PとQl、Q22.、、、Qkのプ
ロダクトをSとする。1からkまでをiとしたとき、各
Qiは、2つのZ連結スイープのユニオンである6代表
的なプリミティブ・ボリュームは、z4結スイープのイ
ンターセクションであり、よってそのコンプリメントは
、これらのスイープ(Z連結されている)のコンプリメ
ントのユニオンであることが分かっている。したがって
、各Qiを2つの2連結スイーブのユニオンとすると、
SをZ連結スイープ、の積和に展開すれば、2kgAの
プロダクトが得られる。各プロダクトは、PとkmのZ
連結スイープとのインターセクションであり、それぞれ
異なるQlからのものである。Sを、そのプロダクト全
部を生成することによって処理すれば、Pf!−規定す
る各スイープを2′回スキャン・コンバートし、Qlの
コンプリメントされた各スイープをに回スキャン・コン
バートする必要がある。ただし、以下に述べる方法では
、Sの一般形をもつ各サブツリーにPを規定するスイー
プを繰り返しスキャンする必要はない、それでも、この
プロセスは、各Qlをに回スキャン・コンバートするも
のである。
本発明により、以下のシーケンス(第14図の流れ図に
も示した)が、2連結セツトまたはZ連結セットのイン
ターセクションである葉のインターセクションとして表
現できる各サブツリーについて実行される。特に、この
ようなサブツリーは、2連結プロダクトをC3Gから抽
出するための前述のプロセスを面素1ヒする場合に生じ
る。具体的には、プリミティブ・ボリュームは、リテラ
ルとして処理され、展開プロセスにおいては、その前面
と後面のスイープのインターセクションとみなす必要は
ない、その結果は、各プロダクトが正または負のプリミ
ティブのインターセクションである積和となり、ZM結
する必要がない、かかるプロダクトはそれぞれ、P*Q
l*Q2*99本Qkと書ける。かかるプロダクトはそ
れぞれ、第11a図のブロック図および第14図の流れ
図に従って、下記の方法によって処理される。
初めに、最大奥行テストによってPの前面スイープをス
キャン・コンバートして、結果をF16に置き、視点か
ら最も遠い点を得て、T22に格納された対応する強度
と入れ換える。そして以下のプロセスをに回繰り返す、
すなわち、各コンプリメントQiについて、Qiの後面
スイープをスキャン・コンバートして、結果を818に
置き、Qiの前面スイープをスキャン・コンバートして
、結果がF16の後にきて、818がF16の前にくれ
ば、結果をF16に格納する。この場合、T22の強度
も更新される0次に、Pの後面スイープが最大奥行テス
トによってレンダリングされてB18に入る。最後に、
818の前にくるF16の部分が220と【24に統合
される。ここでは、コンプリメントされたプリミティブ
の後面スイープが1元のプリミティブの前面スイープに
対応すること、また、その逆も成り立つことに留意され
たい。
2つのZバッファを用いてプリミティブ・マイナス・プ
ロダクトを考え、前面と後面のスイープのプロダクトを
1)とする、プリミティブを、あるいは広い意味では1
個の前面スイープと有限個の後面スイープとのインター
セクションを、Aとする。ディファレンスA−Pは、2
つのZバッファF16.818と一時強度バッファT2
2を用いて、以下のステップ(第15図の流れ図にも示
した)によって各面を1回スキャン・コンバートすれば
求められる。
最初に、奥行バッファ・テストによって、Pの後面スイ
ープをスキャン・コンバートして、結果をB18に置く
ことによって、常に最大距離の点を格納する。次に、奥
行バッファ・テストによって、Pの前面スイープをスキ
ャン・コンバートして、結果をF16に置くことにより
、常に最小距離の点を格納し、前面に最も近い点に関連
する強度もT22に格納する。そして、Aの前面スイー
プだけをスキャン・コンバートし、B18の前またはF
16の後にくる各点の奥行をFL6に格納し、関連する
強度をT22に格納する。次に、B18をクリアし、へ
の後面スイープをすべてスキャン・コンバートして、結
果をB18に置き、前記の最小奥行テストによりそれら
のインターセクションを求める。最後に、B18の前に
くるF16の部分をZ2Qと124に統合する。
3つのZバッファを用いたプロダクト・マイナス・プロ
ダクトを考え、前面と後面のスイープのプロダクトをA
およびPとする。ディファレンスA−Pは、(第16図
の流れ図にも示した)下記のステップによって、3つの
ZバッファF16.818.220と2つの強度バッフ
ァT22、I24を用いて各面を1回スキャン・コンバ
ートすることによって求められる。
最初に、奥行バッファ・テストを適用してPの後面スイ
ープをスキャン・コンバートし、結果をB18に置く0
次に、奥行バッファ・テストを適用してPの前面スイー
プをスキャン・コンバートし、結果なF16に置き、そ
のユニオンを得て、最小距離の点を格納し、前面に最も
近い点に関連する強度をT22に格納する1次に、Aの
前面スイープをすべてスキャン・コンバートして、結果
を220に置き、最大奥行バッファ・テストによりその
インターセクションを求め、前面に最も近い点の強度を
124に格納する。そして、220と■−24によって
規定された各点について、その点がB18の前またはF
16の後にくれば、その点の奥行をF16に、関連する
強度をT22にそれぞれ格納する0次に、B18をクリ
アし、Aの後面スイープをすべてスキャン・コンバート
して、結果をB18に置き、そのインターセクションを
前述の最小奥行テストを適用して求める。最後に、B1
8の前にくるF16の部分を220と124に統合する
6 上記の各方法は、CSGにおいてサブツリーのユニオン
として表せるソリッドの処理に適用できる。ここで各サ
ブツリーは2つのプロダクトのディファレンスである。
このような構成のとき、本発明によれば、各面のスキャ
ン・コンバージョンは1回だけ行われる。
C3Gにおいて2つのプロダクトのディファレンスのユ
ニオンとして規定され、最初のディファレンスを除き、
各ディファレンスの最初のプロダクトが1つの前面スイ
ープしかもたないソリッドは、3つのZバッファと2つ
の強度バッファによって決定される。これは、先に示し
たとおり、5つのバッファをすべて用いることで最初の
ディファレンスが決定され、後のディファレンスに対し
ては2つのZバッファと1つの強度バッファしか必要と
しないからである。ただし、システムlOに右いて、4
つのZバッファと3つの強度バッファが使用できれば(
第11b図参照)、CSGにおいて2つのZ連結プロダ
クトのディファレンスのユニオンと規定されたソリッド
は、表示あるいはヌル(空)オブジェクトの検出を目的
として、上述のように各プリミティブ・ボリュームの各
面を1回だけスキャン・コンバートすることによって処
理される。プロダクトの各ディファレンスは、上述のよ
うに3つのZバッファと2つの強度バッファを用いるこ
とによって処理され、その結果は後に、第4のグローバ
ルZバッファ32と第3のグローバル強度バッファ34
に統合される。
これまでに述べた本発明は、ハードウェアに専用バッフ
ァを使用したパラレルをあるいはスキャン・ライン型の
グラフィクス処理システムをはじめ、様々な形態で実施
できることが分かっている。また、各種のZバッファと
強度バッファにメモリ領域が割り当てられた汎用コンピ
ュータにも実施できる。さらに、前述の本発明の方法に
は、後面バッファBを必要としないか、またはlピクセ
ル当り1ビツトのメモリしか持たない比較的小型のバッ
ファに置き換えられる場合にも実施できる方法のあるこ
とが確かめられている。たとえば、前面と後面のスイー
プのプロダクトの前面は、下記の方法によって、前面バ
ッファF16と強度バッファT22だけで計算でき、後
面バッファBlBは全く使用する必要がないこの方法は
第12図に示した方法の変形である。各プロダクトにつ
いて、第12図のように、最初に前面スイープをすべて
スキャン・コンバートする0次に、後面スイープをスキ
ャン・コンバートして、結果を318に置いた後、B1
8を用いて、Z20にマージされるF1aの部分を切り
込む代わりに、後面スイープを一度に1つ用いてF1a
を直接切り込む、後面をスキャン・コンバートする際に
は1面によってカバーされないピクセルに対して最小奥
行値を用いることを考慮して、F1aは、F1aに格納
された奥行がスキャン・コンバージョンによって生成さ
れた奥行を超えるピクセルにおいて、表示可能な最大奥
行に置き換えられる。
このほか、一定のオペレーションを実行する順序は重要
ではないこと、そしてオペレーションの順序を変更して
同じ機能を実行するときに、他の方法も導かれることが
確かめられている。
E、効果 本発明によれば、CSGで規定されたソリッド・オブジ
ェクトの実物に近いシェーディング像を生成するとき、
あるいはかかるソリッド同士の干渉やディファレンスを
検出するときの処理効率が大幅に向上する0本発明を実
施することで、ソリッド・モデリングやCAD/CAM
アプリケーションに用いられるコンピュータ・システム
の性能が大幅に向上する。
【図面の簡単な説明】
第1図は、ソリッドlのC3Gの2進本表現を示す図で
ある。 第2a(3は、スクリーン・モデルCのピクセルBを通
して見たソリッドlの面上の点Aを示す図である。 第2b図は、ピクセルBを通して見た点Aのスクリーン
・イメージを示す図である。 第3a図ないし第3d図は、非凸面ソリッドの各面の分
類が視点の関数であることを示す図である。 第4図は、非凸面ソリッドの前面を表示するための後面
から前面への順序付けを示す図である。 第5a図ないし第5d図は、所定のピクセルについて、
ソリッドA上の可視点が奥行の比較によって選択される
従来の奥行バッファ・アルゴリズムを示す図である。 第6図は、可視点Aを選択する従来のレイ・キャスティ
ング・アルゴリズムを示す図である。 第7a図は、視点に対して第1の方向をもつ、Z連結さ
れた非凸面ソリッドを示す図である。 第7b図は、第2の方向をもつ、Z連結されていない非
凸面ソリッドを示す図である。 第8a図は、Z連結されたセットSを、第8b図は、S
の前面スイープSfを、第8c図は、Sの後面スイープ
sbを示す図である。 第9図は、2連結ソリツドがそのソリッドの前面と後面
のスイープのインターセクションであることを示す図で
ある。 第1O図は、Z連結プロダクトPの前面が、後面スイー
プpbの後面の前にくる前面スイープPfの前面の部分
であることを示す図である。 第11a図と第11b図は、Zバッファと強度バッファ
をそれぞれ複数個含む本発明によるソリッド・モデリン
グ装置lOのブロック図である。 第12図は、CSGツリーのZ連結プロダクトを処理す
る本発明の方法を示す流れ図である。 第13図は、C3Gツリーを変換して、Z連結プロダク
トのユニオンであるC3Gツリーを生成する方法を示す
流れ図である。 第14図は、正負の(コンプリメントされた)プリミテ
ィブのプロダクトを処理する方法を示す流れ図である。 第15図は、プリミティブAマイナス・プロダクトPの
処理方法を示す流れ図である。 第16図は、3つの2バツフアを用いて、プロダクトへ
マイナス・プロダクトPを処理する方法を示す流れ図で
ある。

Claims (7)

    【特許請求の範囲】
  1. (1)コンストラクティブ・ソリッド・ジオメトリ(C
    SG)ツリー構造によって表され、視点からの視線と事
    実上平行なZ軸に沿って配置された、視点から見た前面
    と後面とを有するソリッド(S)を表示する装置であっ
    て、 前記CSGツリー構造から、Sに関連する少なくとも1
    個のZ連結プロダクトを決定する手段と、 決定されたZ連結プロダクトに関連する前面の奥行表現
    を格納する第1のZバッファ手段(F)と、 前記決定されたZ連結プロダクトに関連する後面の奥行
    表現を格納する第2のZバッファ手段(B)とを含む、
    グラフィクス処理装置。
  2. (2)3次元オブジェクトの表現を表示する手段を有す
    るデータ処理システムにおいて、オブジェクトのコンス
    トラクティブ・ソリッド・ジオメトリ(CSG)ツリー
    表現を処理して、Z連結スイープのプロダクトにグルー
    プ分けされたZ連結スイープのリストを作成する方法で
    あって、(a)第1のZバッファ手段(Z)を最大奥行
    に、第1の強度バッファ手段(I)を所定の強度にそれ
    ぞれ初期化するステップと、 (b)第2のZバッファ手段(F)を所定の最小奥行に
    、第3のZバッファ手段(B)を所定の最大奥行にそれ
    ぞれ初期化するステップと、 前記プロダクトの各プリミティブについて、(c)前記
    プリミティブの前面スイープ(frontsweep)
    をスキャン・コンバートして、前記前面スイープ上の点
    に関連する奥行を決定するステップと、 (d)前記前面スイープの奥行をF内の対応する奥行と
    比較し、F内の対応する奥行よりも大きい奥行について
    は、奥行をFに、対応する強度を第2の強度バッファ手
    段(T)に格納するステップと、 (e)前記プリミティブの後面スイープ(backsw
    eep)をスキャン・コンバートして、前記後面スイー
    プ上の点に関連する奥行を決定するステップと、 (f)前記後面スイープの奥行をB内の対応する奥行比
    較し、B内の対応する奥行よりも小さい奥行については
    、奥行をBに格納するステップと、 各プリミティブについてステップ(c)ないし(f)を
    実行した後、 (g)Fに格納された奥行を、ZおよびBに格納された
    奥行と比較するステップと、 Fに格納された奥行がBに格納された対応する奥行より
    も小さく、Zに格納された対応する奥行よりも大きいと
    き、 (れ)Fの奥行をZ内の対応する場所に格納し、Tに格
    納された対応する強度をI内の対応する場所に格納する
    ステップとを含む、オブジェクトのCSGツリー表現を
    処理することによるグラフィクス処理方法。
  3. (3)3次元オブジェクトの表現を表示する手段を有す
    るデータ処理システムにおいて、オブジェクトのコンス
    トラクティブ・ソリッド・ジオメトリ(CSG)ツリー
    表現を処理して、正と負の、すなわちコンプリメントさ
    れた、選言 (disjunctive)形のプロダクトにグループ
    分けされたプリミティブのリストを作成する方法であっ
    て、各プロダクトが正のプロダクトPと複数個の負のプ
    リミティブQiのインターセクションである場合に、 (a)Z連結された前面スイープのプロダクト(P)の
    前面スイープをスキャン・コンバートして、結果を第1
    のZバッファ手段(F)に置くステップと、 (b)Pの前面に関連する強度を第1の強度バッファ手
    段(T)に格納するステップと、(c)各Qiについて
    、コップリメントされたZ連結セットQlないしQkの
    個数をkとして、ステップ(d)、(e)、(f)、(
    g)をそれぞれに回繰り返し実行するステップと、 (d)Qiの後面スイープをスキャン・コンバートして
    、結果を第2のZバッファ手段(B)に置くステップと
    、 (e)Qiの前面スイープをスキャン・コンバートする
    ステップと、 (f)Qiの前記前面スイープをスキャン・コンバート
    したステップの結果を、前記結果が第1のZバッファ手
    段(F)の対応する内容の後にくると決定されたとき、
    および前記第2のZバッファ手段(B)の対応する内容
    が、前記第1のZバッファ手段(F)の対応する内容の
    前にくると決定されたときにのみ、前記第1のZバッフ
    ァ手段(F)に格納するステップと、 (g)ステップ(f)の結果が前記第1のZバッファ手
    段(F)に格納されているときにのみ、Qiの前面スイ
    ープに関連する強度を第2の強度バッファ手段(I)に
    格納するステップと、 (h)Pの後面スイープをスキャン・コンバートして、
    結果を前記第2のZバッファ手段(B)に置くステップ
    と、 (i)前記第2のZバッファ手段(B)の内容の前にく
    る前記第1のZバッファ手段(F)の内容を第3のZバ
    ッファ手段(Z)と前記第2の強度バッファ手段(I)
    に統合するステップとを含む、オブジェクトのCSGツ
    リー表現を処理することによるグラフィクス処理方法。
  4. (4)3次元オブジェクトの表現を表示する手段を有す
    るデータ処理システムにおいて、1個の前面スイープと
    有限個の後面スイープのインターセクションをAとした
    ときに、オブジェクトのコンストラクティブ・ソリッド
    ・ジオメトリ(CSG)ツリー表現を処理して、 プリミティブ(A)マイナスZ連結された前面スイープ
    と後面スイープのプロダクト(P)を決定する方法であ
    って、基準点に関連する前記後面スイープの最大距離点
    を格納することによって、Pの前記後面スイープを又キ
    ャン・コンバートして、結果を第1のZバッファ手段B
    に置くステップと、 基準点からの前面スイープの最小距離点を格納すること
    によって、Pの前面スイープをスキャン・コンバートし
    て、結果を第2のZバッファ手段Fに置くステップと、 格納されたすべての最小距離点に関連する強度を第1の
    強度バッファ手段Tに格納するステップと、 Aの前面スイープをスキャン・コンバートするステップ
    と、 前記第1のZバッファ手段Bに格納された対応する点の
    前にくるか、または前記第2のZバッファ手段Fに格納
    された対応する点の後にくるような基準面から離隔した
    Aの前面スイープの各点について、 前記の点の距離を前記第2のZバッファ手段Fに格納す
    るステップと、 前記の点に関連する強度を前記第1の強度バッファ手段
    Tに格納するステップと、 Aのすべての後面スイープをスキャン・コンバートして
    、結果を前記第1のZバッファ手段Bに置くステップと
    、 前記第1のZバッファ手段Zの前にくる前記第2のZバ
    ッファ手段Fの部分を第3のZバッファ手段Zに、前記
    第1の強度バッファ手段Tの対応する部分を第2の強度
    バッファ手段Iにそれぞれ統合するステップとを含む、
    オブジェクトのCSGツリー表現を処理することによる
    グラフィクス処理方法。
  5. (5)視点からの視線に対して事実上平行なZ軸に沿っ
    て配置される、視点から見て前面と後面とを有し、コン
    ストラクティブ・ソリッド・ジオメトリ(CSG)ツリ
    ー構造によって関係づけられる1個以上のサブソリッド
    から成るソリッド・オブジェクト(S)をビジュアルに
    表示するための、各々が独立した複数のピクセルを含む
    連続した複数の表示ラインから成る表示手段を含むシス
    テムにおける、ピクセル・メモリであって、サブソリッ
    ドの1個に関連する前面の奥行表現を格納する第1のZ
    バッファ手段(F)と、前記サブソリッドに関連する後
    面の奥行表現を格納する第2のZバッファ手段(B)と
    、 前記サブソリッドに関連する前面から反射される光の強
    度の表現を格納する第1の強度バッファ手段(T)とを
    含む、 ピクセル格納手段の第1の組と、 Sの前面の奥行表現を格納する第3のZバッファ手段(
    Z)と、 Sの前記前面から反射される光の強度の表現を格納する
    第2の強度バッファ手段(I)とを含む、 ピクセル格納手段の第2の組とを有する、ピクセル・メ
    モリ装置。
  6. (6)コンストラクティブ・ソリッド・ジオメトリ(C
    SG)ツリー構造によって関係づけられる1個以上のサ
    ブソリッドからなるソリッド・オブジェクトをモデル化
    するシステムであって、モデル化されたソリッド(S)
    の視点から見た前面と後面が、視点からの視線と事実上
    平行なZ軸に沿って配置され、モデル化されたソリッド
    をビジュアルに表示するために、各々が独立した複数の
    ピクセルを含む連続した複数のラインから成る表示手段
    を含むシステムを作動させる方法であって、 (a)前記CSGツリー構造から、Sのサブソリッドに
    関連する少なくとも1個のZ連結プロダクトを決定する
    ステップと、 (b)前記サブソリッドの前面に関連する点の奥行を決
    定するステップと、 (c)前記サブソリッドに関連する前記前面の点の決定
    された奥行を第1のZバッファ手段(F)に格納するス
    テップと、 (d)前記サブソリッドの後面に関連する点の奥行を決
    定するステップと、 (e)前記サブソリッドに関連する前記後面の点の決定
    された奥行を第2のZバッファ手段(B)に格納するス
    テップと、 (f)前記サブソリッドに関連する前記前面の点から反
    射する光の強度の表現を第1の強度バッファ手段(T)
    に格納するステップと、 (g)Fに格納された、Sの前記前面上の点に関連する
    、点の奥行を、第3のZバッファ手段(Z)に格納され
    た少なくとも対応する点の奥行と比較して、格納された
    前記の点の奥行のどれがZ内の対応する前記の点の奥行
    の前にくるかを決定し、 Fに格納された前記の点の奥行のどれかがZに格納され
    た対応する前記の点の奥行の前にくる場合、 (h)Z内の1個または複数の点の奥行をF内の前記の
    対応する点の奥行と置換するステップと、 (i)Sの前記前面上の点と関連する第2の強度バッフ
    ァ(I)内の1個または複数の点の強度値を、T内の対
    応する点の強度と置換するステップとを含む、ソリッド
    ・オブジェクト・モデリング・システムを作動させてグ
    ラフィクス処理を行う方法。
  7. (7)コンストラクティブ・ソリッド・ジオメトリ(C
    SG)ツリー表現によって表される3次元オブジェクト
    を処理するデータ処理システムにおいて、2つのオブジ
    ェクトの干渉またはディフアレンスを検出する方法であ
    って、 各プロダクトについて、 第1のZバッファ手段(F)を所定の最小奥行に、第2
    のZバッファ手段(B)を所定の最大奥行にそれぞれ初
    期化するステップと、 前記プロダクトの各プリミティブについて、前記プリミ
    ティブの前面スイープをスキャン・コンバートして、前
    記前面スイープ上の点に関連する奥行を決定するステッ
    プと、 前記前面スイープの前記奥行をF内の対応する奥行と比
    較し、F内の対応する奥行よりも大きい奥行をF内に格
    納するステップと、 前記プリミティブの後面スイープをスキャン・コンバー
    トして、前記後面スイープ上の点に関連する奥行を決定
    するステップと、 前記後面スイープの前記奥行をB内の対応する奥行と比
    較し、B内の対応する奥行よりも小さい奥行をBに格納
    するステップとを実行することによって、 Z連結プロダクトにグループ分けされたZ連結スイープ
    のリストを生成するステップと、Fに格納された前記奥
    行をBに格納された前記奥行と比較し、Fに格納された
    奥行がBに格納された対応する奥行よりも小さい場合に
    、 空でないZ連結プロダクトの存在を指示するステップと
    を有する、グラフィクス処理方法。
JP2099450A 1989-04-19 1990-04-17 グラフィクス処理装置及び方法並びにピクセル・メモリ装置 Expired - Lifetime JPH0727579B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US340322 1989-04-19
US07/340,322 US5027292A (en) 1989-04-19 1989-04-19 Multiple depth buffers for graphics and solid modelling

Publications (2)

Publication Number Publication Date
JPH0362276A true JPH0362276A (ja) 1991-03-18
JPH0727579B2 JPH0727579B2 (ja) 1995-03-29

Family

ID=23332855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2099450A Expired - Lifetime JPH0727579B2 (ja) 1989-04-19 1990-04-17 グラフィクス処理装置及び方法並びにピクセル・メモリ装置

Country Status (5)

Country Link
US (1) US5027292A (ja)
EP (1) EP0393309B1 (ja)
JP (1) JPH0727579B2 (ja)
CA (1) CA2007790C (ja)
DE (1) DE69020780T2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2055532A1 (en) * 1990-11-26 1992-05-27 Xingzhang F. Niu Enhanced solid model generation
JPH07122908B2 (ja) * 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
EP0591325B1 (en) * 1991-06-28 2007-12-05 LIM, Hong Lip Improvements in visibility calculations for 3d computer graphics
US5274760A (en) * 1991-12-24 1993-12-28 International Business Machines Corporation Extendable multiple image-buffer for graphics systems
US5428716A (en) * 1991-12-26 1995-06-27 International Business Machines Corporation Solid-clip methodology and architecture for clipping solid models and displaying cross-sections using depth-buffers
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
DE4303071A1 (de) * 1992-02-03 1993-10-28 Computervision Corp Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
US5497453A (en) * 1993-01-05 1996-03-05 International Business Machines Corporation Method and apparatus for detecting and visualizing interferences between solids
US5583974A (en) * 1993-05-10 1996-12-10 Apple Computer, Inc. Computer graphics system having high performance multiple layer Z-buffer
JP3557208B2 (ja) * 1993-05-10 2004-08-25 アプル・コンピュータ・インコーポレーテッド 高性能複数層zバッファを有するコンピュータ・グラフィックス・システム
US5684939A (en) * 1993-07-09 1997-11-04 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
GB9315852D0 (en) * 1993-07-30 1993-09-15 Video Logic Ltd Shading three-dimensional images
JP2616882B2 (ja) * 1993-12-17 1997-06-04 日本アイ・ビー・エム株式会社 非多様体データ構造に基づく数値制御加工シミュレーション・システム及び方法
EP0725365B1 (en) * 1995-01-31 2002-06-05 Imagination Technologies Limited Method and apparatus for shading three-dimensional images
JPH0969163A (ja) * 1995-08-31 1997-03-11 Fujitsu Ltd コンピュータグラフィックスモデルのポリゴン重なり抽出方法と、ポリゴンのグループ化方法及び装置
US7225404B1 (en) * 1996-04-04 2007-05-29 Massachusetts Institute Of Technology Method and apparatus for determining forces to be applied to a user through a haptic interface
US6084587A (en) * 1996-08-02 2000-07-04 Sensable Technologies, Inc. Method and apparatus for generating and interfacing with a haptic virtual reality environment
US5926182A (en) * 1996-11-19 1999-07-20 International Business Machines Corporation Efficient rendering utilizing user defined shields and windows
US5926183A (en) * 1996-11-19 1999-07-20 International Business Machines Corporation Efficient rendering utilizing user defined rooms and windows
US6249600B1 (en) * 1997-11-07 2001-06-19 The Trustees Of Columbia University In The City Of New York System and method for generation of a three-dimensional solid model
US6552722B1 (en) * 1998-07-17 2003-04-22 Sensable Technologies, Inc. Systems and methods for sculpting virtual objects in a haptic virtual reality environment
US6421048B1 (en) 1998-07-17 2002-07-16 Sensable Technologies, Inc. Systems and methods for interacting with virtual objects in a haptic virtual reality environment
US7030877B1 (en) * 2002-03-04 2006-04-18 Advanced Micro Devices, Inc. Computer graphics processing system, computer memory, and method of use with computer graphics processing system utilizing hierarchical image depth buffer
WO2006004894A2 (en) * 2004-06-29 2006-01-12 Sensable Technologies, Inc. Apparatus and methods for haptic rendering using data in a graphics pipeline
US8208764B2 (en) * 2006-01-21 2012-06-26 Elizabeth Guckenberger Photo automatic linking system and method for accessing, linking, and visualizing “key-face” and/or multiple similar facial images along with associated electronic data via a facial image recognition search engine
WO2012144929A1 (ru) 2011-04-21 2012-10-26 Lukyanets Sergei Vladimirovich Баллон высокого давления из композиционных материалов
US9111071B2 (en) * 2012-11-05 2015-08-18 Sap Se Expression rewriting for secure computation optimization
GB2520365B (en) 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62296282A (ja) * 1986-06-16 1987-12-23 Agency Of Ind Science & Technol 3次元画像表示装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649498A (en) * 1984-05-08 1987-03-10 The University Of Rochester Computer systems for curve-solid classification and solid modeling
US4736306A (en) * 1985-04-29 1988-04-05 The United States Of America As Represented By The United States Department Of Energy System for conversion between the boundary representation model and a constructive solid geometry model of an object
US4821214A (en) * 1986-04-17 1989-04-11 Brigham Young University Computer graphics method for changing the shape of a geometric model using free-form deformation
GB2194656B (en) * 1986-09-03 1991-10-09 Ibm Method and system for solid modelling
US4888583A (en) * 1988-03-14 1989-12-19 Ligocki Terry J Method and apparatus for rendering an image from data arranged in a constructive solid geometry format

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62296282A (ja) * 1986-06-16 1987-12-23 Agency Of Ind Science & Technol 3次元画像表示装置

Also Published As

Publication number Publication date
CA2007790C (en) 1994-03-29
DE69020780D1 (de) 1995-08-17
JPH0727579B2 (ja) 1995-03-29
CA2007790A1 (en) 1990-10-19
EP0393309B1 (en) 1995-07-12
DE69020780T2 (de) 1996-03-14
EP0393309A1 (en) 1990-10-24
US5027292A (en) 1991-06-25

Similar Documents

Publication Publication Date Title
JPH0362276A (ja) グラフィクス処理装置及び方法並びにピクセル・メモリ装置
US6023279A (en) Method and apparatus for rapidly rendering computer generated images of complex structures
Heckbert Discontinuity meshing for radiosity
Wang et al. Volume sculpting
CN103649856B (zh) 通过工具的动作模拟物体的加工的方法及其系统和计算机程序产品
JP5665872B2 (ja) リアルタイムレンダリングのための、接続性に依拠した形状最適化
JP3759971B2 (ja) 3次元像を陰影付けする方法
Ernst et al. Early split clipping for bounding volume hierarchies
JP2009525526A (ja) ビーム放出によって仮想画像を合成するための方法
JPH05266212A (ja) データプロセッサによってオブジェクトの作成を実行する方法及びグラフィックスディスプレイ装置
JPH0776989B2 (ja) 3次元物体の2次元イメージ発生方法及びその装置
Otaduy et al. CLODs: Dual Hierarchies for Multiresolution Collision Detection.
JPH05266216A (ja) ボリュームレンダリングを行う方法及び装置
US5613049A (en) Method for creating spatially balanced bounding volume hierarchies for use in a computer generated display of a complex structure
JPH0620012A (ja) 科学的図形表示方法
US7088358B2 (en) Collision detection method for deformable objects in a scene
US20060066616A1 (en) Diffuse photon map decomposition for parallelization of global illumination algorithm
Plate et al. A flexible multi-volume shader framework for arbitrarily intersecting multi-resolution datasets
Vyatkin et al. Convolution surfaces using volume bounding
Ulyanov et al. Interactive vizualization of constructive solid geometry scenes on graphic processors
Jansen Solid modelling with faceted primitives
Maurel et al. A 4D ray tracing
JPH09305791A (ja) 立体画像生成装置および立体画像生成方法
JP2666353B2 (ja) レイトレーシングによる高速映像生成方式
Bronsvoort et al. Design and display of solid models