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

描画方法および描画装置

Info

Publication number
JPH10188003A
JPH10188003A JP8341057A JP34105796A JPH10188003A JP H10188003 A JPH10188003 A JP H10188003A JP 8341057 A JP8341057 A JP 8341057A JP 34105796 A JP34105796 A JP 34105796A JP H10188003 A JPH10188003 A JP H10188003A
Authority
JP
Japan
Prior art keywords
rendering
pixel
shape
coordinates
polygon
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
JP8341057A
Other languages
English (en)
Inventor
Mutsuhiro Omori
睦弘 大森
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 JP8341057A priority Critical patent/JPH10188003A/ja
Publication of JPH10188003A publication Critical patent/JPH10188003A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 シザリング処理を高速に行う。 【解決手段】 ポリゴンの描画開始点(頂点A)がY方
向において表示領域内に位置していない場合、DDAセ
ットアップ部は、表示領域に含まれているスパンのう
ち、その開始点に最も近いスパン106に対応するY方
向の座標Y0に、ポリゴンの描画開始点を移動させた
後、その座標に対応する各ポリゴンレンダリングデータ
の初期値を補間演算により算出し、それらのデータを、
X方向の各変分とともにDDA部に出力する。そして、
DDA部は、ポリゴンの描画開始点をXleftに移動
させた後、まず、その座標(画素)に対応する各ポリゴ
ンレンダリングデータの値を補間演算により算出し、ス
パンの終点まで、各画素に対応する各ポリゴンレンダリ
ングデータの値を補間演算により順次算出していく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、描画方法および描
画装置に関し、特に、所定の形状の図形を、所定の表示
領域に表示するとき、その図形のうちの、その表示領域
に含まれる部分だけをレンダリングする描画方法および
描画装置に関する。
【0002】
【従来の技術】最近の半導体技術の進歩に伴い、画像処
理を行う演算装置の処理能力も向上している。
【0003】3次元の物体をディスプレイに表示させる
場合、所定の基本形状(例えば3角形)の複数の2次元
図形(ポリゴン)を利用して、3次元の物体を表現する
ことがある。
【0004】ポリゴンをディスプレイに表示する場合、
例えば、ウィンドウシステムを利用していると、ウィン
ドウなどの所定の表示領域内だけに、物体を表示させる
ことがある。
【0005】このとき、物体の表示の一部が表示領域の
端部を越えて表示領域の外側に差し掛かってしまう場合
においては、その部分はディスプレイに表示されないよ
うに処理される。
【0006】従って、物体に対応するポリゴンのレンダ
リングを行う場合、例えば、レンダリングを行う画素の
座標が、その表示領域の中に位置するか否かが判断さ
れ、表示領域内の画素だけがレンダリングされる。
【0007】即ち、図14に示すように、長方形の表示
領域の各頂点の座標を、それぞれ(Xleft,Yto
p),(Xright,Ytop),(Xleft,Y
bottom),(Xright,Ybottom)と
し、次にレンダリングする画素の座標を(x,y)とす
ると、次の4つの条件を満たすか否かが判断され、これ
らの条件を満たす画素だけがレンダリングされる。 x≧Xleft x≦Xright y≧Ybottom y≦Ytop
【0008】
【発明が解決しようとする課題】しかしながら、上述の
ようにして表示領域内の画素だけをレンダリングする場
合、ポリゴンのうちの大部分が表示領域の外側に位置す
るとき、レンダリングされない画素に対して、画素毎に
最大で4つの条件が成り立つか否かが調べられるので、
レンダリング処理を速くすることが困難であるという問
題を有している。
【0009】本発明は、このような状況に鑑みてなされ
たもので、ポリゴンを第1の方向に配列している画素
(スパン)毎に処理するとともに、レンダリングの開始
点が表示領域に含まれていない場合、ポリゴンのうち表
示領域に含まれていない部分の処理をスキップすること
により、レンダリング処理を速くするようにするもので
ある。
【0010】
【課題を解決するための手段】請求項1に記載の描画方
法は、第1の形状の図形においてレンダリングを開始す
る座標が、第1の方向の垂直な第2の方向において第2
の形状の表示領域の外側である場合、レンダリングを開
始する第2の方向の座標を、その座標に最も近い、第2
の形状の表示領域内の第1の方向に配列している画素の
第2の方向の座標に変更することを特徴とする。
【0011】請求項5に記載の描画装置は、第1の形状
の図形においてレンダリングを開始する座標が、第1の
方向の垂直な第2の方向において第2の形状の表示領域
の外側である場合、レンダリングを開始する第2の方向
の座標を、その座標に最も近い、第2の形状の表示領域
内の第1の方向に配列している画素の第2の方向の座標
に変更する変更手段を備えることを特徴とする。
【0012】請求項6に記載の描画方法は、第1の形状
の図形における第1の方向に配列している画素におい
て、レンダリングを開始する画素の第1の方向の座標
が、第2の形状の表示領域の外側である場合、レンダリ
ングを開始する画素を、第1の方向に配列している画素
のうちの、その画素に最も近い第2の形状の表示領域に
含まれる画素に変更することを特徴とする。
【0013】請求項10に記載の描画装置は、第1の形
状の図形における第1の方向に配列している画素におい
て、レンダリングを開始する画素の第1の方向の座標
が、第2の形状の表示領域の外側である場合、レンダリ
ングを開始する画素を、第1の方向に配列している画素
のうちの、その画素に最も近い第2の形状の表示領域に
含まれる画素に変更する変更手段を備えることを特徴と
する。
【0014】請求項1に記載の描画方法においては、第
1の形状の図形においてレンダリングを開始する座標
が、第1の方向の垂直な第2の方向において第2の形状
の表示領域の外側である場合、レンダリングを開始する
第2の方向の座標を、その座標に最も近い、第2の形状
の表示領域内の第1の方向に配列している画素の第2の
方向の座標に変更する。
【0015】請求項5に記載の描画装置においては、変
更手段は、第1の形状の図形においてレンダリングを開
始する座標が、第1の方向の垂直な第2の方向において
第2の形状の表示領域の外側である場合、レンダリング
を開始する第2の方向の座標を、その座標に最も近い、
第2の形状の表示領域内の第1の方向に配列している画
素の第2の方向の座標に変更する。
【0016】請求項6に記載の描画方法においては、第
1の形状の図形における第1の方向に配列している画素
において、レンダリングを開始する画素の第1の方向の
座標が、第2の形状の表示領域の外側である場合、レン
ダリングを開始する画素を、第1の方向に配列している
画素のうちの、その画素に最も近い第2の形状の表示領
域に含まれる画素に変更する。
【0017】請求項10に記載の描画装置においては、
変更手段は、第1の形状の図形における第1の方向に配
列している画素において、レンダリングを開始する画素
の第1の方向の座標が、第2の形状の表示領域の外側で
ある場合、レンダリングを開始する画素を、第1の方向
に配列している画素のうちの、その画素に最も近い第2
の形状の表示領域に含まれる画素に変更する。
【0018】
【発明の実施の形態】図1は、本発明の描画装置の一実
施の形態の構成を示している。メインプロセッサ1は、
入出力部2を介して供給されるグラフィックスデータ、
または、メインメモリ3に記憶されているポリゴンのグ
ラフィックスデータをジオメトリ演算部4に出力するよ
うになされている。なお、このようなポリゴンのグラフ
ィックスデータは、所定の応用プログラムに従って生成
される。
【0019】ジオメトリ演算部4は、メインプロセッサ
1より供給されたグラフィックスデータに対して、座標
変換、クリッピング処理、ライティング処理などを行
い、処理後のグラフィックスデータ(ポリゴンレンダリ
ングデータ)として、3角形のポリゴンの各頂点に対応
する、座標X,Y,Z、赤色、緑色、青色にそれぞれ対
応する輝度値R,G,B、描画する画素のRGB値とデ
ィスプレイバッファ10に記憶されている画素のRGB
値を混ぜ合わせる割合を表すブレンド係数α、テクスチ
ャ座標S,T,Q、および、フォグ係数FをDDAセッ
トアップ部5(変更手段)に出力するようになされてい
る。
【0020】なお、テクスチャ座標として、同次座標系
であるS,T,Qが出力されるが、S/Q,T/Qにテ
クスチャサイズをそれぞれ乗じたものが、実際のテクス
チャ座標として利用される。また、フォグ係数Fは、例
えばZが大きく、その点における表示を、霧がかかった
ように表現するときに、所定のフォグカラーを混合する
度合いを示す係数である。
【0021】DDAセットアップ部5は、供給された3
角形の各頂点のポリゴンレンダリングデータX,Y,
Z,R,G,B,α,S,T,Q,Fから、X方向に対
するポリゴンレンダリングデータの変分(ΔZ/ΔX,
ΔR/ΔX,ΔG/ΔX,ΔB/ΔX,Δα/ΔX,Δ
S/ΔX,ΔT/ΔX,ΔQ/ΔX,ΔF/ΔX)を算
出するとともに、Y方向に対するポリゴンレンダリング
データの変分(ΔZ/ΔY,ΔR/ΔY,ΔG/ΔY,
ΔB/ΔY,Δα/ΔY,ΔS/ΔY,ΔT/ΔY,Δ
Q/ΔY,ΔF/ΔY)を算出するとともに、3角形の
各辺の傾き(または、その逆数)を算出するようになさ
れている。
【0022】また、DDAセットアップ部5は、3角形
(ポリゴン)の頂点の座標より3角形の形状の種類の判
別を行うとともに、描画開始点(レンダリング開始点)
における各ポリゴンレンダリングデータの初期値を算出
するようになされている。
【0023】さらに、DDAセットアップ部5は、3角
形のポリゴンの描画開始点がY方向において表示領域内
に位置していない場合、Y方向において表示領域内のス
パン(X方向に配列している画素列)(後述)のうち、
その開始点に最も近いスパンのY方向の座標に、ポリゴ
ンの描画開始点の座標を移動させた後、その座標に対応
する各ポリゴンレンダリングデータの初期値を算出し、
X方向の各変分とともにDDA部6(変更手段)に出力
するようになされている。
【0024】DDA部6は、DDA(Digital Differen
tial Analyzer)演算を行い、DDAセットアップ5よ
り供給された、各ポリゴンレンダリングデータのX方向
の変分と、各ポリゴンレンダリングデータの初期値か
ら、まず、そのスパンの開始点の画素に対応する各ポリ
ゴンレンダリングデータの値を算出し、次に、そのスパ
ンの各画素に対応する座標X,Yと、その座標における
ポリゴンレンダリングデータZ,R,G,B,α,S,
T,Q,Fの値を順次算出し、テクスチャプロセッサ7
に出力するようになされている。
【0025】なお、DDA部6は、処理するスパンの開
始点の画素が表示領域の外側に位置する場合、そのスパ
ンのうち、開始点に最も近い、表示領域に含まれている
画素に開始点を移動し、まず、その画素に対応する各ポ
リゴンレンダリングデータを、各ポリゴンレンダリング
データの初期値と変分より算出し、次に、変更後の開始
点からレンダリング処理を開始するようになされてい
る。
【0026】テクスチャプロセッサ7は、テクスチャバ
ッファ9からテクスチャデータを読み出し、供給された
テクスチャ座標S,TをQで除算し、テクスチャサイズ
で乗算して実際のテクスチャ座標を算出するとともに、
読み出したテクスチャデータから、実際のテクスチャ座
標S,Tに対応したテクスチャアドレスにおけるRGB
値と、テクスチャデータの混合比を表す係数(テクスチ
ャのα値)を算出し、その係数に対応して、DDA部6
より供給されたRGB値と、テクスチャに対応するRG
B値を混合するようになされている。
【0027】さらに、テクスチャプロセッサ7は、フォ
グ係数Fに対応して所定のフォグカラーを混合し、生成
されたRGB値を、DDA部6より供給された座標X,
Yの画素に対応するRGB値として、座標X,Y,Zお
よびブレンド係数αとともにメモリインタフェース8に
出力するようになされている。
【0028】なお、テクスチャバッファ9は、MIPM
APなどの各レベルに対応したテクスチャデータを予め
記憶している。
【0029】メモリインタフェース8は、Zバッファ1
1のZ値を参照し、供給された画素が、以前に描画した
ものより手前にある場合、供給された座標Zで、Zバッ
ファ11のZ値を更新するとともに、供給されたRGB
値を、ディスプレイバッファ10における、その座標
(X,Y)に対応するアドレスに書き込むようになされ
ている。
【0030】なお、メモリインタフェース8は、αブレ
ンドを行うように設定されている場合、供給されたブレ
ンド係数αに対応して、ディスプレイバッファ10に記
憶されているRGB値と、供給されたRGB値を混合し
て、生成されたRGB値をディスプレイバッファ10に
書き込む。
【0031】CRT制御部12は、所定の水平および垂
直同期周波数に同期して表示アドレスを発生し、メモリ
インタフェース8を制御して、その表示アドレスに対応
するRGB値を、所定の数毎にまとめて転送させ、内蔵
するFIFO部(図示せず)にそれらの値を一旦記憶
し、所定の間隔でそのデータのインデックス値をRAM
DAC13に出力するようになされている。
【0032】RAMDAC13は、図示せぬRAM部と
DAC(Digital/Analog Converter)部を有し、インデ
ックス値に対応したRGB値をRAM部に予め記憶して
おり、CRT制御部12より供給されたインデックス値
に対応するRGB値を、RAM部からDAC部に供給
し、DAC部において、そのRGB値をD/A変換し、
アナログのビデオ信号(RGB信号)を所定の装置(図
示せず)に出力するようになされている。
【0033】次に、図2のフローチャートを参照して、
ポリゴンを描画するときの、図1の描画装置の動作につ
いて説明する。
【0034】最初にステップS1において、メインプロ
セッサ1が、ジオメトリ演算部4にポリゴンのデータを
ジオメトリ演算部4に出力する。
【0035】ジオメトリ演算部4は、メインプロセッサ
1より供給されたグラフィックスデータに対して、座標
変換、クリッピング処理、ライティング処理などを行
い、処理後のグラフィックスデータ(ポリゴンレンダリ
ングデータ)として、3角形の各頂点に対応する、座標
X,Y,Z、輝度値R,G,B、ブレンド係数α、テク
スチャ座標S,T,Q、および、フォグ係数FをDDA
セットアップ部5に出力する。
【0036】次にステップS2において、DDAセット
アップ部5は、レンダリングの前処理として、まず、3
角形のポリゴンの形状の判別を行う。このとき、DDA
セットアップ部5は、3つの頂点のうち、Y方向の座標
が最も小さい頂点を頂点Aとし、Y方向の座標が最も大
きい頂点を頂点Cとし、残りの頂点を頂点Bとする。な
お、3つの頂点のうち、Y方向の座標が最も小さい頂点
が2つある場合、DDAセットアップ部5は、それらの
2つの頂点のうちのいずれか一方を頂点Aとし、他方を
頂点Bとする。
【0037】図3は、このようにして判別された3角形
の例を示している。このように選択された辺ACから辺
ABまたは辺BCに向かって、X軸に平行にレンダリン
グが行うことにより、ポリゴン内のレンダリング処理の
方向が一定となり、レンダリング処理における場合分け
の回数を減少させることができるとともに、レンダリン
グ処理において演算誤差が生じても、上下に隣接するス
パンにおいても同様に演算誤差が生じることになり、視
覚的に目立たないようにすることができる。
【0038】また、DDAセットアップ部5は、ポリゴ
ン内の各画素におけるポリゴンレンダリングデータX,
Y,Z,R,G,B,α,S,T,Q,Fの値を補間演
算により算出するときに利用されるX方向およびY方向
に対するポリゴンレンダリングデータの変分を、ポリゴ
ンの3頂点のポリゴンレンダリングデータからそれぞれ
算出する。
【0039】ここで、X方向に対するポリゴンレンダリ
ングデータの変分の算出について説明する。
【0040】まず、図4に示すように、辺AC上に、頂
点BとY方向の座標が同一である点Dを設定すると、点
DにおけるX方向の座標Xdと所定のポリゴンレンダリ
ングデータVd(Vは、Z、R、G、B、α、S、T、
Q、Fのいずれか)が次式に従って算出される。 Xd=(Yd−Ya)/(Yc−Ya)×(Xc−X
a) Vd=(Yd−Ya)/(Yc−Ya)×(Vc−V
a)
【0041】ここで、Ydは、点DのY方向の座標(点
BのY方向の座標と同一である)を表し、Xa,Ya,
Xc,Ycは、頂点A,CのX方向およびY方向の座標
をそれぞれ表し、Va,Vcは、頂点A,Cにおける、
そのポリゴンレンダリングデータの値をそれぞれ表して
いる。
【0042】従って、DDAセットアップ部5は、頂点
Bおよび点Dにおけるポリゴンレンダリングデータの値
から、そのポリゴンレンダリングデータのX方向におけ
る変分ΔV/ΔXを次式に従って算出する。 ΔV/ΔX=(Vd−Vb)/(Xd−Xb) ={Vb(Yc−Ya)−(Vc−Va)(Yd−Ya)} /{Xb(Yc−Ya)−(Xc−Xa)(Yd−Ya)} ={Vb(Yc−Ya)−(Vc−Va)(Yb−Ya)} /{Xb(Yc−Ya)−(Xc−Xa)(Yb−Ya)}
【0043】ここで、Xb,Ybは、頂点BのX方向お
よびY方向の座標をそれぞれ表している。
【0044】この式に従って、DDAセットアップ部5
は、各ポリゴンレンダリングデータのX方向における変
分を算出する。また、各ポリゴンレンダリングデータの
Y方向における変分ΔV/ΔYは、次式に従って算出さ
れる。 ΔV/ΔY=(Vc−Va)/(Yc−Ya)
【0045】このようにして各変分を算出した後、DD
Aセットアップ部5は、図5に示すように、ポリゴンの
描画開始点(頂点A)がY方向において表示領域内に位
置する場合、頂点Aに最も近いスパン101に対応する
Y方向の座標Y0に、ポリゴンの描画開始点を移動させ
た後、その座標に対応する各ポリゴンレンダリングデー
タの値を補間演算により算出し、それらのデータを、X
方向の各変分とともにDDA部6に出力する。
【0046】一方、図6に示すように、ポリゴンの描画
開始点(頂点A)がY方向において表示領域内に位置し
ていない場合、DDAセットアップ部5は、表示領域に
含まれているスパンのうち、その開始点に最も近いスパ
ン106に対応するY方向の座標Y0に、ポリゴンの描
画開始点を移動させた後、その座標に対応する各ポリゴ
ンレンダリングデータの値を補間演算により算出し、そ
れらのデータを、X方向の各変分とともにDDA部6に
出力する。
【0047】なお、図5および図6においては、各画素
の座標は、その画素(図中の正方形)の座標の左下端の
座標で表されている。
【0048】ここで、描画開始点のY方向の座標Y0
設定するときのDDAセットアップ部5の動作について
説明する。
【0049】まず、DDAセットアップ部5は、頂点A
のY方向の座標値Yaが、ウィンドウ(表示領域)のY
方向の範囲[Ytop,Ybottom]の上端Yto
p以上であるか否かを判断し、Yaが、Ytop以上で
あると判断した場合、頂点Aに最も近いスパン101の
Y方向の座標Y0に対応してポリゴンレンダリングデー
タ(Z,R,G,B,α,S,T,Q,F)の初期値を
算出し、それらのデータを、その座標(X0,Y0)、そ
のY方向の座標Y0と同一の座標の辺ABまたは辺BC
上の点のX方向の座標値Xend、および、ポリゴンレ
ンダリングデータのX方向の変分とともにDDA部6に
出力する。
【0050】なお、(X0,Y0)は、頂点Aに最も近い
スパン101のY方向の座標と同一の座標を有する辺A
C上の点の座標を表している。Y0は、Ya以上である
整数のうちの最も小さい整数(ccil(Ya))とし
て算出され、X0は、次式に従って算出される。 X0=Xa+(ΔX/ΔY)|AC×(Y0−Ya) ここで、(ΔX/ΔY)|ACは、辺ACの傾きの逆数を
表している。
【0051】このとき、Y0が[Ya,Yb]の範囲内
にある場合、座標値Xendは、次式に従って算出され
る。 Xend=Xa−(ΔX/ΔY)|AB×(Y0−Ya) ここで、(ΔX/ΔY)|ABは、辺ABの傾きの逆数を
表している。
【0052】一方、このとき、Y0が(Yb,Yc]の
範囲内にある場合、座標値Xendは、次式に従って算
出される。 Xend=Xb−(ΔX/ΔY)|BC×(Y0−Yb) ここで、(ΔX/ΔY)|BCは、辺BCの傾きの逆数を
表している。
【0053】さらに、この場合、ポリゴンレンダリング
データの初期値V0は、次式に従って算出される。 V0=Va+ΔV/ΔY×(Y0−Ya)
【0054】一方、DDAセットアップ部5は、頂点A
のY方向の座標値Yaが、Ytopより小さいと判断し
た場合、ウィンドウに含まれるスパンのうち、頂点Aに
最も近いスパン106のY方向の座標に対応してポリゴ
ンレンダリングデータ(Z,R,G,B,α,S,T,
Q,F)の初期値を算出し、それらのデータを、その座
標(X0,Y0)、そのY方向の座標Y0と同一の座標の
辺ABまたは辺BC上の点のX方向の座標値Xend、
および、ポリゴンレンダリングデータのX方向の変分と
ともにDDA部6に出力する。
【0055】この場合、Y0は(Ytop+1)に設定
され、X0は、次式に従って算出される。 X0=Xa+(ΔX/ΔY)|AC×(Ytop+1−Y
a)
【0056】このとき、Ytopが[Ya,Yb]の範
囲内にある場合、座標値Xendは、次式に従って算出
される。 Xend=Xa−(ΔX/ΔY)|AB×(Ytop+1
−Ya)
【0057】一方、このとき、Ytopが(Yb,Y
c]の範囲内にある場合、座標値Xendは、次式に従
って算出される。 Xend=Xb−(ΔX/ΔY)|BC×(Ytop+1
−Yb)
【0058】さらに、この場合、ポリゴンレンダリング
データの初期値V0は、次式に従って算出される。 V0=Va+ΔV/ΔY×(Ytop+1−Ya)
【0059】このように、シザリング処理(表示領域の
外側の部分を切り取る処理)を行う場合においても、シ
ザリング処理を行わない場合と同様に座標およびポリゴ
ンレンダリングデータの初期値が算出され、ポリゴンの
うち、ウィンドウに描画されない部分の処理を行わずに
済むので、シザリング処理が高速で行われる。
【0060】なお、DDAセットアップ部5は、座標お
よびポリゴンレンダリングデータの初期値を、スパン毎
に算出し、DDA部6に順次出力していく。
【0061】そして、ステップS3において、DDA部
6は、DDA演算を行い、DDAセットアップ部5より
供給されたデータに対応するスパンのレンダリング処理
を行う。図7のフローチャートを参照して、このときの
DDA部6の動作について説明する。
【0062】ステップS21において、DDA部6は、
図8(A)に示すように、DDAセットアップ部5より
供給された座標X0に対応する、X0以上の整数のうちの
最小の整数ccil(X0)をレンダリングの開始点N
sとし、座標Xend以下の整数のうちの最大の整数を
レンダリングの終了点Neとする。
【0063】次に、ステップS22において、DDA部
6は、開始点Nsがウィンドウ内に位置するか否か、即
ち、NsがXleft以上であり、かつ、(Xrigh
t−1)以下であるか否かを判断し、例えば図8(B)
に示すように、NsがXleftより小さい、または、
(Xright−1)より大きい場合、ステップS23
において、NsがXleftより小さいときは、レンダ
リングの開始点Nsを、Xleftに設定し直し、Ns
が(Xright−1)より大きいときは、開始点Ns
を、(Xright−1)に設定し直す。
【0064】そして、ステップS23において開始点を
設定し直した後、ステップS24において、DDA部6
は、変更前の開始点から変更後の開始点までの距離が、
変更前の開始点から終点までの距離より大きい場合、変
更後の開始点はスパン上にないので(スパン全体がウィ
ンドウの外側に位置するので)、そのスパンのレンダリ
ング処理を終了する。一方、変更前の開始点から変更後
の開始点までの距離が、変更前の開始点から終点までの
距離以下である場合、変更後の開始点がスパン上にある
ので、ステップS25に進み、DDA部6は、レンダリ
ング処理を開始する。
【0065】まず、ステップS25において、DDA部
6は、スパンの始点Nsにおける各ポリゴンレンダリン
グデータの値を次式に従って補間演算により算出する。 Vs=V0+ΔV/ΔX×(Ns−X0
【0066】次に、ステップS26において、DDA部
6は、ステップS25において補間演算によりポリゴン
レンダリングデータを算出した画素がスパンの終点Ne
であるか否かを判断し、その画素がスパンの終点Neで
ある場合、そのスパンに対するレンダリング処理を終了
し、その画素がスパンの終点Neではない場合、ステッ
プS27に進む。
【0067】ステップS27において、DDA部6は、
そのスパンにおける次の画素がウィンドウ内に位置する
か否かをステップS22と同様に判断し、その画素がウ
ィンドウ内に位置すると判断した場合、ステップS25
に戻り、その画素の各ポリゴンレンダリングデータの値
を算出し、その画素がウィンドウ内に位置しないと判断
した場合、そのスパンに対するレンダリング処理を終了
する。
【0068】このようにして、スパンの始点の画素がウ
ィンドウ内に位置しない場合、スパンの始点の画素を、
ウィンドウの端の画素に変更した後、レンダリング処理
を開始し、スパンの終点の処理が終了するか、あるい
は、ウィンドウの端の画素までの処理を終了すると、そ
のスパンに対するレンダリング処理が終了する。
【0069】そして、DDA部6は、レンダリング処理
後の各画素に対応するポリゴンレンダリングデータをテ
クスチャプロセッサ7に順次出力する。
【0070】テクスチャプロセッサ7は、テクスチャバ
ッファ9からテクスチャデータを読み出し、そのデータ
を利用して、DDA部6より供給されたテクスチャ座標
を、実際のテクスチャ座標に変換し、実際のテクスチャ
座標S,Tに対応したテクスチャアドレスにおけるRG
B値と、テクスチャデータの混合比を表す係数(テクス
チャのα値)を算出し、その係数に対応して、DDA部
6より供給されたRGB値と、テクスチャに対応するR
GB値を混合する。
【0071】さらに、テクスチャプロセッサ7は、テク
スチャのα値に対応して混合されたRGB値に、フォグ
係数Fに対応して所定のフォグカラーを混合し、生成さ
れたRGB値を、DDA部6より供給された座標X,Y
の画素に対応するRGB値として、座標X,Y,Zおよ
びブレンド係数αとともにメモリインタフェース8に出
力する。
【0072】そして、図2のステップS4において、メ
モリインタフェース8は、Zバッファ11のZ値を読み
出し、テクスチャプロセッサ7より供給された画素が以
前に描画したものより手前にあるか否かを判断し、供給
された画素が以前に描画したものより手前にある場合、
供給された座標Zで、Zバッファ11のZ値を更新する
とともに、供給されたRGB値を、ディスプレイバッフ
ァ10における、その座標に対応するアドレスに書き込
む。
【0073】一方、供給された画素が以前に描画したも
のより後ろにある場合、メモリインタフェース8は、供
給されたデータを破棄する。
【0074】なお、αブレンドを行うように設定されて
いる場合、メモリインタフェース8は、テクスチャプロ
セッサ7より供給されたブレンド係数αに対応して、デ
ィスプレイバッファ10に記憶されているRGB値と、
供給されたRGB値を、α:(1−α)の割合で混合し
て、生成したRGB値をディスプレイバッファ10に書
き込む。
【0075】そして、ディスプレイバッファ10に書き
込まれたRGB値は、CRT制御部12により水平およ
び垂直同期周波数に同期して発生される表示アドレスに
対応して、CRT制御部12にメモリインタフェース8
を介して転送され、CRT制御部12のFIFO部に一
旦記憶される。そして、そのRGB値に対応するインデ
ックス値が、所定の間隔でRAMDAC13に出力さ
れ、RAMDAC13から、そのインデックス値に対応
したRGB値をD/A変換したアナログビデオ信号(R
GB信号)が所定の装置(図示せず)に出力される。
【0076】以上のようにして、ポリゴンのうち、予め
設定された表示領域に対応する部分だけが、スパン毎に
描画される。なお、上記のDDAセットアップ部5およ
びDDA部6をパイプライン構成するにすることによ
り、高速にレンダリング処理を行うことができる。
【0077】また、各スパンにおけるレンダリング処理
は、他のスパンのレンダリング処理と独立しているの
で、複数のスパンを並列に処理するようにしてもよい。
【0078】図9は、シザリング処理が行われるポリゴ
ンの一例を示している。図9に示すようなポリゴン61
のシザリング処理においては、まず、図2のステップS
2において、DDAセットアップ部5により、レンダリ
ングの開始点が、Y方向の座標が(Ytop+1)であ
る、辺AC上の点に移動され、次に、図2のステップS
3において、DDA部6により、レンダリングの開始点
が、X方向の座標がXleftである点に移動された
後、レンダリング処理が開始される。
【0079】図10は、シザリング処理が行われるポリ
ゴンの他の例を示している。図10に示すポリゴン62
のシザリング処理においては、まず、図2のステップS
2において、DDAセットアップ部5により、レンダリ
ングの開始点が、Y方向の座標が(Ytop+1)であ
る、辺AC上の点に移動された後、図2のステップS3
において、DDA部6により、その点からレンダリング
処理が開始される。
【0080】一方、ポリゴン63のシザリング処理にお
いては、まず、図2のステップS2において、DDAセ
ットアップ部5により、レンダリングの開始点が、頂点
Aに最も近いスパンの画素のうち、最も辺ACに近い画
素に設定された後、図2のステップS3において、DD
A部6により、その点からレンダリング処理が開始され
る。そして、Y方向の座標がYbottomであるスパ
ンのレンダリング処理が終了すると、このポリゴン63
のレンダリング処理が終了する。
【0081】図11は、シザリング処理が行われるポリ
ゴンのさらに他の例を示している。図11に示すポリゴ
ン64のシザリング処理においては、まず、図2のステ
ップS2において、DDAセットアップ部5により、レ
ンダリングの開始点が、頂点Aに最も近いスパンの画素
のうち、最も辺ACに近い画素に設定された後、図2の
ステップS3において、DDA部6により、その点から
レンダリング処理が開始される。そして、始点のX方向
の座標がXleftより小さいスパン(Y方向の座標が
図中の点E乃至頂点Cの間のスパン)のレンダリング処
理においては、レンダリングの開始点がXleftに変
更された後、そのスパンのレンダリング処理が開始され
る。
【0082】一方、図11に示すポリゴン65のシザリ
ング処理においては、まず、DDAセットアップ部5に
より、各スパンのレンダリングの開始点が、辺ACに沿
って順次設定されていく。そして、その開始点のX座標
が(Xright−1)より大きい場合、そのスパンの
レンダリング処理はスキップされる。従って、始点のX
方向の座標が(Xright−1)以下であるスパン
(Y方向の座標が図中の点F乃至頂点Cの間のスパン)
に対してだけ、レンダリング処理が行われる。さらに、
これらのスパンにおけるレンダリング処理は、スパンの
始点から(Xright−1)までそれぞれ行われる。
【0083】図12は、シザリング処理が行われるポリ
ゴンのさらに他の例を示している。図12に示すポリゴ
ン66のシザリング処理においては、まず、DDAセッ
トアップ部5により、レンダリングの開始点が、頂点A
に最も近いスパンの画素のうち、最も辺ACに近い画素
に設定された後、DDA部6により、その点からレンダ
リング処理が開始される。そして、これらのスパンにお
けるレンダリング処理が、スパンの始点からXleft
までそれぞれ行われる。
【0084】一方、図12に示すポリゴン67のシザリ
ング処理においては、まず、DDAセットアップ部5に
より、各スパンのレンダリングの開始点が、辺ACに沿
って順次設定されていく。この場合、各スパンのレンダ
リングの開始点は、ウィンドウ21の外側にあるので、
(Xright−1)に変更される。そして、変更前の
開始点から変更後の開始点までの距離が、変更前の開始
点から終点までの距離(即ち、そのスパンの長さ)より
長い場合、そのスパンのレンダリング処理はスキップさ
れる。従って、始点のX方向の座標が(Xright−
1)以下であるスパン(Y方向の座標が図中の点G乃至
頂点Cの間のスパン)に対してだけ、レンダリング処理
が行われる。さらに、これらのスパンにおけるレンダリ
ング処理は、(Xright−1)から開始され、スパ
ンの終点までそれぞれ行われる。
【0085】図13は、シザリング処理が行われるポリ
ゴンのさらに例を示している。図13に示すようなウィ
ンドウ21を包含するポリゴン68のシザリング処理に
おいては、まず、図2のステップS2において、DDA
セットアップ部5により、レンダリングの開始点が、Y
方向の座標が(Ytop+1)である、辺AC上の点に
移動され、次に、図2のステップS3において、DDA
部6により、レンダリングの開始点が、X方向の座標が
Xleftである点に移動された後、レンダリング処理
が開始される。そして、Y方向の座標が(Ytop+
1)乃至Ybottomの範囲内にあるスパンのレンダ
リング処理においては、レンダリング処理の開始点が、
Xleftに設定された後、(Xright−1)まで
の各画素におけるポリゴンレンダリングデータが順次算
出されていく。
【0086】
【発明の効果】以上のごとく、請求項1に記載の描画方
法および請求項5に記載の描画装置によれば、第1の形
状の図形においてレンダリングを開始する座標が、第1
の方向の垂直な第2の方向において第2の形状の表示領
域の外側である場合、レンダリングを開始する第2の方
向の座標を、その座標に最も近い、第2の形状の表示領
域内の第1の方向に配列している画素の第2の方向の座
標に変更するようにしたので、シザリング処理が高速に
行われることに起因して、レンダリング処理を高速に行
うことができる。
【0087】請求項6に記載の描画方法および請求項1
0に記載の描画装置によれば、第1の形状の図形におけ
る第1の方向に配列している画素において、レンダリン
グを開始する画素の第1の方向の座標が、第2の形状の
表示領域の外側である場合、レンダリングを開始する画
素を、第1の方向に配列している画素のうちの、その画
素に最も近い第2の形状の表示領域に含まれる画素に変
更するようにしたので、シザリング処理が高速に行われ
ることに起因して、レンダリング処理を高速に行うこと
ができる。
【図面の簡単な説明】
【図1】本発明の描画装置の一実施の形態の構成を示す
ブロック図である。
【図2】ポリゴンを描画するときの、図1の描画装置の
動作について説明するフローチャートである。
【図3】3角形の各頂点の割り当ての例を示す図であ
る。
【図4】X方向の変分の算出するときに設定される点D
の一例を示す図である。
【図5】シザリング処理が行われないポリゴンにおける
レンダリング開始点の一例を示す図である。
【図6】シザリング処理が行われるポリゴンにおけるレ
ンダリング開始点の一例を示す図である。
【図7】図2のステップS3の処理の詳細を説明するフ
ローチャートである。
【図8】X方向におけるDDA演算の例を示す図であ
る。
【図9】シザリング処理が行われるポリゴンの一例を示
す図である。
【図10】シザリング処理が行われるポリゴンの他の例
を示す図である。
【図11】シザリング処理が行われるポリゴンのさらに
他の例を示す図である。
【図12】シザリング処理が行われるポリゴンのさらに
他の例を示す図である。
【図13】シザリング処理が行われるポリゴンのさらに
他の例を示す図である。
【図14】従来のシザリング処理の一例を示す図であ
る。
【符号の説明】
1 メインプロセッサ, 2 入出力部, 3 メイン
メモリ, 4 ジオメトリ演算部, 5 DDAセット
アップ部, 6 DDA部, 7 テクスチャプロセッ
サ, 8 メモリインタフェース, 9 テクスチャバ
ッファ, 10ディスプレイバッファ, 11 Zバッ
ファ, 12 CRT制御部, 13RAMDAC

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 第1の形状の図形をレンダリングすると
    き、前記第1の形状の図形を構成する画素に対応する値
    を、第1の方向に配列している画素ごとに算出する描画
    方法で、 前記第1の形状の図形においてレンダリングを開始する
    座標が、前記第1の方向の垂直な第2の方向において第
    2の形状の表示領域の外側である場合、レンダリングを
    開始する前記第2の方向の座標を、その座標に最も近
    い、前記第2の形状の表示領域内の前記第1の方向に配
    列している画素の前記第2の方向の座標に変更すること
    を特徴とする描画方法。
  2. 【請求項2】 前記第1の形状は、3角形であることを
    特徴とする請求項1に記載の描画方法。
  3. 【請求項3】 前記第2の形状は、長方形であり、 前記長方形の4辺のうち、対向する2辺は、前記第1の
    方向に平行であることを特徴とする請求項2に記載の描
    画方法。
  4. 【請求項4】 次にレンダリングする前記第1の方向に
    配列している画素の座標が、前記第2の方向において前
    記第2の形状の表示領域の外側に位置する場合、レンダ
    リングを終了することを特徴とする請求項1に記載の描
    画方法。
  5. 【請求項5】 第1の形状の図形をレンダリングすると
    き、前記第1の形状の図形を構成する画素に対応する値
    を、第1の方向に配列している画素ごとに算出する描画
    装置で、 前記第1の形状の図形においてレンダリングを開始する
    座標が、前記第1の方向の垂直な第2の方向において第
    2の形状の表示領域の外側である場合、レンダリングを
    開始する前記第2の方向の座標を、その座標に最も近
    い、前記第2の形状の表示領域内の前記第1の方向に配
    列している画素の前記第2の方向の座標に変更する変更
    手段を備えることを特徴とする描画装置。
  6. 【請求項6】 第1の形状の図形をレンダリングすると
    き、前記第1の形状の図形を構成する画素に対応する値
    を、第1の方向に配列している画素ごとに算出する描画
    方法で、 前記第1の形状の図形における前記第1の方向に配列し
    ている画素において、レンダリングを開始する画素の前
    記第1の方向の座標が、第2の形状の表示領域の外側で
    ある場合、レンダリングを開始する画素を、前記第1の
    方向に配列している画素のうちの、その画素に最も近い
    前記第2の形状の表示領域に含まれる画素に変更するこ
    とを特徴とする描画方法。
  7. 【請求項7】 前記第1の形状は、3角形であることを
    特徴とする請求項6に記載の描画方法。
  8. 【請求項8】 前記第2の形状は、長方形であり、 前記長方形の4辺のうち、対向する2辺は、前記第1の
    方向に平行であることを特徴とする請求項7に記載の描
    画方法。
  9. 【請求項9】 前記第1の方向に配列している画素にお
    ける、次にレンダリングする画素の座標が、前記第1の
    方向において前記第2の形状の表示領域の外側に位置す
    る場合、その第1の方向に配列している画素に対応する
    レンダリングを終了することを特徴とする請求項6に記
    載の描画方法。
  10. 【請求項10】 第1の形状の図形をレンダリングする
    とき、前記第1の形状の図形を構成する画素に対応する
    値を、第1の方向に配列している画素ごとに算出する描
    画装置で、 前記第1の形状の図形における前記第1の方向に配列し
    ている画素において、レンダリングを開始する画素の前
    記第1の方向の座標が、第2の形状の表示領域の外側で
    ある場合、レンダリングを開始する画素を、前記第1の
    方向に配列している画素のうちの、その画素に最も近い
    前記第2の形状の表示領域に含まれる画素に変更する変
    更手段を備えることを特徴とする描画装置。
JP8341057A 1996-12-20 1996-12-20 描画方法および描画装置 Withdrawn JPH10188003A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8341057A JPH10188003A (ja) 1996-12-20 1996-12-20 描画方法および描画装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8341057A JPH10188003A (ja) 1996-12-20 1996-12-20 描画方法および描画装置

Publications (1)

Publication Number Publication Date
JPH10188003A true JPH10188003A (ja) 1998-07-21

Family

ID=18342847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8341057A Withdrawn JPH10188003A (ja) 1996-12-20 1996-12-20 描画方法および描画装置

Country Status (1)

Country Link
JP (1) JPH10188003A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1294539C (zh) * 2002-06-03 2007-01-10 三菱电机株式会社 三角多边形描绘装置和三角多边形描绘方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1294539C (zh) * 2002-06-03 2007-01-10 三菱电机株式会社 三角多边形描绘装置和三角多边形描绘方法

Similar Documents

Publication Publication Date Title
JP3763136B2 (ja) 描画方法および描画装置
JP3738924B2 (ja) 描画装置および方法
JP3840014B2 (ja) グラフィックス表示システムの走査変換実施装置
US5877769A (en) Image processing apparatus and method
WO2006080115A1 (ja) 描画方法、画像生成装置、および電子情報機器
JP4707782B2 (ja) 画像処理装置およびその方法
US6501474B1 (en) Method and system for efficient rendering of image component polygons
JPH0660173A (ja) 画像を縮小する方法および装置
JPH1186029A (ja) 画像描画装置
WO2003009235A1 (fr) Procede de restitution
JPH09259290A (ja) 描画方法
JPH10188003A (ja) 描画方法および描画装置
US6636233B1 (en) Apparatus for processing two-dimensional images and method of doing the same
JP4378782B2 (ja) 映像機器
JPH11306366A (ja) グラフィック演算装置およびその方法
US20030071825A1 (en) Image rendering method
JP3335824B2 (ja) 特殊スクリーン効果用の陰極線管球制御器で用いられるマッピング装置
JP3191739B2 (ja) 多角形描画方法及び装置
JP3965705B2 (ja) ワイド画面データ出力方法及び装置
JP3688765B2 (ja) 描画方法およびグラフィックス装置
JPH11306381A (ja) グラフィック演算装置およびその方法
JPH04172497A (ja) 画像表示方式
JPH041356B2 (ja)
JPH10187413A (ja) 制御装置および方法
JPH11175739A (ja) 3次元図形表示処理装置及びその表示方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040302