JP2000182073A - 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置 - Google Patents

半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置

Info

Publication number
JP2000182073A
JP2000182073A JP10355757A JP35575798A JP2000182073A JP 2000182073 A JP2000182073 A JP 2000182073A JP 10355757 A JP10355757 A JP 10355757A JP 35575798 A JP35575798 A JP 35575798A JP 2000182073 A JP2000182073 A JP 2000182073A
Authority
JP
Japan
Prior art keywords
buffer
objects
translucent
image data
display screen
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
JP10355757A
Other languages
English (en)
Other versions
JP3258286B2 (ja
Inventor
Haruo Kooka
晴夫 菰岡
Kazuhiko Hasegawa
一彦 長谷川
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
Priority to JP35575798A priority Critical patent/JP3258286B2/ja
Priority to US09/433,475 priority patent/US7453458B1/en
Priority to GB9928984A priority patent/GB2350993B/en
Publication of JP2000182073A publication Critical patent/JP2000182073A/ja
Application granted granted Critical
Publication of JP3258286B2 publication Critical patent/JP3258286B2/ja
Priority to US12/112,680 priority patent/US7834879B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related 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/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • 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

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】マルチパスαブレンドによるソートを行わない
で済むような、半透明表示の方法を提供すること。 【解決手段】描画順によらず実際の位置関係に近い半透
明表示を行うために重要であると考えられる条件に着目
して、まずパス1として、不透明な物体だけをZバッフ
ァによる陰面消去を行いながら描画する。Zバッファの
更新も行う。次にパス2として、半透明な物体だけをZ
バッファによる陰面消去を行いながらブレンドする。こ
の際にZバッファの更新は行わない。最後にパス3とし
て、半透明な物体だけをZバッファによる陰面消去を行
いながらブレンドする。この際にはZバッファの更新を
行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、一般的には、コ
ンピュータ・グラフィックス(CG:Computer Graphic
s)に関し、より具体的には、半透明な物体を表示する
ための描画順序の工夫に関するものである。
【0002】
【従来の技術】CAD (Computer Aided Design)の分野
においては、サーフェスやソリッドによって表現された
3次元物体(object)又は3次元対象物をモデリングする
ことが一般的となってきている。このモデルとして表現
されている画像(image)データを、画面(screen)上に写
実的で現実感のある物体をつくりあげることは、レンダ
リングと総称されている。CGによる3次元表示は、モ
デリングとレンダリングが主なプロセスである。
【0003】このレンダリングの過程においては、物体
の表面の質感(素材感)をまるで写真と同じように現実
に近い形で再現させるため、微妙な陰(shade)や色の変
化、色合い、反射、輝き、屈折、光源による影(shadow)
のでき具合、周囲からの光の回り込み、映り込み、透明
感、不透明感などが考慮されて、シェーディング(陰影
づけ)が行われることも一般的になってきている。
【0004】また、レンダリングの過程においては、各
3次元物体のモデルは、最終的には3次元の物体空間か
ら2次元の画像空間の投影面である画面(screen)へ投影
される。この際、「奥行き方向」(「Z方向」とも呼ば
れる)の情報(「奥行き情報」)に基づいて、視点(vie
w point)又は投影中心からの透視投影(中心投影)によ
って、又は、無限遠点(infinite)からの平行な視線によ
る平行投影によって、二次元領域であるコンピュータ表
示画面(投影面)に塗り重ねるように投影されて表示さ
れる。
【0005】塗り重ねるように投影されて表示されるこ
とは、具体的意味には、(1)表示バッファとして用意
された記憶領域に表示される物体の画像データを書き込
む(W:Write)ことのみによって、又は、(2)まずバ
ッファなどとして用意された記憶領域に記憶されている
画像データを読み出し(R:Read)、その読み出された画
像データを加工し(M:Modify)、その加工された画像デ
ータを書き込む(W:Write)、ことが繰り返されること
によるRMWサイクルによって、実行される。すなわ
ち、これが一般的な「描画する(draw)」ためのサイクル
形態となる。
【0006】このような投影をするにあたって、最も単
純に隠線(hidden line)消去(removal)や隠面(hidden su
rface)消去(以下、隠面消去と略す)をすることができ
る手法であって、かつ、最も広く利用されている手法と
して、Zバッファ(Z-buffer)・アルゴリズム(Zバッフ
ァ法)という隠面消去アルゴリズムが周知である。個別
にカラーや輝度の割当てが可能な表示面の最小単位であ
る画素(ピクセル)を考えてみると、Zバッファ法では
その名が示すとおり、物体のZ値(視点又は投影中心等
からの距離又は奥行き情報)を記憶するためのメモリ
(デプスメモリ)を画素ごとに必要とし、全体として画
素数分の大きさを持つ「Zバッファ」というメモリ配列
を必要とする。
【0007】Zバッファ法を用いながら不透明な(opaqu
e)色のみを用いて塗り重ねていく表示を進めていけば、
最終結果としては完全な隠線消去や隠面消去を得ること
ができる。しかし、ユーザの視点から不透明な物体によ
って遮られてしまう奥の部分を確認することが困難にな
ってしまう。つまり、Zバッファ法は不透明な物体の表
示のために用いられるものと了解されている。一方、C
ADの分野では、半透明(semitransparent)に物体を表
示することにより、表面のみならず内部も同時に確認で
きる表示方法も望まれている。
【0008】半透明で表示する手法のひとつに、ブレン
ド(ブレンディング)を用いた手法がある。この手法で
は、描画すべき物体の色(src_color)と、既
に描画されている物体の色(dest_color)と
に対して係数A,Bを使い、新たな色(color)
を、color= A×src_color + B×
dest_color によって求める。より具体的に
は、既に描画されている物体の色(dest_colo
r)を読み出し(R)、ある物体の色(src_col
or)によって加工し(M)、新たな色(color)
を書き込む(W)ことによって実現される。つまり、読
み出された物体の色(dest_color)が、新た
な色(color)に置き換わって表示されることにな
る。ここでの新たな色(color)への加工は、係数
A,Bの乗算によって計算される。
【0009】特に半透明係数(ブレンディング・レート
と呼ばれることもある)αを用いる方法(αブレンド)
として以下の計算式(1)が一般によく使用されてい
る。
【0010】 color= α × src_color +(1‐α)×dest_color ……………………(1)
【0011】計算式(1)を使って新たな色を計算し描
画することを、以下「ブレンドする」、「ブレンド処理
する」、「ブレンディング処理する」と表記する。ブレ
ンドすると、同一点において、既に描かれていた物体よ
りも後から描いた物体の方が視点により近く見えるとい
う特性がある。
【0012】従ってこの手法で正確に半透明表示を行お
うとすると、優先法(method in list priority)を利用
する必要に迫られる。すなわち、物体をユーザの視点か
らの距離によって(すなわち奥行き方向の深さによっ
て)ソート(sort)をすることによって描画すべき物体の
優先順位(priority)を決めて、その優先順位リスト(lis
t priority)を作成した上で、遠い方から順に描画する
必要に迫られる。
【0013】もしソートによって優先順位を決めないで
この手法を適用して描画した場合、物体同士の遠近関係
が実際の位置関係とは異なって表示されてしまう場合が
生じて問題となる。これが、物体同士の位置関係によら
ず、後から書いた物体が近くに見えるという現象であ
り、視点より近い物体が先に描画され、視点より遠い物
体が後からブレンドされる場合に起きる問題である。従
ってソートされていない以上、望んでいる通りの順序で
描画が行われるとは限らず、望んだ通りの適切な強調表
示が保証されないのである。
【0014】このように、ユーザに厳密な遠近感を保証
するという意味において高品質さを追求すると、ソート
を厳密に行って半透明表示を行う必要が生じる。しか
し、ソートすべき対象となる物体の数が大きければ大き
いほど、そのソート処理に要する時間が加速度的に多く
必要となってくる。このような事態は、グラフィック全
体に要する処理速度が著しく低下してしまい、大きな問
題となる。概算してみると分かるのであるが、nn(n
がソートすべき対象となる物体の数)という順列につい
てソートするためには、一般に、n×log(n)とい
う処理数が必要となる。
【0015】CADなどのように対話的に(インタラク
ティブに又はリアルタイムに)データの編集処理を必要
とするアプリケーションにとって、このようなソートの
手順を採用することには問題がある。特に、複数の自由
曲面を編集している場合、曲面を分割したファセット一
つが1ピクセルで表現されている場合においては、全画
素毎にソートが必要となってきて、一般的な1280×
1024ピクセルの画面を想定した場合には、全体的な
処理速度の低下は、もはや実用に耐えられるものではな
くなる。
【0016】
【発明が解決しようとする課題】すなわち、厳密さを追
求して完全なソートをしなくても、ユーザにとって視覚
上問題のない範囲内において簡易迅速にαブレンディン
グ処理ができるのであれば、それで十分である。一方
で、対話的に(インタラクティブに)データの編集処理
をするアプリケーションにおいては処理速度が重要とな
ってくるため、ソートを省ける高速処理が実現できれば
きわめて好ましい。
【0017】
【課題を解決するための手段】本発明を実現できる方法
として、奥行き方向についての情報をもつ不透明物体と
半透明物体とが混在している複数の物体についての画像
データを、記憶装置として更新可能なZバッファを利用
して、コンピュータ表示画面に表示する描画方法であっ
て、Zバッファの更新を行いながら、かつ、Zバッファ
による隠面消去を行いながら、画像データのうちの不透
明な物体だけを描画するステップと、Zバッファの更新
を行わないで、かつ、Zバッファによる隠面消去を行い
ながら、画像データのうちの半透明な物体だけを描画す
るステップと、Zバッファの更新を行いながら、かつ、
Zバッファによる隠面消去を行いながら、画像データの
うちの半透明な物体だけを描画するステップと、を有す
る3つのパスを有するマルチパス半透明処理方法が提供
される。
【0018】また、本発明のマルチパス方法を実現でき
るハードウエア資源として、奥行き方向についての情報
をもつ不透明物体と半透明物体とが混在している複数の
物体についての画像データを、コンピュータ表示画面に
表示することが可能な描画装置であって、コンピュータ
表示画面のドット毎に対応して設けられていて、奥行き
情報を記憶する更新可能なZバッファと、コンピュータ
表示画面のドット毎に対応して設けられていて、その内
容を表示画面に出力することができ、表示するためのデ
ータを記憶する更新可能な、フレームバッファと、画像
データを受け取って、これから描画しようとする画像デ
ータの奥行き情報と既にZバッファに記憶されている奥
行き情報とを比較して、これから描画しようとする画像
データの奥行き情報が既にZバッファに記憶されている
奥行き情報よりも大きいか否かを判断することができ、
奥行き情報の更新を行いながら表示するためのデータを
出力することと奥行き情報の更新を行わないで表示する
ためのデータを出力することとを選択することが可能で
あり、かつ、既にフレームバッファに記憶されている表
示するためのデータを読み出して、その後に受け取られ
る画像データとの間でコンピュータ表示画面のドット毎
にブレンド処理することが可能である、レンダリングエ
ンジンとを有する、コンピュータ表示画面に表示する描
画装置、が提供される。
【0019】
【発明の実施の形態】図1は、コンピュータグラフィッ
クスの処理をするためのハードウエア構成を示す。ここ
では、近年最も普及しているものとして、陰極線管(C
RT:Cathode-Ray Tube)でデータのリフレッシュが行
われるラスタスキャンCRT(rastermonitor CRT)10
について説明するが、当業者にとって、液晶表示装置
(LCD:Liquid Crystal Display)等の他の表示装置
に置き換えて考えることはきわめて容易である。
【0020】画面(スクリーン)12に表示すべき図形
情報をディジタル化し、そのディジタル化したデータを
フレームバッファメモリ14のなかにドット単位で一時
記憶させておく。フレームバッファ内でのドット単位の
情報は、赤、緑、青のそれぞれの輝度の情報(8ビット
分あれば2の状態表現が可能)又はそれに相当する情
報から成り立っている。ピクセルとフレームバッファメ
モリ14とは1対1の対応関係にしておくため、1ピク
セルは1ドットに対応している。
【0021】フレームバッファメモリ内のディジタル化
されたデータは、CRTコントローラ16に送られて映
像信号に変換され、CRT18において電子ビームが振
られて走査線上を移動されて、画面(スクリーン)12
に所望の図形情報が表示される。
【0022】図2は、フレームバッファに送られるべき
図形情報を得るまでの一般的なグラフィックス処理の流
れを示す。物体又は対象物の幾何データ20がポリゴン
に分割されてジオメトリエンジン22ヘ送られる。ジオ
メトリエンジン22では、ポリゴンの頂点の座標変換、
クリッピングや光源、物体の材質情報などから頂点(ver
tex)の輝度を計算する。レンダリングエンジン24で
は、この頂点データと輝度情報をもとに各ピクセルの色
を補間により計算し、Zバッファ26により隠面処理し
てフレームバッファに書き込まれる。
【0023】ところで、Zバッファ、隠面処理、隠線処
理、シェーディングなどは、CPUとは独立したグラフ
ィックス専用のグラフィックスプロセッサをもつ高速グ
ラフィックス・アクセラレータ(accelerator)によって
処理することもできる。
【0024】図3は、グラフィックス処理を実現するコ
ンピュータのアーキテクチャの種類を示す図である。タ
イプAは、すべての処理をWSのCPUで処理して表示
用のフレームバッファ14だけを持つものである。タイ
プBは、ジオメトリエンジン22とレンダリングエンジ
ン24とをハードウエア化してパイプライン構造にした
ものである。タイプCは、レンダリングエンジン24の
みをハードウエア化して、ジオメトリエンジン22で行
う処理はCPU側においてソフトウエアで行うものであ
る。
【0025】大量なデータを伴う複雑な処理にはタイプ
BやタイプCが用いられる。本発明における描画方法
は、隠面消去のための比較と更新が独立に制御すること
ができるZバッファ(ソフトウエアで制御できる擬似的
なものでも可)及びαブレンドの機能を持つフレームバ
ッファを備えていれば、タイプA、タイプB、タイプC
の何れかのタイプのディスプレイプロセッサを利用して
実行することが可能である。特に、ハードウエアによる
隠面消去及びαブレンドの機能をもつタイプB及びタイ
プCに対して有益である。
【0026】Zバッファ法は優先法の一種でありなが
ら、その利点として、いったん全ての物体の描画が終わ
ったあとでも、次々と新たな物体をつけ加えて描画でき
るという性質がある。Zバッファ・アルゴリズムは、一
度に1ずつ物体を(他の物体とは無関係に)描いていく
ので、その前又はその後ろに描かれる物体に関する情報
は保持しない。従って、コンピュータ内部で確保しなけ
ればならないメモリの記憶域も非常に少なくて済む。
【0027】もっとも、Zバッファ法には、いったん描
いてしまった物体は消去することはできないという性質
もある。これは、Zバッファ法ではモデル空間に他の物
体が存在するか否かは隠面消去の手順に全く影響しない
からである。すなわち、処理の途中のある時点において
は「隠れて見えないはずの」物体も描画している場合が
ある。これは、処理のときに必要となるのは新たに描画
しようとする物体のデータとZバッファだけである、と
いうことに起因している。
【0028】Zバッファ法の処理においては、順次更新
を行いながら次の描画のためにその更新された値を利用
していくが、更新を行わないのであれば(すなわち更新
を止めておけば)そのままの値を維持して利用すること
もできる。
【0029】そこで、本発明では、Zバッファ法にある
新たな物体を後からつけ加えて描画できるという性質
を、Zバッファの更新のタイミングを考えつつαブレン
ドを用いた半透明表示の手法に巧みに組み合わせて利用
する。このことによって、ソートの手順という厳密では
あったものの処理には時間を要していた手順を省略する
ことに成功したものである。
【0030】すなわち、距離によるソートを行ってから
正確な半透明物体の表示をするという考え方は捨てた
が、描画順によらず実際の位置関係に近い半透明表示を
行うために重要であると考えられる以下の条件1乃至3
に着目してみる。これらは、ユーザにとって視覚上問題
にならないように配慮された条件である。
【0031】条件1: 視点から一番近くにある物体
は、半透明、不透明にかかわらず、一番最後にブレンド
または描画されるべきである。これは半透明、不透明に
かかわらず、最後にαブレンド又は描画されたものが、
それ以前にαブレンド又は描画されたものよりも近くに
見えるという特性による。
【0032】条件2: 不透明物体より遠くにある物体
は、半透明、不透明にかかわらず表示されない。これ
は、不透明物体が後方の物体を遮るという性質に忠実に
従っているものである。
【0033】条件3: 半透明物体より遠くにある物体
は、条件2によって表示されない場合を除いて、半透
明、不透明にかかわらずαブレンドされて表示される。
【0034】これらの条件1乃至3を満たすことは、必
要とされていたソートの手順に代えて、以下のような3
段階に分けたマルチパス処理(半透明物体の処理に特徴
があるので「マルチパス半透明処理」とも称する)によ
って達成できる。
【0035】パス1: 不透明な物体だけをZバッファ
法による隠面消去を行いながら描画していく。この場合
にZバッファの更新も行う。
【0036】パス2: 半透明な物体だけをZバッファ
法による隠面消去を行いながら計算式(1)によってブ
レンドしていく。この場合にZバッファの更新は行わな
いでおく。
【0037】パス3: 半透明な物体だけをZバッファ
法による隠面消去を行いながら計算式(1)によってブ
レンドしていく。この場合にZバッファの更新も行う。
【0038】従来技術における「単一パス」では、Zバ
ッファ法による隠面消去を行わないで、かつ、データの
ソートを行わないで、データを与えられた順番に従って
描画していたのであり、マルチパスでは、パス数として
は3パスで描画する。
【0039】ここで、パス1乃至3の各パスの作用をさ
らに詳細に説明していく。
【0040】パス1においては、不透明な物体だけを処
理する。このとき通常の不透明な物体の処理と同じくZ
バッファによる隠面消去を行い、Zバッファを更新す
る。計算式(1)によるαブレンドは行わない。結果と
して視点から一番近い不透明な物体が表示されることに
なり、Zバッファの値はそれに対応した値となる。パス
2やパス3において不透明な物体は描画されないので、
不透明な物体に関しては条件2を満たすことになる。
【0041】パス2においては、半透明な物体だけを処
理する。Zバッファによる隠面消去を行いながら計算式
(1)によるαブレンドを行い、Zバッファの更新は行
わない。従って、Zバッファによる隠面消去により、パ
ス1で描画された不透明物体より近くにある物体だけに
ついてαブレンドを行うのである。Zバッファがパス1
において不透明な物体まで更新されているので、不透明
な物体より遠くにある半透明な物体は描画されることは
なく、半透明な物体に関しても条件2を満たすことにな
る。このパス2ではZバッファの更新は行わないため、
パス1において描画した不透明な物体より近くにある半
透明な物体は常にブレンドされることになり、条件3を
満たしている。
【0042】パス2終了時点のZバッファの各点の値
は、パス1終了時点と同じ値が保たれている。すなわ
ち、この時点でもZバッファは各点において視点より一
番近い不透明物体までの距離を保持している。
【0043】パス3においては、再度、半透明な物体だ
けを処理する。Zバッファによる隠面消去を行いながら
計算式(1)によるαブレンドを行い、Zバッファの更
新も行う。従って、パス2とパス3との違いはZバッフ
ァの更新を行うという点である。パス2においては、Z
バッファを更新しないために二つの半透明な物体はそれ
らの位置関係によらずとも両方αブレンドされた。
【0044】一方で、パス3においては、Zバッファを
更新するため、近い物体を先に処理すると、後から処理
する物体はαブレンドされないことになる。パス3での
処理中は、Zバッファは各点での最後にαブレンド又は
描画された物体の視点からの距離を保持する。従って、
最後にαブレンドされることになるのは、視点に最も近
い物体ということになり、条件1を満たしている。ま
た、不透明な物体と視点との間に半透明な物体が無い場
合には、パス1によって描画された物体が最後に描かれ
ることになって、この場合でも条件1を満たしている。
【0045】ここで注意されたいのは、視点に最も近い
(不透明、半透明を問わない)物体とその他の(不透
明、半透明)物体との間での相対的な位置関係の見え方
は何ら損なわれることはないが、これらの間に挟まれる
ことになる半透明物体の位置関係の見え方は必ずしも保
証されないということである。これは正確なソートの手
順を省略しているからである。
【0046】最も近い物体ではない物体同士の位置関係
は、アプリケーションによる描画順に依存する。例え
ば、対話的(インタラクティブ)処理の典型であるCA
Dにおいては、物体を回転させて反対方向から見るよう
な操作がよく行われる。このため、視点から遠い順に物
体のデータを定義し、その順番に描画することはソート
を行わない限り不可能である。しかし、これらの物体の
位置は、視点に最も近い(不透明、半透明を問わない)
物体の位置に比べると、重要性が小さく十分妥協できる
ものと言える。
【0047】ここで、RMWサイクルとの関連で、「描
画する(draw)」ことをどのように実行できるかについて
説明する。パス1における描画は、必ずしもR、M及び
Wの全てを実行する必要はなく、不透明物体の画像デー
タによる置換としてWのみを実行すれば足りる。ただ
し、パス2における描画とパス3における描画では、現
在の背景色(既に描画されている物体の色(dest_
color))と、これから描こうとする半透明物体の
色(描画すべき物体の色(src_color))とを
ブレンドする必要があるため、R、M及びWの全てを実
行する必要が生じる。
【0048】ここで、より具体的な例として、不透明物
体A、半透明物体B、半透明物体C、といった3つの描
画すべき対象がある場合を想定する。グラフィックス描
画のためのアプリケーションプログラムが必ず、A、
B、Cの順で描画した場合において本願発明の手法であ
るパス1乃至3が与える表示結果を考えてみることにす
る。
【0049】ここでは記号の<を使って、視点からAが
Bより近くにあることをA<Bと表わすことにする。以
下、A,B及びCの3つの物体が視点から見て重なり合
った部分について考察する。
【0050】C<B<Aの場合(視点からCが最も近
く、Aが最も遠い場合):パス1ではAを描画する。パ
ス2ではBをブレンドしてからCをブレンドする。パス
3でもBをブレンドしてからCをブレンドする。結果と
して、Cが最も近くもありその後ろにB、Aがあるよう
に見える。
【0051】図5は、C<B<Aの場合(視点からCが
最も近く、Aが最も遠い場合)の描画結果を(後に言及
する図6の描画結果よりも)詳細に説明する図である。
ここで物体Bに関係する部分については全てが同一方向
に揃った斜線(右上から左下への斜線)によって表わさ
れており、ここで物体Cに関係する部分については物体
Bとは異なる方向であるが全て同一方向に揃った斜線
(左上から右下への斜線)によって表わされている。ま
た、言及する描画領域は、それぞれが単一種類の斜線部
分だけではなく、これらが交差することによる組み合わ
せによっても特定される。より具体的には、右上から左
下への斜線と左上から右下への斜線とが交差している、
網目状に表わされた描画領域も存在する。
【0052】描画領域abはAとBとが重なることにな
る部分であり、Bの後方にAが見えるように描画され
る。描画領域bcはBとCとが重なることになる部分で
あり、Cの後方にBが見えるように描画される。描画領
域acはAとCとが重なることになる部分であり、Cの
後方にAが見えるように描画される。さらには、描画領
域abcはA,B及びCの全てが重なる部分であり、A
の前方にBが見えてさらにBの前方にCが見えるように
描画される。これらのうち描画領域bcと描画領域ab
cとの区別は、物体Aと重なることになるかどうかによ
って、さらに網目状の密度が異なって表現されている。
【0053】図6には、C<B<Aの場合を含め、A,
B,Cの3つの物体に生じ得る全ての位置関係を示して
いる。なお、C<B<A以外の場合については、図5に
示したような描画結果の詳細な表現や説明については省
略する。
【0054】B<C<Aの場合(視点からBが最も近
く、Aが最も遠い場合):パス1ではAを描画する。パ
ス2ではBをブレンドしてからCをブレンドする。パス
3ではBをブレンドするがCはブレンドされない。結果
として、Bが最も近くもありその後ろにC、Aがあるよ
うに見える。
【0055】B<A<Cの場合(視点からBが最も近
く、Cが最も遠い場合):パス1ではAを描画する。パ
ス2ではBのみブレンドされ、CはAに隠されてブレン
ドされない。パス3ではBのみブレンドされ、CはAに
隠されてブレンドされない。結果として、Bの後ろにA
があるように見える。
【0056】C<A<Bの場合(視点からCが最も近
く、Bが最も遠い場合):パス1ではAを描画する。パ
ス2ではCのみブレンドされ、BはAに隠されてブレン
ドされない。パス3ではCのみブレンドされ、BはAに
隠されてブレンドされない。結果として、Cの後ろにA
があるように見える。
【0057】A<B<Cの場合(視点からAが最も近
く、Cが最も遠い場合):パス1ではAを描画する。パ
ス2では何も描画されない。パス3では何も描画されな
い。結果として、Aのみが表示される。
【0058】A<C<Bの場合(視点からAが最も近
く、Bが最も遠い場合):パス1ではAを描画する。パ
ス2では何も描画されない。パス3では何も描画されな
い。結果として、Aのみが表示される。
【0059】以上の例では、Aを最初に描画している
が、不透明な物体はパス1において処理され、半透明な
物体はパス2およびパス3で処理されるため、アプリケ
ーションプログラムでの描画順によることなく、不透明
な物体は常に半透明な物体よりも先に処理されることに
なる。従って、不透明物体が2番目、3番目に描画され
るケースでも同じ結果が得られることになる。
【0060】本発明の手法は、半透明表示を正確に行う
ためのものではないことは既に述べた。しかし、本発明
によるマルチパスでαブレンドを使用したものは、単一
パスのみでαブレンドを使用したものに比べて、遠近の
位置関係が保たれるように表示されていることが確認さ
れている。
【0061】
【発明の効果】ここで、実際のアプリケーション上での
パフォーマンス測定結果を表1に示す。ソートを行った
場合の半透明描画についての測定結果は、実用に耐えら
れるものではなく実装することが困難であるため、得ら
れていない。従って、ソートをする部分の論理処理に必
要な時間は、シミュレーションの結果を測定し、単一パ
スの半透明処理時間に加えることによって、予想時間を
求めて比較の対象としている。対話的(インタラクティ
ブ)処理においては採用できないものと判断される。
【0062】
【表1】 描画手法の違いによる100回繰り返し描画時間 描画手法 ベンチマーク1 ベンチマーク2 [1] 不透明 8.3秒 64.6秒 [2] 単一パス半透明 8.3秒 63.9秒 [3] ソート予想時間 272.8秒 767.0秒 [4] ソート後半透明 281.1秒 830.9秒 [5] マルチパス半透明 15.0秒 129.2秒
【0063】より具体的には、[1]と[2]とにおい
ては現状のgraPHIGSを使用して描画している。
graPHIGS(graPHIGSは、IBM Co
rp.の米国およびその他の国における商標)は、3次
元(3D)graphicsAPI(Application Progr
amming Interface)であり、ISO標準(Standard)であ
るPHIGS(Programmer's Hierarchical Interactive
Graphics System)をIBM社が実装(implement)したも
のである。[2]はソートを行わない単一パスのブレン
ドによる半透明処理であって、ここでは位置関係は保存
されない。[3]においてはシミュレーションプログラ
ムで測定してソートにかかる時間を予想している。
[4]については[2]+[3]と仮定することで求め
ている。[5]は現状のgraPHIGSを本発明のマ
ルチパス半透明処理ができるように改造して実装して描
画したものである。
【0064】[1]と[2]とでは単一(1回の)パス
で処理が済むのに対して、本発明が適用されている
[5]ではパス1乃至3の3回のパスを必要としている
ものの、描画時間は不透明の場合及び従来手法の2倍程
度といった実用範囲内に抑えることができている。実デ
ータを使用した描画結果をユーザに評価させた結果にお
いても、視覚上の位置関係を保った表示と対話的(イン
タラクティブ)処理可能な描画速度との両立という点で
十分に満足が得られている。
【0065】図7に示すような関係からわかるように、
本発明の方法は、graphicsAPIのみならず、
アプリケーション・レベルにおいて実施することも可能
である。すなわち、APIを介してグラフィックス処理
は実行されることになるが、APIを介する前段として
のアプリケーション・レベルにおいても実施することも
でき、当業者であれば本発明を様々な方法で適用するこ
とができる。
【図面の簡単な説明】
【図1】コンピュータグラフィックスの処理をするため
のハードウエア構成である、ラスタスキャンCRTの構
成を示す図である。
【図2】フレームバッファに送られるべき図形情報を得
るまでの一般的なグラフィック処理の流れを示す図であ
る。
【図3】グラフィックス処理を実現するコンピュータの
アーキテクチャの種類を示す図である。
【図4】マルチパス処理(マルチパス半透明処理)を示
す流れ図である。
【図5】不透明物体A、半透明物体B、半透明物体C、
という3つの描画すべき対象の位置関係がC<B<Aの
場合(視点からCが最も近く、Aが最も遠い場合)の場
合について、本発明の手法であるパス1乃至3を用いて
A、B、Cの順で描画した場合において、表示結果を詳
細に説明する図である。
【図6】不透明物体A、半透明物体B、半透明物体C、
という3つの描画すべき対象に生じ得る全ての位置関係
について、これらを描画すべき物体を本発明の手法であ
るパス1乃至3を用いてA、B、Cの順で描画した場合
において、表示結果を示す図である。
【図7】本発明の方法が、graphics APIの
みならず、アプリケーション・レベルにおいて実施する
ことも可能であることを示す図である。
【符号の説明】
10 ラスタスキャンCRT 12 画面(スクリーン) 14 フレームバッファメモリ 16 CRTコントローラ 18 CRT 20 幾何データ 22 ジオメトリエンジン 24 レンダリングエンジン 26 Zバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長谷川 一彦 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 Fターム(参考) 5B080 FA03 FA08 FA17 GA02

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】奥行き方向についての情報をもつ不透明物
    体と半透明物体とが混在している複数の物体についての
    画像データを、記憶装置として更新可能なZバッファを
    利用して、コンピュータ表示画面に表示する描画方法で
    あって、 Zバッファの更新を行いながら、かつ、Zバッファによ
    る隠面消去を行いながら、画像データのうちの不透明な
    物体だけを描画するステップと、 Zバッファの更新を行わないで、かつ、Zバッファによ
    る隠面消去を行いながら、画像データのうちの半透明な
    物体だけを描画するステップと、 Zバッファの更新を行いながら、かつ、Zバッファによ
    る隠面消去を行いながら、画像データのうちの半透明な
    物体だけを描画するステップと、を有する方法。
  2. 【請求項2】半透明物体を描画するステップがαブレン
    ドによって実行される、請求項1記載の方法。
  3. 【請求項3】奥行き方向についての情報をもつ不透明物
    体と半透明物体とが混在している複数の物体についての
    画像データを、コンピュータ表示画面に表示することが
    可能な描画装置であって、 コンピュータ表示画面のドット毎に対応して設けられて
    いて、奥行き情報を記憶する更新可能なZバッファと、 コンピュータ表示画面のドット毎に対応して設けられて
    いて、その内容を表示画面に出力することができ、表示
    するためのデータを記憶する更新可能な、フレームバッ
    ファと、 画像データを受け取って、これから描画しようとする画
    像データの奥行き情報と既にZバッファに記憶されてい
    る奥行き情報とを比較して、これから描画しようとする
    画像データの奥行き情報が既にZバッファに記憶されて
    いる奥行き情報よりも大きいか否かを判断することがで
    き、奥行き情報の更新を行いながら表示するためのデー
    タを出力することと奥行き情報の更新を行わないで表示
    するためのデータを出力することとを選択することが可
    能であり、かつ、既にフレームバッファに記憶されてい
    る表示するためのデータを読み出して、その後に受け取
    られる画像データとの間でコンピュータ表示画面のドッ
    ト毎にブレンド処理することが可能である、レンダリン
    グエンジンとを有する、コンピュータ表示画面に表示す
    る描画装置。
  4. 【請求項4】さらに、 フレームバッファから出力される表示するためのデータ
    を、表示画面に表示することができる表示装置とを有す
    る、請求項3記載のコンピュータ表示画面に表示する描
    画装置。
  5. 【請求項5】半透明物体についてのブレンド処理がαブ
    レンドによって実行される、請求項3記載のコンピュー
    タ表示画面に表示する描画装置。
  6. 【請求項6】請求項1又は請求項2の描画方法を実行す
    ることが可能なラスタ・スキャン表示装置。
  7. 【請求項7】請求項3乃至請求項5の何れかに記載の描
    画装置を有するラスタ・スキャン表示装置。
JP35575798A 1998-12-15 1998-12-15 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置 Expired - Fee Related JP3258286B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP35575798A JP3258286B2 (ja) 1998-12-15 1998-12-15 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置
US09/433,475 US7453458B1 (en) 1998-12-15 1999-11-04 Drawing method and drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
GB9928984A GB2350993B (en) 1998-12-15 1999-12-09 Generation of representations of mixed semitransparent and opaque objects on a computer display screen
US12/112,680 US7834879B2 (en) 1998-12-15 2008-04-30 Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35575798A JP3258286B2 (ja) 1998-12-15 1998-12-15 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置

Publications (2)

Publication Number Publication Date
JP2000182073A true JP2000182073A (ja) 2000-06-30
JP3258286B2 JP3258286B2 (ja) 2002-02-18

Family

ID=18445606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35575798A Expired - Fee Related JP3258286B2 (ja) 1998-12-15 1998-12-15 半透明物体と不透明物体とが混在する複数の物体についての画像データをコンピュータ表示画面に表示する描画方法および描画装置

Country Status (3)

Country Link
US (2) US7453458B1 (ja)
JP (1) JP3258286B2 (ja)
GB (1) GB2350993B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061687A1 (fr) * 2001-02-01 2002-08-08 Sony Computer Entertainment Inc. Procede et dispositif de creation d'image

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003109032A (ja) * 2001-09-26 2003-04-11 Pioneer Electronic Corp 画像作成装置及びコンピュータプログラム
JP5298507B2 (ja) 2007-11-12 2013-09-25 セイコーエプソン株式会社 画像表示装置及び画像表示方法
US8405652B1 (en) * 2008-09-09 2013-03-26 Adobe Systems Incorporated Three-dimensional visualization of a form
US9183609B2 (en) * 2012-12-20 2015-11-10 Nvidia Corporation Programmable blending in multi-threaded processing units
US20140333657A1 (en) * 2013-05-10 2014-11-13 Rightware Oy Method of and system for rendering an image

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4951232A (en) 1988-09-12 1990-08-21 Silicon Graphics, Inc. Method for updating pipelined, single port Z-buffer by segments on a scan line
US5220646A (en) 1990-04-30 1993-06-15 International Business Machines Corporation Single pass hidden line removal using z-buffers
US5377313A (en) 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
JPH09330422A (ja) 1996-06-07 1997-12-22 Hitachi Ltd 3次元グラフィック表示方法および表示システム
JP3495189B2 (ja) 1996-06-19 2004-02-09 株式会社ソニー・コンピュータエンタテインメント 描画装置および描画方法
US5923333A (en) 1997-01-06 1999-07-13 Hewlett Packard Company Fast alpha transparency rendering method
US6856320B1 (en) * 1997-11-25 2005-02-15 Nvidia U.S. Investment Company Demand-based memory system for graphics applications
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US7030887B2 (en) * 2003-09-12 2006-04-18 Microsoft Corporation Methods and systems for transparent depth sorting

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7453458B1 (en) 2008-11-18
JP3258286B2 (ja) 2002-02-18
GB2350993A (en) 2000-12-13
US7834879B2 (en) 2010-11-16
US20080211811A1 (en) 2008-09-04
GB2350993B (en) 2002-12-04
GB9928984D0 (en) 2000-02-02

Similar Documents

Publication Publication Date Title
US6891533B1 (en) Compositing separately-generated three-dimensional images
US5043922A (en) Graphics system shadow generation using a depth buffer
CN111508052B (zh) 三维网格体的渲染方法和装置
US7116337B2 (en) Transparent depth sorting
US5923333A (en) Fast alpha transparency rendering method
US6038031A (en) 3D graphics object copying with reduced edge artifacts
JP5188628B2 (ja) 3dオブジェクトの3dモデルをレンダリングするための方法及びシステム
US8224107B2 (en) Method and system for signal processing, for instance for mobile 3D graphic pipelines, and computer program product therefor
US7688319B2 (en) Method and apparatus for rendering semi-transparent surfaces
US20080180440A1 (en) Computer Graphics Shadow Volumes Using Hierarchical Occlusion Culling
TW201737207A (zh) 藉由追蹤物件及/或基元識別符的圖形處理增強之方法及系統,圖形處理單元及非暫時性電腦可讀媒體
TW201539374A (zh) 用於高解析度顯示緩衝器之有效構造之方法
US20090195555A1 (en) Methods of and apparatus for processing computer graphics
US6396502B1 (en) System and method for implementing accumulation buffer operations in texture mapping hardware
US7576746B1 (en) Methods and systems for rendering computer graphics
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
US7286129B1 (en) Two-sided stencil testing system and method
US7133052B1 (en) Morph map based simulated real-time rendering
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
US7116333B1 (en) Data retrieval method and system
JPH07182526A (ja) グラフィックス表示装置の表示方法
JPH1125286A (ja) 付影処理方法
Pajarola et al. Depth-mesh objects: Fast depth-image meshing and warping
JP2952585B1 (ja) 画像生成方法
US20050057573A1 (en) Methods and systems for transparent depth sorting

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071207

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081207

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081207

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091207

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091207

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees