JPH10222695A - 描画装置および描画方法 - Google Patents

描画装置および描画方法

Info

Publication number
JPH10222695A
JPH10222695A JP9023426A JP2342697A JPH10222695A JP H10222695 A JPH10222695 A JP H10222695A JP 9023426 A JP9023426 A JP 9023426A JP 2342697 A JP2342697 A JP 2342697A JP H10222695 A JPH10222695 A JP H10222695A
Authority
JP
Japan
Prior art keywords
pixel data
buffer
unit
polygon
display device
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.)
Withdrawn
Application number
JP9023426A
Other languages
English (en)
Inventor
Koichi Hasegawa
浩一 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP9023426A priority Critical patent/JPH10222695A/ja
Publication of JPH10222695A publication Critical patent/JPH10222695A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 ポリゴンを構成する画素データを記憶するフ
レームバッファの記憶容量を低減する。 【解決手段】 1画面分の画像の横×縦の画素数をFW
×FHとするとともに、SHをFH未満の正の整数とす
るとき、フレームバッファは、1画面分より少ない、F
W×SHの画素データを記憶する記憶容量を有してい
る。そして、縦方向の長さがSHを越えるポリゴンは、
縦の長さがSH以下のポリゴンに分割され、そのような
ポリゴンが、画像を表示する表示手段の走査方向と直交
する方向に並ぶ順番で、フレームバッファに描画され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、描画装置および描
画方法に関し、特に、例えば、CAD(ComputerAided
Design)システムや、ビデオエフェクタ、ビデオゲーム
機、グラフィックスコンピュータ、その他のグラフィッ
クスシステムなどに用いて好適な描画装置および描画方
法に関する。
【0002】
【従来の技術】図12は、従来の3次元グラフィックス
システムの一例の構成を示している。
【0003】このグラフィックスシステムは、ジオメト
リ部41、レンダリング部42、フレームバッファ4
3、および表示装置44で構成されており、ジオメトリ
部41およびレンダリング部42において、パイプライ
ン的に処理が行われ、表示装置44において、ポリゴン
(単位図形)の組合せにより定義される3次元画像が表
示されるようになされている。
【0004】ジオメトリ部41は、図13に示すよう
に、主として、ポリゴンの座標変換処理、クリッピング
処理、および光源計算処理を行うようになされている。
即ち、ジオメトリ部41には、ポリゴンの頂点の座標、
その他のポリゴンについての3次元グラフィックスデー
タが与えられるようになされており、そのポリゴンの頂
点の座標が、視点の位置に対応して座標変換される(座
標変換処理)。さらに、座標変換後のポリゴンのうち、
画面(表示装置44)に表示されない部分が検出され、
その検出された部分が切り取られる(クリッピング処
理)。そして、そのクリッピングの結果得られるポリゴ
ンの各頂点の輝度が、光源との位置関係に基づいて算出
される(光源計算処理)。
【0005】レンダリング部42は、図14に示すよう
に、主として、画素展開処理と隠面消去処理を伴う画像
のレンダリングとを行うようになされている。即ち、ジ
オメトリ部41が出力するポリゴンのデータ(ポリゴン
データ)には、そのポリゴンの頂点についてのものしか
含まれていないため、レンダリング部42は、頂点のポ
リゴンデータから、そのポリゴンを構成する画素すべて
についてのポリゴンデータを、例えば、補間などによっ
て求める(画素展開処理)。具体的には、例えば、ポリ
ゴンの頂点についての色データや、その奥行き(視点か
らの近さ)を表すZ値などから、そのポリゴンを構成す
る画素すべてについて、色データやZ値などが補間によ
って求められる。
【0006】その後、レンダリング部42は、ポリゴン
を構成する画素すべてについて求めたZ値を用いて隠面
消去処理を伴うレンダリングを行う。即ち、レンダリン
グ部42は、各画素についてのZ値を記憶するZバッフ
ァを内蔵しており、このZバッファには、後段のフレー
ムバッファ43に、既に画素データが記憶されている画
素のZ値が記憶されている。そして、レンダリング部4
2は、ポリゴンを構成する画素すべてについて求めたZ
値それぞれを、Zバッファに既に記憶されている、対応
する画素のZ値と比較し、これにより、これから処理す
る画素(処理対象画素)が、フレームバッファ43に既
に記憶されている、同一位置の画素よりも手前にあるか
どうか(視点に近いかどうか)を認識する。そして、レ
ンダリング部42は、処理対象画素が、フレームバッフ
ァ43に既に記憶されている、同一位置の画素よりも手
前にある場合、処理対象画素の画素データ(色データ)
を、フレームバッファ43に書き込む(描画する)。さ
らに、この場合、レンダリング部42は、Zバッファの
記憶値を、処理対象画素のZ値に更新する。
【0007】ここで、以上のように、Zバッファを用い
て行われる隠面消去処理を、Zバッファ法と呼ぶ。
【0008】フレームバッファ43は、1画面分以上の
画素データの記憶が可能な記憶容量を有し、レンダリン
グ部42から供給される画素データを記憶するようにな
されている。即ち、ここでは、フレームバッファ43
は、1画面分の画素データの記憶が可能な2つのバッフ
ァを有し(従って、2画面分の画素データの記憶が可能
な記憶容量を有する)、一方を表示用バッファ、他方を
描画用バッファとして、垂直同期信号のタイミングで、
表示用バッファと描画用バッファとを交互に切り換えて
使用するようになされている。そして、描画用バッファ
には、レンダリング部42から供給される画素データが
記憶され、表示用バッファからは、そこに記憶されてい
る画素データが、例えば、いわゆるラスタスキャン順に
読み出され、表示装置44に出力されるようになされて
いる。
【0009】表示装置44は、例えば、CRT(Cathod
e Ray Tube)などで、フレームバッファ43から供給さ
れる画素データにしたがった表示を行うことにより、3
次元画像を表示するようになされている。
【0010】次に、その動作について、図15乃至図1
7のフローチャートを参照して説明する。
【0011】まず、図15のフローチャートを参照し
て、ジオメトリ部41およびレンダリング部42の動作
について説明する。
【0012】ジオメトリ部41は、3次元グラフィック
スデータを受信すると、ステップS41において、その
座標変換を行い、ステップS42に進み、座標変換後の
ポリゴン全体が、所定の表示領域内にあるどうかを判定
する。ステップS42において、ポリゴン全体が、所定
の表示領域内にないと判定された場合、即ち、ポリゴン
が、所定の表示領域からはみ出している場合、ステップ
S43に進み、ジオメトリ部41において、そのはみ出
し部分を切り取るクリッピングが行われ、ステップS4
4に進む。また、ステップS42において、ポリゴン全
体が、所定の表示領域内にあると判定された場合、クリ
ッピングの必要がないので、ステップS43をスキップ
して、ステップS44に進み、ジオメトリ部41におい
て、ポリゴンについて、光源計算が行われ、その光源計
算の結果得られるポリゴンデータが、レンダリング部4
2に出力される。
【0013】レンダリング部42は、ジオメトリ部41
からポリゴンデータを受信すると、ステップS45にお
いて、画素展開処理を行い、これにより、そのポリゴン
を構成する画素すべてについてのポリゴンデータを求め
る。その後、レンダリング部42では、Zバッファ法に
よる隠面消去処理を伴うレンダリングが行われる。即
ち、レンダリング部42は、ステップS45で画素展開
処理を行った後、ステップS46に進み、Zバッファを
参照することで、これから処理する画素(処理対象画
素)が、既に描画されている、対応する画素(既描画画
素)よりも手前にあるかどうかを判定する。ステップS
46において、処理対象画素が、既描画画素よりも手前
にないと判定された場合、ステップS47をスキップし
て、レンダリング部42は処理を終了する。即ち、この
場合、処理対象画素の描画は行われない。
【0014】一方、ステップS46において、処理対象
画素が、既描画画素よりも手前にあると判定された場
合、ステップS47に進み、レンダリング部42は、処
理対象画素の画素データ(色データ)を、フレームバッ
ファ43の描画用バッファに描画するとともに、その奥
行き情報としてのZ値を、Zバッファに書き込み、処理
を終了する。
【0015】次に、図16および図17のフローチャー
トを参照して、フレームバッファ43の動作について説
明する。
【0016】まず、図16を参照して、フレームバッフ
ァ43における描画用バッファと表示用バッファとの切
り換え動作について説明する。
【0017】まず最初に、ステップS51において、前
回の画面の表示が開始されてから、例えば、1画面分の
表示時間などの所定の単位時間が経過したかどうかが判
定され、経過していないと判定された場合、処理を終了
する。また、ステップS51において、所定の単位時間
が経過したと判定された場合、ステップS52に進み、
いままで表示用バッファとされていた方が、描画用バッ
ファにされるとともに、いままで描画用バッファとされ
ていた方が、表示用バッファにされ、これにより、描画
用バッファと表示用バッファとが切り換えられる。そし
て、ステップS53に進み、描画用バッファには、初期
化のために、所定のバックグランド情報が書き込まれ、
処理を終了する。
【0018】以上の処理が繰り返し行われ、これによ
り、フレームバッファ43においては、例えば、1画面
の表示時間を1周期として(従って、垂直同期信号のタ
イミングで)、表示用バッファと描画用バッファとが交
互に切り換えられる。
【0019】そして、例えば、図17のフローチャート
にしたがった処理が、例えば、垂直同期信号のタイミン
グで行われることにより、表示装置44において、3次
元画像が表示される。即ち、ステップS61において、
表示用バッファに記憶された画素データが、ラスタスキ
ャン順に読み出され、表示装置44に出力(転送)さ
れ、処理を終了する。
【0020】
【発明が解決しようとする課題】以上のように、フレー
ムバッファ43に、表示用バッファと描画用バッファと
を設ける場合には、大きな記憶容量が必要となる課題が
あった。
【0021】ここで、例えば、表示装置44が、640
×480画素(横×縦)で構成される画面を有するもの
とし、画素データ(色データ)およびZ値に、いずれも
24ビットが割り当てられているものとすると、Zバッ
ファとフレームバッファ43とを合わせて、1画面分の
画素数×Z値に割り当てられたビット数+2画面分の画
素数×画素データに割り当てられたビット数、即ち、約
22Mビットの記憶容量が必要となる。
【0022】一方、3次元画像をリアルタイムで表示す
るグラフィックシステムでは、一般的に、所定の描画期
間内であれば、1画面中のいかなる位置の画素であって
も、描画を行うことが認められている。このため、フレ
ームバッファ43の記憶容量としては、少なくとも1画
面分は必要となる。
【0023】しかしながら、そして、フレームバッファ
43として、1画素分の記憶容量を有するものを使用し
たとしても、上述の例でいえば、その記憶容量として
は、約7Mビットという大きなものとなる。
【0024】このように、フレームバッファ43とし
て、大容量のものを使用する必要がある場合、ジオメト
リ部41およびレンダリング部42と、フレームバッフ
ァ43とを1つのLSI(Large Scale Integrated cur
cuit)に集積することが困難となる。このため、従来
は、ジオメトリ部41およびレンダリング部42と、フ
レームバッファ43とは、別々のパッケージに構成して
電気的に接続する必要があった。そして、この場合、グ
ラフィックシステムの描画能力は、ジオメトリ部41お
よびレンダリング部42のパッケージと、フレームバッ
ファ43のパッケージとを接続するバスなどの接続線の
転送能力によって制限されることとなっていた。
【0025】さらに、フレームバッファ43として、1
画面分の記憶容量を有するものを使用した場合、上述し
たように、1画面中のいかなる位置の画素についての描
画を可能とし、かつリアルタイムで3次元画像を表示す
るためには、表示装置44において画像が表示されない
期間、即ち、短い期間であるブランキング期間に、フレ
ームバッファ43に対する1画面分の画素データすべて
の描画を行う必要があり、充分な描画時間が得られない
ことがあった。
【0026】本発明は、このような状況に鑑みてなされ
たものであり、フレームバッファの記憶容量を削減し、
これにより、描画能力を飛躍的に向上させることができ
るようにするものである。
【0027】
【課題を解決するための手段】請求項1に記載の描画装
置は、表示装置に表示させる画像の画素データを記憶す
る、1画面分の画素データより少ない記憶容量を有する
記憶手段と、記憶手段に、画像を構成する単位図形が、
表示装置の走査方向と直交する方向に並ぶ順番で、単位
図形についての画素データを描画する描画手段とを備え
ることを特徴とする。
【0028】請求項6に記載の描画方法は、表示装置に
表示させる画像の画素データを記憶する、1画面分の画
素データより少ない記憶容量を有する記憶手段に、画像
を構成する単位図形が、表示装置の走査方向と直交する
方向に並ぶ順番で、単位図形についての画素データを描
画することを特徴とする。
【0029】請求項1に記載の描画装置においては、記
憶手段は、1画面分の画素データより少ない記憶容量を
有し、表示装置に表示させる画像の画素データを記憶す
るようになされており、描画手段は、記憶手段に、画像
を構成する単位図形が、表示装置の走査方向と直交する
方向に並ぶ順番で、単位図形についての画素データを描
画するようになされている。
【0030】請求項6に記載の描画方法においては、表
示装置に表示させる画像の画素データを記憶する、1画
面分の画素データより少ない記憶容量を有する記憶手段
に、画像を構成する単位図形が、表示装置の走査方向と
直交する方向に並ぶ順番で、単位図形についての画素デ
ータを描画するようになされている。
【0031】
【発明の実施の形態】以下に、本発明の実施の形態を説
明するが、その前に、特許請求の範囲に記載の発明の各
手段と以下の実施の形態との対応関係を明らかにするた
めに、各手段の後の括弧内に、対応する実施の形態(但
し、一例)を付加して、本発明の特徴を記述すると、次
のようになる。
【0032】即ち、請求項1に記載の描画装置は、画像
を描画する描画装置であって、表示装置に表示させる画
像の画素データを記憶する、1画面分の画素データより
少ない記憶容量を有する記憶手段(例えば、図2に示す
ストリップバッファ23など)と、記憶手段に、画像を
構成する単位図形が、表示装置の走査方向と直交する方
向に並ぶ順番で、単位図形についての画素データを描画
する描画手段(例えば、図2に示すレンダリング部22
など)とを備えることを特徴とする。
【0033】請求項2に記載の描画装置は、1画面を構
成する単位図形を、表示装置の走査方向と直交する方向
にソートするソート手段(例えば、図2に示すジオメト
リ部21および図4に示すプログラムの処理ステップS
7など)をさらに備えることを特徴とする。
【0034】請求項3に記載の描画装置は、1画面分の
画像の横×縦の画素数をFW×FHとするとともに、S
HをFH未満の正の整数とするとき、記憶手段は、FW
×SHの画素データを記憶する記憶容量を有し、縦方向
の長さがSHを越える単位図形を、縦の長さがSH以下
の単位図形に分割する分割手段(例えば、図2に示すジ
オメトリ部21および図4に示すプログラムの処理ステ
ップS5など)をさらに備えることを特徴とする。
【0035】請求項5に記載の描画装置は、記憶手段に
記憶された画素データをバッファリングする、少なくと
も1画面分の画素データの記憶が可能なバッファ手段
(例えば、図11に示すフレームバッファ31など)を
さらに備えることを特徴とする。
【0036】請求項6に記載の描画方法は、表示装置に
表示させる画像の画素データを記憶する、1画面分の画
素データより少ない記憶容量を有する記憶手段(例え
ば、図2に示すストリップバッファ23など)に、画素
データを描画する描画方法であって、記憶手段に、画像
を構成する単位図形が、表示装置の走査方向と直交する
方向に並ぶ順番で、単位図形についての画素データを描
画することを特徴とする。
【0037】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
【0038】図1は、本発明を適用した3次元グラフィ
ックスシステムの第1の実施の形態の構成例を示してい
る。
【0039】このグラフィックスシステムは、大きく
は、コントローラ11、グラフィックスLSI12、お
よび表示装置13で構成されている。コントローラ11
は、中央演算処理装置(CPU)1、主記憶装置(メイ
ンメモリ)2、入力装置(外部インターフェイス)3、
および外部記憶装置(例えば、ハードディスクや、CD
−ROM(Compact Disc-Read Only Memory)など)4
を有し、3次元グラフィックスデータを、グラフィック
スLSI12に出力するようになされている。グラフィ
ックスLSI12は、3次元座標計算装置5、3次元描
画装置6、およびフレームバッファ7を有する1チップ
のLSIで、コントローラ11からの3次元グラフィッ
クスデータを処理し、表示装置13に供給するようにな
されている。表示装置13は、例えば、CRTなどで、
グラフィックスLSI12の出力をラスタスキャン順に
表示するようになされている。
【0040】中央演算処理装置1は、グラフィックスシ
ステムを構成する各ブロックを制御するとともに、所定
の画像処理、その他の各種の処理を行うようになされて
いる。主記憶装置2は、入力装置3で受信されたグラフ
ィックスデータや、中央演算処理装置1で処理されたデ
ータなどを必要に応じて記憶するようになされている。
入力装置3は、例えば、図示せぬ通信回線から供給され
る3次元グラフィックスデータを受信し、中央演算処理
装置1や、主記憶装置2、グラフィックスLSI12に
供給するようになされている。また、入力装置3は、ジ
ョイスティックやカーソルキー、その他のボタンを有
し、その操作に対応した信号を、中央演算処理装置1に
出力するようにもなされている。外部記憶装置4は、3
次元グラフィックスのアプリケーションプログラムや、
必要な3次元グラフィックスデータを記憶しており、さ
らに、中央演算処理装置1で処理されたデータなどを必
要に応じて記憶するようになされている。
【0041】3次元座標計算装置5は、コントローラ1
1からの3次元グラフィックスデータに対して、例え
ば、座標変換や、クリッピング、光源計算などのジオメ
トリ処理を施し、その結果得られるポリゴンデータを、
3次元描画装置6に出力するようになされている。3次
元描画装置6は、3次元座標計算装置5からのポリゴン
データを用いてレンダリング処理を行うようになされて
いる。即ち、3次元描画装置6は、3次元画像を構成す
る画素データを、フレームバッファ7に描画するように
なされている。さらに、3次元描画装置6は、フレーム
バッファ7に描画した画素データを読み出し、表示装置
13に出力するようにもなされている。
【0042】以上のように構成されるグラフィックスシ
ステムでは、例えば、3次元グラフィックスデータが、
入力装置3で受信され、または外部記憶装置4から読み
出され、中央演算処理装置1で必要な処理が施された
後、主記憶装置2に転送されて記憶される。主記憶装置
2に記憶されたデータは、適宜読み出され、グラフィッ
クスLSI12に転送される。
【0043】グラフィックスLSI12では、まず最初
に、3次元座標計算装置5において、コントローラ11
からの3次元グラフィックスデータに対してジオメトリ
処理が施され、その結果得られるポリゴンデータが、3
次元描画装置6に出力される。3次元描画装置6では、
3次元座標計算装置5からのポリゴンデータを用いてレ
ンダリング処理が行われ、これにより、3次元画像を構
成する画素データが、フレームバッファ7に描画され
る。そして、フレームバッファ7に記憶された画素デー
タは、3次元描画装置6を介して読み出され、表示装置
13に供給される。これにより、表示装置13では、3
次元画像が表示される。
【0044】次に、図2は、図1のグラフィックスLS
I12の機能的な構成例を示している。
【0045】同図に示すように、グラフィックスLSI
12は、ジオメトリ部21、レンダリング部22、スト
リップバッファ23、およびラインバッファ24で構成
されている。ジオメトリ部21は、コントローラ11か
ら供給されるグラフィックスデータにジオメトリ処理を
施してポリゴンデータを求め、レンダリング部22に出
力するようになされている。レンダリング部22は、ジ
オメトリ部21からのポリゴンデータに基づいて、スト
リップバッファ23に対してレンダリング、即ち、画素
データの書き込みを行うようになされている。ストリッ
プバッファ23は、1画面分の画素データより少ない記
憶容量を有する、例えば、メモリなどで構成され、レン
ダリング部22からの画素データを記憶し、また、記憶
した画素データを、ラインバッファ24に出力するよう
になされている。ラインバッファ24は、1ライン分の
画素データの記憶容量を有する、例えばメモリなどで構
成され、ストリップバッファ23からの1ライン分の画
素データを記憶し、また、記憶した画素データを、表示
装置の画素周期に合わせて、表示装置13に出力するよ
うになされている。
【0046】なお、ジオメトリ部21、レンダリング部
22、またはストリップバッファ23およびラインバッ
ファ24は、図1における3次元座標計算装置5、3次
元描画装置6、またはフレームバッファ7にそれぞれ対
応する。
【0047】次に、図3を参照して、ストリップバッフ
ァ23の構成について、さらに説明する。
【0048】いま、1画面の画像が、横(水平方向)が
FW個で、縦(垂直方向)がFH個の画素で構成される
ものとし、この1画面分の画素データ(FW×FHの画
素データ)を記憶することのできるバッファとして、図
3において斜線を付して示すような仮想フレームバッフ
ァを考える。この場合において、SWをFWと等しい値
とするとともに、SHをFH未満の正の整数とすると
き、ストリップバッファ23は、SW×SHの画素デー
タを記憶する記憶容量を有する。即ち、ストリップバッ
ファ23は、1画面分の記憶容量を有する仮想フレーム
バッファと横の長さが同一で、縦の長さが短い記憶容量
を有する。
【0049】そして、ストリップバッファ23は、仮想
フレームバッファに沿って、縦方向に自由に移動するこ
とができるようになされている。
【0050】ここで、仮想フレームバッファの上端に対
するストリップバッファ23の上端の位置のラインを、
オフセットラインOLという。このオフセットラインO
Lは、仮想フレームバッファの上端からストリップバッ
ファ23の上端までの画素数また、オフセットラインO
Lの位置に対応して、ストリップバッファ23内を移動
する、横方向のラインを考え、これをベースラインBL
という。BLは、ストリップバッファ23の上端からの
画素数を表し、ここでは、BLとOLとが、例えば、次
式で表される対応関係を有するものとする。
【0051】 BL=OL%SH ・・・(1) 但し、A%Bは、AをBで除算して得られる余りを表
す。
【0052】この場合、OLをSHで除算して得られる
余りであるBLは、OLが変化すると、0以上SHの範
囲で変化するから、ベースラインBLは、オフセットラ
インOLが移動すると、ストリップバッファ23内を移
動することになる。具体的には、例えば、仮想フレーム
バッファにおいて、オフセットラインOLが1画素分下
がると、ストリップバッファ23において、ベースライ
ンBLも1画素分下がることになる。そして、ベースラ
インBLが、SH画素分だけ下がり、ストリップバッフ
ァ23の下端に到達した後に、オフセットラインOLが
1画素分下がると、ベースラインBLは、ストリップバ
ッファ23の上端に戻る。
【0053】次に、図4のフローチャートを参照して、
ジオメトリ部21の処理について説明する。
【0054】ジオメトリ処理部21は、コントローラ1
1からグラフィックスデータを受信すると、ステップS
1乃至S3において、前述の図15のステップS41乃
至S43における場合とそれぞれ同様の処理を行い、ス
テップS4に進む。
【0055】ステップS4では、ポリゴンの縦の長さ
が、ストリップバッファ23の縦の長さSHより長いか
どうか(ポリゴンを構成する縦の画素数が、ストリップ
バッファ23の縦の画素数SHより多いかどうか)が判
定される。ステップS4において、ポリゴンの縦の長さ
が、ストリップバッファ23の縦の長さSHより長くな
いと判定された場合、即ち、そのポリゴンを、そのまま
ストリップバッファ23に描画することができる場合、
ステップS5をスキップして、ステップS6に進む。
【0056】一方、ステップS4において、ポリゴンの
縦の長さが、ストリップバッファ23の縦の長さSHよ
り長いと判定された場合、即ち、そのポリゴン全体を、
そのままでは、ストリップバッファ23に描画すること
ができない場合、ステップS5に進み、ポリゴンが、縦
の長さがSH以下のポリゴンとなるように分割される。
即ち、ステップS5では、例えば、図5に示すように、
ポリゴンが、例えば、横方向(表示装置13の走査線と
平行な方向)に、その縦の長さがSH以下となるように
分割される。
【0057】その後は、ステップS6に進み、図15の
ステップS44における場合と同様に、光源計算が行わ
れ、ステップS7に進む。ステップS7では、ポリゴン
が、表示装置13の走査方向と直交する方向(縦方向)
にソートされ、処理を終了する。
【0058】ジオメトリ部21では、以上の処理が1画
面単位で行われる。
【0059】次に、図6のフローチャートを参照して、
図4のステップS7におけるソート処理の詳細について
説明する。
【0060】ソート処理においては、まず最初に、ステ
ップS11において、変数iが、例えば1に初期化され
る。
【0061】ここで、ソート処理では、例えば、図7に
示すように、仮想フレームバッファを、縦方向にN等分
して得られる各区分(領域)のうちのいずれにポリゴン
が位置しているかで、ポリゴンの縦方向へのソートが行
われるようになされており、変数iは、仮想フレームバ
ッファをN等分して得られる各区分の番号を表す。
【0062】ステップS11の処理後、ステップS12
に進み、処理対象のポリゴンの、例えば、重心や、最も
上部にある頂点などの所定の点が、仮想フレームバッフ
ァの区分#iの中に位置しているかどうかが判定され
る。ステップS12において、処理対象のポリゴンの所
定の点が、仮想フレームバッファの区分#iの中に位置
していないと判定された場合、ステップS13に進み、
変数iが1だけインクリメントされ、ステップS12に
戻る。
【0063】一方、ステップS12において、処理対象
のポリゴンの所定の点が、仮想フレームバッファの区分
#iの中に位置していると判定された場合、ステップS
14に進み、区分#iについてのソート用記憶領域に、
処理対象のポリゴンについてのポリゴンデータが記憶さ
れているポリゴン情報記憶領域へのポインタが記憶され
る。
【0064】即ち、ジオメトリ部21は、図示せぬメモ
リを有しており、このメモリには、図8に示すように、
光源計算を行って得られるポリゴンデータ(ポリゴンの
情報)を記憶するポリゴン情報記憶領域(図8(A))
と、そのポリゴンデータのアドレスを示すポインタを記
憶するソート用記憶領域(図8(B))とが設けられて
いる。ソート用記憶領域は、区分ごとに分割されてお
り、ステップS14では、区分#iに位置するポリゴン
のポリゴンデータへのポインタが、区分#iについての
ソート用記憶領域に記憶される。
【0065】ステップS14の処理後は、ステップS1
5に進み、1画面のポリゴンについてのポインタすべて
が、ソート用記憶領域に記憶されたかどうかが判定さ
れ、まだ、ポインタすべてが記憶されていないと判定さ
れた場合、ステップS11に戻り、まだ、処理対象とさ
れていないポリゴンを新たに処理対象として、ステップ
S11以下の処理を繰り返す。一方、ステップS15に
おいて、1画面のポリゴンについてのポインタすべて
が、ソート用記憶領域に記憶されたと判定された場合、
リターンする。
【0066】以上のソート処理によれば、例えば、図7
に示すように、ある画面が、区分#1に位置するポリゴ
ンAおよびB、区分#2に位置するポリゴンC、区分#
3に位置するポリゴンD、および区分#Nに位置するポ
リゴンEから構成される場合、図8に示すように、区分
#1についてのソート用記憶領域にはポリゴンA,Bに
ついてのポリゴンデータへのポインタが、区分#2につ
いてのソート用記憶領域にはポリゴンCについてのポリ
ゴンデータへのポインタが、区分#3についてのソート
用記憶領域にはポリゴンDについてのポリゴンデータへ
のポインタが、区分#Nについてのソート用記憶領域に
はポリゴンEについてのポリゴンデータへのポインタ
が、それぞれ記憶される。
【0067】ここで、図6のソート処理では、別々の区
分に位置するポリゴンどうしについて、縦方向の順序性
が得られ、同一の区分に位置するポリゴンどうしについ
ては、縦方向の順序性が得られないが、ここでは、厳密
な順序性は必要ないため、特に問題はない。即ち、ここ
では、最悪な場合でも、所定の点が、ストリップバッフ
ァ23の縦の長さSHよりも離れているポリゴンどうし
の順序性が得られれば良い。従って、区分の幅は、SH
以下である必要がある。
【0068】なお、厳密な順序性を得るには、区分の幅
を1画素(1ライン分)とすればよい。
【0069】次に、図9のフローチャートを参照して、
図2のレンダリング部22およびストリップバッファ2
3の動作について説明する。
【0070】レンダリング部22では、まず最初に、ス
テップS21において、例えば、表示装置13による1
ラインの表示が終了したかどうかが判定される。ここ
で、この判定は、例えば、表示装置13の水平同期信号
を参照することなどによって行われる。ステップS21
において、1ラインの表示が終了したと判定された場
合、ステップS22に進み、ベースラインBL(図3)
上の1ライン分の画素データが、ストリップバッファ2
3から読み出され、ラインバッファ24に転送され、さ
らに表示装置の画素周期に合わせてこのラインバッファ
24から表示装置13に画素が転送されて表示される。
そして、ステップS23に進み、ストリップバッファ2
3のベースラインBL上に、図16のステップS53に
おける場合と同様に、バックグランド情報が書き込ま
れ、ステップS24に進む。
【0071】ステップS24では、オフセットラインO
Lが1だけインクリメントされ、ステップS29に進
む。
【0072】ここで、このステップS24において、オ
フセットラインOLが1ずつインクリメントされること
により、ストリップバッファ23は、仮想フレームバッ
ファ(図3)の中を、表示装置13におけるラスタスキ
ャンの方向と直交する方向である下方向に1画素分ずつ
移動していく。また、オフセットラインOLが移動する
ことによって、上述の式(1)で表されるベースライン
BLも、上述したように移動していく。
【0073】一方、ステップS21において、1ライン
の表示が終了していないと判定された場合、ステップS
25に進み、仮想フレームバッファ(図3)を縦方向に
移動可能なストリップバッファ23の中に位置する区分
にソートされたポリゴンのみを対象に、ストリップバッ
ファ23の中に含まれるポリゴンがあるかどうか(スト
リップバッファ23ではなく、仮想フレームバッファが
設けられていたならば、仮想フレームバッファのうち
の、ストリップバッファ23が位置する範囲の中に描画
されるポリゴンがあるかどうか)が判定される。この判
定は、例えば、ポリゴンがM個の頂点を有する場合に、
それらの頂点の縦方向の座標(y座標)をY1,Y2,・
・・,YMとするとき、そのポリゴンが、式OL≦Y1
2,・・・,YM<OL+SHを満たすかどうかを判断
することによって行うことができる。なお、ストリップ
バッファ23の中に位置する区分にソートされたポリゴ
ンのポリゴンデータは、その区分についてのソート用記
憶領域(図8(B))に記憶されたポインタを参照する
ことにより、ポリゴン情報記憶領域(図8(A))から
容易に取得することができる。
【0074】ステップS25において、ストリップバッ
ファ23の中に含まれるポリゴンがないと判定された場
合、ステップS26乃至S28をスキップして、ステッ
プS29に進む。また、ステップS25において、スト
リップバッファ23の中に含まれるポリゴンがあると判
定された場合、ステップS26乃至S28に進み、レン
ダリング部22において、図15のステップS45乃至
S47における場合とそれぞれ同様の処理が行われ、こ
れにより、ストリップバッファ23へのポリゴンを構成
する画素データの描画が行われ、ステップS29に進
む。なお、描画がなされたポリゴンについての情報は、
ポリゴン情報記憶領域およびソート用記憶領域から削除
される。
【0075】ここで、ストリップバッファ23への描画
は、例えば、表示装置13におけるラスタスキャンと同
様の順番で行われていく。そして、ストリップバッファ
23の下端に到達すると、その上端に戻り、以下、同様
にして、画素データの描画が行われていく。
【0076】なお、この場合、ストリップバッファ23
への描画は、ブランキング期間だけでなく、表示装置1
3において表示が行われている間にもすることができ
る。また、ストリップバッファ23への画素データの書
き込みは、ストリップバッファ23の中に位置する区分
にソートされたポリゴンであって、ストリップバッファ
23の中に含まれるもののみを対象として行われるた
め、ストリップバッファ23への画素データの書き込み
が、ストリップバッファ23から、まだ読み出されてい
ない画素データに上書きされる形で行われることはな
い。
【0077】ステップS29では、オフセットラインO
Lが、仮想フレームバッファの下端に到達したかどうか
が判定され、到達していないと判定された場合、ステッ
プS30をスキップして、処理を終了する。また、ステ
ップS29において、オフセットラインOLが、仮想フ
レームバッファの下端に到達したと判定された場合、ス
テップS30に進み、オフセットラインOLが0とさ
れ、即ち、ストリップバッファ23が、その上端が仮想
フレームバッファの上端に一致するように移動され、処
理を終了する。
【0078】レンダリング部22およびストリップバッ
ファ23では、以上の処理が繰り返し行われる。
【0079】以上のように、縦方向の長さがSHを越え
るポリゴンについては、縦の長さがSH以下のポリゴン
に分割し、これにより、すべてのポリゴンの縦の長さが
SH以下となるようにし、さらに、縦方向の長さがSH
のストリップバッファ23を、仮想フレームバッファに
沿って下方向に移動することにより、ポリゴンについて
の画素データを、ポリゴンが表示装置13の走査方向と
直交する方向(ここでは下方向)に並ぶ順番で、ストリ
ップバッファ23に描画するようにしたので、ストリッ
プバッファ23として、記憶容量の小さいものを用いる
ことができる。即ち、SHを、1画面分の画像の縦の画
素数よりも小さな値とすることで、ストリップバッファ
23の記憶容量を、1画面分の画素データより小さくす
ることができる。
【0080】その結果、システムのコストを低減するこ
とが可能となり、さらに、図2に示したように、ジオメ
トリ部21、レンダリング部22、およびストリップバ
ッファ23を1チップのLSI(グラフィックLSI1
2)上に集積することが可能となる。そして、この場
合、レンダリング部22とストリップバッファ23と
は、これらを別々のパッケージに集積する場合に比較し
て、容易に、多くの接続線で接続することが可能とな
り、その間のデータ転送レートを飛躍的に向上させ、ひ
いては、LSI12全体の描画能力も向上させることが
できる。
【0081】次に、図10は、グラフィックLSI12
の他の構成例を示している。なお、図中、図2における
場合と対応する部分については、同一の符号を付してあ
る。即ち、このグラフィックLSI12は、ジオメトリ
部21に代えてジオメトリ部21A乃至21Cが、レン
ダリング部22に代えてレンダリング部22A乃至Cが
設けられている他は、図2における場合と同様に構成さ
れている。
【0082】ジオメトリ部21A乃至21Cまたはレン
ダリング部22A乃至22Cは、ジオメトリ部21また
はレンダリング部22と同様の処理を行うようになされ
ている。即ち、ジオメトリ部21A乃至21Cでは、ジ
オメトリ部21における処理が、レンダリング部22A
乃至22Cでは、レンダリング部22における処理が、
それぞれ並列で行われるようになされている。
【0083】ストリップバッファ23の記憶容量は、上
述したように小さくすることができるので、図10に示
すように、3つのジオメトリ部21A乃至21C、3つ
のレンダリング部22A乃至22C、ストリップバッフ
ァ23、およびラインバッファ24であっても、1チッ
プのLSIに集積することが可能となる。そして、この
場合、さらなる描画能力の向上を図ることができる。
【0084】次に、図11は、本発明を適用した3次元
グラフィックスシステムの第2の実施の形態の構成例を
示している。なお、図中、図1における場合と対応する
部分については、同一の符号を付してある。即ち、この
グラフィックスシステムは、グラフィックスLSI12
と、表示装置13との間に、フレームバッファ31が新
たに設けられている他は、図1のグラフィックスシステ
ムと同様に構成されている。
【0085】フレームバッファ31は、例えば、1画面
分の画素データに対応する記憶容量を有しており、グラ
フィックスLSI12のストリップバッファ23(図1
1においては図示せず)から読み出された画素データを
一時記憶し、表示装置13に供給するようになされてい
る。
【0086】従って、この場合、グラフィックスLSI
12においては、ストリップバッファ23への画素デー
タの描画を、表示装置13の表示タイミングに同期して
行わずに済むようになる。即ち、フレームバッファ31
が設けられていない場合においては、図9で説明したよ
うに、表示装置13において1ラインの表示が終了する
のを待って、オフセットラインOLを移動していく必要
があったが(従って、ベースラインBLも同様)、図1
1においては、ストリップバッファ23から読み出され
た画素データが、フレームバッファ31に一旦記憶され
るので、表示装置13の表示タイミングとは無関係に、
オフセットラインOLを移動して、ストリップバッファ
23への画素データの描画を行うことが可能となる。
【0087】このようなグラフィックスシステムは、リ
アルタイムで3次元画像を表示する必要のない、例え
ば、工業用や医療用のCADシステムなどの高精細の時
間蓄積型の3次元グラフィックスシステムなどに応用す
ることができる。
【0088】なお、フレームバッファ31は、少なくと
も、表示装置13における表示速度に対応した転送能力
を有するものであれば良く、従って、比較的低コストの
メモリなどで構成することができるので、システム全体
のコストが大きく悪化することはない。
【0089】以上、本発明を、3次元画像を表示するグ
ラフィックスシステムに適用した場合について説明した
が、本発明は、その他、2次元の画像を表示するグラフ
ィックスシステムなどにも適用可能である。
【0090】なお、本実施の形態では、図9において、
1ラインの表示が終了するごとに、ステップS22で、
ベースラインBL上の画素データを表示装置13に転送
し、ステップS23で、バックグランド情報を書き込む
ようにしたが、このステップS22およびS23の処理
は、図9における他の処理と独立に並列して行うことが
可能である。
【0091】また、本実施の形態では、図4のステップ
S7において、ポリゴンを、表示装置13の走査方向と
直交する方向にソートするソート処理を行うようにした
が、このソート処理は、必ずしも行う必要はない。但
し、ソート処理を行わない場合においては、図9のステ
ップS25において、ストリップバッファ23の中に位
置する区分にソートされたポリゴンのみを対象に、スト
リップバッファ23の中に含まれるポリゴンがあるかど
うかを判定するのではなく、1画面中に存在するすべて
のポリゴンを対象に、ストリップバッファ23の中に含
まれるポリゴンがあるかどうかを判定する必要があり、
この判定処理に時間を要することになる。従って、処理
の高速化の観点からは、ソート処理を行う方が好まし
い。
【0092】さらに、本実施の形態では、図4のステッ
プS4において、ポリゴンの縦の長さが、ストリップバ
ッファ23の縦の長さSHより長いかどうかを判定し、
長い場合には、ステップS5において、そのポリゴン
を、縦の長さがSH以下のポリゴンとなるように分割す
るようにしたが、例えば、アプリケーションなどにおい
て、あらかじめポリゴンの縦の長さがSH以下に制限さ
れている場合には、ステップS4およびS5の処理は行
う必要がない。
【0093】
【発明の効果】請求項1に記載の描画装置および請求項
6に記載の描画方法によれば、表示装置に表示させる画
像の画素データを記憶する、1画面分の画素データより
少ない記憶容量を有する記憶手段に、画像を構成する単
位図形が表示装置の走査方向と直交する方向に並ぶ順番
で、単位図形についての画素データが描画される。従っ
て、記憶手段として、記憶容量の小さなものを用いるこ
とができ、その結果、描画能力を向上させることが可能
となる。
【図面の簡単な説明】
【図1】本発明を適用した3次元グラフィックスシステ
ムの第1の実施の形態の構成を示すブロック図である。
【図2】図1のグラフィックスLSI12の機能的な構
成例を示すブロック図である。
【図3】図2のストリップバッファ23の構成を説明す
るための図である。
【図4】図2のジオメトリ部21の動作を説明するため
のフローチャートである。
【図5】図4のステップS5の処理を説明するための図
である。
【図6】図4のステップS7の処理のより詳細を説明す
るためのフローチャートである。
【図7】区分を説明するための図である。
【図8】ソート処理を説明するための図である。
【図9】図2のレンダリング部22およびストリップバ
ッファ23の動作を説明するためのフローチャートであ
る。
【図10】図1のグラフィックスLSI12の他の構成
例を示すブロック図である。
【図11】本発明を適用した3次元グラフィックスシス
テムの第2の実施の形態の構成を示すブロック図であ
る。
【図12】従来の3次元グラフィックスシステムの一例
の構成を示すブロック図である。
【図13】図12のジオメトリ部41の処理を説明する
ための図である。
【図14】図12のレンダリング部42の処理を説明す
るための図である。
【図15】図12のジオメトリ部41およびレンダリン
グ部42の動作を説明するためのフローチャートであ
る。
【図16】図12のフレームバッファ43の動作を説明
するためのフローチャートである。
【図17】図12のフレームバッファ43の動作を説明
するためのフローチャートである。
【符号の説明】
1 中央演算処理装置, 2 主記憶装置, 3 入力
装置, 4 外部記憶装置, 5 3次元座標計算装
置, 6 3次元描画装置, 7 フレームバッファ,
11 コントローラ, 12 グラフィックスLS
I, 13 表示装置, 21,21A乃至21C ジ
オメトリ部, 22,22A乃至22C レンダリング
部, 23 ストリップバッファ, 24 ラインバッ
ファ, 31フレームバッファ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 画像を描画する描画装置であって、 表示装置に表示させる前記画像の画素データを記憶す
    る、1画面分の前記画素データより少ない記憶容量を有
    する記憶手段と、 前記記憶手段に、前記画像を構成する単位図形が、前記
    表示装置の走査方向と直交する方向に並ぶ順番で、前記
    単位図形についての前記画素データを描画する描画手段
    とを備えることを特徴とする描画装置。
  2. 【請求項2】 1画面を構成する前記単位図形を、前記
    表示装置の走査方向と直交する方向にソートするソート
    手段をさらに備えることを特徴とする請求項1に記載の
    描画装置。
  3. 【請求項3】 1画面分の前記画像の横×縦の画素数を
    FW×FHとするとともに、SHをFH未満の正の整数
    とするとき、 前記記憶手段は、FW×SHの画素データを記憶する記
    憶容量を有し、 縦方向の長さがSHを越える単位図形を、縦の長さがS
    H以下の単位図形に分割する分割手段をさらに備えるこ
    とを特徴とする請求項1に記載の描画装置。
  4. 【請求項4】 前記描画手段は、前記表示装置の表示タ
    イミングに同期して、前記記憶手段に前記画素データを
    書き込むことを特徴とする請求項1に記載の描画装置。
  5. 【請求項5】 前記記憶手段に記憶された前記画素デー
    タをバッファリングする、少なくとも1画面分の前記画
    素データの記憶が可能なバッファ手段をさらに備えるこ
    とを特徴とする請求項1に記載の描画装置。
  6. 【請求項6】 表示装置に表示させる画像の画素データ
    を記憶する、1画面分の前記画素データより少ない記憶
    容量を有する記憶手段に、前記画素データを描画する描
    画方法であって、 前記記憶手段に、前記画像を構成する単位図形が、前記
    表示装置の走査方向と直交する方向に並ぶ順番で、前記
    単位図形についての前記画素データを描画することを特
    徴とする描画方法。
JP9023426A 1997-02-06 1997-02-06 描画装置および描画方法 Withdrawn JPH10222695A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9023426A JPH10222695A (ja) 1997-02-06 1997-02-06 描画装置および描画方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9023426A JPH10222695A (ja) 1997-02-06 1997-02-06 描画装置および描画方法

Publications (1)

Publication Number Publication Date
JPH10222695A true JPH10222695A (ja) 1998-08-21

Family

ID=12110186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9023426A Withdrawn JPH10222695A (ja) 1997-02-06 1997-02-06 描画装置および描画方法

Country Status (1)

Country Link
JP (1) JPH10222695A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2551826A2 (en) 2011-07-29 2013-01-30 Fujitsu Limited Drawing device
EP2615578A1 (en) 2012-01-13 2013-07-17 Fujitsu Limited Image drawing apparatus with a cache memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2551826A2 (en) 2011-07-29 2013-01-30 Fujitsu Limited Drawing device
JP2013030066A (ja) * 2011-07-29 2013-02-07 Fujitsu Ltd 描画装置
EP2615578A1 (en) 2012-01-13 2013-07-17 Fujitsu Limited Image drawing apparatus with a cache memory
EP2738736A1 (en) 2012-01-13 2014-06-04 Fujitsu Limited Image drawing apparatus with a cache memory
US9245370B2 (en) 2012-01-13 2016-01-26 Fujitsu Limited Image drawing apparatus, computer-readable medium storing program, and method of the same

Similar Documents

Publication Publication Date Title
US5295235A (en) Polygon engine for updating computer graphic display employing compressed bit map data
EP2790177A1 (en) Image processing apparatus and image processing method
EP1282109A2 (en) Method and apparatus using a two-dimensional circular data buffer for scrollable image display
EP1624443A2 (en) Method and apparatus using a two-dimensional circular data buffer for scrollable image display
EP1847965A1 (en) Plotting device and plotting method
JP2502728B2 (ja) ビデオデ―タ処理装置
KR100281949B1 (ko) 영상 드로잉 장치
US6441818B1 (en) Image processing apparatus and method of same
KR100770622B1 (ko) 중첩 표시 가능한 디스플레이 컨트롤러
JP3568555B2 (ja) ディスプレイ装置
US6940519B2 (en) Graphics processor, graphics card and graphics processing system
KR100371253B1 (ko) 화상생성방법및장치
US7830393B2 (en) Device, method, and integrated circuit for rectangular image drawing
JPH10222695A (ja) 描画装置および描画方法
EP0670560B1 (en) A method for sorting polygon data, a video game machine employing the same and acomputer program performing the method
JP2003132347A (ja) 画像処理装置
JP2776793B2 (ja) 画像表示方法およびその表示装置
JP3322109B2 (ja) 表示制御装置
JP3971448B2 (ja) 描画装置及び描画方法
JP3264941B2 (ja) 画像表示制御方法及び装置
US6489967B1 (en) Image formation apparatus and image formation method
JPH0588838A (ja) マルチウインドウ表示装置
JP2980079B2 (ja) 三次元画像処理装置及び方法
JPH11203486A (ja) 半透明オブジェクトの表示方法及び、これを用いる画像表示装置
JP2001166767A (ja) 描画処理装置及び描画処理方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040406