JPH01120685A - 図形オブジェクトのシェーディング値生成装置およびその方法 - Google Patents
図形オブジェクトのシェーディング値生成装置およびその方法Info
- Publication number
- JPH01120685A JPH01120685A JP18796888A JP18796888A JPH01120685A JP H01120685 A JPH01120685 A JP H01120685A JP 18796888 A JP18796888 A JP 18796888A JP 18796888 A JP18796888 A JP 18796888A JP H01120685 A JPH01120685 A JP H01120685A
- Authority
- JP
- Japan
- Prior art keywords
- function
- shading
- formula
- color
- expressed
- 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
Links
- 239000013598 vector Substances 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims description 35
- 239000000872 buffer Substances 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 abstract description 80
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 239000003086 colorant Substances 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000009792 diffusion process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000004040 coloring Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012888 cubic function Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012887 quadratic function Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000212384 Bifora Species 0.000 description 1
- 108010014173 Factor X Proteins 0.000 description 1
- 241000201966 Goura Species 0.000 description 1
- 101000688216 Homo sapiens Intestinal-type alkaline phosphatase Proteins 0.000 description 1
- 108010003272 Hyaluronate lyase Proteins 0.000 description 1
- 102100024319 Intestinal-type alkaline phosphatase Human genes 0.000 description 1
- 101000779569 Zymomonas mobilis subsp. mobilis (strain ATCC 31821 / ZM4 / CP4) Alkaline phosphatase PhoD Proteins 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000003595 mist Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
- G06T15/83—Phong shading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
- G06T15/87—Gouraud shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、陰極鮮管(CRT )またはその他の表示装
置上に映像を発生する方法および装置に関するものであ
る。更に詳しくいえば、本発明はCRTその他の表示装
置上のカーブ、曲った表面、ベクトル、多角形その他の
物体を描く方法および装置に関する本のである。
置上に映像を発生する方法および装置に関するものであ
る。更に詳しくいえば、本発明はCRTその他の表示装
置上のカーブ、曲った表面、ベクトル、多角形その他の
物体を描く方法および装置に関する本のである。
多くのコンピュータ装flにおいては、デジタル映像を
介して情報を表し、その情報をユーザへ伝えることがま
ったく一般的である。それらの映像は、たとえば英数字
キャラクタ直角座標のグラフ、およびその他の絵画的表
現のような各種の態様をとることができる。多くの用途
においては、デジタル映像は、ラスタ走査ビデオモニタ
、プリンタ等のような表示装置上でユーザへ伝えられる
。典型的には、表示すべき映像はデジタル形式で格納さ
れ、処理され、それから表示される。
介して情報を表し、その情報をユーザへ伝えることがま
ったく一般的である。それらの映像は、たとえば英数字
キャラクタ直角座標のグラフ、およびその他の絵画的表
現のような各種の態様をとることができる。多くの用途
においては、デジタル映像は、ラスタ走査ビデオモニタ
、プリンタ等のような表示装置上でユーザへ伝えられる
。典型的には、表示すべき映像はデジタル形式で格納さ
れ、処理され、それから表示される。
陰極鮮管上に映像を表示する際には、表示される映像の
各画素の座標と、色、透明係数、奥行きキュー係数、も
や係数、鏡面反射係数および拡散係数のような値とを計
算せねばならない。表現される物体(すなわち、三次元
物体)の特徴を画素が示して奥行き、表示へのち密さ、
光源からの反射等を反映するように画素を表現すること
が画素を「シェーディングコするものとして知られてい
る。
各画素の座標と、色、透明係数、奥行きキュー係数、も
や係数、鏡面反射係数および拡散係数のような値とを計
算せねばならない。表現される物体(すなわち、三次元
物体)の特徴を画素が示して奥行き、表示へのち密さ、
光源からの反射等を反映するように画素を表現すること
が画素を「シェーディングコするものとして知られてい
る。
三次元パラメトリックパッチまたは多角形によシ近似さ
れる表面の滑らかにシェードされる映像を発生するため
に用いられるいくつかのシェーディング技術が用いられ
ている。1つのそのような周知の技術がフォノ(Pho
ng)シェーディング技術である。このフォンシェーデ
ィング技術は、適度な計算費用で希望の映像のかなシ現
実的な表現を行うから、望ましいシェーディング技術で
ある。
れる表面の滑らかにシェードされる映像を発生するため
に用いられるいくつかのシェーディング技術が用いられ
ている。1つのそのような周知の技術がフォノ(Pho
ng)シェーディング技術である。このフォンシェーデ
ィング技術は、適度な計算費用で希望の映像のかなシ現
実的な表現を行うから、望ましいシェーディング技術で
ある。
はとんeの三次元コンピュータ支援設計応用は相互作用
性能に最高の優先度を与え、したがってフォンシェーデ
ィングによシ与えられる現実感をしばしば利用する。別
の周知のシェーディング技術社ゴーラウド(Goura
ud )シェーディングと呼ばれる。このゴーラウドシ
ェーディングは、表現される個々の多角形に対して色の
直線補間を行うが、7オンシエーデイング技術よりは正
確でない。わん曲してbる表面の多角形近似は性能の理
由から用いられる。その理由は、従来のほとんどの高速
グラフィックス・ハードウェアは多角形の高速表現のた
めに構成されているからである。たとえば、希望のパッ
チの合理的に正確な近似を行うために、典型的なパイキ
ュービック(bl−cubic) パッチは100角
形またはそれより多くの多角形を要することがある。滑
らかで、高速のわん曲面表現を利用できるならば多くの
設計応用が大幅に容易となるであろう。
性能に最高の優先度を与え、したがってフォンシェーデ
ィングによシ与えられる現実感をしばしば利用する。別
の周知のシェーディング技術社ゴーラウド(Goura
ud )シェーディングと呼ばれる。このゴーラウドシ
ェーディングは、表現される個々の多角形に対して色の
直線補間を行うが、7オンシエーデイング技術よりは正
確でない。わん曲してbる表面の多角形近似は性能の理
由から用いられる。その理由は、従来のほとんどの高速
グラフィックス・ハードウェアは多角形の高速表現のた
めに構成されているからである。たとえば、希望のパッ
チの合理的に正確な近似を行うために、典型的なパイキ
ュービック(bl−cubic) パッチは100角
形またはそれより多くの多角形を要することがある。滑
らかで、高速のわん曲面表現を利用できるならば多くの
設計応用が大幅に容易となるであろう。
したがって、本発明の目的は、画素表現速度を低下させ
ることなしに7オンシエーデイングを直接行うために比
較的簡単なハードウェアを用いる、パラメトリックパッ
チ表現方法および装置を得ることである。
ることなしに7オンシエーデイングを直接行うために比
較的簡単なハードウェアを用いる、パラメトリックパッ
チ表現方法および装置を得ることである。
本発明の別の目的は、−様でない無理871247表面
はもちろん、−様な二変数表面パッチを有する映倫を表
現する方法および装置を得ることである。
はもちろん、−様な二変数表面パッチを有する映倫を表
現する方法および装置を得ることである。
したがって、本発明においては、パラメータカーブに沿
う各画素にシェードされた色を与えるために適応前方差
を求める回路(AFDU) Kよシ、シェーディングパ
ラメータを近似するパイキュービック関数が得られ、評
価される(適応前方差を求める回路(AF[)U)につ
いては後で説明する。)本発明は、従来の方法よシはる
かに高い速度で、かつ質を目立って低下させることなし
にベクトルと多角形を正確かつ迅速にシェーディングす
る方法および装置を提供するものである。(たとえば、
フォンシェーディング、および多角形、ベクトル、カー
ブおよびその他の物体のシェーディングをよシ完全に理
解するためには次の文献を参照されたい。ブイ・ツオン
・7オン(But Tuong−Phong)、イルミ
ネーション・フォー・コンピュータ・ゼネレーテッド・
イメージズ(Illumination ForCom
puter−G@nerat@d Immges)、U
TEC−C8c−73−129,1973年朗、トム・
ダ7 (Tom Duff)、「スムーズリイ・シェー
ブラド0レンダーリング・オン・ポリヘドラル・オブシ
ェクツ・オン・ラスタ・ディスプレイズ(Smooth
ly 5haded R@nd@ringof Po1
yhsdral Ob、1eets on Ra5te
r Displays)J、5yピユータ・グラフィッ
クス(Comput@r Graphics)、第13
巻、第2号、1979年8月、スチープン・ニー・クー
ン(St・マ・n A、Coon) 「サーフエイシズ
・フォー中コンピュータ・エイデツド−デザイン・オプ
自スペース+7オームス(Surfaces ForC
omputer−Aided D@sign of 5
pac@Forms)J、プロジェクト・エムニーシー
(Project MAC) 、マサチューセ、ツツ工
科大学、MAC−TR−41,1967年6月、ビショ
ップ(Bishop)およびワイマーCSへ一′e量m
arλ「ファースト−7メン・シェーディング(Fas
t PhongShadlng)J 、コンピュータ・
グラフィックス(Computer Graphics
)、第20巻、第4号、1986年8月、エム・シヤフ
ラ(M、5hantz) およびニス・エル・リーン
(S−L Lion) 、「シェーディング・パイキュ
ービック・パツチズ(Shading Bteubic
Patches) コンピュータ・グラフィックス(
ComputerGraphics)、第21巻、第4
号、1987年7月、シェラ・す7−リー:y (Sh
eue−Llng Lien) 、マイケル・シヤフラ
(Mlchasl 5hantz) およびボーガン
、プラット(Vaughan Pratt)、「アダプ
ティブ・フォーワード・デイフエランシング・フォー・
レンダリング・カーブス・アンド・サーフエイシズ(A
daptiv@Forward Differ@nci
ng For RenderingCurves An
d 5urfaees)J、j7ビユータ・グラフィッ
クス(Computer Graphicm)、第21
巻、1987年8月)。
う各画素にシェードされた色を与えるために適応前方差
を求める回路(AFDU) Kよシ、シェーディングパ
ラメータを近似するパイキュービック関数が得られ、評
価される(適応前方差を求める回路(AF[)U)につ
いては後で説明する。)本発明は、従来の方法よシはる
かに高い速度で、かつ質を目立って低下させることなし
にベクトルと多角形を正確かつ迅速にシェーディングす
る方法および装置を提供するものである。(たとえば、
フォンシェーディング、および多角形、ベクトル、カー
ブおよびその他の物体のシェーディングをよシ完全に理
解するためには次の文献を参照されたい。ブイ・ツオン
・7オン(But Tuong−Phong)、イルミ
ネーション・フォー・コンピュータ・ゼネレーテッド・
イメージズ(Illumination ForCom
puter−G@nerat@d Immges)、U
TEC−C8c−73−129,1973年朗、トム・
ダ7 (Tom Duff)、「スムーズリイ・シェー
ブラド0レンダーリング・オン・ポリヘドラル・オブシ
ェクツ・オン・ラスタ・ディスプレイズ(Smooth
ly 5haded R@nd@ringof Po1
yhsdral Ob、1eets on Ra5te
r Displays)J、5yピユータ・グラフィッ
クス(Comput@r Graphics)、第13
巻、第2号、1979年8月、スチープン・ニー・クー
ン(St・マ・n A、Coon) 「サーフエイシズ
・フォー中コンピュータ・エイデツド−デザイン・オプ
自スペース+7オームス(Surfaces ForC
omputer−Aided D@sign of 5
pac@Forms)J、プロジェクト・エムニーシー
(Project MAC) 、マサチューセ、ツツ工
科大学、MAC−TR−41,1967年6月、ビショ
ップ(Bishop)およびワイマーCSへ一′e量m
arλ「ファースト−7メン・シェーディング(Fas
t PhongShadlng)J 、コンピュータ・
グラフィックス(Computer Graphics
)、第20巻、第4号、1986年8月、エム・シヤフ
ラ(M、5hantz) およびニス・エル・リーン
(S−L Lion) 、「シェーディング・パイキュ
ービック・パツチズ(Shading Bteubic
Patches) コンピュータ・グラフィックス(
ComputerGraphics)、第21巻、第4
号、1987年7月、シェラ・す7−リー:y (Sh
eue−Llng Lien) 、マイケル・シヤフラ
(Mlchasl 5hantz) およびボーガン
、プラット(Vaughan Pratt)、「アダプ
ティブ・フォーワード・デイフエランシング・フォー・
レンダリング・カーブス・アンド・サーフエイシズ(A
daptiv@Forward Differ@nci
ng For RenderingCurves An
d 5urfaees)J、j7ビユータ・グラフィッ
クス(Computer Graphicm)、第21
巻、1987年8月)。
上記諸目的は、表示装置上のベクトルとカーブをシェー
ディングする方法および装置によシ達成される。この装
置は、Tを透明係数、PBを7レ一ムパツ7ア手段から
帰還される第1の画素データ、Xが第2の関数を表すと
して、式 %式%) で表される第1の関数を実現する手段を有する。
ディングする方法および装置によシ達成される。この装
置は、Tを透明係数、PBを7レ一ムパツ7ア手段から
帰還される第1の画素データ、Xが第2の関数を表すと
して、式 %式%) で表される第1の関数を実現する手段を有する。
ベクトルとカーブをシェーディングする装置は、B、=
修正されたプレゼンハム誤差関数、PB =前記フレー
ムバッファ手段から帰還される第2の画素データ、Yが
第3の関数を表すとして、弐n、(pns)+(i−i
s、)y で表される第2の関数を実現する手段も有する。
修正されたプレゼンハム誤差関数、PB =前記フレー
ムバッファ手段から帰還される第2の画素データ、Yが
第3の関数を表すとして、弐n、(pns)+(i−i
s、)y で表される第2の関数を実現する手段も有する。
上記装置は、2を奥行き重み、cdをもや、PMを固有
のカーブ色として、式 %式%() で表される前記第3の関数を実現する手段も有する。最
後に、ベクトルとカーブをシェーディングする装置は前
記第1の関数と、前記第2の関数と、前記第3の関数を
一緒に組合わせて Tc(FBI)+(]−T)rB、(PB、 )+(1
−B、XZ(Cd)+1−Z(PM):l)の実現を構
成する手段を含み、それにより、表現されるベクトルと
カーブをシェーディングする。
のカーブ色として、式 %式%() で表される前記第3の関数を実現する手段も有する。最
後に、ベクトルとカーブをシェーディングする装置は前
記第1の関数と、前記第2の関数と、前記第3の関数を
一緒に組合わせて Tc(FBI)+(]−T)rB、(PB、 )+(1
−B、XZ(Cd)+1−Z(PM):l)の実現を構
成する手段を含み、それにより、表現されるベクトルと
カーブをシェーディングする。
本発明は、Te′(i−透明係数、PBをフレームバッ
ファ手段から帰還される画素データ、Xが第2の関数を
表すとして、式 %式%)) で表される第1の関数を実現する手段を備え、多角形を
シェーディングする装置も含む。多角形をシェーディン
グする装置は、2を奥行き、cdを奥行きキュー色すな
わちもや色、Lcを光源の色、PM ’z格納されてい
る色値、diffuseが第3の関数を表し、5pec
ular が第4の関数を表すものとして式 %式%()) で表される第2の関数を実現する手段も含む。
ファ手段から帰還される画素データ、Xが第2の関数を
表すとして、式 %式%)) で表される第1の関数を実現する手段を備え、多角形を
シェーディングする装置も含む。多角形をシェーディン
グする装置は、2を奥行き、cdを奥行きキュー色すな
わちもや色、Lcを光源の色、PM ’z格納されてい
る色値、diffuseが第3の関数を表し、5pec
ular が第4の関数を表すものとして式 %式%()) で表される第2の関数を実現する手段も含む。
本発明は、N−Nを表面法線ベクトルであってN自体の
ドツト積、NLrtを多角形の右端部における表面法線
と光源へ向かう単位ベクトルLのドツト積、NLltを
多角形の左端部におけるNとLのドツト積、K1を周囲
反射係数、Lcを光源の色として、式 %式%) で表される前記第3の関数を実現する手段も含む。
ドツト積、NLrtを多角形の右端部における表面法線
と光源へ向かう単位ベクトルLのドツト積、NLltを
多角形の左端部におけるNとLのドツト積、K1を周囲
反射係数、Lcを光源の色として、式 %式%) で表される前記第3の関数を実現する手段も含む。
アルファ(ロ)は多角形の左側縁部と右側縁部の間で0
から11で増加する。
から11で増加する。
多角形をシェーディングする手段は、NH,tを最高輝
度の方向における単位ベクトルHと多角形の右側端部に
おける表面法線のドツト積、NH,。
度の方向における単位ベクトルHと多角形の右側端部に
おける表面法線のドツト積、NH,。
を多角形の左側縁部における法線ベクトルNとHのドツ
ト積、Ooをかっこ内の式を累乗するべき指数、αを多
角形の左側縁部と右側縁部の間でOからl’tで増加す
るものとして、式 %式%)) で表される前記第4の関数を実現する手段も含むシ最後
に、多角形をシェーディングする本発明の装置は、前記
実現された第1の関数と、前記第2の関数と、前記第3
の関数と、前記第4の関数とを組合わせて、 Tc(PH)”(1−T6))((Z(Cd)+(1−
Z)rdlffosecIM)+sp@cular(L
c))) を構成する手段を含む。ここIc、 IMは一定の色
値からの物体の色または色値のアドレスされた映像プレ
イからの色値、LCは光源の色である。
ト積、Ooをかっこ内の式を累乗するべき指数、αを多
角形の左側縁部と右側縁部の間でOからl’tで増加す
るものとして、式 %式%)) で表される前記第4の関数を実現する手段も含むシ最後
に、多角形をシェーディングする本発明の装置は、前記
実現された第1の関数と、前記第2の関数と、前記第3
の関数と、前記第4の関数とを組合わせて、 Tc(PH)”(1−T6))((Z(Cd)+(1−
Z)rdlffosecIM)+sp@cular(L
c))) を構成する手段を含む。ここIc、 IMは一定の色
値からの物体の色または色値のアドレスされた映像プレ
イからの色値、LCは光源の色である。
本発明は、互いに狭い間隔をおいて隔てられている一連
の表面カーブをシェーディングするととKよシバラメト
リック・パッチをシェーディングする装置も含む。間隔
の計算は下記のようにして行う。この装置は式 %式%)) で表される第1の関数を実現する手段を有する。
の表面カーブをシェーディングするととKよシバラメト
リック・パッチをシェーディングする装置も含む。間隔
の計算は下記のようにして行う。この装置は式 %式%)) で表される第1の関数を実現する手段を有する。
パッチをシェーディングする装置は、2を奥行き、Cd
を奥行き中ニー色、「dIffu膳・」が第5の数を表
し、「sp@eularJ が第6の関数を表すとし
て、式 %式%) で表される第2の関数を実現する手段も含む。
を奥行き中ニー色、「dIffu膳・」が第5の数を表
し、「sp@eularJ が第6の関数を表すとし
て、式 %式%) で表される第2の関数を実現する手段も含む。
この装置は、第5の関数(dirfus・)と第6の関
数(sp@cular) を実現する手段も含む。N
を、表面カーブに沿ってパラメトリック関数として変化
する表面法線ベクトルとして、式 %式% で表される。第6の関数(specular)は、式(
N、H/F1)0e で表される。
数(sp@cular) を実現する手段も含む。N
を、表面カーブに沿ってパラメトリック関数として変化
する表面法線ベクトルとして、式 %式% で表される。第6の関数(specular)は、式(
N、H/F1)0e で表される。
最後に、/<ラメトリックパッチをシェーディングする
装置は、第1の関数と、第2の関数と、第3の関数と、
第4の関数とを組合せて、式7式%) を構成することによシ、表現されるパラメトリックパッ
チの表面カーブをシェーディングする。
装置は、第1の関数と、第2の関数と、第3の関数と、
第4の関数とを組合せて、式7式%) を構成することによシ、表現されるパラメトリックパッ
チの表面カーブをシェーディングする。
本発明は映像のグラフィック表示のために用いられるコ
ンピュータ装置で使用する特定の用途を持つ装置および
方法を開示するものである。本発明を完全に理解できる
ようにするために、以下の説明においては、特定の回路
、ブロック図、信号、アルゴリズム等について述べであ
る。しかし、そのよう)特定の詳細事項なしに本発明を
実施できることが当業者には明らかであろう。その他の
場合には、本発明を不必要にあいまいにしないようKす
るために、周知の回路はブロック図で説明しである。
ンピュータ装置で使用する特定の用途を持つ装置および
方法を開示するものである。本発明を完全に理解できる
ようにするために、以下の説明においては、特定の回路
、ブロック図、信号、アルゴリズム等について述べであ
る。しかし、そのよう)特定の詳細事項なしに本発明を
実施できることが当業者には明らかであろう。その他の
場合には、本発明を不必要にあいまいにしないようKす
るために、周知の回路はブロック図で説明しである。
以下、図面を参照して本発明の詳細な説明する。
第1図には本発明の全体のブロック図が示されている。
CRT表示装置または別の表示袋ftK映像を表示する
ためには、表示したいカーブ、わん曲した表面、ベクト
ルまたは映像を構成する画素場所および色をCRT表示
装置上で選択するために、データを高速で処理すること
が必要である。CRT上に表示すべき各点の場所は記憶
装置に格納されて、X + 1 + ”の−様な座標に
対応するデジタル値によシしばしば表されることは良く
知られている。
ためには、表示したいカーブ、わん曲した表面、ベクト
ルまたは映像を構成する画素場所および色をCRT表示
装置上で選択するために、データを高速で処理すること
が必要である。CRT上に表示すべき各点の場所は記憶
装置に格納されて、X + 1 + ”の−様な座標に
対応するデジタル値によシしばしば表されることは良く
知られている。
未決の米国特許出願071047,696および071
047.693 +7)第1図に示されていルX、Y、
Z、WAFDU装置14を含むジオメトリ部7が、映像
を表示すべき物体のx、y、z、wの−様な座標を計算
する。ジオメトリ部7はアドレスパイプライン16も含
む。このアドレスパイプラインは、未決の米国特許出願
071047,696および071047.693の第
1図と第7図に示されている画素フィルタ回路30を含
む。そのアドレスパイプライン16は修正されたプレゼ
ンハム(Bresenham)アルゴリズム誤差項を出
力する。その誤差項はアンチエイリアシング重みづけ関
数として用いられる。(プレゼンハム・アルゴリズムの
その修正されたものは多角形の縁部に沿って走査#Jf
fiに増分的に歩進するため、およびアンチエイリアシ
ングベクトル技術において広く用いられている( 19
83年にスブリンガー・バーラグ(Springsr
Verlag)により発行された、クニイトシャス編[
コンピュータ・グラフィックス・セオリイ・アンド・ア
プリケーションズ(Computer Graphic
s Th5ory and Applications
)中の7ジモトアキラおよびイワタコーの「ジャグ・フ
リー・イメージズ・オン・ア・ラスタCRT(JtHt
Free Images on a Ra5ter
CRT) f参照されたい。)重みづけ関数は着色部1
50の7エーデイングパイプライン12へ出力される。
047.693 +7)第1図に示されていルX、Y、
Z、WAFDU装置14を含むジオメトリ部7が、映像
を表示すべき物体のx、y、z、wの−様な座標を計算
する。ジオメトリ部7はアドレスパイプライン16も含
む。このアドレスパイプラインは、未決の米国特許出願
071047,696および071047.693の第
1図と第7図に示されている画素フィルタ回路30を含
む。そのアドレスパイプライン16は修正されたプレゼ
ンハム(Bresenham)アルゴリズム誤差項を出
力する。その誤差項はアンチエイリアシング重みづけ関
数として用いられる。(プレゼンハム・アルゴリズムの
その修正されたものは多角形の縁部に沿って走査#Jf
fiに増分的に歩進するため、およびアンチエイリアシ
ングベクトル技術において広く用いられている( 19
83年にスブリンガー・バーラグ(Springsr
Verlag)により発行された、クニイトシャス編[
コンピュータ・グラフィックス・セオリイ・アンド・ア
プリケーションズ(Computer Graphic
s Th5ory and Applications
)中の7ジモトアキラおよびイワタコーの「ジャグ・フ
リー・イメージズ・オン・ア・ラスタCRT(JtHt
Free Images on a Ra5ter
CRT) f参照されたい。)重みづけ関数は着色部1
50の7エーデイングパイプライン12へ出力される。
着色部150はCRT22上の画素に着色するために用
いられる。
いられる。
これについては後で説明する。AF、DU14は瞬時x
、y、z、w座標をアドレスパイプライン16へ出力す
る。画素フィルタ30は弧長とアンチエイリアシング重
みづけ関数C0と、2座標と、弧長とアンチエイリアシ
ング重みづけ関数とを着色部150のアドレスパイプラ
イン12へ出力する。
、y、z、w座標をアドレスパイプライン16へ出力す
る。画素フィルタ30は弧長とアンチエイリアシング重
みづけ関数C0と、2座標と、弧長とアンチエイリアシ
ング重みづけ関数とを着色部150のアドレスパイプラ
イン12へ出力する。
CRT上に特定の画素を形成するためにアドレスパイプ
ライン16をX 、 y 、 w 、 z座標を7レー
ム20へ出力する。シェーディングパイプライン12へ
入力される瞬時座標zは奥行きキューイングのためにそ
こで用いられる。その奥行きキューイングは、映像を見
ている人から(Z(奥行き)方向)へ離れるように映像
が見えるように物体をフェードアウトするための周知の
技術である。
ライン16をX 、 y 、 w 、 z座標を7レー
ム20へ出力する。シェーディングパイプライン12へ
入力される瞬時座標zは奥行きキューイングのためにそ
こで用いられる。その奥行きキューイングは、映像を見
ている人から(Z(奥行き)方向)へ離れるように映像
が見えるように物体をフェードアウトするための周知の
技術である。
(フオレイ(pot@y)およびパン・ダム(Van
Darrvn)、インターアクティブ・コンピュータ・
グラフィックス(Interaetlve Compu
ter Graphics)、アジソン・ウニズレ−(
Addison We+5lsy)、1982゜)シェ
ーディングパイプライン12へ出力される弧長け、カー
ブに沿ってパターンをマツプするためにパターン記憶装
置を増分的に索引するために用いられ、アンチエイリア
シング重みづけ係数が表現される物体の縁部すなわち輪
郭に沿って画素を背景に混合してラスク表示装置上の映
像のジャグされた外見を減少させるために用いられる。
Darrvn)、インターアクティブ・コンピュータ・
グラフィックス(Interaetlve Compu
ter Graphics)、アジソン・ウニズレ−(
Addison We+5lsy)、1982゜)シェ
ーディングパイプライン12へ出力される弧長け、カー
ブに沿ってパターンをマツプするためにパターン記憶装
置を増分的に索引するために用いられ、アンチエイリア
シング重みづけ係数が表現される物体の縁部すなわち輪
郭に沿って画素を背景に混合してラスク表示装置上の映
像のジャグされた外見を減少させるために用いられる。
着色部150は複数の付加AFDU回路10と前記シェ
ーディングパイプライン12を有する。着色部150は
各画素において表示すべき色の赤、青、緑の表現を表示
し、出力し、ベクトルシェーディング、カーブシェーデ
ィング、多角形シェーディング、およびバッチシェーデ
ィング(すなわち、パイキュービックパッチ)を行う。
ーディングパイプライン12を有する。着色部150は
各画素において表示すべき色の赤、青、緑の表現を表示
し、出力し、ベクトルシェーディング、カーブシェーデ
ィング、多角形シェーディング、およびバッチシェーデ
ィング(すなわち、パイキュービックパッチ)を行う。
それらの各関数の動作と性能については後で詳しく説明
する。
する。
AFDU回路10は関数発生器として機能して、パラメ
トリック入力をシェーディングパイプライン12へ供給
する。更に詳しくいえば、AFDU回路10は周知のフ
ォンシェーディング式において正常なベクトルドツト積
に対するパラメトリックキュービック近似を計算する目
的と、B線補間関数および映像をパッチにマツプするた
めに映像記憶装置へのアドレスを計算する目的を果す。
トリック入力をシェーディングパイプライン12へ供給
する。更に詳しくいえば、AFDU回路10は周知のフ
ォンシェーディング式において正常なベクトルドツト積
に対するパラメトリックキュービック近似を計算する目
的と、B線補間関数および映像をパッチにマツプするた
めに映像記憶装置へのアドレスを計算する目的を果す。
シェーディングパイプライン12は赤処理と、前処理と
、緑処理のためにそれぞれ用いる3つのチャネルを有す
る。各チャネルは色ベクトル算術演算を行う一連の縦続
接続された算術装置を有する。シェーディングパイプラ
イン12中の各算術装着はいくつかのCPU9から受け
た指令に応じて算術機能のうちの1つの算術機能を行う
。それらの算術機能については後で説明する。
、緑処理のためにそれぞれ用いる3つのチャネルを有す
る。各チャネルは色ベクトル算術演算を行う一連の縦続
接続された算術装置を有する。シェーディングパイプラ
イン12中の各算術装着はいくつかのCPU9から受け
た指令に応じて算術機能のうちの1つの算術機能を行う
。それらの算術機能については後で説明する。
シェーディングパイプライン12は拡散反射寄与を有す
る色を計算してそれらの色をフレームバッファ20へ扇
力し、かっ色奥行きキューイングとアンチエイリアシン
グを加えるとともに、希望によっては、各画素色に対す
る運動によるぶれと透明性を加える操作も行う。CRT
22上に表示するために画素色値はシェーディングパイ
プライン12からフレームバッファ20へ出力される(
すなわち、X、7.Z、Wにより定められる)。
る色を計算してそれらの色をフレームバッファ20へ扇
力し、かっ色奥行きキューイングとアンチエイリアシン
グを加えるとともに、希望によっては、各画素色に対す
る運動によるぶれと透明性を加える操作も行う。CRT
22上に表示するために画素色値はシェーディングパイ
プライン12からフレームバッファ20へ出力される(
すなわち、X、7.Z、Wにより定められる)。
回帰計算能力が与えられるように、シェーディングパイ
プライン12はそれの出力をシェーディングパイプライ
ン12の画素バッファへ供給することもできる。各画素
アドレスにおいて計算される値は画素バッファ記憶装#
に順次書込まれる。
プライン12はそれの出力をシェーディングパイプライ
ン12の画素バッファへ供給することもできる。各画素
アドレスにおいて計算される値は画素バッファ記憶装#
に順次書込まれる。
後で説明するように、同じカーブについてAFDU14
と10により再び実行し、画素バッファに格納されてい
る以前に計算した画素値に組合わせて更に付加シェーデ
ィング計算を行う。
と10により再び実行し、画素バッファに格納されてい
る以前に計算した画素値に組合わせて更に付加シェーデ
ィング計算を行う。
アドレスパイプライン16はフレームバッファ読出しモ
ードでも機能し、それにより、アドレスパイプライン1
6によ多発生されたアドレスを用いて7レームパツフア
20から画素値を読出すために用い、それらの値をシェ
ーディングパイプライン12内の場所に順次出力して、
それらの値を後で行うアンチエイリアシング計算、透明
性計算および運動によるぼけ計算のような計算に使用で
きる。
ードでも機能し、それにより、アドレスパイプライン1
6によ多発生されたアドレスを用いて7レームパツフア
20から画素値を読出すために用い、それらの値をシェ
ーディングパイプライン12内の場所に順次出力して、
それらの値を後で行うアンチエイリアシング計算、透明
性計算および運動によるぼけ計算のような計算に使用で
きる。
ベクトルの表示については、ベクトル属性は線の幅、ア
ンチエイリアシング、色奥行きキューイングおよび透明
性を含む。線幅とアンチエイリアシングは前記のように
、および後で述べるようにジオメトリ部7から取出され
、色奥行きキューイングおよび透明性は後記の式(1)
で計算した下記の係数を実現することによシ得られる。
ンチエイリアシング、色奥行きキューイングおよび透明
性を含む。線幅とアンチエイリアシングは前記のように
、および後で述べるようにジオメトリ部7から取出され
、色奥行きキューイングおよび透明性は後記の式(1)
で計算した下記の係数を実現することによシ得られる。
Te=透明係数0(不透明)〜1(透明)の範囲であっ
て、12の部分ビットを典型的に有する。
て、12の部分ビットを典型的に有する。
Teは与えられた目的に対して一定である。
PR=AFDU10によ多発生される値によりアドレス
される画素バッファ記憶装置。<R,G、B>、0〜1
の範囲、12個の部分ビット(典型的)。
される画素バッファ記憶装置。<R,G、B>、0〜1
の範囲、12個の部分ビット(典型的)。
B、=O〜1の範囲の修正されたプレゼンハム誤差(ア
ンチエイリアシング重みづけ関数として用いられる)は
12の部分ビットを典型的に有する。Bはベクトルに沿
う各画素ごとにAFDUl 4により発生される。
ンチエイリアシング重みづけ関数として用いられる)は
12の部分ビットを典型的に有する。Bはベクトルに沿
う各画素ごとにAFDUl 4により発生される。
IM =映像記憶装置、PM
PM =パターン記憶装置、PM
Z =ZAFDからの奥行き値であって、0〜1の範
囲、12の部分ビットを典型的に有するC1=アンチエ
イリアシング背景に対する色定数、<R,G、B>、8
ビツト この式は、不透明な物体に対してT c=Oとおき、ア
ンチエイリアシング環においてPBを一定の色・C1で
置換し、無アンチエイリアシングに対してBs=Oとセ
ットし、一定の色OeでIMを置き換え、奥行゛き牟ユ
ーイングを希望する時はZ=Qとセットすることによシ
簡単にできる。(注:アンチヱイリアスされるベクトル
に対しては、それの2辺を横に並べられた2つの別々の
ベクトルとして独立に描くことができることがわかるで
あろう。)(11式の実現については後で第2図の回路
を参照して説明する。
囲、12の部分ビットを典型的に有するC1=アンチエ
イリアシング背景に対する色定数、<R,G、B>、8
ビツト この式は、不透明な物体に対してT c=Oとおき、ア
ンチエイリアシング環においてPBを一定の色・C1で
置換し、無アンチエイリアシングに対してBs=Oとセ
ットし、一定の色OeでIMを置き換え、奥行゛き牟ユ
ーイングを希望する時はZ=Qとセットすることによシ
簡単にできる。(注:アンチヱイリアスされるベクトル
に対しては、それの2辺を横に並べられた2つの別々の
ベクトルとして独立に描くことができることがわかるで
あろう。)(11式の実現については後で第2図の回路
を参照して説明する。
カーブ・シェーディング
カーブの属性はベタトルの属性に非常に類似する。(参
照文献、フォーレイ(Foley)およびパン・ダム(
Van Danyn) 、ファンダメンタルス・オン・
インターアクティブ・コンピュータ・グラフィックス(
Fundamentals of Int@racti
vs Comput@rGraphics)、アジソン
・ウニズレ−(AddisonWesley)、198
2゜)主な違いは、アンチエイリアシング係数C0が(
1)式のBoの代シに用いられることである。したがっ
て、カーブを表現する式は下記の(2)式を実現するこ
とくより得られる。
照文献、フォーレイ(Foley)およびパン・ダム(
Van Danyn) 、ファンダメンタルス・オン・
インターアクティブ・コンピュータ・グラフィックス(
Fundamentals of Int@racti
vs Comput@rGraphics)、アジソン
・ウニズレ−(AddisonWesley)、198
2゜)主な違いは、アンチエイリアシング係数C0が(
1)式のBoの代シに用いられることである。したがっ
て、カーブを表現する式は下記の(2)式を実現するこ
とくより得られる。
(2)式によシベクトルと同様な簡単化が図られる。
係数C0は、カーブに沿う各画素に対してアドレスパイ
プライン16中の画素フィルタ30により計算される。
プライン16中の画素フィルタ30により計算される。
この回路は画素フィルタの一部であって、後で詳しく説
明する。
明する。
多角形シェーディング
多角形に適用されるシェーディング属性は中空、中実、
ゴーラウド(Gouraud) iたはフォノ・シェー
ディングスタイル、映像マツピング、アンチエイリアシ
ング、奥行きキューイング、および透明性を含む。下記
の式は多角形の2点間の線(すなわち、走査線)のため
のシェーディングの式を与えるものである。多角形シェ
ーディングは下記の式(3)と(4)に示されている係
数を実現することによシ行われる。
ゴーラウド(Gouraud) iたはフォノ・シェー
ディングスタイル、映像マツピング、アンチエイリアシ
ング、奥行きキューイング、および透明性を含む。下記
の式は多角形の2点間の線(すなわち、走査線)のため
のシェーディングの式を与えるものである。多角形シェ
ーディングは下記の式(3)と(4)に示されている係
数を実現することによシ行われる。
NL =シェーディングされる多角形の走査線の左側縁
部と右側縁部における正規化されていないドツト積N
−L0頂点における法線は正規化されるから、直線補間
によりNLは常に0〜1の関門にあって、1を決してこ
えない。好適な実施例においては、 NLは12個の部
分ビット’<有する。もつとも、それより多い、または
少いビットも使用できる。
部と右側縁部における正規化されていないドツト積N
−L0頂点における法線は正規化されるから、直線補間
によりNLは常に0〜1の関門にあって、1を決してこ
えない。好適な実施例においては、 NLは12個の部
分ビット’<有する。もつとも、それより多い、または
少いビットも使用できる。
NH=多角形の走査線の左側縁部と右側縁部における正
規化されていないドツトMN・H(典型的には、NLと
同じ範囲および同じビットを持つ)。
規化されていないドツトMN・H(典型的には、NLと
同じ範囲および同じビットを持つ)。
NN =表面に垂直なベクトルの自乗された長さ、すな
わち、NとNのドツト積である。
わち、NとNのドツト積である。
この値は、好適な実施例においては、典型的には0.5
〜1であって、12個の部分ビットを要求する。
〜1であって、12個の部分ビットを要求する。
α= AFDU回路により発生される値であって、シ
ェーディングされる多角形の走査線の左側縁部と右側縁
部の間を0から1まで直線的に増大し、典型的には12
個の部分ビットを有する。(注: AFDU回路は、未
決の米国特許出願071047 、696と07104
7.693の第3図のX AFDU回路と同一である。
ェーディングされる多角形の走査線の左側縁部と右側縁
部の間を0から1まで直線的に増大し、典型的には12
個の部分ビットを有する。(注: AFDU回路は、未
決の米国特許出願071047 、696と07104
7.693の第3図のX AFDU回路と同一である。
)
式(3)と(4)は、lp@(! の近似を発生する
ためにWAFDU回路と、近似diff を発生する
ためにAF’DU回路(第2図を参照して後で説明する
)を用いる高オーバヘッド技術により大幅に簡単にされ
る。l1peeとdi ffはO〜1の範囲であって、
K。
ためにWAFDU回路と、近似diff を発生する
ためにAF’DU回路(第2図を参照して後で説明する
)を用いる高オーバヘッド技術により大幅に簡単にされ
る。l1peeとdi ffはO〜1の範囲であって、
K。
と−緒に加え合わせて1にしなければならず、好適な実
施例においてはおのおの12個の部分ビットで構成され
る。
施例においてはおのおの12個の部分ビットで構成され
る。
前記ゴーラウド・シェーディング(すなわち、CRTの
走査線に沿う色の補間)に対しては、上記のシェード式
は1/%τNを乗することを無くすことにより簡単にで
きる。(注;ゴーラウドシェーディングはこの分野にお
いて周知であって、たとえば、ゴーラウド、ヘンリ(G
ouraudSHenri)、コンピュータ・デイスプ
レィ・オン・カーブド・サーフエイシス(Comput
@r Display of CurvedSurfa
ces)、省、1971、およびトム・ダフ(Tom
Duff) 、rスムースリイ・シエイデツド・レンダ
リンゲス・オブ・ポリヘドラル・オブシェクツ・オン・
ラスタ・デイスプレィズ(SmoothlyShade
d Renderlngs of Po1yhedra
l 0bjscts onRaster Displa
ys)、コンピュータ・グラフィックス(Comput
@r Graphics)、13巻、1979゜)この
分野において周知のように、多角形のシェーディング罠
おいては、縁部スタイル属性を表現するために多角形の
周囲に境界をしばしば引かなければならない。そのよう
な境界が画素2個分以上の幅より広いと、表現される境
界についてのd Z/d !の正しい値を得る際に問題
が起るから、その値はX値境界画素を最小にしない。境
界が画素2個分以上の幅よシ広い境界を表現する前記問
題の解決法を発明者は発見した。2個の多角形が表現さ
れる。多角形の縁部が外側の境界を形成し、内側の多角
形が内側の穴を形成する。内側の多角形の頂点は多角形
の内側の頂点でおり、それKよシ、閉じられている境界
画素の問題を解決する。
走査線に沿う色の補間)に対しては、上記のシェード式
は1/%τNを乗することを無くすことにより簡単にで
きる。(注;ゴーラウドシェーディングはこの分野にお
いて周知であって、たとえば、ゴーラウド、ヘンリ(G
ouraudSHenri)、コンピュータ・デイスプ
レィ・オン・カーブド・サーフエイシス(Comput
@r Display of CurvedSurfa
ces)、省、1971、およびトム・ダフ(Tom
Duff) 、rスムースリイ・シエイデツド・レンダ
リンゲス・オブ・ポリヘドラル・オブシェクツ・オン・
ラスタ・デイスプレィズ(SmoothlyShade
d Renderlngs of Po1yhedra
l 0bjscts onRaster Displa
ys)、コンピュータ・グラフィックス(Comput
@r Graphics)、13巻、1979゜)この
分野において周知のように、多角形のシェーディング罠
おいては、縁部スタイル属性を表現するために多角形の
周囲に境界をしばしば引かなければならない。そのよう
な境界が画素2個分以上の幅より広いと、表現される境
界についてのd Z/d !の正しい値を得る際に問題
が起るから、その値はX値境界画素を最小にしない。境
界が画素2個分以上の幅よシ広い境界を表現する前記問
題の解決法を発明者は発見した。2個の多角形が表現さ
れる。多角形の縁部が外側の境界を形成し、内側の多角
形が内側の穴を形成する。内側の多角形の頂点は多角形
の内側の頂点でおり、それKよシ、閉じられている境界
画素の問題を解決する。
あるいは、境界の幅が画素1個分だけでおれば、または
表現される多角形の縁部においてアンチエイリアシング
が望ましいとすると、多角形を巻くベクトル(アンチエ
イリアスされるベクトルの半分)を表現することが好ま
しい。アンチエイリアスされ九ベクトル法のXまだはy
のオフセットにより、多角形の丁度境界の内側に6る画
素を、巻くベクトルが含まないよう忙する。7オン・シ
エイドされる多角形のアンチエイリアスされる縁部につ
いてのシェーディング式は次の通りである。
表現される多角形の縁部においてアンチエイリアシング
が望ましいとすると、多角形を巻くベクトル(アンチエ
イリアスされるベクトルの半分)を表現することが好ま
しい。アンチエイリアスされ九ベクトル法のXまだはy
のオフセットにより、多角形の丁度境界の内側に6る画
素を、巻くベクトルが含まないよう忙する。7オン・シ
エイドされる多角形のアンチエイリアスされる縁部につ
いてのシェーディング式は次の通りである。
第2図の画素バッファ116,216,316にd l
ff (IM)e をまず格納し、次に各光源のための鏡面IptICrI
、c〕を画素バッファに繰返えし加えることにより、多
数の光源を第2図に示されている装置で表現できること
を本願発明者は発見した。
ff (IM)e をまず格納し、次に各光源のための鏡面IptICrI
、c〕を画素バッファに繰返えし加えることにより、多
数の光源を第2図に示されている装置で表現できること
を本願発明者は発見した。
下記の式は二変数パラメータ・パッチを横切る表面カー
ブについてのシェーディング式を示すものであ机 前記未決の米国特許出願071047,696と071
047.693に記載されているようK、変数(パラメ
ータと呼ばれる)マのキュービック(L!たけ高次の)
パラメトリック関数を実現するためにAFDU回路を使
用できる。キュービック関数発生器として用いられるそ
れらのAF DU回路は、はぼ1つの画素ステップが発
生されるように1キユービツクカーブに沿って画素アド
レスを与えるために、X(す、y(マ)、2(す、W(
v) を発生するために用いられる、AFDU回路は
、lp@e(す、diff(v)、N−L(v)。
ブについてのシェーディング式を示すものであ机 前記未決の米国特許出願071047,696と071
047.693に記載されているようK、変数(パラメ
ータと呼ばれる)マのキュービック(L!たけ高次の)
パラメトリック関数を実現するためにAFDU回路を使
用できる。キュービック関数発生器として用いられるそ
れらのAF DU回路は、はぼ1つの画素ステップが発
生されるように1キユービツクカーブに沿って画素アド
レスを与えるために、X(す、y(マ)、2(す、W(
v) を発生するために用いられる、AFDU回路は
、lp@e(す、diff(v)、N−L(v)。
N−H(マ)に対する平ニービック関数近似を発生する
ためにも使用できる。それらは、対応する画素アドレス
のためのシェーディング値を発生するために画素フィル
タ30により全て制御される。
ためにも使用できる。それらは、対応する画素アドレス
のためのシェーディング値を発生するために画素フィル
タ30により全て制御される。
二変数表面パンチf(U、V)のシェーディングのため
に、第2図に示されている装置は、結果として得た表面
が穴すなわち画素間隙を含まないように、Uパラメータ
内で十分に狭い間隔で一緒に隔てられている一連のカー
ブg(v) を発生する。このようにしてバッチはU
、Vパラメータスペース内で表現され、それによシ、周
知の映像マツピングおよびパッチトリミングのようなシ
ェーディング操作を大幅に容易にする。二変数パッチを
シェードするために狭い間隔をおいて隔てられている一
連のカーブを発生することを、前記未決の米国特許出願
071047,696および071047.693の前
記適応前方差を求める技術を用いて実現できる。
に、第2図に示されている装置は、結果として得た表面
が穴すなわち画素間隙を含まないように、Uパラメータ
内で十分に狭い間隔で一緒に隔てられている一連のカー
ブg(v) を発生する。このようにしてバッチはU
、Vパラメータスペース内で表現され、それによシ、周
知の映像マツピングおよびパッチトリミングのようなシ
ェーディング操作を大幅に容易にする。二変数パッチを
シェードするために狭い間隔をおいて隔てられている一
連のカーブを発生することを、前記未決の米国特許出願
071047,696および071047.693の前
記適応前方差を求める技術を用いて実現できる。
以下に、狭い間隔をおいて隔てられているいくつかのカ
ーブを表現することによシパツチをシェードする本発明
の方法について説明する。
ーブを表現することによシパツチをシェードする本発明
の方法について説明する。
第1のカーブから次のカーブへの適応前方差を求める技
術においては、第1のカーブのための基本関数はf(u
、りであシ、第2のカーブのための基本関数はf (u
+du、りである。カーブをu、vで表すための前方差
基礎における周知のマトリックスは次の通シである。
術においては、第1のカーブのための基本関数はf(u
、りであシ、第2のカーブのための基本関数はf (u
+du、りである。カーブをu、vで表すための前方差
基礎における周知のマトリックスは次の通シである。
ここに1BvとBoは前方差基本マトリックスである。
(前方差基本マ) リツクスの詳細については、フオレ
イ(potey)およびパン・ダム(Van Da+m
+)著、インターアクティブ・コンピュータ・グラフィ
ックス(IntsrAetive Computer
Graphics)、アジソン・ウエズレイ(Addi
son Wesl@y)、1982、を参照されたい。
イ(potey)およびパン・ダム(Van Da+m
+)著、インターアクティブ・コンピュータ・グラフィ
ックス(IntsrAetive Computer
Graphics)、アジソン・ウエズレイ(Addi
son Wesl@y)、1982、を参照されたい。
)
Aマトリックスの5番目の列をAxjで表す。Aマトリ
ックスの1番目の行’1l−Aixで表す。二変数パラ
メトリック・バッチ上の1つのカーブから灰のカーブま
での前方差ステップが、行Ax1をAxOに加え、Ax
2をAxlに加え、Ax8をAx、lに加えることKよ
シ行われる。それから、表現される次のカーブが現在の
カーブから離れすぎている(画素間隙を残して)かどう
かを次のようにして調べられる。
ックスの1番目の行’1l−Aixで表す。二変数パラ
メトリック・バッチ上の1つのカーブから灰のカーブま
での前方差ステップが、行Ax1をAxOに加え、Ax
2をAxlに加え、Ax8をAx、lに加えることKよ
シ行われる。それから、表現される次のカーブが現在の
カーブから離れすぎている(画素間隙を残して)かどう
かを次のようにして調べられる。
「差」列AxLは周知の[ビツアイヤ−(Bezier
)J基礎へ変換される。次に、2つのカーブの間の画素
座標XとyKおける最大距離を得るために周知のビツア
イヤー凸状殻がテストされる。その距離が所定のしきい
値より長いとすると、Aマトリックスの各行は短く調節
される。Xの距離とyの距離が所定の最小しきい値より
短いと、マトリックスの各行を長くするように調節する
。(「ビツアイヤー」基礎およびそれの前方差を求める
相互作用の詳細については前掲書、「インターアクティ
ブ・コンピューターグラフィックス(InterAet
iveComputer Graphics)Jを参照
されたい。)ベクトル、カーブ、多角形およびパイキュ
ービックバッチシエーデイシグのための前記式の実現を
第2図を参照して以下に説明する。
)J基礎へ変換される。次に、2つのカーブの間の画素
座標XとyKおける最大距離を得るために周知のビツア
イヤー凸状殻がテストされる。その距離が所定のしきい
値より長いとすると、Aマトリックスの各行は短く調節
される。Xの距離とyの距離が所定の最小しきい値より
短いと、マトリックスの各行を長くするように調節する
。(「ビツアイヤー」基礎およびそれの前方差を求める
相互作用の詳細については前掲書、「インターアクティ
ブ・コンピューターグラフィックス(InterAet
iveComputer Graphics)Jを参照
されたい。)ベクトル、カーブ、多角形およびパイキュ
ービックバッチシエーデイシグのための前記式の実現を
第2図を参照して以下に説明する。
第2図には本発明のシェーディングハードウェアの全体
のブロック図が示されている。第2図はカラーCRT用
の標準の赤信号と、緑信号と、青信号を発生するための
3チヤネル・プロセッサを示す。一般に、100〜19
9までの参照符号をつけた部品は赤チャネルに対応し、
200〜299の参照符号をつけた部品は緑チャネルに
対応し、300〜399までの参照符号をつけた部品は
!チャネルに対応する。
のブロック図が示されている。第2図はカラーCRT用
の標準の赤信号と、緑信号と、青信号を発生するための
3チヤネル・プロセッサを示す。一般に、100〜19
9までの参照符号をつけた部品は赤チャネルに対応し、
200〜299の参照符号をつけた部品は緑チャネルに
対応し、300〜399までの参照符号をつけた部品は
!チャネルに対応する。
4つの適応前方差回路(AFDU)50.60 、70
.90が第1図のAFf)Uに対応し、AFDUi4か
ら出力された画素アドレスに対応する画素シェーディン
グ値を供給する。AFDUは第三次のデジタル差解析器
であって、前記未決の米国特許出願071047,69
6および071047,693に記載されているように
、パラメータtがキュービックカーブに沿ってOからI
tで変化するにつれて、t4C対するdtステップ寸法
が適応調節されてカーブがほぼ1画素ステップでステッ
プするように、パラメータtのパラメトリックキュービ
ック関数に対する適応前方差の解を出す。算術装置(A
U)76 、78 、 H、88、104゜114.1
22,124,128.204,214,222,22
4.304゜314.322,324,328は全て同
一の装置であって、ゲートアレイとして実現でき、また
はl’−TRWJ掛算器およびALUのような個別部品
から構成される。
.90が第1図のAFf)Uに対応し、AFDUi4か
ら出力された画素アドレスに対応する画素シェーディン
グ値を供給する。AFDUは第三次のデジタル差解析器
であって、前記未決の米国特許出願071047,69
6および071047,693に記載されているように
、パラメータtがキュービックカーブに沿ってOからI
tで変化するにつれて、t4C対するdtステップ寸法
が適応調節されてカーブがほぼ1画素ステップでステッ
プするように、パラメータtのパラメトリックキュービ
ック関数に対する適応前方差の解を出す。算術装置(A
U)76 、78 、 H、88、104゜114.1
22,124,128.204,214,222,22
4.304゜314.322,324,328は全て同
一の装置であって、ゲートアレイとして実現でき、また
はl’−TRWJ掛算器およびALUのような個別部品
から構成される。
明確にするために、ここで説明している実施例は、各計
算ステップが専用のALUに割尚てられるパイプライン
構造に関するものである。各チャネルごとの1つの邸が
、引続く動作サイクル中に後述する各演算を実行するよ
うな回帰処理を用いることにより同じ結果を得ることが
できる。そのような回帰処理を支持するために帰還およ
び掛算回路を要求される。そのような回帰処理の実施例
の一例を後で第4図を参照して説明する。
算ステップが専用のALUに割尚てられるパイプライン
構造に関するものである。各チャネルごとの1つの邸が
、引続く動作サイクル中に後述する各演算を実行するよ
うな回帰処理を用いることにより同じ結果を得ることが
できる。そのような回帰処理を支持するために帰還およ
び掛算回路を要求される。そのような回帰処理の実施例
の一例を後で第4図を参照して説明する。
各AUは入力A、Bとアルファ(ALPT(A )を受
け、結果RESを生ずる。各AUはRESの出力に下記
の式の1つを計算する。
け、結果RESを生ずる。各AUはRESの出力に下記
の式の1つを計算する。
(ALPT(A)A+(1−ALPHA)B (6a
)(ALPHA)84(1−ALPT(A)A (6
b)(ALIQ(A)A+B (7m)
(ALPHA)BAA (7b)A *
B (7c)A + B
(7d)AA AFDM50の
出力がAA関数モジュール52へ供給される。それは、
走査線から(1)式中のBeまでの距離を変換する関数
を含むルックアップテーブルである。AA関数モジュー
ル52の出力はマルチプレクサ96へ入力される。マル
チプレクサ96はンオメトリ部7の画素フィルタ回路3
0(第3図)からアンチエイリアス重みづけ係数(式(
2)中のC,)も入力として受ける。第3図は、前記未
決の米国特許出願071047 、696および071
047.693の第7図に示されているいくつかのレジ
スタ(102,103,104,120,121122
)(前記画素フィルタ30)を示す。第3図に示されて
いる減算器170がXレジスタ103.104から入力
を受け、出力tx−xn+1−xn+、(tXは瞬時正
接ぺクトルのX成分である)を生ずる。減算器171が
yレジスタ121と122から入力をとり、出力tアー
3’n+1−yfi+1 を生ずる( 1yは瞬時正
接ベクトルのy成分である)。第3図のルックアップテ
ーブル176は瞬時正接ベクトル<1x、 1y>入力
を減算器170.171からとシ、入力182をCPU
9からと9、アドレスfx、f、の一部分をレジスタ1
03.121からとる。
)(ALPHA)84(1−ALPT(A)A (6
b)(ALIQ(A)A+B (7m)
(ALPHA)BAA (7b)A *
B (7c)A + B
(7d)AA AFDM50の
出力がAA関数モジュール52へ供給される。それは、
走査線から(1)式中のBeまでの距離を変換する関数
を含むルックアップテーブルである。AA関数モジュー
ル52の出力はマルチプレクサ96へ入力される。マル
チプレクサ96はンオメトリ部7の画素フィルタ回路3
0(第3図)からアンチエイリアス重みづけ係数(式(
2)中のC,)も入力として受ける。第3図は、前記未
決の米国特許出願071047 、696および071
047.693の第7図に示されているいくつかのレジ
スタ(102,103,104,120,121122
)(前記画素フィルタ30)を示す。第3図に示されて
いる減算器170がXレジスタ103.104から入力
を受け、出力tx−xn+1−xn+、(tXは瞬時正
接ぺクトルのX成分である)を生ずる。減算器171が
yレジスタ121と122から入力をとり、出力tアー
3’n+1−yfi+1 を生ずる( 1yは瞬時正
接ベクトルのy成分である)。第3図のルックアップテ
ーブル176は瞬時正接ベクトル<1x、 1y>入力
を減算器170.171からとシ、入力182をCPU
9からと9、アドレスfx、f、の一部分をレジスタ1
03.121からとる。
ルックアップテーブル176は、着色部150へ供給さ
れるアンチエイリアシング重みづけ係数Xである出力1
78と、加算器183へ供給される出力179 (X
offset)、加算器184へ供給される出力180
(y offset)、 の3つの出力を生ずる。そ
の出力180ハフレームバツフアにより後で受けられる
。ルックアップテーブル176には後で示す2つの表に
対応する予め計算された値がロードされる。
れるアンチエイリアシング重みづけ係数Xである出力1
78と、加算器183へ供給される出力179 (X
offset)、加算器184へ供給される出力180
(y offset)、 の3つの出力を生ずる。そ
の出力180ハフレームバツフアにより後で受けられる
。ルックアップテーブル176には後で示す2つの表に
対応する予め計算された値がロードされる。
ルックアップテーブル176に入力される1ビット幅の
入力信号182がCPU9 Kよ!5 rOJにセット
されて、第1図に示されている回路に、アンチエイリア
スされたカーブの第1のパスを表現する。1ビット幅の
信号が11」にセットされて第2のパスを表現する。第
1のパスに対しては、AFDUによ多発生された画素<
x 、 y>がシェーディング係数1−1αI でシェ
ードされる。ここに、表現されるカーブがz−majo
rカーブであればα−α工であシ、カーブがy−maj
orカーブであればα−αアである。
入力信号182がCPU9 Kよ!5 rOJにセット
されて、第1図に示されている回路に、アンチエイリア
スされたカーブの第1のパスを表現する。1ビット幅の
信号が11」にセットされて第2のパスを表現する。第
1のパスに対しては、AFDUによ多発生された画素<
x 、 y>がシェーディング係数1−1αI でシェ
ードされる。ここに、表現されるカーブがz−majo
rカーブであればα−α工であシ、カーブがy−maj
orカーブであればα−αアである。
アンチエイリアシング重みづけ係数は次式で計算される
。
。
z−majorカーブとy−majorカーブのための
パスのルックアップテーブル176の出力を第1表に示
す。
パスのルックアップテーブル176の出力を第1表に示
す。
第2のパスに対しては、画素は1α1による座標<x+
x offset 、 y+y offset> を有
する。ここに、x offset=s1gn (α)
・x majorおよびy offset=sign
(α)−ymajorである。x majorカーブと
ymajorカーブのためのパスのルックアップテーブ
ルの出力を第璽表に示す。
x offset 、 y+y offset> を有
する。ここに、x offset=s1gn (α)
・x majorおよびy offset=sign
(α)−ymajorである。x majorカーブと
ymajorカーブのためのパスのルックアップテーブ
ルの出力を第璽表に示す。
、/
、5−2・−−
第1表と第1表に示すように、ルックアップテーブル1
76へ供給される信号はrOJにセットされる。ルック
アップテーブル176の出力179はx offset
= Oである。信号182がIK上セツトれると、ル
ックアップテーブル176からの出力179は次のよう
になる。(1)表現されるカーブがz−ma j o
r正接ベクトルであることを入力174が示すと01(
1()表現されるカーブがy−major正接ベクトル
であることを入力174が示し、αが正であれば1、a
)表現されるカーブがy−major正接ベクトルであ
ることを入力174が示し、αが負であれば−1である
。ルックアップテーブル176からの出力180は次の
通シである。(1)表現されるカーブがy−major
正接ベクトルであることを入力174が示すと0、(1
1)表現されるカーブがx−major正接ベクトルで
あることを入力174が示し、αが正であれば1.01
0表現されるカーブがy−major正接ベクトルであ
ることを入力174が示し、αが負であれば−1である
。加算器183はルックアップテーブル176からのz
−offset 179をレジスタ内容102に加え、
現在の画素のX座標を出力する。
76へ供給される信号はrOJにセットされる。ルック
アップテーブル176の出力179はx offset
= Oである。信号182がIK上セツトれると、ル
ックアップテーブル176からの出力179は次のよう
になる。(1)表現されるカーブがz−ma j o
r正接ベクトルであることを入力174が示すと01(
1()表現されるカーブがy−major正接ベクトル
であることを入力174が示し、αが正であれば1、a
)表現されるカーブがy−major正接ベクトルであ
ることを入力174が示し、αが負であれば−1である
。ルックアップテーブル176からの出力180は次の
通シである。(1)表現されるカーブがy−major
正接ベクトルであることを入力174が示すと0、(1
1)表現されるカーブがx−major正接ベクトルで
あることを入力174が示し、αが正であれば1.01
0表現されるカーブがy−major正接ベクトルであ
ることを入力174が示し、αが負であれば−1である
。加算器183はルックアップテーブル176からのz
−offset 179をレジスタ内容102に加え、
現在の画素のX座標を出力する。
加算器184はルックアップテーブル176からのy−
offset 180をレジスタ内容120に加え、現
在の画素のy座樋を出力する。
offset 180をレジスタ内容120に加え、現
在の画素のy座樋を出力する。
再び第2図を参照して、掛算器$6の出力がAU124
.224,324のALP)iA入力端子により受けら
れる。
.224,324のALP)iA入力端子により受けら
れる。
N−N AFD06Gの出力がルックアップテーブル6
2によシ受けられる。それはN−Nの逆平方根の近似計
算を行う1、ルックアップテーブル62の出力はAU7
8.88のALPI(A入力端子へ供給される。AU7
8はそれのA入力QAU76のRES出力端子から受け
るINTERP AFDU70の出力がAU76゜86
のALPHA入力端子へ供給される。AU76の出力は
X 関数モジュール79へ供給される。
2によシ受けられる。それはN−Nの逆平方根の近似計
算を行う1、ルックアップテーブル62の出力はAU7
8.88のALPI(A入力端子へ供給される。AU7
8はそれのA入力QAU76のRES出力端子から受け
るINTERP AFDU70の出力がAU76゜86
のALPHA入力端子へ供給される。AU76の出力は
X 関数モジュール79へ供給される。
x0@関数モジ−%−/I/79の出力がAU114,
214,314のALP)TA入力端子へ供給される。
214,314のALP)TA入力端子へ供給される。
レジスタ82.84の出力がAU86の入力端子AとB
へそれぞれ供給される。AU86のRES出力がAU8
8のA入力端子へ供給される。AU880B入力端子へ
マイクロプロセッサの出力が供給される。AU88のR
ES出力がAU104.204.304のALPT(A
入力端子へ供給される。
へそれぞれ供給される。AU86のRES出力がAU8
8のA入力端子へ供給される。AU880B入力端子へ
マイクロプロセッサの出力が供給される。AU88のR
ES出力がAU104.204.304のALPT(A
入力端子へ供給される。
パターンAFDU90の出力がFATT関数モジュール
92へ供給される。そのモジュール92の出力ハハター
ンメモリアドレスであって、パターン記憶装f1102
.202.302へ供給される。パターン記憶装置10
2,202.302内のアドレスされる場所の内容はA
U104,204.304のA入力端子へ供給される。
92へ供給される。そのモジュール92の出力ハハター
ンメモリアドレスであって、パターン記憶装f1102
.202.302へ供給される。パターン記憶装置10
2,202.302内のアドレスされる場所の内容はA
U104,204.304のA入力端子へ供給される。
AU104.20,4.304 のRES出力はマル
チプレクサ110.210,310へそれぞれ供給され
る。それらのマ。
チプレクサ110.210,310へそれぞれ供給され
る。それらのマ。
ルチプレクサ110,210,310はレジスタ106
,206゜306の出力を入力としても受ける。マルチ
プレクサ110,210.310の出力はAU114,
214,314のへ入力端子へそれぞれ供給される。
,206゜306の出力を入力としても受ける。マルチ
プレクサ110,210.310の出力はAU114,
214,314のへ入力端子へそれぞれ供給される。
AU114.214,314の出力がAU122.22
2,322のA入力端子へそれぞれ供給されるとともに
、画素バッファ記憶装fIt116と118 、216
と218 、316と318へそれぞれ順次入力として
供給される。それらの画素バッファ記憶装置の順次出力
がマルチプレクサ112,212,312へそれぞれ供
給される。それらのマルチプレクサ112,212,3
12はレジスタ108゜208.308の出力もそれぞ
れ受ける。マルチプレクサ112,212,312の出
力はAU114,214,3140B入力端子へそれぞ
れ供給される。本発明の回路を第2図に示すように用い
ることにより同じカーブの新しいシェーディング関数を
計算でき、以前に計算されて画素バッファアレイに格納
されている対応する画素のシェーディング値とAU に
おいて算術的に組合わされる。画素バッファはカウンタ
(図示せず)によシ順次制御される。そのカウンタはC
PU9 Kよるカーブ演算の開始時にリセットしなけれ
ばならない。全てのレジスタはCPU9でアクセスでき
る。
2,322のA入力端子へそれぞれ供給されるとともに
、画素バッファ記憶装fIt116と118 、216
と218 、316と318へそれぞれ順次入力として
供給される。それらの画素バッファ記憶装置の順次出力
がマルチプレクサ112,212,312へそれぞれ供
給される。それらのマルチプレクサ112,212,3
12はレジスタ108゜208.308の出力もそれぞ
れ受ける。マルチプレクサ112,212,312の出
力はAU114,214,3140B入力端子へそれぞ
れ供給される。本発明の回路を第2図に示すように用い
ることにより同じカーブの新しいシェーディング関数を
計算でき、以前に計算されて画素バッファアレイに格納
されている対応する画素のシェーディング値とAU に
おいて算術的に組合わされる。画素バッファはカウンタ
(図示せず)によシ順次制御される。そのカウンタはC
PU9 Kよるカーブ演算の開始時にリセットしなけれ
ばならない。全てのレジスタはCPU9でアクセスでき
る。
AU122,222.322はレジスタ120,220
,320の出力端子からB入力をそれぞれ受ける。AU
122゜222.322のRES出力がAU124.2
24.324のA入力端子へそれぞれ供給される。バッ
ファ20(図示せず)からの赤データと、緑データと、
青データが順次アドレスされる画素バッファ記憶装置1
26.130゜226 、230 、326 、330
の入力端子へ供給される。画素バッファ記憶装置126
,226.326の出力がAU124゜224.324
のB入力端子へそれぞれ供給される。画素バッファ記憶
装f1130.230,330の出力がAU128゜2
28.3280B入力端子へそれぞれ供給される。
,320の出力端子からB入力をそれぞれ受ける。AU
122゜222.322のRES出力がAU124.2
24.324のA入力端子へそれぞれ供給される。バッ
ファ20(図示せず)からの赤データと、緑データと、
青データが順次アドレスされる画素バッファ記憶装置1
26.130゜226 、230 、326 、330
の入力端子へ供給される。画素バッファ記憶装置126
,226.326の出力がAU124゜224.324
のB入力端子へそれぞれ供給される。画素バッファ記憶
装f1130.230,330の出力がAU128゜2
28.3280B入力端子へそれぞれ供給される。
AU128,22L828のALPHA入力端子へ透明
性レジスタ98の出力が供給される。AU128,22
8.328のRES出力端子が赤CRTチャネルと、緑
CRTチャネルのための画素シェフディングのデジタル
表現ヲそれぞれ供給する。
性レジスタ98の出力が供給される。AU128,22
8.328のRES出力端子が赤CRTチャネルと、緑
CRTチャネルのための画素シェフディングのデジタル
表現ヲそれぞれ供給する。
以上、第2図に示されている回路部品の相互接続につい
て説明したが、次に、第2図に示されている回路によシ
実現される前記シェーディング式に関してその機能を説
明する。以下には赤チャネルだけについて説明すること
にする。しかし、とくに説明するもの以外は緑チャネル
と青チャネルにおいても同一の処理が行われることを理
解すべきである。
て説明したが、次に、第2図に示されている回路によシ
実現される前記シェーディング式に関してその機能を説
明する。以下には赤チャネルだけについて説明すること
にする。しかし、とくに説明するもの以外は緑チャネル
と青チャネルにおいても同一の処理が行われることを理
解すべきである。
1、ベクトルとカーブのシェーディング前記したように
、ベクトルとカーブのシェーディングは下記の(8)式
を実現することにより行われる。
、ベクトルとカーブのシェーディングは下記の(8)式
を実現することにより行われる。
(8)画素色=Te(PB+)+(1−TcXBe(P
B8)+(1−B@)(Z(Cd)+(1−zXPM)
) )ここに、 Tc=透明性係数 PB8.PB4 =フレームバッファから帰還される画
素バッファデータ Be =修正されたプレゼンハム誤差関数2 =奥行
き重み Cd =かすみ色すなわち奥行きキュー色PM =第
2図のパターン記憶装置からの固有のカーブ色 である。
B8)+(1−B@)(Z(Cd)+(1−zXPM)
) )ここに、 Tc=透明性係数 PB8.PB4 =フレームバッファから帰還される画
素バッファデータ Be =修正されたプレゼンハム誤差関数2 =奥行
き重み Cd =かすみ色すなわち奥行きキュー色PM =第
2図のパターン記憶装置からの固有のカーブ色 である。
パターンAFDU90はパラメトリック関数の現在の値
をパターン・アドレス翻訳器92へ出力する。
をパターン・アドレス翻訳器92へ出力する。
このパターン・アドレス翻訳器はそれに入力された値の
パターン・アドレス翻訳を行う。パターン・アドレス翻
訳器92により出力されたパターン・アドレスはパター
ン記憶装鰺102内の記憶場所をアドレスするためにパ
ターン記憶装置102へ供給される。そのパターン記憶
装置のアドレスされた内容は、前記(8)弐においてP
Mで示されている固有のカーブ色を表す(表現されるベ
クトルまたはカーブの現在の画素のための書込みイネイ
ブルビットも含む)。この場合には、PMは変更されず
K AU104,114を通ってAU122のへ入力端
子へ供給される。(8)式のもや色Cdはレジスタ12
0によjj)AU122のB入力端子へ供給される。ジ
オメトリツク部7からの2座標値が2関数モジユール9
4へ供給される。この2関数モジユールはルックアップ
テーブル機能を実行してAU122のALP)IA入力
端子に2座標値の関数として補間重みを供給する。AU
122は前記(6b)式を実行する。この場合には、 AU122の入力ALPHAは2に等しい。
パターン・アドレス翻訳を行う。パターン・アドレス翻
訳器92により出力されたパターン・アドレスはパター
ン記憶装鰺102内の記憶場所をアドレスするためにパ
ターン記憶装置102へ供給される。そのパターン記憶
装置のアドレスされた内容は、前記(8)弐においてP
Mで示されている固有のカーブ色を表す(表現されるベ
クトルまたはカーブの現在の画素のための書込みイネイ
ブルビットも含む)。この場合には、PMは変更されず
K AU104,114を通ってAU122のへ入力端
子へ供給される。(8)式のもや色Cdはレジスタ12
0によjj)AU122のB入力端子へ供給される。ジ
オメトリツク部7からの2座標値が2関数モジユール9
4へ供給される。この2関数モジユールはルックアップ
テーブル機能を実行してAU122のALP)IA入力
端子に2座標値の関数として補間重みを供給する。AU
122は前記(6b)式を実行する。この場合には、 AU122の入力ALPHAは2に等しい。
AU122の入力AはPMに等しい。
AU122の入力BはCd K等しい。
したがって、AU122の出力RESは下記の(9)式
%式% この量は、奥行きのために調節された固有の色を表す(
すなわち、2座標値に依存するもや色の濃さに混合され
る)。その色は奥行きキュー色とも呼ばれる。その値は
AU124の入力端子Aへ供給される。
%式% この量は、奥行きのために調節された固有の色を表す(
すなわち、2座標値に依存するもや色の濃さに混合され
る)。その色は奥行きキュー色とも呼ばれる。その値は
AU124の入力端子Aへ供給される。
AA AFDU5G ti、AA機能モジュール52と
ともに、前記修正されたプレゼンハム誤差関数B・を発
生する。その誤差関数はマルチプレクサ96によりAU
124のALP)!A入力端子へ供給される。
ともに、前記修正されたプレゼンハム誤差関数B・を発
生する。その誤差関数はマルチプレクサ96によりAU
124のALP)!A入力端子へ供給される。
フレームバッファ20(第1図)から帰還された画素デ
ータは画素バッファ記憶袋#126により保持され、A
U124のB入力端子へ供給される。
ータは画素バッファ記憶袋#126により保持され、A
U124のB入力端子へ供給される。
AU124は前記(6)式を実行する。
AU124の入力ALPT(A FiBeに等しい。
AU124のA入力端子は前記奥行きキュー色結果を受
ける。その色結果はAU122のRES出力端子に出力
される。
ける。その色結果はAU122のRES出力端子に出力
される。
AU124の入力Bは前記(1)式のPBに等しい。
したがって、AU124のRES出力はα〔B・(PB
、)+(l−B・)(奥行きキュー色)この量はアンエ
イリアスされた色と呼ばれ、AU128のA入力端子へ
供給される。透明性係数Tcが透明性レジスタ98によ
pAU128 のAIjPHA入力端子へ供給される。
、)+(l−B・)(奥行きキュー色)この量はアンエ
イリアスされた色と呼ばれ、AU128のA入力端子へ
供給される。透明性係数Tcが透明性レジスタ98によ
pAU128 のAIjPHA入力端子へ供給される。
画素データ帰還が画素バッファ記憶装置130に保持さ
れ、AU12Bの入力端子へ供給される。AU12Bは
前記(6)式も実行する。
れ、AU12Bの入力端子へ供給される。AU12Bは
前記(6)式も実行する。
AU128の入力ALPT(AはTeに等しい。
AU128の入力Aはアンチエイリアスされた色に等し
い。
い。
AU128の入力BはPB K等しい。
したがって、AU128の出力RESは下記の(]1)
式として表される。
式として表される。
(11) Te(pH,)+(1−Tcり (アン
チエイリアスされた色) 前記式+91 、 Ql)と第2図に示されている回路
を参照すれば、(8)式により定められる画素色である
量(1])は本発明の回路により独特に表現される。
チエイリアスされた色) 前記式+91 、 Ql)と第2図に示されている回路
を参照すれば、(8)式により定められる画素色である
量(1])は本発明の回路により独特に表現される。
2、多角形およびバッチのシェーディング周知のフオン
近似を適用すると、無限遠にある1つの光源により照明
される多角形の表面上の任意の点における色は、拡散(
diffuse)係数に物体の色を乗じたものと、物体
の鏡面指数で累乗された鏡面係数に光の色を乗じたもの
との和によシ表される。(注=7オン近似はこの分野に
おいて周知であって、たとえば、コンピュータ・グラフ
ィックス(Comput@r Graphics)第1
3巻、2号、1979年8月、所載のトム・ダフ(To
’m Duff)のスムーズリイーシエーデッド・レン
ダリング・オン・ポリヘドラル・オブシェクツ・オン・
ラスタ・ディスプレイズ(Smoothly 5had
ed Renderlngof Po1yhedral
0bjects on Ra5t@r Displa
ys)と題する論文に詳しく記載されている。)前記し
たように、鏡面係数と拡散係数が下記の式(12)と(
13)に従って多角形走査線に対して計算される。
近似を適用すると、無限遠にある1つの光源により照明
される多角形の表面上の任意の点における色は、拡散(
diffuse)係数に物体の色を乗じたものと、物体
の鏡面指数で累乗された鏡面係数に光の色を乗じたもの
との和によシ表される。(注=7オン近似はこの分野に
おいて周知であって、たとえば、コンピュータ・グラフ
ィックス(Comput@r Graphics)第1
3巻、2号、1979年8月、所載のトム・ダフ(To
’m Duff)のスムーズリイーシエーデッド・レン
ダリング・オン・ポリヘドラル・オブシェクツ・オン・
ラスタ・ディスプレイズ(Smoothly 5had
ed Renderlngof Po1yhedral
0bjects on Ra5t@r Displa
ys)と題する論文に詳しく記載されている。)前記し
たように、鏡面係数と拡散係数が下記の式(12)と(
13)に従って多角形走査線に対して計算される。
(12)拡散−に、+17「〔α延RT”(1−α)匪
LT)(13)鏡面=1/ρ[WH,、+(1−α)N
I(、)ここに、 Nは表面垂線ベクトル Lは光源へ向かう単位ベクトル Hは最高輝度の向きにおける単位ベクトル(すなわち、
見る人と光源の間の半分の方向のベクトル) K、は周囲の反射係数 αは補間係数(この補間係数の値は、表現される多角形
の走査線部分に沿う0から1までの間で直線的に変化す
る) RTおよびLTは多角形の走査線部分の右端部と左端部
におけるドツト積N−Lの値である。
LT)(13)鏡面=1/ρ[WH,、+(1−α)N
I(、)ここに、 Nは表面垂線ベクトル Lは光源へ向かう単位ベクトル Hは最高輝度の向きにおける単位ベクトル(すなわち、
見る人と光源の間の半分の方向のベクトル) K、は周囲の反射係数 αは補間係数(この補間係数の値は、表現される多角形
の走査線部分に沿う0から1までの間で直線的に変化す
る) RTおよびLTは多角形の走査線部分の右端部と左端部
におけるドツト積N−Lの値である。
CPU9は多角形を走査変換して、表現される多角形を
横切って走査線部分を与える。走査線の各端部における
拡散係数と鏡面係数NL H7r NLL T ’NH
RT 、 NT(L Tが計算されて、レジスタ82
、84゜72.74へそれぞれ供給される。N−N A
FDU60はN−Nに対する二次関数(すなわち、走査
線に沿う垂線ベクトルのドツト積である。この積は周知
である。前記、コンピュータ・グラフィックス、第13
巻(1979年)所載のトム・ダフの前記論文参照)を
発生する。
横切って走査線部分を与える。走査線の各端部における
拡散係数と鏡面係数NL H7r NLL T ’NH
RT 、 NT(L Tが計算されて、レジスタ82
、84゜72.74へそれぞれ供給される。N−N A
FDU60はN−Nに対する二次関数(すなわち、走査
線に沿う垂線ベクトルのドツト積である。この積は周知
である。前記、コンピュータ・グラフィックス、第13
巻(1979年)所載のトム・ダフの前記論文参照)を
発生する。
Int@rp AFDU70は、表現される多角形の走
査線部分に沿うOから1までのXの直線相互補間を発生
する。この係数はAU76.86のALPHA入力端子
へ供給される。AUT6.86において(6a)式を実
現すると下記の結果が得られる。
査線部分に沿うOから1までのXの直線相互補間を発生
する。この係数はAU76.86のALPHA入力端子
へ供給される。AUT6.86において(6a)式を実
現すると下記の結果が得られる。
(14) RES AU 76−(ALPT(A)NT
(RT+(1−ALPHA)NHLT(15) RE
S AU 86噛(ALPHA )”LRT ” (1
−ALPHA )NLL−rそれらの式(14)、 (
15)はそれぞれ凪と罷の滑らかな「線補間を表す。そ
れらの値は直線補間プロセスのために単位ベクトルをも
はや表さないので正規化されない。各画素における再正
規化は、N−N AFDU60において行われるN−N
に対する二次関数によシ行われる。
(RT+(1−ALPHA)NHLT(15) RE
S AU 86噛(ALPHA )”LRT ” (1
−ALPHA )NLL−rそれらの式(14)、 (
15)はそれぞれ凪と罷の滑らかな「線補間を表す。そ
れらの値は直線補間プロセスのために単位ベクトルをも
はや表さないので正規化されない。各画素における再正
規化は、N−N AFDU60において行われるN−N
に対する二次関数によシ行われる。
N、NK対する二次関数はN、N AFDU6Qにおい
て発生され、ルックアップテーブル62へ入力される。
て発生され、ルックアップテーブル62へ入力される。
そのルックアップテーブルは逆平方根の近似値を与える
。このルックアップテーブル62の出力はAU78,8
8のALP)IA入力端子へ供給される。AU7B、8
8は前記式(7a)を実行する。
。このルックアップテーブル62の出力はAU78,8
8のALP)IA入力端子へ供給される。AU7B、8
8は前記式(7a)を実行する。
AU78のB、入力端子は開かれているから、RES出
力端部は(ALPHA)A を供給する。その(肚■鳩
A陰(13)式の鏡面係数である115「百l’−RE
SAU76J K等しい。この出力は次にX 関数発生
器79へ送られ、そこで物体の鏡面指数(鏡面べき)が
加えられる。
力端部は(ALPHA)A を供給する。その(肚■鳩
A陰(13)式の鏡面係数である115「百l’−RE
SAU76J K等しい。この出力は次にX 関数発生
器79へ送られ、そこで物体の鏡面指数(鏡面べき)が
加えられる。
周囲反射係数KILがレジスタ87に含まれ、AU88
のB入力端子へ供給される。したがって、AU8gのR
ES出力端子は(12)式の拡散係数に等しい。
のB入力端子へ供給される。したがって、AU8gのR
ES出力端子は(12)式の拡散係数に等しい。
パターンAFDU90とパターン・アト1/ス翻訳器9
2がパターン記憶装置アドレスを発生する。ベクトルの
シェーディングについて先に説明したように、パターン
記憶装置界102は各画素に物体色を与える。物体色(
それの赤成分)がAU104のA入力端子へ供給される
。AU104は(7a)式を実行し、B入力端子は開か
れているから、RES出力は拡散係数(ALPHA入力
)と物体色(A入力)の積を表す。この積はAUl 1
4のA入力端子へ入力するためにマルチプレクサ110
により選択される。レジスタ108内の光の色がAU1
14のB入力端子へ入力されるためにマルチプレクサ1
12によシ選択される。関数モジュールT9からの物体
鏡面指数まで高められた鏡面係数がAU114のALP
HA入力端子へ供給される。AU114は(7b)式を
実行して完全な画素色表現をRES出力端子に供給する
。AU114の処理下流側についてはカーブおよびベク
トルのシェーディングについて既に説明した。
2がパターン記憶装置アドレスを発生する。ベクトルの
シェーディングについて先に説明したように、パターン
記憶装置界102は各画素に物体色を与える。物体色(
それの赤成分)がAU104のA入力端子へ供給される
。AU104は(7a)式を実行し、B入力端子は開か
れているから、RES出力は拡散係数(ALPHA入力
)と物体色(A入力)の積を表す。この積はAUl 1
4のA入力端子へ入力するためにマルチプレクサ110
により選択される。レジスタ108内の光の色がAU1
14のB入力端子へ入力されるためにマルチプレクサ1
12によシ選択される。関数モジュールT9からの物体
鏡面指数まで高められた鏡面係数がAU114のALP
HA入力端子へ供給される。AU114は(7b)式を
実行して完全な画素色表現をRES出力端子に供給する
。AU114の処理下流側についてはカーブおよびベク
トルのシェーディングについて既に説明した。
先に説明したように、前記説明は、前掲コンピュータ・
グラフィックス、第13巻(1979年)所載のトム・
ダフの前記論文に記載されているように、7オン・シェ
ーディングのダフン近似値についてのものであった。同
じ回路がゴーラウド・シェーディングを実現することも
できる。ゴーラウド・シェーディングはその計算が簡単
で、計算速度が高いから、ゴーラウド・シェーディング
は一般に用いられる。ゴーラウド・シェーディングは粗
いシェーディングを行うためにとくに有用である。ゴー
ラウド・シェーディングは多角形走査線を1つの点から
別の点まで横切る色の簡単な直線補間として実現される
。したがって、拡散係数と鏡面係数は計算されず、走査
線に沿う中間画素の色は次式によシ与えられる。
グラフィックス、第13巻(1979年)所載のトム・
ダフの前記論文に記載されているように、7オン・シェ
ーディングのダフン近似値についてのものであった。同
じ回路がゴーラウド・シェーディングを実現することも
できる。ゴーラウド・シェーディングはその計算が簡単
で、計算速度が高いから、ゴーラウド・シェーディング
は一般に用いられる。ゴーラウド・シェーディングは粗
いシェーディングを行うためにとくに有用である。ゴー
ラウド・シェーディングは多角形走査線を1つの点から
別の点まで横切る色の簡単な直線補間として実現される
。したがって、拡散係数と鏡面係数は計算されず、走査
線に沿う中間画素の色は次式によシ与えられる。
ALPHA (右側の色)+(1−ALPHA)(左
側の色)ゴーラウド・シェーディングは正規化されない
から、AU78.89においてN−Hの逆平方根を導入
する必要はない。その代シに、 AU78.88のAL
PHA入力が単位の値に保たれる。レジスタ74に0が
ロードされ、レジスタ72に1がロートサれて、Int
srp AFDU70からの直線補間係数が修正されな
いでAU7 BのA入力端子へ送られるようにする。A
U7Bは(7d)式を実行するから、修正されていない
A入力’(HRESへ送り、そこからX関数を側路し、
AU114のALPHA入力端子へ送る。右側の物体色
値がレジスタ108にロードされ、左側の物体色がレジ
スタ106にロードされる。補間係数がINTERP
AFDU7GによりAU114αLPHA入力端子へ供
給される。マルチプレクサ110がレジスタ106を選
択し、マルチプレクサ112がレジスタ108を選択す
る。AU114は(6a)式を実行し、それKよ6 R
ES出力端子にゴーラウドシェーディングを行う。その
ゴーラウドシェーディングはAU122のへ入力端子へ
送られる。
側の色)ゴーラウド・シェーディングは正規化されない
から、AU78.89においてN−Hの逆平方根を導入
する必要はない。その代シに、 AU78.88のAL
PHA入力が単位の値に保たれる。レジスタ74に0が
ロードされ、レジスタ72に1がロートサれて、Int
srp AFDU70からの直線補間係数が修正されな
いでAU7 BのA入力端子へ送られるようにする。A
U7Bは(7d)式を実行するから、修正されていない
A入力’(HRESへ送り、そこからX関数を側路し、
AU114のALPHA入力端子へ送る。右側の物体色
値がレジスタ108にロードされ、左側の物体色がレジ
スタ106にロードされる。補間係数がINTERP
AFDU7GによりAU114αLPHA入力端子へ供
給される。マルチプレクサ110がレジスタ106を選
択し、マルチプレクサ112がレジスタ108を選択す
る。AU114は(6a)式を実行し、それKよ6 R
ES出力端子にゴーラウドシェーディングを行う。その
ゴーラウドシェーディングはAU122のへ入力端子へ
送られる。
シェーディング回路中でのパッチの処理は、シェーディ
ング・パラメータN−LとN−)Iが、走査線を横切る
直線補間によるのではなくて、AFDU60.70 K
よシ供給されるパイキュービック関数で近似値されるこ
とを除き、多き形に類似する。
ング・パラメータN−LとN−)Iが、走査線を横切る
直線補間によるのではなくて、AFDU60.70 K
よシ供給されるパイキュービック関数で近似値されるこ
とを除き、多き形に類似する。
(コンビ二一メ・グラフィックス(Computer
Graphics )第21巻4号、1987、所載の
マイケル・シヤフラ(Mlcha@l Sh息ntz)
およびシュー・リン・リエン(Shsue −Li
ng Lien)の「シェーディング・パイキュービッ
ク・パッチ(Shadlng Bi −cubicPa
tches)Jと題する論文においては、パイキュービ
ック関数を前記のように近似するいくつかの技術が記載
されている。)パッチシェーディングのために、N−N
AFDU60は鏡面係数の近似値を発生し、INTE
RP AFDU70が拡散係数の近似値を発生する。N
−N AFDU60とINTERP AFDU70の出
力がAU78.88のALPHA入力端子へそれぞれ供
給され、鏡面係数は変更なしにルックアップテーブル6
2を通る。
Graphics )第21巻4号、1987、所載の
マイケル・シヤフラ(Mlcha@l Sh息ntz)
およびシュー・リン・リエン(Shsue −Li
ng Lien)の「シェーディング・パイキュービッ
ク・パッチ(Shadlng Bi −cubicPa
tches)Jと題する論文においては、パイキュービ
ック関数を前記のように近似するいくつかの技術が記載
されている。)パッチシェーディングのために、N−N
AFDU60は鏡面係数の近似値を発生し、INTE
RP AFDU70が拡散係数の近似値を発生する。N
−N AFDU60とINTERP AFDU70の出
力がAU78.88のALPHA入力端子へそれぞれ供
給され、鏡面係数は変更なしにルックアップテーブル6
2を通る。
AU78のA入力は単位値に保たれ、それ釦より鏡面係
数を変更しないままでRES出力端子へ送る。
数を変更しないままでRES出力端子へ送る。
同様に、拡散係数が変更なしKAU86.88を通って
送られる。その後で、処理が、多角形について述べたの
と同じやり方で進められる。
送られる。その後で、処理が、多角形について述べたの
と同じやり方で進められる。
バッチシェーディングと多角形シェーディングは、奥行
きキューイングおよび透明性についてカーブおよびベク
トルシェーディングについて述べたようにして、AU1
14のRES出力端子から進む。
きキューイングおよび透明性についてカーブおよびベク
トルシェーディングについて述べたようにして、AU1
14のRES出力端子から進む。
バッチまたは多角形に対してはアンチエイリアシングが
行われないから、中間結果が変更なしKAU124 を
通る。
行われないから、中間結果が変更なしKAU124 を
通る。
第4図には第2図に示されている回路の別の実施例が示
されている。第4図の回路の右から左へ説明すれば、A
FDU400は第2図のパターン翻訳器90とN−N
AFDU60に対応し、それらの部品について先に説明
したのと同じ機能を行う。同様に、QAFDU402
が第2図のAAFDU50とINTERPAFDtJ7
0に対応し、かつそれらの部品と同じ機能を果f。アド
レス七ジュール402.406 カバターン翻訳器92
に対応し、そのパターン翻訳器と同じ機能を果す。映像
記憶装置1408,410,412はアドレスパターン
記憶装fi1102,202,302と逆平方根関数6
2および画素ハy −y 7記憶装置t (’116,
118,216等)に対応し、かつそれらの部品と同じ
機能を果す。マルチプレクサ414は希望の色定数eo
または映像記憶装置iloの出力を入力として選択する
。
されている。第4図の回路の右から左へ説明すれば、A
FDU400は第2図のパターン翻訳器90とN−N
AFDU60に対応し、それらの部品について先に説明
したのと同じ機能を行う。同様に、QAFDU402
が第2図のAAFDU50とINTERPAFDtJ7
0に対応し、かつそれらの部品と同じ機能を果f。アド
レス七ジュール402.406 カバターン翻訳器92
に対応し、そのパターン翻訳器と同じ機能を果す。映像
記憶装置1408,410,412はアドレスパターン
記憶装fi1102,202,302と逆平方根関数6
2および画素ハy −y 7記憶装置t (’116,
118,216等)に対応し、かつそれらの部品と同じ
機能を果す。マルチプレクサ414は希望の色定数eo
または映像記憶装置iloの出力を入力として選択する
。
その色定数は前記式におけるNL z t 、 Ca
、 CdまたはOCとすることができる。マルチプレク
サ416は、表現される特定の関数に応じて、B・すな
わち映像記憶装ftlの出力、または2あるいはtcを
入力として選択する。マルチプレクサ41Bは映像記憶
装#408の出力、または映像記憶装ffr41Gの出
力、あるいはC1、もしくは希望の色定数を入力として
選択する。その色定数はNL、Ca、Cd、Oeまたは
その他の一定の色ボリュームとすることができる。マル
チプレクサ414,416.418の選択された出力は
AU42G、422,424へ供給される。それらのA
Uは第2図に示されているAUと、AU76゜78.8
6,88の代りである。前記諸関数を実行するために各
部品が適切な権能を実行するように、CPU9は第4図
に示されている回路を制御する。
、 CdまたはOCとすることができる。マルチプレク
サ416は、表現される特定の関数に応じて、B・すな
わち映像記憶装ftlの出力、または2あるいはtcを
入力として選択する。マルチプレクサ41Bは映像記憶
装#408の出力、または映像記憶装ffr41Gの出
力、あるいはC1、もしくは希望の色定数を入力として
選択する。その色定数はNL、Ca、Cd、Oeまたは
その他の一定の色ボリュームとすることができる。マル
チプレクサ414,416.418の選択された出力は
AU42G、422,424へ供給される。それらのA
Uは第2図に示されているAUと、AU76゜78.8
6,88の代りである。前記諸関数を実行するために各
部品が適切な権能を実行するように、CPU9は第4図
に示されている回路を制御する。
それらの関数の実現については詳しく説明した。
以上、本発明を説明したが、本発明の要旨を逸脱するこ
となしに本発明を別の特定の態様で実施できることがわ
かるであろう。とくに、’AFDUは立体より高次の関
数を実現するためにAF DUを容易に拡張できるっ
となしに本発明を別の特定の態様で実施できることがわ
かるであろう。とくに、’AFDUは立体より高次の関
数を実現するためにAF DUを容易に拡張できるっ
第1図は本発明の画素をシェーディングする回路のブロ
ック図、第2図は第1図のブロック図の詳しいブロック
図、第3図は第2図に示され−Cいる回路のいくつかの
ブロック図、第4図は第2図に示されている回路の別の
実施例のブロック図である。 7・・・・ジオメトリ部、9・・・・CPU 。 10.14・・・・適応前方差を求める回路(AFDU
)、12・・・・シェーディング・パイプライン、16
・・・・アドレス・パイプライン、20・・・・フレー
ムバッファ、22・・・・CRT、3G・・・・画素フ
ィルタ、50・・・・AA AFDU、 52・・・・
AA関数モジュール、60φ・−・煎AFDU、70
・ ・ ・ ・INTERP AFDU 、 76
、7 B 。 86.88,104,114,122,124,128
,204゜214.222,224.22B、304,
314,322,324゜328・・・・算術装置(A
U)、90・・・・パターンAFDU、 102.10
3,104,120,121,122・・・・レジスタ
、170.171 ・・・・減算器、176・・・・
ルックアップテーブル、184・・・・加算器。 特許出願人 サン・マイクロシステムズ・インコーホ
レーテッド
ック図、第2図は第1図のブロック図の詳しいブロック
図、第3図は第2図に示され−Cいる回路のいくつかの
ブロック図、第4図は第2図に示されている回路の別の
実施例のブロック図である。 7・・・・ジオメトリ部、9・・・・CPU 。 10.14・・・・適応前方差を求める回路(AFDU
)、12・・・・シェーディング・パイプライン、16
・・・・アドレス・パイプライン、20・・・・フレー
ムバッファ、22・・・・CRT、3G・・・・画素フ
ィルタ、50・・・・AA AFDU、 52・・・・
AA関数モジュール、60φ・−・煎AFDU、70
・ ・ ・ ・INTERP AFDU 、 76
、7 B 。 86.88,104,114,122,124,128
,204゜214.222,224.22B、304,
314,322,324゜328・・・・算術装置(A
U)、90・・・・パターンAFDU、 102.10
3,104,120,121,122・・・・レジスタ
、170.171 ・・・・減算器、176・・・・
ルックアップテーブル、184・・・・加算器。 特許出願人 サン・マイクロシステムズ・インコーホ
レーテッド
Claims (6)
- (1)T_cを透明係数、PB_1をフレームバッファ
手段から帰還される第1の画素データ、Xが第2の関数
を表すとして、式 T_c(PB_1)+(1−T_c)X; で表される第1の関数を実現する手段と、 B_e=修正されたプレゼンハム誤差関数、PB_2=
前記フレームバッファ手段から帰還される第2の画素デ
ータ、Yが第3の関数を表すとして、式B_e(PB_
2)+(1−B_e)Y; で表される第2の関数を実現する手段と、 Zを奥行き重み、cdをもや色、PMを固有のカーブ色
をそれぞれ表すものとして式 Z(cd)+(1−Z)〔PM〕 で表される前記第3の関数を実現する手段と、前記第1
の関数と、前記第2の関数と、前記第3の関数を一緒に
組合わせて T_c(PB_1)+(1−T_c)〔B_e(PB_
2)+(1−B_e)〔Z(C_d)+1−Z(PM)
〕〕の実現を構成する手段と、 を備えることを特徴とする表示装置上のベクトルとカー
ブをシェーディングする装置。 - (2)T_cを透明係数、PBをフレームバッファ手段
から帰還される画素データ、Xが第2の関数を表すとし
て、式 T_c〔PB+(1−T_c)〕X; で表される第1の関数を実現する手段と、 Zを奥行き、C_dを奥行きキュー色すなわちもや色、
L_cを光源の色、PMを格納されている色値、dif
fuseが第3の関数を表し、specularが第4
の関数を表すものとして式 Z〔C_d〕+(1−Z)〔diffuse〔PM〕+
specular〔L_c〕〕で表される前記第2の関
数を実現する手段と、Nを表面法線ベクトル、Lを光源
へ向かう単位ベクトル、K_aを周囲反射係数、rtを
走査線の右端部における値、1_tを走査線の左端にお
ける値、αを直線補間係数、O_eを物体鏡面指数とし
て、多角形シェーディングの場合には、式 K_a+(1/√(N・N))〔αNL_r_t+(1
−α)NL_l_t〕で表される前記第3の関数を実現
する手段と、Hを最高輝度の方向における単位ベクトル
として、式 (1/√(N・N))〔αNH_r_t+(1−α)N
H_l_t〕で表される前記第4の関数を実現する手段
と、前記実現された第1の関数と、前記第2の関数と、
前記第3の関数と、前記第4の関数とを組合わせて、 T_c〔PB〕+(1−T_c)〕〔〔Z〔C_d〕+
(1−Z)〔diffuse〔PM〕+specu1a
r〔L_c〕〕〕 を構成することを特徴とする多角形をシエーデイングす
る装置。 - (3)T_cを透明係数、PBをフレームバッファ手段
から帰還される画素データ、Xが第2の関数を表すとし
て、式 T_c〔PB+(1−T_c)〕X で表される第1の関数を実現する手段と、 Zを深さ、C_dを奥行きキュー色すなわちもや色、L
_cを光源の色、PMを格納されている色値、diff
useが第3の関数を表し、specularが第4の
関数を表すものとして式 Z〔C_d〕+(1−Z)〔diffuse〔PM〕+
specular〔L_c〕〕で表される前記第2の関
数を実現する手段と、Nを表面法線ベクトル、Lを光源
へ向かう単位ベクトル、K_aを周囲反射係数として、
式K_a+(N・L)/√(N・N) で表される前記第3の関数を実現する手段と、Hを最高
輝度の向きにおける単位ベクトル、O_eを物体鏡面指
数として、式 〔(1/√(N・N))(N・H)〕O_eで表される
前記第4の関数を実現する手段と、前記実現された第1
の関数と、前記第2の関数と、前記第3の関数と、前記
第4の関数とを組合せて、式 T_c〔PB〕+(1−T_c)〕〔〔Z〔C_d〕+
(1−Z)〔diffuse〔PM〕+specula
r〔L_c〕〕〕 を構成することを特徴とする一様および一様でない、有
理および無理のBスプラインおよびその他のパッチとを
シエーデイングする装置。 - (4)a、T_cを透明係数、PBをフレームバッファ
手段から帰還される第1の画素データ、Xが第2の関数
を表すとして、式 T_c(PB_1)+(1−T_c)X で表される第1の関数を実現する過程と、 b、B_e=修正されたプレゼンハム誤差関数、PB=
前記フレームバッファ手段から帰還される第2の画素デ
ータ、Yが第3の関数を表すとして、式 B_e(PB_2+(1−B_e)Y で表される第2の関数を実現する過程と、 c、Zを奥行き重み、cdをもや色、PMを固有のカー
ブ色をそれぞれ表すものとして式 Z(cd)+(1−Z)〔PM〕 で表される前記第3の関数を実現する過程と、d、前記
第1の関数と、前記第2の関数と、前記第3の関数を一
緒に組合わせて、 T(PB_1)+(1−T_c)〔B_e(PB_2)
+(1−B_e)〔(Z_c_d+(1−Z)(PM)
〕〕の実現を構成する手段と、 を備えることを特徴とする表示装置上のベクトルとカー
ブをシェーディングする方法。 - (5)a、T_eを透明係数、PBをフレームバッファ
手段から帰還される画素データ、Xが第2の関数を表す
として、式 T_c〔PB+(1−T_c)〕X で表される第1の関数を実現する過程と、 b、Zを奥行き、C_dを深さキュー色すなわちもや色
、L_cを光源の色、PMを格納されている色値、di
ffuseが第3の関数を表し、specularが第
4の関数を表すものとして式 Z〔C_d〕+(1−Z)〔diffuse〔PM〕+
specular〔L_c〕〕で表される前記第2の関
数を実現する過程と、c、Nを表面法線ベクトル、Lを
光源へ向かう単位ベクトル、K_aを周囲反射係数、r
tを走査線の右端部における値、1_tを走査線の左端
における値、αを直線補間係数、O_eを物体鏡面指数
として、多角形シェーディングの場合には、式にK_a
+(1/√(N・N))〔αNL_r_t+(1−α)
NL_l_t〕で表される前記第3の関数を実現する過
程と、d、Hを最高輝度の方向における単位ベクトルと
して、式 (1/√(N・N))〔αNH_r_t+(1−α)N
H_l_t〕で表される前記第4の関数を実現する過程
と、e、前記実現された第1の関数と、前記第2の関数
と、前記第3の関数と、前記第4の関数とを組合わせて
、 T_c〔PB〕+(1−T_c)〕〔〔Z〔C_d〕+
(1−Z)〔diffuse〔PM〕+specula
r〔L_c〕〕〕 を構成することを特徴とする多角形をシェーディングす
る方法。 - (6)a、T_eを透明係数、PBをフレーム手段から
帰還される画素データ、Xが第2の関数を表すとして、
式 T_c〔PB+(1−T_c)〕X で表される第1の関数を実現する過程と、 b、Zを奥行き、C_dを奥行きキュー色すなわちもや
、L_eを光源の色、PMを格納されている色値、di
ffuseが第3の関数を表し、specularが第
4の関数を表すものとして式 Z〔C_d〕+(1−Z)〔diffuse〔PM〕+
specular〔L_c〕〕で表される前記第2の関
数を実現する手段と、c、Nを表面法線ベクトル、Lを
光源へ向かう単位ベクトル、K_aを周囲反射係数とし
て、式K_a+K_d((N・L)√(N・N))で表
される前記第3の関数を実現する過程と、d、Hを最高
輝度の向きにおける単位ベクトル、O_eを物体鏡面指
数として、式 〔(1/√(N・N))(N・H)〕O_eで表される
前記第4の関数を実現する過程と、e、前記実現された
第1の関数と、前記第2の関数と、前記第3の関数と、
前記第4の関数との結果を組合せて、式 T_c〔PB〕+(1−T_c)〕〔〔Z〔C_d〕+
(1−Z)〔diffuse〔PM〕+specula
r〔L_e〕〕〕 を構成する過程と、 を備えることを特徴とする一様な、および一様でない、
有理の、および無理のBスプラインおよびその他のパッ
チをシェーディングする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7779787A | 1987-07-27 | 1987-07-27 | |
US077,797 | 1987-07-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01120685A true JPH01120685A (ja) | 1989-05-12 |
JP2777577B2 JP2777577B2 (ja) | 1998-07-16 |
Family
ID=22140108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63187968A Expired - Fee Related JP2777577B2 (ja) | 1987-07-27 | 1988-07-27 | 図形オブジェクトのシェーディング値生成装置およびその方法 |
Country Status (7)
Country | Link |
---|---|
JP (1) | JP2777577B2 (ja) |
CA (1) | CA1305802C (ja) |
DE (1) | DE3825539C2 (ja) |
FR (1) | FR2622030B1 (ja) |
GB (1) | GB2207585B (ja) |
HK (1) | HK60992A (ja) |
SG (1) | SG52792G (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179638A (en) * | 1990-04-26 | 1993-01-12 | Honeywell Inc. | Method and apparatus for generating a texture mapped perspective view |
US5253339A (en) * | 1990-07-26 | 1993-10-12 | Sun Microsystems, Inc. | Method and apparatus for adaptive Phong shading |
GB2271259A (en) * | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
US6184891B1 (en) * | 1998-03-25 | 2001-02-06 | Microsoft Corporation | Fog simulation for partially transparent objects |
JP2014056371A (ja) * | 2012-09-12 | 2014-03-27 | Fujitsu Semiconductor Ltd | 画像処理装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60126771A (ja) * | 1983-12-14 | 1985-07-06 | Hitachi Ltd | 自由曲面表示方式 |
JPS61103277A (ja) * | 1984-10-26 | 1986-05-21 | Hitachi Ltd | 図形シエ−デイング装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4586038A (en) * | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
-
1988
- 1988-05-13 GB GB8811392A patent/GB2207585B/en not_active Expired - Fee Related
- 1988-07-19 CA CA000572463A patent/CA1305802C/en not_active Expired
- 1988-07-25 FR FR8810000A patent/FR2622030B1/fr not_active Expired - Fee Related
- 1988-07-27 DE DE19883825539 patent/DE3825539C2/de not_active Expired - Fee Related
- 1988-07-27 JP JP63187968A patent/JP2777577B2/ja not_active Expired - Fee Related
-
1992
- 1992-05-11 SG SG52792A patent/SG52792G/en unknown
- 1992-08-13 HK HK60992A patent/HK60992A/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60126771A (ja) * | 1983-12-14 | 1985-07-06 | Hitachi Ltd | 自由曲面表示方式 |
JPS61103277A (ja) * | 1984-10-26 | 1986-05-21 | Hitachi Ltd | 図形シエ−デイング装置 |
Also Published As
Publication number | Publication date |
---|---|
DE3825539C2 (de) | 1997-06-12 |
GB2207585A (en) | 1989-02-01 |
HK60992A (en) | 1992-08-21 |
DE3825539A1 (de) | 1989-02-09 |
FR2622030A1 (fr) | 1989-04-21 |
CA1305802C (en) | 1992-07-28 |
SG52792G (en) | 1992-12-04 |
GB8811392D0 (en) | 1988-06-15 |
JP2777577B2 (ja) | 1998-07-16 |
GB2207585B (en) | 1992-02-12 |
FR2622030B1 (fr) | 1994-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5063375A (en) | Method and apparatus for shading images | |
JP3021368B2 (ja) | 画素の法線ベクトルを用いたバンプマッピングレンダリング方法及びそれを具現するレンダリング装置 | |
US4901064A (en) | Normal vector shading for 3-D graphics display system | |
US5659671A (en) | Method and apparatus for shading graphical images in a data processing system | |
US5553208A (en) | Image synthesizing system having a field buffer unit that stores texture coordinates | |
EP1025558B1 (en) | A method and apparatus for performing chroma key, transparency and fog operations | |
US6016151A (en) | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation | |
JP3107452B2 (ja) | テクスチャマッピング方法およびその装置 | |
US7903112B2 (en) | Drawing processing apparatus, texture processing apparatus, and tessellation method | |
Hart | Perlin noise pixel shaders | |
US20120256933A1 (en) | Floating point computer system with floating point memory | |
US6806886B1 (en) | System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline | |
JPS62229381A (ja) | 三次元図形表示装置 | |
US6437781B1 (en) | Computer graphics system having per pixel fog blending | |
US6219062B1 (en) | Three-dimensional graphic display device | |
Shantz et al. | Shading bicubic patches | |
US6259462B1 (en) | Method and apparatus for texture blending in a video graphics circuit | |
US5740344A (en) | Texture filter apparatus for computer graphics system | |
JPH01120685A (ja) | 図形オブジェクトのシェーディング値生成装置およびその方法 | |
US5704025A (en) | Computer graphics system having per pixel depth cueing | |
US20030169272A1 (en) | Image generation apparatus and method thereof | |
JPS62186373A (ja) | 表示処理方法 | |
JPH06266852A (ja) | 画像合成装置 | |
US6417862B1 (en) | Device and method for blending true colors and fog colors to generate display colors | |
WO1997002546A1 (fr) | Circuit graphique pour ordinateur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |