JP2618951B2 - 三次元図形処理装置 - Google Patents

三次元図形処理装置

Info

Publication number
JP2618951B2
JP2618951B2 JP63033437A JP3343788A JP2618951B2 JP 2618951 B2 JP2618951 B2 JP 2618951B2 JP 63033437 A JP63033437 A JP 63033437A JP 3343788 A JP3343788 A JP 3343788A JP 2618951 B2 JP2618951 B2 JP 2618951B2
Authority
JP
Japan
Prior art keywords
value
polygon
luminance value
point
coordinate
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.)
Expired - Fee Related
Application number
JP63033437A
Other languages
English (en)
Other versions
JPH01207886A (ja
Inventor
宣之 幾見
正秀 大橋
光男 斎藤
健 相川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63033437A priority Critical patent/JP2618951B2/ja
Priority to EP89102578A priority patent/EP0329101B1/en
Priority to DE68923191T priority patent/DE68923191T2/de
Priority to KR1019890001786A priority patent/KR920007507B1/ko
Publication of JPH01207886A publication Critical patent/JPH01207886A/ja
Priority to US07/687,772 priority patent/US5163127A/en
Application granted granted Critical
Publication of JP2618951B2 publication Critical patent/JP2618951B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/548Trigonometric functions; Co-ordinate transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/87Gouraud shading

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、複数のポリゴンで構成された三次元図形
に対して陰影付け及び隠面処理を行なう三次元図形処理
装置に関する。
(従来の技術) 三次元のグラフィック処理のうち、シェーディング
(shading)と呼ばれる陰影付けによる三次元表示を行
なうためのアルゴリズムとして、グーロー・シェーディ
ング(Gouraud shading)が良く知られている。このグ
ーロー・シェーディングによる陰影付け三次元表示につ
いて以下に説明する。まず、ポリゴンと呼ばれる微少多
角形についての情報が始めに与えられる。この情報の内
容は、ポリゴンの各頂点の三次元座標値と、それぞれの
点の輝度値である。倒えば、ポリゴンが第12図に示すよ
うな三角形の場合、各頂点A,B,Cに対する三次元座標値
と輝度値からなる情報は、頂点Aについては(x1,y1,z
1,I1)、頂点Bについては(x2,y2,z2,I2)、頂点Cに
ついては(x3,y3,z3,I3)となる。
いま、第12図に示すようにX座標軸に平行な1つのス
キャンライン40を考えると、陰影付け処理を行なうため
にはこのスキャンライン40に沿った各点(ピクセル)に
対する輝度値1とX,Y座標値及び奥行きを表わすZ座標
値をそれぞれ求める必要がある。このうち、輝度値Iと
Z座標値については補間計算によって求められるが、そ
の方法は輝度値の場合、上記スキャンライン40と辺BCと
が交差する三次元座標(x4,y4,z4)の点Dの輝度値I4
と、スキャンライン40の辺ACとが交差する三次元座標
(x5,y5,z5)の点Eの輝度値I5は、頂点BとCの補間
と、頂点AとCの補間によって計算される。つまり、輝
度値I4,I5はそれぞれ次式で与えられる。
また、スキャンライン40上の任意の点Fにおける輝度
値についてはI4とI5の補間によって計算される。
また、点DとEの奥行き座標であるZ座標値z4,z5及
びスキャンライン40上の任意の点FにおけるZ座標値に
ついても同様の補間によって計算される。つまり、座標
値z4,z5はそれぞれ次式で与えられる。
このようにX座標軸に平行なスキャンライン上でのX
座標値に対するZ座標値及び輝度値1の傾きは常に一定
となる。従って、同じスキャンライン上の各点でのZ座
標値及び輝度値Iは、Z座標値の傾きΔZ及び輝度値I
の傾きΔIを順次加算することにより求められる。さら
にポリゴンが三角形の場合には、その頂点を結んで構成
される面は必ず平面となる。従って、三角形ポリゴンの
場合には全てのスキャンラインにおけるZ座標値の傾き
ΔZ及び輝度値Iの傾きΔIが一定となる。ポリゴンが
例えば第12図に示すようにA,B,Cの頂点を持つ三角形で
あり、各頂点におけるX,Y,Z座標値と輝度値Iとが図示
のような値であるとすると、上記ΔI及びΔZはそれぞ
れ次の式で与えられる。
そして、上記5式及び6式で与えられるΔI、ΔZで
全てのスキャンラインの傾きを代表させることができ
る。
従来、各スキャンライン上の点のZ座標値と輝度値I
の演算は1個の演算用集積回路(LSI)を用いて一点毎
に行われており、その結果がメモリに書込まれることに
より、塗り潰しが行われている。
ところが、メモリのアクセスタイムが演算用集積回路
におけるZ座標値と輝度値Iの演算速度に比べて遅いた
め、全体の処理能力(スループット)はメモリのアクセ
スタイムによって決定される。三次元図形を構成する点
は膨大であり、メモリのアクセスタイムが遅いことによ
り、陰影付けには膨大な時間を必要とする。このため、
従来ではアニメーション等のリアルタイム処理が困難で
あるという欠点がある。
このような問題を解決するためには、第13図のブロッ
ク図に示すようにメモリを複数のバンクMB1〜MB4に分割
し、Z座標値及び輝度値Iを演算する演算用集積回路50
の計算結果を、バンク切替えしながらメモリに書込む方
法が考えられる。しかし、この方法によればメモリへの
書込み時間は短縮されるが、今度は演算用集積回路50の
性能で全体の処理能力が決定され、それ以上は処理速度
が上がらないという問題がある。さらに、この場合には
メモリの制御が複雑になるという欠点がある。
(発明が解決しようとする課題) このように従来では高速な三次元図形処理が実現でき
ないという欠点がある。
この発明は上記のような事情を考慮してなされたもの
であり、その目的は三次元図形処理を高速に実行するこ
とができる三次元図形処理装置を提供することにある。
[発明の効果] (課題を解決するための手段) この発明の三次元図形処理装置では、ポリゴンを1ス
キャンライン毎に直線補間演算して各点の輝度値及び奥
行き座標値を求める演算回路及びその演算結果を保存す
るメモリとをそれぞれn個(nは2以上の整数)設け、
上記n個の演算回路で1つのポリゴンの1スキャンライ
ン上の連続した異なるn点に対する直線補間演算を1回
の処理サイクル内で並列に実行させかつn点おきに各処
理サイクル内で順次実行させ、各対応するメモリにその
結果を保存させるように構成したことを特徴としてい
る。
(作用) この発明の三次元図形処理装置では、ポリゴンに対す
る陰影付け処理をn個の演算回路を用いて並列に実行
し、その演算結果をn個のメモリに並列に保存すること
により実現している。このため、高速な図形処理が実現
される。
(実施例) 以下、図面を参照してこの発明を実施例により説明す
る。第1図はこの発明の三次元図形処理装置の一実施例
による構成を示すブロック図である。図において、10A,
10B,10C,10Dはそれぞれ、与えられた三角形ポリゴンの
情報に基づきそのポリゴン平面のZ座標値の傾きΔZ及
び輝度値Iの傾きΔI、三角形ポリゴンの三辺のうちの
一辺上にそれぞれ存在し、Z座標軸に平行な各スキャン
ラインで塗り潰しを開始する点のZ座標値及び輝度値I
を演算し、かつ1つのスキャンライン上の異なる点のZ
座標値及び輝度値Iを順次演算して陰影付け処理を行な
うと共に隠面処理を行なう演算用集積回路である。これ
らの演算用集積回路10A,10B,10C,10Dには予め0,1,2,3の
番号が付されている。また、これら演算用集積回路10A,
10B,10C,10Dで演算されかつ隠面処理されたZ座標値は
4個のZ座標メモリ11A,11B,11C,11Dそれぞれで、輝度
値Iは4個の輝度値メモリ12A,12B,12C,12Dそれぞれで
保存されるようになっている。また上記演算用集積回路
10A,10B,10C,10Dは対応するZ座標メモリ11及び輝度値
メモリ12に対し、演算結果を保存させるためのライトパ
ルスを出力する。なお、隠面処理とは、Z座標値が最も
小さなポリゴンのZ座標を選択する機能をいうものであ
り、この隠面処理がなされたポリゴンは表示図面上では
最も手前に存在することになる。
このような構成でなる装置において、いま第2図に示
すように頂点A,B,Cからなる三角形ポリゴンをグーロー
・シェーディングにより塗り潰しを行なって陰影付け処
理する場合について説明する。なお、この塗り潰しが行
われる三角形ポリゴンは水平方向(X座標軸方向)に6
つのスキャンラインが設定されている。そして、各スキ
ャンライン上の点はポリゴン内では実線の丸印で、ポリ
ゴン外では破線の丸印でそれぞれ示している。
各スキャンライン上の点にはX方向のアドレスとY方
向のアドレスがそれぞれ付されており、X方向アドレス
の下位2ビットの値が10進数で0,1,2,3の点のZ座標値
及び輝度値Iが、予め0,1,2,3の番号が付されている上
記4個の演算用集積回路10A,10B,10C,10Dそれぞれで演
算されるようになっている。これら演算用集積回路10A,
10B,10C,10Dで演算される第2図中の各点の丸印内には
それぞれに付されている番号0,1,2,3を記している。
この三角形ポリゴンの場合、各演算用集積回路10A,10
B,10C,10Dで演算を実行する処理サイクルは2回または
1回となり、第1スキャンラインから各スキャンライン
毎に2回または1回の処理サイクルで塗りつぶしが行な
われる。すなわち、1つのスキャンラインの処理サイク
ル1では連続した4点のZ座標値及び輝度値Iの演算が
4個の演算用集積回路10A,10B,10C,10Dで並列に行われ
る。このとき、各演算用集積回路10でそれぞれの演算点
が直線補間の開始点からX方向座標でどれだけずれてい
るかが判断される。この判断は、直線補間の開始点のX
方向座標の下位2ビットの値と、各演算用集積回路10に
付されている。番号との比較により行われる。次に各演
算用集積回路10A,10B,10C,10Dでは、基本的には、予め
演算されたそのスキャンライン上の塗り潰し開始点(三
角形の辺AB上の各点)の輝度値Iに対しては第3図の表
で示されるX方向座標のずれに対応した輝度の補正値
が、開始点のZ座標値に対しては第4図の表で示される
X方向座標のずれに対応したZ座標値の補正値がそれぞ
れ加算されるものであるが、そのスキャンライン上の塗
り潰しの開始点がどの演算用集積回路10に対応している
かが各演算用集積回路10で判断され、この判断結果に基
づき第5図の表で示される値が最終的な補正値としてそ
れぞれの輝度値及びZ座標値に加算される。次の処理サ
イクル2では連続した4点のZ座標値及び輝度値Iの演
算が4個の演算用集積回路10A,10B,10C,10Dで並列に行
われる。このとき、各演算用集積回路10では処理サイク
ル1で演算された各点の輝度値及びZ座標値に対してそ
れぞれ4ΔI、4ΔZの加算が行われる。このような演
算が各スキャンライン毎に行われ、それぞれの演算結果
がZ座標メモリ11及び輝度値メモリ12に供給される。
第1スキャンラインの塗り潰しは次のように行われ
る。まず、各演算用集積回路10でそれぞれの演算点が直
線補間の開始点(頂点B)からX方向座標でどれだけず
れているかが判断される。この場合、演算用集積回路10
Aの演算点は直線補間の開始点であり、X方向座標の下
位2ビットの値とこの演算用集積回路10Aに付されてい
る番号が共に0であるため、両点のX方向座標のずれは
0である。同様に演算用集積回路10B,10C,10Dの各演算
点と直線補間の開始点との間のX方向座標のずれはそれ
ぞれ1,2,3となる。また、この第1スキャンラインでは
その塗り潰しの開始点のX方向アドレスの下位2ビット
の値が0であり、演算用集積回路10Aに付されている番
号0と対応していることが各演算用集積回路10で判断さ
れる。この場合、各演算用集積回路10A,10B,10C,10Dで
は第5図中のXの下位2ビットの値が0の箇所の、補正
値0,Δ,2Δ,3Δそれぞれの値が塗り潰しの開始点の輝度
値及びZ座標値に対して加算される。なお、第5図中の
LSI番号は各演算用集積回路10A,10B,10C,10Dに予め付さ
れている番号に対応している。次の処理サイクル2では
連続した4点のZ座標値及び輝度値Iの演算が、処理サ
イクル1で演算された各点の輝度値及びZ座標値に対し
それぞれ4ΔI、4ΔZが各演算用集積回路10A,10B,10
C,10Dで並列に加算されることによって行われる。
第2スキャンラインでは、まず、各演算用集積回路10
でそれぞれの演算点が直線補間の開始点(第2図中のD
点)からX方向座標でどれだけずれているかが判断され
る。この場合には、直線補間の開始点D点の演算を行な
う番号1が付された演算用集積回路10Bの演算点と開始
点D点とのずれが0となるため、各演算用集積回路10A,
10B,10C,10Dでは第5図中のXの下位2ビットの値が1
の箇所の、補正値−Δ,0,Δ,2Δそれぞれの値が塗り潰
しの開始点D点の輝度値及びZ座標値に対して加算され
る。また、次の処理サイクル2では連続した4点のZ座
標値及び輝度値Iの演算が、処理サイクル1で演算され
た各点の輝度値及びZ座標値に対しそれぞれ4ΔI、4
ΔZが各演算用集積回路10A,10B,10C,10Dで並列に加算
されることによって行われる。
第3スキャンラインでは、まず、各演算用集積回路10
でそれぞれの演算点が直線補間の開始点(第2図中のE
点)からX方向座標でどれだけずれているかが判断され
る。この場合には、直線補間の開始点E点の演算を行な
う番号2が付された演算用集積回路10Cの演算点と開始
点E点とのずれが0となるため、各演算用集積回路10A,
10B,10C,10Dでは第5図中のXの下位2ビットの値が2
の箇所の、補正値−2Δ,−Δ,0,Δそれぞれの値が塗
り潰しの開始点E点の輝度値及びZ座標値に対して加算
される。また、次の処理サイクル2では連続した4点の
Z座標値及び輝度値Iの演算が、処理サイクル1で演算
された各点の輝度値及びZ座標値に対しそれぞれ4Δ
I、4ΔZが各演算用集積回路10A,10B,10C,10Dで並列
に加算されることによって行われる。
第4スキャンラインでは、まず、各演算用集積回路10
でそれぞれの演算点が直線補間の開始点(第2図中のF
点)からX方向座標でどれだけずれているかが判断され
る。この場合には、直線補間の開始点F点の演算を行な
う番号3が付された演算用集積回路10Dの演算点と開始
点F点とのずれが0となるため、各演算用集積回路10A,
10B,10C,10Dでは第5図中のXの下位2ビットの値が3
の箇所の、補正値−3Δ,−2Δ,−Δ,0それぞれの値
が塗り潰しの開始点F点の輝度値及びZ座標値に対して
加算される。また、次の処理サイクル2では連続した4
点のZ座標値及び輝度値Iの演算が、処理サイクル1で
演算された各点の輝度値及びZ座標値に対しそれぞれ4
ΔI、4ΔZが各演算用集積回路10A,10B,10C,10Dで並
列に加算されることによって行われる。このようにし
て、図示のような三角形ポリゴンの各スキャンライン上
の点の輝度値I及びZ座標値が計算される。
ところで、上記のようにして輝度値I及びZ座標値が
計算された各点は、塗り潰しを行なうポリゴン内に存在
するものとポリゴンの外に存在するものとがあり、ポリ
ゴン外に存在する点のZ座標及び輝度値IはZ座標メモ
リ11、輝度値メモリ12で保存する必要はない。また、こ
れらZ座標値及び輝度値Iの保存は、Z座標メモリ11、
輝度値メモリ12に対して各演算用集積回路10がライトパ
ルスを供給することにより行われるが、各演算用集積回
路10はそれぞれの演算点がポリゴン内に存在しているか
否かを判断して、ポリゴン内に存在しているときにのみ
ライトパルスを出力する。このような判断は例えば次の
ようにして行われる。
例えば処理サイクルが開始サイクル(例えば第2図中
の第1ないし第4スキャンラインの処理サイクル1)の
場合には、直線補間の開始点の演算をどの演算用集積回
路10で担当するかが判断され、その判断結果に基づき第
6図の表で示されるルールに従って各演算用集積回路10
からライトパルスが出力される。第1スキャンラインの
処理を行なうときは直線補間の開始点の演算が番号(LS
I番号)0の演算用集積回路10Aで相当される。このと
き、第6図中のXの下位2ビットの値が0の箇所が参照
される。ここでは各番号のLSIの値は全て1となり、全
ての演算用集積回路10からライトパルスが出力される。
第2スキャンラインでは直線補間の開始点の演算が番号
(LSI番号)1の演算用集積回路10Bで担当される。この
とき、第6図中のXの下位2ビットの値が1の箇所が参
照される。ここでは番号0のLSIの値が0で、値は1と
なり、演算用集積回路10Aを除く残りの演算用集積回路1
0B,10C,10Dからライトパルスが出力される。第3スキャ
ンラインでは直線補間の開始点の演算が番号2の演算用
集積回路10Cで担当される。このとき、第6図中のXの
下位2ビットの値が2の箇所が参照される。ここでは番
号2と3に対応した演算用集積回路10C,10Dからライト
パルスが出力される。また第4スキャンラインでは直線
補間の開始点の演算が番号3の演算用集積回路10Dで担
当される。このとき、第6図中のXの下位2ビットの値
が3の箇所が参照される。ここでは番号3に対応した演
算用集積回路10Dのみからライトパルスが出力される。
他方、処理サイクルが終了サイクル(例えば第2図中
の第1ないし第4スキャンラインの処理サイクル2)の
場合には、直線補間の終了点の演算をどの演算用集積回
路10で担当するかが判断され、その判断結果に基づき第
7図の表で示されるルールに従って各演算用集積回路10
からライトパルスが出力される。第1スキャンラインの
処理を行なうときは直線補間の終了点の演算が番号(LS
I)番号)1の演算用集積回路10Bで担当される。このと
き、第7図中のXの下位2ビットの値が1の箇所が参照
される。ここでは番号0と1のLSIの値が1となり、他
は0であるため、番号0と1に対応した演算用集積回路
10A,10Bからライトパルスが出力される。以下第5スキ
ャンラインまでは上記と同様に、番号0と1に対応した
演算用集積回路10A,10Bからライトパルスが出力され
る。
また、第2図中の第5、第6スキャンラインの処理サ
イクル2のように開始サイクルと終了サイクルとが同時
に存在する場合には、第6図の表中のルールの値と、第
7図の表中のルールの値との論理積の値に基づいてライ
トパルスが出力される。すなわち、第5スキャンライン
の処理を行なうときは、まず直線補間の開始点の演算が
番号0の演算用集積回路10Aで担当される。このとき、
第6図中のXの下位2ビットの値が0の箇所が参照され
る。ここでは各番号のLSIの値は全て1である。次に直
線補間の終了点の演算が番号1の演算用集積回路10Bで
担当される。このとき、第7図中のXの下位2ビットの
値が1の箇所が参照される。ここでは番号0と1のLSI
の値が1となる。従って、このときの第6図の表中のル
ールの値と、第7図の表中のルールの値との論理積をと
ると、番号0と1のLSIの値が1となり、演算用集積回
路10Aと10Bからライトパルスが出力される。また、第6
スキャンラインの処理を行なうとき、直線補間の開始点
の演算は番号1の演算用集積回路10Bで担当される。こ
のとき、第6図中のXの下位2ビットの値が1の箇所が
参照される。ここでは1,2,3各番号のLSIの値が1とな
る。この場合、番号1の演算用集積回路10Bで行われる
演算が直線補間の終了点の演算となり、第7図中のXの
下位2ビットの値が1の箇所が参照される。ここでは番
号0と1のLSIの値が1となる。従って、このときの第
6図の表中のルールの値と、第7図の表中のルールの値
との論理積をとると、番号1のLSIの値が1となり、演
算用集積回路10Bからのみライトパルスが出力される。
第8図は上記各演算用集積回路10の主要部の具体的構
成を示すブロックである。図において、21及び22は前記
第3図、第4図の表で示されるX方向座標のずれに対応
した輝度の補正値0,Δ1,2ΔI,3ΔI及びZ座標値の補正
値0,ΔZ,2ΔZ,3ΔZを格納するレジスタ、23は前記第2
図中のポリゴンの第1スキャンライン上の頂点Bにおけ
る輝度値の初期値I(辺)を格納するレジスタ、24は同
じく頂点BにおけるZ座標値の初期値Z(辺)を格納す
るレジスタ、25はそのポリゴンの左辺の輝度値Iの傾き
ΔI′を格納するレジスタ、26は同じくポリゴンの左辺
のZ座標値の傾きΔZ′を格納するレジスタ、27はセレ
クタ、28は加減算器、29及び30はそれぞれセレクタ、31
及び32は上記セレクタ29及び30の出力を格納するレジス
タ、33及び34はそれぞれ加算器、35及び36は4ΔI、4
ΔZの値を格納するレジスタであり、37は制御部であ
る。
上記制御部37には0,1,2,3の番号のうち対応するLSIの
番号とX座標軸方向のアドレスの下位2ビットが入力さ
れる。制御部37はこれらの入力に基づいてレジスタ21内
の輝度の補正値とレジスタ22内のZ座標値の補正値を指
定し、かつライトパルスの出力制御を行なう。
このような構成において、まず、レジスタ23内に格納
されているポリゴンの頂点Bにおける輝度値の初期値I
(辺)が加減算器28に送られる。また、制御部37はその
入力に基づき、レジスタ21で輝度の補正値を指定する。
レジスタ21で指定された補正値はセレクタ27を介して加
減算器28に送られる。加減算器28は入力された輝度値の
初期値I(辺)とレジスタ21で指定された補正値との間
で加減算を行ない演算の開始点における輝度値を計算す
る。そして、計算された輝度値はセレクタ29に送られ
る。次に、レジスタ24内に格納されているポリゴンの頂
点BにおけるZ座標値の初期値Z(辺)が加減算器28に
送られる。制御部37はその入力に基づき、レジスタ22で
Z座標値の補正値を指定する。レジスタ22で指定された
補正値はセレクタ27を介して再び加減算器28に送られ
る。加減算器28は入力されたZ座標値の初期値Z(辺)
とレジスタ22で指定された補正値との間で加減算を行な
い演算の開始点におけるZ座標値を計算する。そして、
計算されたZ座標値はセレクタ30に送られる。この場合
にも、前記と同様に開始点における補正が行われた後、
セレクタ30からレジスタ32に送られる。
一方、セレクタ29に送られた輝度値はレジスタ31に直
線補間演算の輝度の初期値I(水平)として格納され
る。この後、加算器33により、この輝度の初期値I(水
平)に対し、レジスタ35に格納されている4ΔIの値が
処理サイクル毎に順次加算され、各処理サイクルの加算
結果がIメモリ(輝度値メモリ12A,12B,12C,12D)に送
られる。同様に、セレクタ30に送られたZ座標値はレジ
スタ32に直線補間演算のZ座標値の初期値Z(水平)と
して格納される。この後、加算器34により、このZ座標
値の初期値Z(水平)に対し、レジスタ36に格納されて
いる4ΔZの値が処理サイクル毎に順次加算され、各処
理サイクルの加算結果がZメモリ(Z座標メモリ11A,11
B,11C,11D)に送られる。このようにして、第1スキャ
ンライン上の各点の輝度値とZ座標値が計算される。
第2スキャンライン以降の各点の輝度値とZ座標値の
計算は次のようにして行われる。まず、レジスタ23内に
格納されている輝度値と、レジスタ25に格納されている
輝度値の傾きΔI′とが加減算器28に送られる。加減算
器28は入力された両レジスタ23,25の値の加算を行なっ
て各スキャンライン上の演算の開始点における輝度値を
計算する。計算された輝度値はレジスタ23に再び格納さ
れる。さらに前に述べたような開始点における補正が行
なわれた後、セレクタ29からレジスタ31へ送られる。こ
の後、セレクタ29に送られた輝度値に対し、加算器33で
4ΔIの値が処理サイクル毎に順次加算される。同様に
レジスタ24内に格納されているZ座標値と、レジスタ26
に格納されているZ座標値の傾きΔZ′が加減算器28に
送られ、加減算器28は入力された両レジスタ24,26の値
の加算を行なって各スキャンライン上の演算の開始点に
おけるZ座標値を計算する。そして計算されたZ座標値
はレジスタ24に再び格納される。この後、セレクタ30に
送られたZ座標に対し、加算器34で4ΔZの値が処理サ
イクル毎に順次加算される。なお、レジスタ25に格納さ
れる輝度値Iの傾きΔI′と、レジスタ26に格納される
Z座標値の傾きΔZ′の値は、ポリゴンが例えば第9図
に示すようにA,B,Cの頂点を持つ三角形であり、各頂点
におけるX,Y,Z座標値と輝度値Iとが図示のような値で
あるとすると、それぞれ次の式で与えられる。
このように上記実施例によれば、陰影付けのためのポ
リゴンの塗り潰し処理を4個の演算用集積回路10を用い
て行ない、かつ各集積回路10で計算された結果をそれぞ
れの集積回路に対して設けられているメモリ11,12に格
納するようにしているので、従来のように1個の集積回
路を用いてこれを行なう場合に比べて処理速度は格段に
向上する。例えば、第2図に示すように21点からなるポ
リゴンの塗り潰し処理を行なう場合、従来では処理サイ
クルが21サイクル必要であるが、上記実施例装置の場合
には10サイクルで済む。通常、陰影付け処理を行なう図
形は極めて多くのポリゴンで構成されているため、全体
で見れば処理時間の大幅な削減を図ることができる。
なお、この発明は上記実施例に限定されるものではな
く種々の変形が可能であることはいうまでもない。例え
ば上記実施例では演算用集積回路10を4個設け、これら
4個の集積回路で並列に各点の輝度値及びZ座標値を計
算する場合について説明したが、これは演算用集積回路
10を2個以上設けることによってこの発明の目的を達成
することができるものであるから、その個数は2個以上
であれば何個設けてもよい。例えば、第10図は前記第2
図の場合と同様に21点からなる三角形ポリゴンを2個の
演算用集積回路を用いて並列処理する場合を示すもので
ある。この場合には処理サイクルとして12サイクルが必
要であるが、従来の21サイクルと比べれば大幅に削減さ
れている。また、第11図は演算用集積回路10を2個設け
た場合の前記第5図に対応した表を示す図である。この
場合、直線補間の開始点と各演算用集積回路の演算の実
行点との間におけるX座標軸方向のずれは0か1である
ため、補正値も0,Δ,−Δの三種類となる。
[発明の効果] 以上説明したようにこの発明によれば、各ポリゴンの
塗り潰し処理を2個以上の演算用集積回路を用いて行な
うようにしたので、三次元図形処理を高速に実行するこ
とができる三次元図形処理装置を提供することができ
る。
【図面の簡単な説明】
第1図はこの発明の三次元図形処理装置の第1の実施例
による構成を示すブロック図、第2図は上記実施例装置
でポリゴンの塗り潰しを行なう際の動作を説明するため
の図、第3図ないし第7図はそれぞれ上記実施例を説明
するための表を示す図、第8図は上記実施例装置の主要
部の具体的構成を示すブロック、第9図は上記第8図装
置を説明するための図、第10図はこの発明の他の実施例
装置を用いてポリゴンの塗り潰しを行なう際の動作を説
明するための図、第11図は上記他の実施例を説明するた
めに使用される表を示す図、第12図はポリゴンの一般的
な塗り潰し処理を説明するための図、第13図は従来から
考えられている処理装置のブロック図である。 10……演算用集積回路、11……Z座標メモリ、12……輝
度値メモリ、21,22,23,24,25,26,31,32,35,36……レジ
スタ、27,29,30……セレクタ、28……加減算器、33,34
……加算器、37……制御部。
フロントページの続き (72)発明者 相川 健 神奈川県川崎市幸区小向東芝町1番地 株式会社東芝総合研究所内 (56)参考文献 特開 昭63−307591(JP,A) 特開 昭60−198690(JP,A) 特開 昭61−86876(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のポリゴンで構成された三次元図形に
    対し陰影付け処理を行なう三次元図形処理装置であっ
    て、ポリゴンを1スキャンライン毎に直線補間演算して
    各点の輝度値及び奥行き座標値を求める集積回路化され
    たn個の演算回路及びその演算結果を保存するn個のメ
    モリ(nは2以上の整数)とを設け、上記n個の演算回
    路で1つのポリゴンの1スキャンライン上の連続した異
    なるn点に対する直線補間演算を1回の処理サイクル内
    で並列に実行させかつn点おきに各処理サイクル内で順
    次実行させ、各対応するメモリにその結果を保存させる
    と共に、上記各演算回路は、ポリゴンの1スキャンライ
    ンの最初の処理サイクルの直線補間演算の実行を開始す
    る際は、演算の実行開始点とそのスキャンライン上の直
    線補間の開始点との間の水平方向座標の差を求め、この
    水平方向座標の差にそのポリゴン内の輝度値の傾き及び
    奥行き座標値の傾きそれぞれを乗じた値でその実行開始
    点の輝度値及び奥行き座標値の補正を行なうと共にその
    スキャンライン上の実行開始点が陰影付け処理を行なう
    ポリゴン内に存在しない場合には上記水平方向座標の差
    にそのポリゴン内の輝度値の傾き及び奥行き座標値の傾
    きそれぞれを乗じた負の値でその実行開始点の輝度値及
    び奥行き座標値の補正を行ない、これ以降の処理サイク
    ルでは最初の処理サイクルで補正された各実行開始点の
    輝度値及び奥行き座標値に対してそれぞれ所定値の輝度
    値及び奥行き座標値を累積加算して各点の輝度値及び奥
    行き座標値を求めるように構成したことを特徴とする三
    次元図形処理装置。
  2. 【請求項2】前記各処理サイクルで、各演算回路はそれ
    ぞれの演算の実行点が陰影付け処理を行なうポリゴン内
    に存在している点である否かを判断し、該ポリゴン内に
    存在している場合にのみ対応する前記メモリに演算結果
    の保存を可能ならしめる書込み用制御信号を出力する請
    求項1に記載の三次元図形処理装置。
JP63033437A 1988-02-16 1988-02-16 三次元図形処理装置 Expired - Fee Related JP2618951B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP63033437A JP2618951B2 (ja) 1988-02-16 1988-02-16 三次元図形処理装置
EP89102578A EP0329101B1 (en) 1988-02-16 1989-02-15 Three-dimensional graphic processing apparatus
DE68923191T DE68923191T2 (de) 1988-02-16 1989-02-15 Dreidimensionales graphisches Verarbeitungsgerät.
KR1019890001786A KR920007507B1 (ko) 1988-02-16 1989-02-16 3차원도형 처리장치
US07/687,772 US5163127A (en) 1988-02-16 1991-04-19 Three dimensional graphic processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63033437A JP2618951B2 (ja) 1988-02-16 1988-02-16 三次元図形処理装置

Publications (2)

Publication Number Publication Date
JPH01207886A JPH01207886A (ja) 1989-08-21
JP2618951B2 true JP2618951B2 (ja) 1997-06-11

Family

ID=12386512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63033437A Expired - Fee Related JP2618951B2 (ja) 1988-02-16 1988-02-16 三次元図形処理装置

Country Status (5)

Country Link
US (1) US5163127A (ja)
EP (1) EP0329101B1 (ja)
JP (1) JP2618951B2 (ja)
KR (1) KR920007507B1 (ja)
DE (1) DE68923191T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0758510B2 (ja) * 1989-10-31 1995-06-21 株式会社東芝 三次元図形処理装置
KR100232931B1 (ko) * 1989-12-21 1999-12-01 이데이 노부유끼 컴퓨터 그래픽용 쉐이딩 방법 및 시스템
EP0464907B1 (en) * 1990-06-29 1996-10-09 Philips Electronics Uk Limited Generating an image
US5420972A (en) * 1990-11-15 1995-05-30 International Business Machines Corporation Method and apparatus for rendering lines
US5343558A (en) * 1991-02-19 1994-08-30 Silicon Graphics, Inc. Method for scan converting shaded triangular polygons
US5706415A (en) * 1991-12-20 1998-01-06 Apple Computer, Inc. Method and apparatus for distributed interpolation of pixel shading parameter values
US5345541A (en) * 1991-12-20 1994-09-06 Apple Computer, Inc. Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device
JPH07120434B2 (ja) * 1992-01-29 1995-12-20 インターナショナル・ビジネス・マシーンズ・コーポレイション ボリュームレンダリングを行う方法及び装置
US5666520A (en) * 1993-03-29 1997-09-09 Hitachi, Ltd. Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line
JPH07182537A (ja) * 1993-12-21 1995-07-21 Toshiba Corp 図形描画装置および図形描画方法
US5704025A (en) * 1995-06-08 1997-12-30 Hewlett-Packard Company Computer graphics system having per pixel depth cueing
US5761400A (en) * 1995-08-28 1998-06-02 Apple Computer, Inc. Method and system for increasing the speed of a Z-buffer process
JP3099940B2 (ja) * 1995-12-25 2000-10-16 日本電気株式会社 3次元グラフィックス制御装置
JPH09223245A (ja) * 1996-02-19 1997-08-26 Nec Corp シェーディング描画装置
US6046746A (en) * 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
US6048435A (en) 1996-07-03 2000-04-11 Tegal Corporation Plasma etch reactor and method for emerging films
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US8233194B2 (en) * 2005-01-26 2012-07-31 Hewlett-Packard Development Company, L.P. Ising-model image rendition, and consolidated masking and/or filtering, in incremental printing
US9019367B2 (en) * 2011-06-10 2015-04-28 Wuerth Elektronik Ics Gmbh & Co. Kg Method for dynamically detecting the fill level of a container, container therefor, and system for dynamically monitoring the fill level of a plurality of containers

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4354243A (en) * 1980-04-11 1982-10-12 Ampex Corporation Two dimensional interpolation circuit for spatial and shading error corrector systems
US4827445A (en) * 1982-02-18 1989-05-02 University Of North Carolina Image buffer having logic-enhanced pixel memory cells and method for setting values therein
US4486785A (en) * 1982-09-30 1984-12-04 International Business Machines Corporation Enhancement of video images by selective introduction of gray-scale pels
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
JPH0738217B2 (ja) * 1985-04-18 1995-04-26 ファナック株式会社 空間積和演算装置
US4791582A (en) * 1985-09-27 1988-12-13 Daikin Industries, Ltd. Polygon-filling apparatus used in a scanning display unit and method of filling the same
US4805116A (en) * 1986-04-23 1989-02-14 International Business Machines Corporation Interpolated display characteristic value generator
JPH0812705B2 (ja) * 1986-09-29 1996-02-07 株式会社東芝 画像処理装置
JPS63307591A (ja) * 1987-06-09 1988-12-15 Agency Of Ind Science & Technol 高機能zバッファメモリ
US5005117A (en) * 1988-09-29 1991-04-02 Kabushiki Kaisha Toshiba Three-dimensional computer graphics apparatus with two-port memory for storing depth information

Also Published As

Publication number Publication date
EP0329101A2 (en) 1989-08-23
DE68923191T2 (de) 1995-11-09
EP0329101A3 (en) 1992-01-08
JPH01207886A (ja) 1989-08-21
KR920007507B1 (ko) 1992-09-04
DE68923191D1 (de) 1995-08-03
KR890013554A (ko) 1989-09-23
US5163127A (en) 1992-11-10
EP0329101B1 (en) 1995-06-28

Similar Documents

Publication Publication Date Title
JP2618951B2 (ja) 三次元図形処理装置
US5877769A (en) Image processing apparatus and method
JPH0916806A (ja) 立体画像処理装置
JPS63198174A (ja) 図形処理装置
US5973701A (en) Dynamic switching of texture mip-maps based on pixel depth value
US5537520A (en) Method and system for displaying a three dimensional object
JPH02226381A (ja) 適応前進差分および整数算術を用いてパラメトリツク関数を表示する装置および整数算術を用いて実現する方法
EP0600204A2 (en) Method and apparatus for rendering primitives with multiple processors
JPH03144782A (ja) 三次元図形処理装置
JP3099940B2 (ja) 3次元グラフィックス制御装置
EP0389890B1 (en) Method and apparatus for generating figures with three degrees of freedom
US7151862B2 (en) Image processing apparatus and method, storage medium, and program
JP3759365B2 (ja) 三次元クリップ判定処理装置
JP2007141196A (ja) ポリゴン・シルエットライン・アンチエイリアス回路
EP0256488B1 (en) Method of interpolating pixel values
JPH09282486A (ja) 画像処理装置
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JPH087123A (ja) 三次元画像処理方法及び装置
JP2804028B2 (ja) レンダリングプロセツサ
JP3681240B2 (ja) 3次元形状の表示方法及び該方法を用いる3次元cadシステム
JP3718888B2 (ja) 三次元ポリゴン描画方法および装置
JP2000338959A (ja) 画像処理装置
JPH1021414A (ja) テキスチャーマッピング回路
JPS61265677A (ja) 隠れ線・隠れ面演算処理方式
JPH0973547A (ja) レンダリング装置およびマッピング装置ならびにレンダリング方法およびマッピング方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees