JPH10208076A - 高速α透明性レンダリング法 - Google Patents

高速α透明性レンダリング法

Info

Publication number
JPH10208076A
JPH10208076A JP9341486A JP34148697A JPH10208076A JP H10208076 A JPH10208076 A JP H10208076A JP 9341486 A JP9341486 A JP 9341486A JP 34148697 A JP34148697 A JP 34148697A JP H10208076 A JPH10208076 A JP H10208076A
Authority
JP
Japan
Prior art keywords
transparent
primitive
primitives
buffer
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9341486A
Other languages
English (en)
Inventor
D Stroban Howard
ハワード・ディー・ストロバン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10208076A publication Critical patent/JPH10208076A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Abstract

(57)【要約】 【課題】 グラフィックスディスプレイにおいて、透明
な物体を高速にレンダリングし高品質の画像を生成し、
更に、面の異常を生じないよう処理すること。 【解決手段】z-バッファを不透明な物体のための深度バ
ッファとしてのみ用い、不透明な物体を最初に処理し
て、この不透明な物体の上に透明な物体が重ねられる。
また、 透明な物体のすべての後向きのプリミティブを
ラスタ化及びα混合し、その後その透明物体のすべての
前向きのプリミティブをラスタ化及びα混合する。ま
た、z-バッファを用いてシーン内の物体のすべての最前
方のプリミティブの深度画像が作成され、z-バッファ内
のz-値より小さいz-値を有するすべてのプリミティブが
処理され、フレームバッファに送られ、最後に、z-バッ
ファ内のz-値に等しいz-値を有するすべてのプリミティ
ブが処理されフレームバッファに送られることにより、
シーン内の物体の最前方の面が最後に処理される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムに関し、特にコンピュータシステム内の物体のグラフ
ィックスディスプレイに関する。さらに詳細には、本発
明はコンピュータシステム内のグラフィックスディスプ
レイにおける透明な物体のレンダリングに関する。
【0002】
【従来の技術】現在のコンピュータユーザーは、従来に
比べてコンピュータアプリケーションのためのより高度
なグラフィックスディスプレイ機能を必要としている。
当該分野の発展につれて、ユーザーのかかる需要の増大
に応えるために多くの方法が実施され技術革新が行なわ
れてきた。ソフトウエアの能力と機械の能力の発達には
しばしば抜きつ抜かれつの関係がある。これらのうち一
方が進歩すると、そのコストに見合った性能や画質の改
善が得られる。ハードウエア技術、処理速度およびコン
ピュータメモリの向上によって、必要となるハードウエ
アや画像のレンダリングに要する膨大な時間の観点か
ら、従来不可能であったグラフィックの品質およびレン
ダリング時間の向上が可能となった。同様に、ソフトウ
エアの進歩によっても画質と性能の向上がもたらされ
た。
【0003】透明な物体のレンダリングは従来コンピュ
ータグラフィックスにおいて特に困難な問題であった。
一般に、不透明な物体の三次元シーンにおけるレンダリ
ングはさまざまなアルゴリズムを用いて行なわれる。z-
バッファアルゴリズムがその典型的なものである。
【0004】z-バッファアルゴリズムにおいては、フレ
ームバッファに各画素の色値が記憶され、z-バッファに
各画素の深度、すなわちz-値が記憶される。第1のステ
ップにおいて、フレームバッファは背景色に初期設定さ
れ、z-バッファは0に初期設定される。次に、物体がラ
スタ化され、任意の順序でフレームバッファに送られ
る。これは通常は受信データの順である。フレームバッ
ファに対応するエントリを有するz-バッファが各画素の
z-値を記憶する。ある画素のz-値はある物体の画素があ
る特定の視点(通常はグラフィックスディスプレイの画
面)から見て他の物体の前にあるか後ろにあるかを示
す。ラスタ化処理において走査変換中の画素がバッファ
内の現在の値より観察者に近い場合、フレームバッファ
およびz-バッファ内の古い値が、この新たな画素の色お
よび深度の値に置き換えられる。その結果、不透明な物
体の場合、第2の不透明な物体の後にある第1の不透明
な物体はレンダリングされない。これは、画面前方から
見たとき、第1の不透明な物体は第2の不透明な物体に
よって隠れるためである。しかし、この方法は透明な物
体に対しては有効ではない。透明な物体は、他の透明な
物体あるいは不透明な物体の前方にある場合でも、レン
ダリングを行なうにはその両者の成分を混合しなければ
ならない。
【0005】可視面リスト優先順位アルゴリズムによっ
てシーン内の物体の可視性の順位が決定される。シーン
内の物体は通常そのz-値によって分類され、分類された
順序でフレームバッファに送られる。物体はこの分類さ
れた順序でレンダリングされれば適正な画像が得られ
る。
【0006】可視面リスト優先順位アルゴリズムは透明
な物体を組み込むように適合されたものである。一例と
してPainterのアルゴリズムがあり、これは深度分類ア
ルゴリズムである。各物体の深度を記憶するz-バッファ
を用いて物体がラスタ化され、後から前へという順序に
分類される。ある物体のz-値が他の物体のz-値と重なる
場合、それらの物体の各部分への分割と、その各部分を
z-値に基づいて後から前へという順序付けを反復的に行
なうことによってあいまいさが解消される。最後に、各
物体あるいは物体の部分の画素値がこのように決定され
た後から前への順序でフレームバッファに送られる。
【0007】かかるアルゴリズムへの透明な物体の導入
の問題についてはいくつかの方法が採られて来た。スク
リーンドア透明処理においては、透明な物体に関係付け
られた画素の一部のみを用いてメッシュが作成される。
ある画素の(x、y)アドレスに関係付けられたビット
を用いて透明ビットマスクに索引を付ける。このマスク
の索引ビットが1である場合、その画素が使用される。
1でない場合、その画素は使用されず、その代わりにそ
の画素の位置が次に低いビットが使用される。ビットマ
スク中の1のビットが少ないほど、その物体はより透明
に見える。この方法では、色値の混合は行なわれない。
ビットマスク効果が多数の画素にわたって集積すること
によって、観察者の目による空間的統合が起こり、補間
された透明性が得られる。しかし、この方法によっては
高品質の画像は得られず、視覚的にも良好なものではな
い。
【0008】他の方法では混合法が用いられる。シーン
内の各物体の各画素は0から1の範囲のα値を有する。
ある画素のα値が0であるとき、これはその画素が完全
に不透明であることを示し、α値が1であるとき、これ
はその画素が完全に透明であることを示す。1つあるい
はそれ以上の透明な面、あるいは不透明な面と1つある
いはそれ以上の透明な面を通したビューを表わす画面の
画素の陰は、それらの面自体の個々の陰から直線補間さ
れる。最も適正な結果を得るためには、混合を後から前
への順序で厳密に行なわねばならない。この後から前へ
の順序を守らないと、シーン内の物体の形状あるいは一
部に誤った色が現われる。
【0009】他の方法としては、シーン内の透明な物体
を最後にレンダリングして、その色をフレームバッファ
に既に入っている色と組み合わせるというものがある。
しかし、この方法ではz-バッファが修正されないため、
2つの透明な物体が重なったとき、それらの間の深度の
関係が考慮されないことになる。これらが後から前では
なく前から後という順序でレンダリングされると、誤っ
た色が現われる結果となる。
【0010】更に、z-バッファ型のシステムにおいて透
明な物体を後から前への適正な順序でレンダリングする
他の方法では、複数回のレンダリングを必要とし、メモ
リ量を増大させる。最初に、z-バッファを用いてすべて
の不透明な物体をレンダリングする。次に、透明な物体
が処理され別のバッファ群に入れられる。このバッファ
群は、α値、色、z-値およびフラグビット(これは当初
はオフに設定される)を保持する。その後、z-値が比較
される。ある透明な物体の画素のz-値が、不透明z-バッ
ファ内のz-値より観察者に近いが透明z-バッファ内のz-
値より遠い場合、そのフラグビットがセットされ、その
色、z-値および透明性が透明バッファに保管される。す
べての透明な物体に対してこの手順が実行される。その
後、最も遠い透明な物体の情報が元のフレームバッファ
およびz-バッファ内の情報と混合される。不透明z-バッ
ファ内のz-値が、フラグがセットされた画素の透明性z-
値に置き換えられ、フラグビットがリセットされる。各
画素についてこの処理が、処理が完了するまで、次に近
い物体に対して繰り返される。
【0011】
【発明が解決しようとする課題】しかし、このような後
から前への厳密な順序付けを行なう方法を用いると、機
械条件やシーン内の物体のレンダリングに要する時間の
観点から非常にコストが大きくなる。アプリケーション
によってはハードウエアコストは極めて高くなる。ま
た、ユーザーの対話性や生産性を維持するためにシーン
を迅速にレンダリングおよび更新しなければならないCA
D/CAM等のアプリケーションにおいてはシーンのレンダ
リングに要する時間がユーザーにとって許容できないも
のになる場合がある。
【0012】透明な物体のレンダリングにおける、個々
の物体のレンダリング順序以外の問題点としては、個々
の透明な物体自体の処理方法がある。たとえば、球体等
の透明な三次元物体をレンダリングするには、球体を当
該分野においてプリミティブ(primitive、基本形状)
と呼ばれる一連のポリゴン(polygon、多角形)に分解
し、その球体全体にわたってかかるプリミティブを1つ
1つ処理する。各プリミティブは、そのプリミティブの
面から外側に向かう面法線を有する。問題は、これらプ
リミティブは球体を横断しているので、それらプリミテ
ィブは球体の半分の部分では前から後という順序で処理
されるが、球体の他の半分においては反対の順序で処理
されることである。その結果バッファ内に誤った色が生
成され、目に見える欠陥が生じる。球体の半分の順序付
けが正しく他の半分の順序付けが誤っているため、この
物体は滑らかな面ではなく外観上切れ目のあるものとし
てレンダリングされる。
【0013】したがって、当該分野において高品質の画
像をユーザーにとってそのアプリケーションにおいて許
容可能な速度で生成し、アプリケーションの実行に要す
るハードウエアのコストアップを必要としない、グラフ
ィックスディスプレイ用の透明物体の改良されたレンダ
リング法が必要とされていることは明らかである。ま
た、面の異常を生じないよう個々の透明な物体を後から
前への順序で処理することが必要とされている。本発明
は当該分野におけるかかるニーズ及びその他のニーズに
応えるものである。
【0014】
【課題を解決するための手段】本発明の一側面は、図形
表示すべきシーン内の不透明な物体および透明な物体、
あるいは透明な物体のみを高速にレンダリングすること
である。
【0015】本発明の他の側面は、図形表示すべき透明
な物体を含むシーンの高品質な画像を生成することであ
る。
【0016】本発明のさらに他の側面は、各透明物体の
プリミティブを後から前への順序で処理して物体の表面
上の連続性に切れ目が現われることを防止することであ
る。
【0017】本発明のまた他の側面は、任意の物体の前
面を最後に処理して図形表示すべきより適正な画像を得
ることである。
【0018】本発明のさらに他の側面は、z-バッファを
用いてシーン内の物体の前面を最後に処理することであ
る。
【0019】本発明のさらに他の側面はz-バッファを不
透明な物体のための深度バッファとしてのみ用いて、不
透明な物体を最初に処理し、その後この不透明な物体の
上に透明な物体が重ねられることである。
【0020】本発明の上記の各側面およびその他の側面
は、最初に透明な物体のすべての後向きのプリミティブ
をラスタ化およびα混合し、その後その透明物体のすべ
ての前向きのプリミティブをラスタ化およびα混合する
シーンレンダリング法によって達成される。これによっ
て表示された物体の表面の連続性に切れ目が生じること
を防止する。
【0021】本発明の他の実施形態においてはz-バッフ
ァが不透明な物体の深度バッファとして用いられ、シー
ン内のすべての不透明な物体が最初に処理され、その後
この不透明な物体の上に任意の透明な物体が重ねられ
る。
【0022】本発明のさらに他の実施形態においては、
z-バッファを用いてシーン内の物体のすべての最前方の
プリミティブの深度画像が作成される。次に、z-バッフ
ァ内のz-値より小さいz-値を有するすべてのプリミティ
ブが処理され、フレームバッファに送られる。最後に、
z-バッファ内のz-値に等しいz-値を有するすべてのプリ
ミティブが処理されフレームバッファに送られる。これ
によって、シーン内の物体の最前方の面が最後に処理さ
れ、図形表示すべきより適正な画像が得られる。
【0023】
【発明の実施の形態】以下に本発明の現在考えられる最
良の実施形態を説明する。この説明は限定的な意味に解
釈すべきではなく、本発明の一般的原理を説明する目的
で行なうものに過ぎない。本発明の範囲は特許請求の範
囲によって定められるものである。
【0024】図1には本発明を適用したコンピュータシ
ステムのブロック図を示す。図1に示すように、コンピ
ュータシステム100は処理要素102を有する。処理要素10
2はシステムバス104を介してコンピュータシステム100
の他の要素と通信する。キーボード106によってユーザ
ーはコンピュータシステム100に情報を入力することが
できる。グラフィックスアクセラレータ114はz-バッフ
ァ126およびフレームバッファ120を有する。フレームバ
ッファ120はグラフィックスディスプレイ110に表示され
るデータを保持し、コンピュータシステム100によるユ
ーザーへの情報の出力を可能とする。また、マウス108
が情報の入力に用いられ、記憶装置112がコンピュータ
システム100内のデータおよびプログラムの記憶に用い
られる。同じくシステムバス104に取り付けられたメモ
リ116はオペレーティングシステム118、ユーザーアプリ
ケーション122、および本発明の透明性レンダリング法1
24を保持する。透明性レンダリング法124はグラフィッ
クスアクセラレータ114のz-バッファ126を使用する。
【0025】図2には不透明物体および透明物体の3パ
スレンダリング法のフローチャートを示す。この方法は
透明性レンダリング法124に含まれ、ユーザーアプリケ
ーション122によって呼び出される。図2において、ブ
ロック202で第1のパスによってシーンのすべての不透
明物体が処理される。これらの物体のプリミティブがラ
スタ化され、すべての画素の値がz-バッファ126(図
1)およびフレームバッファ120(図1)に送られる。
【0026】ブロック204で、第2のパスによってまずz
-バッファへの書き込みが不能化される。透明物体のす
べての前向きのプリミティブが選別される。すべての透
明物体の後向きのプリミティブがラスタ化され、処理さ
れる。図3にこの後向き処理方法を示す。
【0027】図3には円形の透明物体300の平面図を示
す。この円形の透明物体300はこの平面図にエッジとし
て現われる一連のプリミティブ302から構成される。同
図は例示を目的とするものに過ぎない。実際には円形形
状をより細かく近似するためにより多くのプリミティブ
が用いられる。
【0028】各プリミティブ302の正面を各プリミティ
ブ302から外側に伸張する面法線矢印304によって示す。
視点が方向矢印310の方向であるとき、円形の透明物体3
00をレンダリングする通常の手順としては、プリミティ
ブ312を起点として円形の透明物体300のプリミティブを
1つ1つ横切っていく。面法線矢印304が方向矢印306と
おおよそ同方向を指し、想像上の線A-A’からの偏き角
が90゜以下であるプリミティブを後向きとする。面法線
矢印304が方向矢印308とおおよそ同方向を指し、想像上
の線A-A’からの偏き角が90゜以下であるプリミティブ
を前向きとする。当業者には、あるシーン内の物体の視
点が変化すると、前のビューにいて前向きあるいは後向
きであったプリミティブは、新たなビューではその向き
が変化する可能性があることは理解されよう。
【0029】円形の透明物体300をプリミティブ312を起
点として横切っていくと、円形の透明物体300の半分は
前から後へという順序で(AからA’に向かって)ラスタ
化され、他の半分は後から前へという順序で(A’からA
に向かって)ラスタ化される。これは、中実な物体をレ
ンダリングする際には問題にならない。これは、中実の
物体では後向きのプリミティブは見えないためすべて選
別されるためである。しかし、透明な物体の場合、この
順序付けでは後向きのプリミティブが選別されないため
バッファ内に誤った色が発生する。この透明物体をラス
タ化および表示すると、各半分の順序付けの相違によっ
てこの透明物体の可視面の中央部に、外観上切れ目が現
われる。
【0030】この問題を解決するために、本発明では円
形の透明物体300を2パスで処理する。第1のパスでは
すべての後向きのプリミティブ302(これらは面法線矢
印304が方向矢印306とおおよそ同方向を指す想像上の線
B-B’のA’側のプリミティブ302である)の画素に対し
てラスタ化およびα混合が行なわれる。第2のパスでは
すべての前向きのプリミティブ302(これらは面法線矢
印304が方向矢印308とおおよそ同方向を指す想像上の線
B-B’のA側のプリミティブ302である)の画素に対して
ラスタ化およびα混合が行なわれる。この手順によって
従来の方法に見られた目障りな継ぎ目が除去される。こ
れは、かかる継ぎ目がこの場合レンダリングされた物体
のエッジに位置し、したがって識別不能であるためであ
る。他の利点として、各物体について、透明物体の個々
のプリミティブのすべてに対して後から前への順序付け
が達成される。
【0031】図2のブロック204に戻って、すべての透
明物体の後向きのプリミティブをラスタ化する処理にお
いて、z-バッファ比較が実行され、各透明物体について
フレームバッファにデータを記憶すべきか否かが判断さ
れる。不透明物体の背後にあることを示すz-値を有する
透明物体が選別される。すべての不透明物体の前にある
ことを示すz-値を有する透明物体が処理される。レンダ
リングすべきすべての透明物体のα値を用いてその透明
物体の画素の色とフレームバッファ内の現在の画素値が
混合される。
【0032】図4にはグラフィックスディスプレイ上で
通常見られるような互いに重なり合った不透明な平面状
物体と透明な平面状物体の正面図を示す。当業者には三
次元物体をかかる重なり合った状態に表示することも可
能であり、また物体が互いに交差したものであってもよ
いことは理解されよう。図4において、物体402および4
06は不透明であり、物体404および408は透明である。当
業者には各透明物体の上述したようなα値で示される透
明度は異なる場合があることは理解されよう。物体404
と物体408との透明度の違いをクロスハッチングパター
ンの違いで表わしている。
【0033】物体402は物体404および408の一部の上に
重なっている。物体404は物体406及び408の一部の上に
重なっている。物体406は物体408の一部の上に重なって
いる。物体408は他の物体の上に重なっていない。
【0034】不透明な物体402の最前方の面410は、物体
404及び408のその下にある部分を完全に覆い隠し、この
最前方の面は完全な状態で見える。
【0035】物体406の左側の最前方の面412と右側の最
前方の面414は物体408の物体406の下になった部分を完
全に覆い隠し、したがって物体406の左側の最前方の面4
12は完全な状態で見える。物体406の右側の最前方の面4
14は透明な物体404の最前方の面416を通して見え、物体
404の固有の各画素のα値の影響を受ける。
【0036】物体408の最前方の面420は各画素のα値に
応じた状態で見える。物体408の最前方の面420の一部の
上に物体404の最前方の面416が重なっている。物体404
の最前方の面416の、物体402の最前方の面410および物
体406の左側の最前方の面412と右側の最前方の面414に
隠れていない物体408の最前方の面420に重なる部分を面
領域418として図示し、クロスハッチングパターンの組
み合わせで示す。面領域418は物体404と物体408の各画
素のα値の組み合わせに応じた状態で見える。
【0037】図2に戻って、ブロック206では、第3の
パスでまずz-バッファへの書き込みが不能化される。透
明な物体のすべての後向きのプリミティブが選別され
る。すべての透明な物体の前向きのプリミティブが図3
を参照して上に述べたようにラスタ化される。レンダリ
ングすべきすべての透明な物体のα値を用いてこれらの
透明な物体の画素の色とフレームバッファ内の現在の画
素値が混合される。その結果得られた画素の色値が図4
を参照して上に述べたようにフレームバッファに送られ
る。
【0038】この3パスシーンレンダリング法は従来の
スクリーンドア法に比べてはるかに正確で良好な可視画
像を提供するものである。この3パスシーンレンダリン
グ法は目障りな継ぎ目を除去するものである。これは、
レンダリング後いかなる不一致も物体のエッジに発生
し、そこではかかる不一致は目に見えないためである。
各透明物体間での処理順序は必ずしも後から前とならな
い場合もあるが、それぞれの透明物体のプリミティブは
後から前への順序でレンダリングされる。この3パスシ
ーンレンダリング法は、すべての物体を後から前の順序
で処理する従来の全深度分類に比べて桁1つ高速であ
る。
【0039】図5には本発明に係る透明物体の2パスレ
ンダリング法の一実施形態のフローチャートを示す。こ
の方法は透明性レンダリング法124に含まれ、ユーザー
アプリケーション122によって呼び出される。図5に示
すように、ブロック502で第1のパスによってz-バッフ
ァへの書き込みが不能化される。すべての前向きのプリ
ミティブが選別される。透明な物体のすべての後向きの
プリミティブが図3を参照して上に述べたようにラスタ
化される。レンダリングすべき透明な物体のすべての後
向きのプリミティブのα値を用いて透明な物体の画素の
色とフレームバッファ内の現在の画素値が混合される。
その結果得られた画素の色値が図4を参照して上に述べ
たようにフレームバッファに送られる。
【0040】ブロック504で第2のパスによってz-バッ
ファへの書き込みが不能化される。すべての後向きのプ
リミティブが選別される。不透明な物体および透明な物
体のすべての前向きのプリミティブが図3を参照して上
に述べたようにラスタ化される。レンダリングすべき透
明な物体のすべての前向きのプリミティブのα値を用い
て透明な物体の画素の色とフレームバッファ内の現在の
画素値が混合される。その結果得られた画素の色値が図
4を参照して上に述べたようにフレームバッファに送ら
れる。この2パス法によれば、すべての前向きのプリミ
ティブが最後に処理されてより正確な後から前へのレン
ダリングが行なわれ、また従来のスクリーンドア法に比
べて視覚的により良好な画像が得られる。
【0041】図6には本発明に係る透明な物体のみをレ
ンダリングする3パス法の一実施形態のフローチャート
を示す。この方法は透明性レンダリング法124に含ま
れ、ユーザーアプリケーション122によって呼び出され
る。図6に示すように、ブロック602で第1のパスによ
ってシーン内のすべての物体の最前方のプリミティブの
深度画像が確立され、その画素値がz-バッファに記憶さ
れ、それによってシーン内の物体の最前方のプリミティ
ブのシェルが作成される。このパスは物体をラスタ化す
ることによって実行されるが、フレームバッファデータ
は破棄され、最前方の物体の画素のz-バッファ値のみが
記憶される。
【0042】ブロック604で第2のパスによってまずz-
バッファへの書き込みが不能化される。次に、その画素
のz-値がz-バッファ内のz-値と等しくない物体のすべて
のラスタ化されたプリミティブが処理され、画像値がフ
レームバッファに送られる。これによって、シーン内の
最前方の物体の後にあるすべてのものがレンダリングさ
れる。これは、最前方の物体はブロック602において確
立されているためである。
【0043】ブロック606で第3のパスによってまずz-
バッファへの書き込みが不能化される。次に、その画素
のz-値がz-バッファ内のz-値と等しい物体のすべてのラ
スタ化されたプリミティブが処理され、画像値がフレー
ムバッファに送られる。これによって、ブロック602で
作成されたシェルのシーン内の最前方の物体がすべてレ
ンダリングされる。この方法によって、より正確な画像
が得られる。これは、最前方のプリミティブは視覚的に
最も重要であり、それが最後にレンダリングされるため
である。
【0044】図7には本発明に係る透明な物体のみをレ
ンダリングする4パス法の一実施形態のフローチャート
を示す。この方法は透明性レンダリング法124に含ま
れ、ユーザーアプリケーション122によって呼び出され
る。図7に示すように、ブロック702で、ブロック602に
関する上の説明と同様に、第1のパスによってシーン内
のすべての物体の最前方のプリミティブの深度画像が確
立され、その画素値がz-バッファに記憶される。それに
よってシーン内の物体の最前方のプリミティブのシェル
が作成される。
【0045】ブロック704で第2のパスによってまずz-
バッファへの書き込みが不能化される。次に、その画素
のz-値がz-バッファ内の対応するz-値と等しくない物体
のすべての後向きプリミティブが処理される。レンダリ
ングすべき透明な物体のすべての後向きのプリミティブ
のα値を用いて透明な物体の画素の色がフレームバッフ
ァ内の現在の画素値と混合される。その結果得られた画
素の色値が図4を参照して上に述べたようにフレームバ
ッファに送られる。これによって、前方のシェルの部分
を成さない物体のすべての後向きのプリミティブのすべ
てがレンダリングされる。
【0046】ブロック706で第3のパスによってまずz-
バッファへの書き込みが不能化される。次に、その画素
のz-値がz-バッファ内の対応するz-値と等しくない物体
のすべての前向きのプリミティブが処理される。レンダ
リングすべき透明な物体のすべての前向きのプリミティ
ブのα値を用いて透明な物体の画素の色がフレームバッ
ファ内の現在の画素値と混合される。その結果得られた
画素の色値が図4を参照して上に述べたようにフレーム
バッファに送られる。これによって、前方のシェルの部
分を成さない物体のすべての前向きのプリミティブのす
べてがレンダリングされる。
【0047】ブロック708で第4のパスによってまずz-
バッファへの書き込みが不能化される。次に、その画素
のz-値がz-バッファのz-値と等しいすべての物体が処理
される。レンダリングすべき透明な物体のかかる最前方
のすべての物体プリミティブのα値を用いて透明な物体
の画素の色がフレームバッファ内の現在の画素値と混合
される。その結果得られた画素の色値が図4を参照して
上に述べたようにフレームバッファに送られる。これに
よって、ブロック702で作成されたシェルのシーン内の
すべての最前方の物体がレンダリングされる。
【0048】また、このシーンレンダリング法は、より
適正な画像を提供するものである。これは、最前方のプ
リミティブは視覚的に最も重要であり、それが最後にレ
ンダリングされるためである。さらに、すべての物体の
後向きのプリミティブが前向きのプリミティブより前に
レンダリングされ、これによっって各物体は視覚的によ
り良好で適正なものとなる。これは、個々の物体の各画
素が内部的に適正な後から前への順序でレンダリングさ
れるためである。
【0049】本発明には、例として次のような実施形態
が含まれる。 (1)コンピュータシステム内で図形表示すべくシーン
の少なくとも一部における透明な物体(404、408)をレ
ンダリングする方法であって、 (a)前記透明な物体のプリミティブ(302)を処理する
ステップであって、(a1)z-バッファへの書き込みを不
能化するステップ(502)、(a2)前記透明な物体のす
べての前向きのプリミティブを選別するステップ(50
2)、(a3)前記透明な物体の全ての後向きのプリミテ
ィブをラスタ化して後向きプリミティブ画素を求め、前
記透明な物体の前記ラスタ化された後向きプリミティブ
画素の画像データをα混合して、前記ラスタ化された後
向きプリミティブ画素の前記α混合された画像データを
フレームバッファに送るステップ(502)を含むステッ
プと、 (b)前記透明な物体の前記プリミティブ(302)を処理
するステップであって、(b1)前記z-バッファへの書き
込みを不能化するステップ(504)、(b2)前記透明な
物体のすべての後向きのプリミティブを選別するステッ
プ(504)、(b3)前記透明な物体の全ての前向きのプ
リミティブをラスタ化して前向きプリミティブ画素を求
め、前記透明な物体の前記ラスタ化された前向きプリミ
ティブ画素の画像データをα混合して、前記ラスタ化さ
れた前向きプリミティブ画素の前記α混合された画像デ
ータを前記フレームバッファに送るステップ(504)を
含むステップと、を含む方法。
【0050】(2)コンピュータシステム内で図形表示
すべくシーンの少なくとも一部における透明な物体(40
4、408)をレンダリングする方法であって、(a)前記
透明な物体をラスタ化して前記透明な物体の最前方のプ
リミティブのシェルを作成してz-バッファ内に前記透明
な物体の前記最前方のプリミティブの深度画像を確立す
るステップ(602)であって、前記ラスタ化は、前記透
明な物体の前記最前方のプリミティブの画素のz-値を判
定し、前記画素の前記z-値を前記z-バッファに記憶し、
すべてのフレームバッファデータを破棄することを含む
ステップと、(b)前記z-バッファへの書き込みを不能
化し、前記透明な物体をラスタ化し、前記画素のz-値が
前記z-バッファ内に記憶された前記z-値に等しくないと
き前記ラスタ化された透明な物体の画素の画像データを
α混合するステップ(604)と、(c)前記z-バッファへ
の書き込みを不能化し、前記透明な物体をラスタ化し、
前記画素のz-値が前記z-バッファ内に記憶された前記z-
値に等しいとき前記ラスタ化された透明な物体の画素の
画像データをα混合するステップ(606)を含むステッ
プと、を含む方法。
【0051】(3)前記(2)に記載のステップ(b)
の代わりに、(b1)前記z-バッファへの書き込みを不能
化し、前記透明な物体のすべての後向きのプリミティブ
をラスタ化し、前記画素のz-値が前記z-バッファ内に記
憶された前記z-値に等しくないとき前記ラスタ化された
後向きのプリミティブの画素の画像データをα混合する
ステップ(704)、および(b2)前記z-バッファへの書
き込みを不能化し、前記透明な物体のすべての前向きの
プリミティブをラスタ化し、前記画素の前記z-値が前記
z-バッファ内に記憶された前記z-値に等しくないとき前
記ラスタ化された前向きのプリミティブの画素の画像デ
ータをα混合するステップ(706)を実行することを含
む前記(2)記載の方法。
【0052】本発明の好適な実施形態を説明したが、当
業者には特許請求の範囲に定める本発明の範囲から逸脱
することなく、本発明の構造に対するさまざまな変更お
よびさまざまな実施形態や応用が可能であることは明ら
かであろう。この開示および説明は例示を意図するもの
であり、いかなる意味でも本発明を限定するものではな
く、本発明の範囲は特許請求の範囲によって規定される
ものである。
【図面の簡単な説明】
【図1】本発明を適用したコンピュータシステムのブロ
ック図である。
【図2】不透明物体および透明物体の3パス表現法のフ
ローチャートである。
【図3】透明物体の後向きのプリミティブおよび前向き
のプリミティブの平面図である。
【図4】重なり合った不透明物体および透明物体を示
す。
【図5】透明物体の2パス表現法のフローチャートであ
る。
【図6】透明物体の3パス表現法のフローチャートであ
る。
【図7】透明物体の4パス表現法のフローチャートであ
る。
【符号の説明】
100 コンピュータシステム、 102 処理要素、104
システムバス、 106 キーボード、 108 マ
ウス、110 グラフィックスディスプレイ、 112
記憶装置、114 グラフィックスアクセラレータ、 1
16 メモリ、118 オペレーティングシステム、 12
0 フレームバッファ、122 ユーザーアプリケーショ
ン、 124 透明性レンダリング法、126 z-バッフ
ァ、202, 204, 206 不透明物体および透明物体の3
パスレンダリングステップ、300 透明な物体、 30
2, 312 プリミティブ、 304 面法線、306, 30
8, 310 方向矢印、 402, 404, 406, 408 物
体、410 物体402の最前方の面、 412 物体406の
左側の最前方の面 、414 物体406の右側の最前方の
面、 416 物体404の最前方の面、418 面領域、
420 物体408の最前方の面、502, 504 透明物体の
2パスレンダリングステップ、602, 604, 606 透明
な物体のみの3パスレンダリングステップ、702, 704,
706, 708 透明な物体のみの4パスレンダリングス
テップ、A-A’ 想像上の線、 B-B’ 想像上の線

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステム内で図形表示する
    ためのシーンの少なくとも一部における不透明な物体お
    よび透明な物体をレンダリングする方法であって、 (a)前記不透明な物体のプリミティブをラスタ化し、
    前記ラスタ化されたプリミティブの画素の深度値をz-バ
    ッファに送り、前記ラスタ化されたプリミティブの前記
    画素の画像データを前記コンピュータシステム内のフレ
    ームバッファに送るステップと、 (b)前記透明な物体のプリミティブを処理するステッ
    プであって、(b1)前記z-バッファへの書き込みを不能
    化するステップ、(b2)前記透明な物体のすべての前向
    きのプリミティブを選別するステップ、(b3)前記透明
    な物体の全ての後向きのプリミティブをラスタ化して後
    向きプリミティブ画素を求め、前記後向きプリミティブ
    画素の深度値が前記後向きプリミティブ画素が前記不透
    明な物体の少なくとも1つの後に位置することを示すと
    き、前記後向きプリミティブ画素のすべてを選別するス
    テップ、および(b4)残りの後向きのプリミティブの画
    像データを前記フレームバッファ内の前記画像データと
    α混合し、前記残りの後向きのプリミティブの前記α混
    合された画像データを前記フレームバッファに送るステ
    ップを含むステップと、 (c)前記透明な物体の前記プリミティブを処理するス
    テップであって、(c1)前記z-バッファへの書き込みを
    不能化するステップ、(c2)前記透明な物体の前記後向
    きのプリミティブを選別するステップ、(c3)前記透明
    な物体の全ての前向きのプリミティブをラスタ化して前
    向きプリミティブ画素を求め、前記前向きプリミティブ
    画素の深度値が前記前向きプリミティブ画素が前記不透
    明な物体の少なくとも1つの後に位置することを示すと
    き、前記前向きプリミティブ画素のすべてを選別するス
    テップ、および、(c4)残りの前向きのプリミティブの
    画像データを前記フレームバッファ内の前記画像データ
    とα混合し、前記残りの前向きのプリミティブの前記α
    混合された画像データを前記フレームバッファに送るス
    テップを含むステップと、を含む方法。
JP9341486A 1997-01-06 1997-12-11 高速α透明性レンダリング法 Pending JPH10208076A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US778,858 1997-01-06
US08/778,858 US5923333A (en) 1997-01-06 1997-01-06 Fast alpha transparency rendering method

Publications (1)

Publication Number Publication Date
JPH10208076A true JPH10208076A (ja) 1998-08-07

Family

ID=25114608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9341486A Pending JPH10208076A (ja) 1997-01-06 1997-12-11 高速α透明性レンダリング法

Country Status (2)

Country Link
US (1) US5923333A (ja)
JP (1) JPH10208076A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002109564A (ja) * 2000-07-24 2002-04-12 Sony Computer Entertainment Inc 画像処理システム、デバイス、方法及びコンピュータプログラム
WO2002061687A1 (fr) * 2001-02-01 2002-08-08 Sony Computer Entertainment Inc. Procede et dispositif de creation d'image
KR100420856B1 (ko) * 2001-01-26 2004-03-02 학교법인연세대학교 순서 비의존 투명성을 하드웨어적으로 제공해주는 병렬 렌더링 가속기
US7453458B1 (en) 1998-12-15 2008-11-18 International Business Machines Corporation Drawing method and drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10208025A (ja) * 1997-01-17 1998-08-07 Namco Ltd 画像生成装置及び画像生成方法
JPH1166340A (ja) * 1997-08-20 1999-03-09 Sega Enterp Ltd 画像処理装置、画像処理方法及び画像処理プログラムを記録した記録媒体
JP3580682B2 (ja) * 1997-09-26 2004-10-27 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および方法
US6052125A (en) * 1998-01-07 2000-04-18 Evans & Sutherland Computer Corporation Method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6362818B1 (en) * 1998-01-07 2002-03-26 Evans & Sutherland Computer Corporation System and method for reducing the rendering load for high depth complexity scenes on a computer graphics display
US6278457B1 (en) * 1998-01-15 2001-08-21 International Business Machines Corporation Methods and apparatus for performing sampling based synthesis of three-dimensional geometric models
JPH11259678A (ja) * 1998-03-12 1999-09-24 Sega Enterp Ltd 画像表示装置及びそれによる画像表示方法
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
GB2362552B (en) * 1999-06-28 2003-12-10 Clearspeed Technology Ltd Processing graphical data
GB2355633A (en) * 1999-06-28 2001-04-25 Pixelfusion Ltd Processing graphical data
US6894704B1 (en) 1999-11-22 2005-05-17 Adobe Systems Incorporated Processing complex regions of illustration artwork
US6720977B1 (en) * 1999-11-22 2004-04-13 Adobe Systems Incorporated Processing illustration artwork
JP2001269481A (ja) 2000-03-24 2001-10-02 Konami Computer Entertainment Japan Inc ゲームシステム、ゲームシステムにおける画像描画方法およびゲーム用プログラムが記憶されたコンピュータ読み取り可能な記録媒体
KR100382108B1 (ko) * 2000-06-24 2003-05-01 학교법인연세대학교 3차원 그래픽 가속기 및 그의 그래픽 가속처리 방법
US6670955B1 (en) * 2000-07-19 2003-12-30 Ati International Srl Method and system for sort independent alpha blending of graphic fragments
US20020080143A1 (en) * 2000-11-08 2002-06-27 Morgan David L. Rendering non-interactive three-dimensional content
JP3705739B2 (ja) * 2000-12-11 2005-10-12 株式会社ナムコ 情報記憶媒体及びゲーム装置
US7209258B1 (en) 2002-05-21 2007-04-24 Adobe Systems Incorporated Complexity-based transparency flattening
US7181687B2 (en) * 2002-06-27 2007-02-20 Adobe Systems Incorporated Previewing the effects of flattening transparency
US7268779B2 (en) * 2002-12-24 2007-09-11 Intel Corporation Z-buffering techniques for graphics rendering
US6982713B2 (en) * 2003-01-13 2006-01-03 Xgi Technology Inc. System and method for clearing depth and color buffers in a real-time graphics rendering system
GB2404316B (en) * 2003-07-25 2005-11-30 Imagination Tech Ltd Three-Dimensional computer graphics system
JP3639286B2 (ja) * 2003-09-25 2005-04-20 コナミ株式会社 ゲームプログラム、及びゲーム装置
US7583263B2 (en) * 2003-12-09 2009-09-01 Siemens Product Lifecycle Management Software Inc. System and method for transparency rendering
DE102004016331B4 (de) * 2004-04-02 2007-07-05 Siemens Ag Vorrichtung und Verfahren zur gleichzeitigen Darstellung virtueller und realer Umgebungsinformationen
WO2005116939A1 (en) * 2004-05-27 2005-12-08 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and image sensing apparatus
US20070070082A1 (en) * 2005-09-27 2007-03-29 Ati Technologies, Inc. Sample-level screen-door transparency using programmable transparency sample masks
US8947452B1 (en) * 2006-12-07 2015-02-03 Disney Enterprises, Inc. Mechanism for displaying visual clues to stacking order during a drag and drop operation
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US20080143737A1 (en) * 2006-12-15 2008-06-19 Qualcomm Incorporated Post-Render Graphics Transparency
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8111945B2 (en) * 2008-07-25 2012-02-07 Freescale Semiconductor, Inc. System and method for providing a blended picture
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8902229B2 (en) * 2010-01-13 2014-12-02 Samsung Electronics Co., Ltd. Method and system for rendering three dimensional views of a scene
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
CN113694510B (zh) * 2021-08-13 2024-01-09 完美世界(北京)软件科技发展有限公司 游戏角色渲染方法、装置及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475104A (en) * 1983-01-17 1984-10-02 Lexidata Corporation Three-dimensional display system
US5220646A (en) * 1990-04-30 1993-06-15 International Business Machines Corporation Single pass hidden line removal using z-buffers
US5293467A (en) * 1991-04-03 1994-03-08 Buchner Gregory C Method for resolving priority between a calligraphically-displayed point feature and both raster-displayed faces and other calligraphically-displayed point features in a CIG system
US5596686A (en) * 1994-04-21 1997-01-21 Silicon Engines, Inc. Method and apparatus for simultaneous parallel query graphics rendering Z-coordinate buffer

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453458B1 (en) 1998-12-15 2008-11-18 International Business Machines Corporation Drawing method and drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US7834879B2 (en) 1998-12-15 2010-11-16 International Business Machines Corporation Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
JP2002109564A (ja) * 2000-07-24 2002-04-12 Sony Computer Entertainment Inc 画像処理システム、デバイス、方法及びコンピュータプログラム
KR100420856B1 (ko) * 2001-01-26 2004-03-02 학교법인연세대학교 순서 비의존 투명성을 하드웨어적으로 제공해주는 병렬 렌더링 가속기
WO2002061687A1 (fr) * 2001-02-01 2002-08-08 Sony Computer Entertainment Inc. Procede et dispositif de creation d'image
US6876360B2 (en) 2001-02-01 2005-04-05 Sony Corporation Entertainment Inc. Image generation method and device used thereof

Also Published As

Publication number Publication date
US5923333A (en) 1999-07-13

Similar Documents

Publication Publication Date Title
JPH10208076A (ja) 高速α透明性レンダリング法
US5359704A (en) Method for selecting silhouette and visible edges in wire frame images in a computer graphics display system
US6529207B1 (en) Identifying silhouette edges of objects to apply anti-aliasing
US6509897B1 (en) Method and system for providing implicit edge antialiasing
US6744430B1 (en) Image processing method and its apparatus
EP0870282B1 (en) Method for a span and subspan sorting rendering system
US6982723B1 (en) Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster
US11348308B2 (en) Hybrid frustum traced shadows systems and methods
EP0568358B1 (en) Method and apparatus for filling an image
JP2002304636A (ja) 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
EP1177532B1 (en) Method and system for efficiently using fewer blending units for antialiasing
US6741243B2 (en) Method and system for reducing overflows in a computer graphics system
JP3589654B2 (ja) ボリュームレンダリング方法とそのプログラム
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US5265198A (en) Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
US8648874B2 (en) Method and system for providing edge antialiasing
US6906729B1 (en) System and method for antialiasing objects
JPH07182526A (ja) グラフィックス表示装置の表示方法
US6937251B2 (en) Method and system for improving color quality of three-dimensional rendered images
KR20020055417A (ko) 이미지의 합성

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070918

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080624