JP3099940B2 - 3次元グラフィックス制御装置 - Google Patents

3次元グラフィックス制御装置

Info

Publication number
JP3099940B2
JP3099940B2 JP07336620A JP33662095A JP3099940B2 JP 3099940 B2 JP3099940 B2 JP 3099940B2 JP 07336620 A JP07336620 A JP 07336620A JP 33662095 A JP33662095 A JP 33662095A JP 3099940 B2 JP3099940 B2 JP 3099940B2
Authority
JP
Japan
Prior art keywords
component
vertex
adder
value
change
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
JP07336620A
Other languages
English (en)
Other versions
JPH09180000A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP07336620A priority Critical patent/JP3099940B2/ja
Priority to US08/773,325 priority patent/US5831634A/en
Publication of JPH09180000A publication Critical patent/JPH09180000A/ja
Application granted granted Critical
Publication of JP3099940B2 publication Critical patent/JP3099940B2/ja
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/005General purpose rendering architectures

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、3次元コンピュー
タグラフィックスに関し、特に3次元グラフィックス制
御装置に関するものである。
【0002】
【従来の技術】近年、3次元コンピュータグラフィック
スを高速に処理し、リアルタイムで表示する要求が高ま
っている。
【0003】基本的なアルゴリズムは、日経コンピュー
タグラフィックス1993年11月号118〜122ペ
ージに示されている。この文献においては、全体の処理
の内容により、図9に示すように、ジオメトリアクセラ
レータ908とラスタライザ909に大きく分けてい
る。ジオメトリアクセラレータ908には、視野座標系
への変換901、ライティング902、クリップ座標系
への変換903、クリッピング904、ウィンドウ座標
系への変換905の処理が含まれ、ラスタライザ909
には、ラスタライゼーション906、ピクセルオペレー
ション907の処理が含まれる。
【0004】これらの処理において処理時間のかかるラ
スタライザ909をハードウェア化することは、全体の
処理時間を軽減することに効果的である。
【0005】このラスタライザ909のピクセルオペレ
ーション907をDDA(Digital Diffe
rential Analyzer)方式を用いてハー
ドウェア化し、Zバッファ法に適用した例が、特開平5
−210744号に示されている。
【0006】この特開平5−210744号記載の従来
例は、ソフトウェアによってラスタライゼーション90
6までの処理を行い、スパンの位置、色、色の傾き、Z
値、Z値の傾きを算出し、その後のピクセルオペレーシ
ョン907をハードウェアを用いて行う方式である。
【0007】
【発明が解決しようとする課題】しかし、上記特開平5
−210744号記載の従来例の方式においては、ピク
セルオペレーション907をハードウェア化している
が、ラスタライゼーション906をソフトウェアで行わ
なければならず、処理時間の軽減が効率的に行われない
という問題が残っていた。
【0008】本発明の目的は、スパンの開始位置、幅、
色、色の変化率等を算出するラスタライゼーションの処
理の一部であるDDA処理とピクセルオペレーションを
ハードウェア化することにより、処理時間をより軽減す
ることができる3次元グラフィックス制御装置を提供す
ることにある。
【0009】
【課題を解決するための手段】本発明方式においては、
スパンの開始位置、幅、色、色の変化率等を算出するラ
スタライゼーション906の処理の一部であるDDA方
式による処理もハードウェア化することにより、より効
果的な処理時間の軽減を行う。
【0010】即ち、本発明によれば、三角形の頂点をY
座標の大きいものから頂点1、頂点2、頂点3とし、頂
点2を含むX座標に平行な直線で分割される頂点1、頂
点2を含む三角形を上三角形、頂点2、頂点3を含む三
角形を下三角形とし、頂点1と頂点3を含む辺を辺Aと
するとき、優先順位法を用いる3次元コンピュータグラ
フィックスシステムにおいて、ソフトウェアからの三角
形情報を受け取るレジスタと、Y方向の座標を計算する
カウンタと、前記辺AのX方向の開始位置を計算するX
方向開始位置加算器と、X方向の幅を計算し、前記上三
角形と前記下三角形の変化分を変更する機構を持ったX
方向幅加算器と、色のR成分を計算するR加算器と、色
のG成分を計算するG加算器と、色のB成分を計算する
B加算器と、フレームメモリの制御を行うメモリコント
ローラと、1ライン分の容量を持ち、前記R加算器より
出力されるR成分、前記G加算器より出力されるG成
分、前記B加算器より出力されるB成分を格納するライ
ンバッファと、前記ラインバッファを制御するラインバ
ッファコントローラと、システム全体の制御を行うシー
ケンサとを有することを特徴とする3次元グラフィック
ス制御装置が得られる。
【0011】また、本発明によれば、頂点1のX座標、
頂点1のY座標、頂点1を含むスパンのX方向の幅、三
角形のY方向の幅、辺Aの開始位置のX方向の変化分、
頂点2のY座標、上三角形のX方向の幅の変化分、下三
角形のX方向の変化分、頂点1の色のR成分の値、頂点
1の色のG成分の値、頂点1のB成分の値、辺A上での
R成分の変化分、辺A上でのG成分の変化分、辺A上で
のB成分の変化分、X方向のR成分の変化分、X方向の
G成分の変化分、X方向のB成分の変化分を受取り動作
することを特徴とする3次元グラフィックス制御装置が
得られる。
【0012】更に、本発明によれば、三角形の頂点をY
座標の大きいものから頂点1、頂点2、頂点3とし、頂
点2を含むX座標に平行な直線で分割される頂点1、頂
点2を含む三角形を上三角形、頂点2、頂点3を含む三
角形を下三角形とし、頂点1と頂点3を含む辺を辺Aと
するとき、Zバッファ法を用いる3次元コンピュータグ
ラフィックスシステムにおいて、ソフトウェアからの三
角形情報を受け取るレジスタと、Y方向の座標を計算す
るカウンタと、前記辺AのX方向の開始位置を計算する
X方向開始位置加算器と、X方向の幅を計算し、前記上
三角形と前記下三角形の変化分を変更する機構を持った
X方向幅加算器と、色のR成分を計算するR加算器と、
色のG成分を計算するG加算器と、色のB成分を計算す
るB加算器と、フレームメモリの制御を行うメモリコン
トローラと、1ライン分の容量を持ち、前記R加算器よ
り出力されるR成分、前記G加算器より出力されるG成
分、前記B加算器より出力されるB成分を格納するライ
ンバッファと、前記ラインバッファを制御するラインバ
ッファコントローラと、システム全体の制御を行うシー
ケンサと、Z値を計算するZ加算器と、1ライン分の容
量を持ちフレームメモリ上のZバッファの1ライン分の
データを読み込むためのZバッファと、前記Zバッファ
を制御するZバッファコントローラと、前記Zバッファ
の値と前記Z加算器との比較を行うZ比較器と、1ライ
ン分の容量を持ち、対応するビットの前記Z加算器から
の値が、対応する前記Zバッファの値よりも視点から遠
いと判断したときにセットされるマスクバッファとを有
することを特徴とする3次元グラフィックス制御装置が
得られる。
【0013】更にまた、本発明によれば、頂点1のX座
標、頂点1のY座標、頂点1を含むスパンのX方向の
幅、三角形のY方向の幅、辺Aの開始位置のX方向の変
化分、頂点2のY座標、上三角形のX方向の幅の変化
分、下三角形のX方向の変化分、頂点1の色のR成分の
値、頂点1の色のG成分の値、頂点1のB成分の値、辺
A上でのR成分の変化分、辺A上でのG成分の変化分、
辺A上でのB成分の変化分、X方向のR成分の変化分、
X方向のG成分の変化分、X方向のB成分の変化分、頂
点1のZ値、辺A上でのZ値の変化分、X方向のZ値の
変化分を受取り動作することを特徴とする3次元グラフ
ィックス制御装置が得られる。
【0014】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。
【0015】さて、図6に示すように、対象とするポリ
ゴンは三角形とし、Y座標の大きいものから順番に頂点
1、頂点2、頂点3とし、頂点2を通りX軸に平行な直
線604によって分割され、頂点1を含む三角形を上三
角形602、また頂点3を含む三角形を下三角形60
3、頂点1と頂点3を含む辺を辺A605、X軸と平行
な直線が三角形と重なる線分をスパン601とする。
【0016】ソフトウェアによって以下のデータを算出
し、その情報を元にハードウェアにより描画を行う。
【0017】優先順位法(ペインターズアルゴリズム)
の場合には、頂点1の座標、Y方向の幅、頂点1のX方
向幅、頂点2のY座標、辺A605上でのX座標の変化
分、上三角形602のX方向の幅の変化分、下三角形6
03のX方向の幅の変化分、頂点1の色の初期値、辺A
605上での色の変化分、X方向の色の変化分を算出す
る。
【0018】Zバッファ法においては、優先順位法の算
出データに加えて、頂点1のZ値、辺A605上でのZ
値の変化分、X方向でのZ値の変化分を算出する。
【0019】図1は本発明の第1の実施の形態であり、
本発明を優先順位法アルゴリズムに適用した例である。
【0020】図1を参照すると、本発明の第1の実施の
形態に係る3次元グラフィックス制御装置は、ソフトウ
ェアからの三角形情報を受け取るレジスタ101、Y方
向の座標を計算するYカウンタ103、辺A605(図
6参照)のX方向の開始位置を計算するX方向開始位置
加算器104、X方向の幅を計算し、上三角形602と
下三角形603の変化分を変更する機構を持ったX方向
幅加算器105、色のR成分を計算するR加算器10
6、色のG成分を計算するG加算器107、色のB成分
を計算するB加算器108、フレームメモリ112の制
御を行うメモリコントローラ109、1ライン分の容量
を持ち、R加算器106より出力されるR成分、G加算
器107より出力されるG成分、B加算器108より出
力されるB成分を格納するラインバッファ111、ライ
ンバッファ111を制御するラインバッファコントロー
ラ110、および装置の制御を行うシーケンサ102に
よって構成される。
【0021】図2はX方向開始位置加算器104の構成
を示す図であり、値を保持するラッチ202、ラッチ2
02からのデータに変化分を加算する加算器203、初
期値と加算器203の出力値を選択するセレクタ(SE
L)201で構成される。
【0022】図3はX方向幅加算器105の構成を示す
図である。このX方向幅加算器105の構成を図3に加
え図5を参照しつつ説明する。X方向幅加算器105
は、上三角形のX方向幅の変化分508(図5参照)と
下三角形のX方向幅の変化分509(図5参照)を選択
するセレクタ(SEL)301、値を保持するラッチ3
03、ラッチ303からのデータに変化分を加算する加
算器304、初期値と加算器304の出力値を選択する
セレクタ(SEL)302で構成される。
【0023】図4はR加算器106、G加算器107、
B加算器108の構成を示す図であり、Y方向の値を保
持するラッチ402、ラッチ402からのデータにY方
向の変化分を加算するY方向の加算器403、初期値と
Y方向の加算器403の値を選択するセレクタ(SE
L)401、X方向の値を保持するラッチ405、ラッ
チ405からのデータにX方向の変化分を加算するX方
向の加算器406、Y方向のセレクタ(SEL)401
からの出力とX方向の加算器406からの値を選択する
セレクタ(SEL)404で構成される。
【0024】図5は優先順位法の場合のハードウェアに
渡すデータを示している。
【0025】このデータは、本実施の形態で必要とする
三角形情報を表すレジスタの値から成り、ハードウェア
に処理の開始を命令するフラグ、及び1つの三角形の処
理が終了したか否かを示す状態フラグを有するステータ
スレジスタ(スタート/状態フラグ)501、頂点1の
Y座標502、頂点1のX座標503、三角形のY方向
幅504、頂点1のX方向幅(頂点1を含むスパンの
幅)505、辺A上でのX座標の変化分506、上三角
形602と下三角形603ではX方向の幅の変化分が異
なるのでX方向の幅の変化分を切り替える為に必要な上
三角形602と下三角形603の分かれ目を示す値、す
なわち頂点2のY座標507、上三角形のX方向幅の変
化分508、下三角形のX方向幅の変化分509、頂点
1の色のR成分の初期値510、辺A上での色のR成分
の変化分511、X方向の色のR成分の変化分512、
頂点1の色のG成分の初期値513、辺A上での色のG
成分の変化分514、X方向の色のG成分の変化分51
5、頂点1の色のB成分の初期値516、辺A上での色
のB成分の変化分517、X方向の色のB成分の変化分
518で構成される。
【0026】次に本実施の形態に係る3次元グラフィッ
クス制御装置の動作について、図1から図6を参照して
詳細に説明する。ソフトウェアは、図9に示すところ
の、視野座標系への変換901、ライティング902、
クリップ座標系への変換903、クリッピング904、
ウィンドウ座標系への変換905の処理を行った時点
で、頂点1、頂点2および頂点3の座標、色成分を算出
している。このデータを元に、辺A上でのX座標の変化
分506、上三角形のX方向幅の変化分508、下三角
形のX方向の幅の変化分509、辺A上での色のR成分
の変化分511、X方向の色のR成分の変化分512、
辺A上での色のG成分の変化分514、X方向の色のG
成分の変化分515、辺A上での色のB成分の変化分5
17、X方向の色のB成分の変化分518を算出し、頂
点1のY座標502、頂点1のX座標503、三角形の
Y方向幅504、頂点1を含むX方向の幅(頂点1を含
むスパンの幅)505、頂点2のY座標507、頂点1
の色のR成分の初期値510、頂点1の色のG成分の初
期値513、頂点1の色のB成分の初期値516ととも
に所定のレジスタ101へ値を設定し、最後にステータ
スレジスタ(スタート/状態フラグ)501の処理開始
フラグをセットする。
【0027】まず、シーケンサ102はレジスタ101
の処理開始フラグのセットをトリガとして、Yカウンタ
103へ頂点1のY座標502を格納し、X方向開始位
置加算器104のセレクタ(SEL)201により頂点
1のX座標の初期値503をセレクトしラッチ202に
より値をラッチし、頂点1のY座標502と頂点2のY
座標507が異なる場合にはX方向幅加算器105のセ
レクタ(SEL)301により上三角形のX方向幅の変
化分508を選択し、同一の場合には下三角形のX方向
幅の変化分509を選択し、X方向幅加算器105のセ
レクタ(SEL)302により頂点1を含むX方向の幅
(頂点1を含むスパンの幅)505の初期値をセレクト
しラッチ303により値をラッチし、R加算器106の
Y方向のセレクタ(SEL)401により頂点1の色の
R成分の初期値510をセレクトし、Y方向のラッチ4
02により値をラッチし、X方向のセレクタ(SEL)
404によりY方向のセレクタ(SEL)401の値を
セレクトし、X方向のラッチ405により値をラッチす
る処理を行う。G加算器107、B加算器108ともR
加算器106と同様の処理を行う。
【0028】上記の処理の後、スパン601の最初のピ
クセル色がR加算器106、G加算器107、B加算器
108の各々から出力されているので、その値をライン
バッファ111に書き込み、R加算器106、G加算器
107、B加算器108のX方向のセレクタ(SEL)
404をX方向の加算器406からの出力に切り替え
る。
【0029】X方向幅が1ピクセルの場合にはX方向の
スパンの処理はこの時点で終了であるが、それ以外の場
合には、シーケンサ102はX方向幅加算器105の示
す幅−1の回数だけ以下の処理を繰り返す。
【0030】R加算器106、G加算器107、B加算
器108のX方向の加算器406はX方向のラッチ40
5の出力とX方向の変化分を加算し出力し、シーケンサ
102はラインバッファコントローラ110に指示を出
し、ラインバッファコントローラ110はその値をライ
ンバッファ111に書き込む。
【0031】1スパンの処理が終了すると、シーケンサ
102はメモリコントローラ109に指示を出し、メモ
リコントローラ109は、Yカウンタ103の値とX方
向開始位置加算器104の値の示す書き込み開始位置か
らX方向幅加算器105の示すピクセル数分だけライン
バッファ111に格納されているデータをフレームメモ
リ112に出力する。フレームメモリ112への書き込
みが終了した後、シーケンサ102はYカウンタ103
の値をデクリメントし、X方向開始位置加算器104の
加算器203を動作させてラッチ202の値と変化分を
加算し、X方向幅加算器105の加算器304を動作さ
せてラッチ303の値と変化分を加算し、R加算器10
6、G加算器107、B加算器108のX方向のセレク
タ(SEL)404をY方向のセレクタ(SEL)40
1に切り替え、X方向のラッチ405に値をラッチす
る。
【0032】以下、Y方向の幅の回数だけ上記の処理を
繰り返す。
【0033】処理の途中でYカウンタ103の値が頂点
2のY座標507になる。この時、シーケンサ102は
X方向幅加算器105のセレクタ(SEL)301を下
三角形のX方向幅の変化分509に切り替える。
【0034】また、頂点1と頂点2のY座標が同一の場
合には、初期化の際に下三角形のX方向幅の変化分50
9を選択する。
【0035】図7は本発明の第2の実施の形態であり、
本発明をZバッファ法アルゴリズムに適用した例であ
る。
【0036】図7を参照すると、本発明の第2の実施の
形態に係る3次元グラフィックス制御装置は、ソフトウ
ェアからの三角形情報を受け取るレジスタ701、Y方
向の座標を計算するYカウンタ703、辺A605のX
方向の開始位置を計算するX方向開始位置加算器70
4、X方向の幅を計算し、上三角形602と下三角形6
03の変化分を変更する機構を持ったX方向幅加算器7
05、色のR成分を計算するR加算器706、色のG成
分を計算するG加算器707、色のB成分を計算するB
加算器708、フレームメモリ712の制御を行い、マ
スクバッファ717の該当するマスクビットがセットさ
れている場合にはそのピクセルの書き込みを行わない機
構を備えたメモリコントローラ709、1ライン分の容
量を持ち、R加算器706より出力されるR成分、G加
算器707より出力されるG成分、B加算器708より
出力されるB成分を格納するラインバッファ711、ラ
インバッファ711を制御するラインバッファコントロ
ーラ710、装置の制御を行うシーケンサ702、物体
のZ値を算出するZ加算器713、1ラインZバッファ
714の出力値とZ加算器713の大小の比較を行うZ
比較器716、1ライン分の容量を持つ1ラインZバッ
ファ714、1ラインZバッファ714とマスクバッフ
ァ717を制御するZバッファコントローラ715、1
ライン分の容量を持ち、各ピクセルに対してフレームメ
モリ712に書き込むか否かの1ビット情報を持つマス
クバッファ717によって構成される。
【0037】X方向開始位置加算器704、X方向幅加
算器705、R加算器706、G加算器707、B加算
器708は前記第1の実施の形態に係る3次元グラフィ
ックス制御装置と同様のものである。また、Z加算器7
13は、図4の加算器403や加算器406と同等のも
のである。
【0038】図8はZバッファ法の場合のハードウェア
に渡すデータを示している。このデータは、本実施の形
態で必要とする三角形情報を表すレジスタの値から成
り、図5の優先順位法のデータに加えて、頂点1のZ値
819、辺A上でのZ値の変化分820、X方向のZ値
の変化分821を有する。
【0039】次に上記第2の実施の形態に係る3次元グ
ラフィックス制御装置の動作について、図面を参照して
詳細に説明する。ソフトウェアは、図9に示すところ
の、視野座標系への変換901、ライティング902、
クリップ座標系への変換903、クリッピング904、
ウィンドウ座標系への変換905の処理を行った時点
で、頂点1、頂点2および頂点3の座標、色成分、Z値
を算出している。このデータを元に、辺A上でのX座標
の変化分806、上三角形のX方向幅の変化分808、
下三角形のX方向幅の変化分809、辺A上での色のR
成分の変化分811、X方向の色のR成分の変化分81
2、辺A上での色のG成分の変化分814、X方向の色
のG成分の変化分815、辺A上での色のB成分の変化
分817、X方向の色のB成分の変化分818、辺A上
でのZ値の変化分820、X方向のZ値の変化分821
を算出し、頂点1のY座標802、頂点1のX座標80
3、三角形のY方向幅804、頂点1を含むスパンの幅
805、頂点2のY座標807、頂点1の色のR成分の
初期値810、頂点1の色のG成分の初期値813、頂
点1の色のB成分の初期値816、頂点1のZ値819
とともに所定のレジスタ701へ値を設定し、最後にス
テータスレジスタ(スタート/状態フラグ)801の処
理開始フラグをセットする。
【0040】まず、シーケンサ702はレジスタ701
のステータスレジスタ(スタート/状態フラグ)801
の処理開始フラグのセットをトリガとして、Yカウンタ
703へ頂点1のY座標802を格納し、X方向開始位
置加算器704のセレクタ(SEL)201により初期
値をセレクトしラッチ202により値をラッチし、頂点
1のY座標802と頂点2のY座標807が異なる場合
にはX方向幅加算器705のセレクタ(SEL)301
により上三角形のX方向幅の変化分808を選択し、同
一の場合には下三角形のX方向幅の変化分809を選択
し,X方向幅加算器705のセレクタ(SEL)302
により初期値をセレクトしラッチ303により値をラッ
チし、R加算器706のY方向セレクタ(SEL)40
1により初期値をセレクトし、Y方向ラッチ402によ
り値をラッチし、X方向セレクタ(SEL)404によ
りY方向セレクタ(SEL)401の値をセレクトし、
X方向ラッチ405により値をラッチする処理を行う。
G加算器707、B加算器708、Z加算器713とも
R加算器706と同様の初期化処理を行う。
【0041】この後、シーケンサ702はメモリコント
ローラ709に指示を出し、メモリコントローラ709
は、Yカウンタ703の値とX方向開始位置加算器70
4の値の示す書き込み開始位置からX方向幅加算器70
5の示すピクセル数分だけメモリ712上のZバッファ
からZ値を読みだし、Zバッファコントローラ715は
メモリコントローラ709に同期して、読み出されたZ
値を1ラインZバッファ714に書き込む。
【0042】上記の処理の後、スパン601の最初のピ
クセル色がR加算器706、G加算器707、B加算器
708の各々から出力されているので、その値をライン
バッファ711に書き込むと同時に比較器716により
1ラインZバッファ714の対応する位置のZ値とZ加
算器713から出力されている値とを比較して、Z加算
器713からの値の方が視点から遠いと判断した場合に
はマスクバッファ717の対応する位置のビットをセッ
トし、そうでない場合にはクリアする。また、R加算器
706、G加算器707、B加算器708、Z加算器7
13のX方向セレクタ404をX方向加算器406から
の出力に切り替える。
【0043】X方向幅が1ピクセルの場合にはX方向の
スパンの処理はこの時点で終了であるが、それ以外の場
合には、シーケンサ702はX方向幅加算器705の示
す幅−1の回数だけ以下の処理を繰り返す。
【0044】R加算器706、G加算器707、B加算
器708のX方向加算器406はX方向ラッチ405の
出力とX方向の変化分を加算し出力し、シーケンサ70
2はラインバッファコントローラ710に指示を出し、
ラインバッファコントローラ710は、その値をライン
バッファ711に書き込む。
【0045】1スパンの処理が終了すると、シーケンサ
702はメモリコントローラ709に指示を出し、メモ
リコントローラ709は、Yカウンタ703の値とX方
向開始位置加算器704の値の示す書き込み開始位置か
らX方向幅加算器705の示すピクセル数分だけライン
バッファ711に格納されているデータをメモリ712
に出力する。この時、マスクバッファ717の該当位置
のマスクビットがセットされているピクセルのデータは
書き込まない。メモリ712への書き込みが終了した
後、シーケンサ702はYカンウタ709の値をデクリ
メントし、X方向開始位置加算器704の加算器203
を動作させてラッチ201の値と変化分を加算し、X方
向幅加算器705の加算器304を動作させてラッチ3
03の値と変化分を加算し、R加算器706、G加算器
707、B加算器708、Z加算器713のX方向セレ
クタ404をY方向セレクタに切り替え、X方向ラッチ
405に値をラッチする。
【0046】以下、Y方向の幅の回数だけ上記の処理を
繰り返す。
【0047】処理の途中でYカウンタ703の値が頂点
2のY座標807になる。この時、シーケンサ702は
X方向幅加算器705のセレクタ(SEL)301を下
三角形のX方向幅の変化分809に切り替える。
【0048】
【発明の効果】ラスタライゼーションのDDA処理もハ
ードウェア化することにより高速な描画が可能となる。
【0049】また、対象となる三角形の頂点をY座標の
大きいものから頂点1、頂点2、頂点3とし、頂点1を
含む三角形を上三角形、頂点3を含む三角形を下三角形
とし、上三角形のX方向の幅の変化分と下三角形のX方
向の幅の変化分、及び頂点2のY座標をパラメータとし
て与えることによって1つの三角形を2回に分けてハー
ドウェアに実行させる必要がなくなるのでハードウェア
とソフトウェアのデータの授受の回数が軽減される。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の3次元グラフィック
ス制御装置を示すブロック図である。
【図2】図1の3次元グラフィックス制御装置における
X方向開始位置加算器を示すブロック図である。
【図3】図1の3次元グラフィックス制御装置における
X方向幅加算器を示すブロック図である。
【図4】図1の3次元グラフィックス制御装置における
R加算器、G加算器、B加算器を示すブロック図であ
る。
【図5】本発明の第1の実施形態で必要とする三角形情
報を示す図である。
【図6】本発明の第1及び第2の実施形態で使用する上
三角形と下三角形を示す模式図である。
【図7】本発明の第2の実施形態の3次元グラフィック
ス制御装置を示すブロック図である。
【図8】本発明の第2の実施形態で必要とする三角形情
報を示す図である。
【図9】一般的な3次元コンピュータグラフィックスの
基本的アルゴリズムを示す図である。
【符号の説明】
101 レジスタ 102 シーケンサ 103 Yカウンタ 104 X方向開始位置加算器 105 X方向幅加算器 106 R加算器 107 G加算器 108 B加算器 109 メモリコントローラ 110 ラインバッファコントローラ 111 ラインバッファ 112 フレームメモリ 201 セレクタ(SEL) 202 ラッチ 203 加算器 301 セレクタ(SEL) 302 セレクタ(SEL) 303 ラッチ 304 加算器 401 セレクタ(SEL) 402 ラッチ 403 加算器 404 セレクタ(SEL) 405 ラッチ 406 加算器 501 ステータスレジスタ(スタート/状態フラ
グ) 502 頂点1のY座標 503 頂点1のX座標 504 三角形のY方向幅 505 頂点1を含むスパンの幅 506 辺A上でのX座標の変化分 507 頂点2のY座標 508 上三角形のX方向幅の変化分 509 下三角形のX方向幅の変化分 510 頂点1の色のR成分の初期値 511 辺A上での色のR成分の変化分 512 X方向の色のR成分の変化分 513 頂点1の色のG成分の初期値 514 辺A上での色のG成分の変化分 515 X方向の色のG成分の変化分 516 頂点1の色のB成分の初期値 517 辺A上での色のB成分の変化分 518 X方向の色のB成分の変化分 601 スパン 602 上三角形 603 下三角形 604 直線 605 辺A 701 レジスタ 702 シーケンサ 703 Yカウンタ 704 X方向開始位置加算器 705 X方向幅加算器 706 R加算器 707 G加算器 708 B加算器 709 メモリコントローラ 710 ラインバッファコントローラ 711 ラインバッファ 712 フレームメモリ 713 Z加算器 714 1ラインZバッファ 715 Zバッファコントローラ 716 Z比較器 717 マスクバッファ
フロントページの続き (56)参考文献 特開 平6−83979(JP,A) 特開 平5−210744(JP,A) 特開 昭61−873(JP,A) 特開 平2−158899(JP,A) 特開 昭63−231584(JP,A) 特開 平5−225347(JP,A) 特開 平3−220781(JP,A) 鷲島ほか「並列図形処理シリーズ14、 並列図形処理」コロナ社(1991)P174 −177 IRIS GTX(Kurt A k eleyほか)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 描画対象の三角形の頂点をY座標の大き
    いものから頂点1、頂点2、頂点3とし、頂点2を含む
    X座標に平行な直線で分割される頂点1、頂点2を含む
    三角形を上三角形、頂点2、頂点3を含む三角形を下三
    角形とし、頂点1と頂点3を含む辺を辺Aとするとき、
    優先順位法を用いる3次元コンピュータグラフィックス
    システムにおいて、前記三角形の情報として、前記頂点1のX座標およびY
    座標と、前記頂点1を含むスパンのX方向の幅と、前記
    三角形のY方向の幅と、前記辺Aの開始位置のX方向の
    変化分と、前記頂点2のY座標と、前記上三角形のX方
    向の幅の変化分と、前記下三角形のX方向の幅の変化分
    と、前記頂点1の色のR成分の値と、前記頂点1の色の
    G成分の値と、前記頂点1のB成分の値と、前記辺A上
    でのR成分の変化分と、前記辺A上でのG成分の変化分
    と、前記辺A上でのB成分の変化分と、X方向のR成分
    の変化分と、X方向のG成分の変化分と、X方向のB成
    分の変化分とをソフトウェアから 受け取るレジスタと、前記三角形が描画されるフレームメモリと、 前記フレームメモリを制御するメモリコントローラと前記頂点1のY座標を初期値として描画対象のスパンの
    Y方向の座標をスパン毎に前記メモリコントローラに出
    するカウンタと、前記頂点1のX座標を初期値とするとともに前記辺Aの
    開始位置のX方向の変化分を用いて描画対象のスパンに
    おける 前記辺AのX方向の開始位置をスパン毎に前記メ
    モリコントローラに出力するX方向開始位置加算器と、前記頂点1を含むスパンのX方向の幅を初期値とすると
    ともに前記上三角形または前記下三角形のX方向の幅の
    変化分を用いて描画対象のスパンの X方向の幅をスパン
    毎に前記メモリコントローラに出力するX方向幅加算器
    と、前記頂点1の色のR成分の値を初期値とするとともに前
    記辺A上でのR成分の変化分と前記X方向のR成分の変
    化分とを用いて描画対象のスパンの 色のR成分を出力す
    R加算器と、前記頂点1の色のG成分の値を初期値とするとともに前
    記辺A上でのG成分の変化分と前記X方向のG成分の変
    化分とを用いて描画対象のスパンの 色のG成分を出力す
    G加算器と、前記頂点1の色のB成分の値を初期値とするとともに前
    記辺A上でのB成分の変化分と前記X方向のB成分の変
    化分とを用いて描画対象のスパンの 色のB成分を出力す
    B加算器と、 1ライン分の容量を持ち、前記R加算器より出力される
    R成分、前記G加算器より出力されるG成分、前記B加
    算器より出力されるB成分を格納するとともに各成分を
    前記メモリコントローラが指定する前記フレームメモリ
    のアドレスに出力するラインバッファと、 前記ラインバッファを制御するラインバッファコントロ
    ーラと、前記三角形がスパン毎に同期して前記フレームメモリへ
    描画されるよう システム全体の制御を行うシーケンサと
    有し、 前記カウンタ、前記X方向開始位置加算器、X方向幅加
    算器、前記R加算器、前記G加算器および前記B加算器
    はそれぞれハードウェアで構成される ことを特徴とする
    3次元グラフィックス制御装置。
  2. 【請求項2】 描画対象の三角形の頂点をY座標の大き
    いものから頂点1、頂点2、頂点3とし、頂点2を含む
    X座標に平行な直線で分割される頂点1、頂点2を含む
    三角形を上三角形、頂点2、頂点3を含む三角形を下三
    角形とし、頂点1と頂点3を含む辺を辺Aとするとき、
    Zバッファ法を用いる3次元コンピュータグラフィック
    スシステムにおいて、前記三角形の情報として、前記頂点1のX座標、Y座標
    およびZ値と、前記頂点1を含むスパンのX方向の幅
    と、前記三角形のY方向の幅と、前記辺Aの開始位置の
    X方向の変化分と、前記頂点2のY座標と、前記上三角
    形のX方向の幅の変化分と、前記下三角形のX方向の幅
    の変化分と、前記頂点1の色のR成分の値と、前記頂点
    1の色のG成分の値と、前記頂点1のB成分の値と、前
    記辺A上でのR成分の変化分と、前記辺A上でのG成分
    の変化分と、前記辺A上でのB成分の変化分と、X方向
    のR成分の変化分と、X方向のG成分の変化分と、X方
    向のB成分の変化分と、前記辺A上でのZ値の変化分
    と、X方向のZ値の変化分とをソフトウェアから 受け取
    るレジスタと、前記三角形が描画されるフレームメモリと、 前記フレームメモリを制御するメモリコントローラと前記頂点1のY座標を初期値として描画対象のスパンの
    Y方向の座標をスパン毎に前記メモリコントローラに出
    するカウンタと、前記頂点1のX座標を初期値とするとともに前記辺Aの
    開始位置のX方向の変化分を用いて描画対象のスパンに
    おける 前記辺AのX方向の開始位置をスパン毎に前記メ
    モリコントローラに出力するX方向開始位置加算器と、前記頂点1を含むスパンのX方向の幅を初期値とすると
    ともに前記上三角形または前記下三角形のX方向の幅の
    変化分を用いて描画対象のスパンの X方向の幅をスパン
    毎に前記メモリコントローラに出力するX方向幅加算器
    と、前記頂点1の色のR成分の値を初期値とするとともに前
    記辺A上でのR成分の変化分と前記X方向のR成分の変
    化分とを用いて描画対象のスパンの 色のR成分を出力す
    R加算器と、前記頂点1の色のG成分の値を初期値とするとともに前
    記辺A上でのG成分の変化分と前記X方向のG成分の変
    化分とを用いて描画対象のスパンの 色のG成分を出力す
    G加算器と、前記頂点1の色のB成分の値を初期値とするとともに前
    記辺A上でのB成分の変化分と前記X方向のB成分の変
    化分とを用いて描画対象のスパンの 色のB成分を出力す
    B加算器と、 1ライン分の容量を持ち、前記R加算器より出力される
    R成分、前記G加算器より出力されるG成分、前記B加
    算器より出力されるB成分を格納するとともに各成分を
    前記メモリコントローラが指定する前記フレームメモリ
    のアドレスに出力するラインバッファと、 前記ラインバッファを制御するラインバッファコントロ
    ーラと、前記頂点1のZ値を初期値とするとともに前記辺A上で
    のZ値の変化分と前記X方向のZ値の変化分とを用いて
    描画対象のスパンのZ値をスパン毎に出力する Z加算器
    と、 1ライン分の容量を持ちフレームメモリ上のZバッファ
    の1ライン分のデータを読み込むためのZバッファと、 前記Zバッファを制御するZバッファコントローラと、 前記Zバッファの値と前記Z加算器の出力との比較を行
    うZ比較器と、 1ライン分の容量を持ち、対応するビットの前記Z加算
    器からの値が、対応する前記Zバッファの値よりも視点
    から遠いと判断したときにセットされる前記メモリコン
    トローラに出力するマスクバッファと、前記三角形がスパン毎に同期して前記フレームメモリへ
    描画されるよう システム全体の制御を行うシーケンサと
    有し、 前記カウンタ、前記X方向開始位置加算器、X方向幅加
    算器、前記R加算器、前記G加算器、前記B加算器、Z
    加算器およびZ比較器はそれぞれハードウェアで構成さ
    れる ことを特徴とする3次元グラフィックス制御装置。
JP07336620A 1995-12-25 1995-12-25 3次元グラフィックス制御装置 Expired - Fee Related JP3099940B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP07336620A JP3099940B2 (ja) 1995-12-25 1995-12-25 3次元グラフィックス制御装置
US08/773,325 US5831634A (en) 1995-12-25 1996-12-24 Three-dimensional graphic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP07336620A JP3099940B2 (ja) 1995-12-25 1995-12-25 3次元グラフィックス制御装置

Publications (2)

Publication Number Publication Date
JPH09180000A JPH09180000A (ja) 1997-07-11
JP3099940B2 true JP3099940B2 (ja) 2000-10-16

Family

ID=18301043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07336620A Expired - Fee Related JP3099940B2 (ja) 1995-12-25 1995-12-25 3次元グラフィックス制御装置

Country Status (2)

Country Link
US (1) US5831634A (ja)
JP (1) JP3099940B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224364B1 (en) * 1999-02-03 2007-05-29 Ati International Srl Optimal initial rasterization starting point
US7301537B2 (en) * 2002-12-20 2007-11-27 Telefonaktiebolaget Lm Ericsson (Publ) Graphics processing apparatus, methods and computer program products using minimum-depth occlusion culling and zig-zag traversal
US7129049B2 (en) * 2003-12-22 2006-10-31 Regents Of The University Of Minnesota Method of detecting equine glycogen storage disease IV
JP2013030066A (ja) * 2011-07-29 2013-02-07 Fujitsu Ltd 描画装置
JP5845910B2 (ja) 2012-01-13 2016-01-20 富士通株式会社 画像描画装置、画像描画プログラム、及び、画像描画方法
US9135179B2 (en) * 2013-05-01 2015-09-15 Qualcomm, Incorporated System and method of arbitrating cache requests

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2618951B2 (ja) * 1988-02-16 1997-06-11 株式会社東芝 三次元図形処理装置
US5265198A (en) * 1989-10-23 1993-11-23 International Business Machines Corporation Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
US5396586A (en) * 1990-09-12 1995-03-07 Texas Instruments Incorporated Apparatus and method for filling regions bounded by conic curves
US5377313A (en) * 1992-01-29 1994-12-27 International Business Machines Corporation Computer graphics display method and system with shadow generation
JP3027777B2 (ja) * 1992-01-31 2000-04-04 富士通株式会社 コンピュータグラフィクスにおける描画装置および描画方法
JPH0765198A (ja) * 1993-08-27 1995-03-10 Matsushita Electric Ind Co Ltd 画像メモリ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IRIS GTX(Kurt A keleyほか)
鷲島ほか「並列図形処理シリーズ14、並列図形処理」コロナ社(1991)P174−177

Also Published As

Publication number Publication date
US5831634A (en) 1998-11-03
JPH09180000A (ja) 1997-07-11

Similar Documents

Publication Publication Date Title
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US7142215B1 (en) Method and apparatus for processing stencil data using a programmable graphics processor
US5673374A (en) Method and apparatus for non-disturbed specular reflections on textured surfaces
US7737982B2 (en) Method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video
US20080100618A1 (en) Method, medium, and system rendering 3D graphic object
EP0740272A2 (en) Method and apparatus for fast rendering of three-dimensional objects
KR19980702804A (ko) 영상 생성 및 조작을 위한 하드웨어 아키텍처
EP0837449A2 (en) Image processing system and method
JP2618951B2 (ja) 三次元図形処理装置
JP2612260B2 (ja) テクスチヤマツピング装置
EP1295256B1 (en) Method and system for image rendering with tiles
EP0596667B1 (en) Processing image data
US5109481A (en) Quadratic interpolation for shaded image generation
US5371839A (en) Rendering processor
JP3099940B2 (ja) 3次元グラフィックス制御装置
US5265198A (en) Method and processor for drawing `polygon with edge`-type primitives in a computer graphics display system
JP4071955B2 (ja) コンピュータ・グラフィックス・システムにおける鏡面反射照明の効率的なラスタライザ
JPH10275241A (ja) グラフィック処理装置
JP3642259B2 (ja) マルチスクリーン表示装置
JP3209140B2 (ja) 画像処理装置
JP3759365B2 (ja) 三次元クリップ判定処理装置
JP2836617B2 (ja) レンダリングプロセッサ
JP4669334B2 (ja) エッジ・マルチサンプリングハイブリッドアンチエイリアス
JP3311905B2 (ja) 画像処理装置
JP2000338959A (ja) 画像処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981209

LAPS Cancellation because of no payment of annual fees