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

描画装置および方法 Download PDF

Info

Publication number
JP3738924B2
JP3738924B2 JP34294696A JP34294696A JP3738924B2 JP 3738924 B2 JP3738924 B2 JP 3738924B2 JP 34294696 A JP34294696 A JP 34294696A JP 34294696 A JP34294696 A JP 34294696A JP 3738924 B2 JP3738924 B2 JP 3738924B2
Authority
JP
Japan
Prior art keywords
polygon
data
coordinate
vertex
calculated
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
JP34294696A
Other languages
English (en)
Other versions
JPH10188002A (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.)
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 JP34294696A priority Critical patent/JP3738924B2/ja
Priority to US08/995,871 priority patent/US5977984A/en
Publication of JPH10188002A publication Critical patent/JPH10188002A/ja
Application granted granted Critical
Publication of JP3738924B2 publication Critical patent/JP3738924B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、描画装置および方法に関し、特に、3次元空間におけるポリゴンの頂点のデータを、所定の表示領域に対応する座標系のデータに変換し、変換したデータに対応してポリゴンを描画する描画装置および方法に関する。
【0002】
【従来の技術】
最近の半導体技術の進歩に伴い、画像処理を行う演算装置の処理能力も向上している。
【0003】
所謂コンピュータグラフィクスにおいて3次元の物体をディスプレイに表示させる場合、所定の基本形状(例えば3角形)の複数の2次元図形(ポリゴン)を利用して、3次元の物体を表現することがある。なお、このような3次元の物体は、図5(A)に示すように、物体ごとに設定されるオブジェクト座標系において定義される。
【0004】
そして、例えば所定の応用プログラムに従って、その物体の動作に対応して動画が作成される場合、1画面ごとに、その画面を構成する物体やその背景などが描画されていく。
【0005】
このとき1画面ごとに、その画面を構成する物体に対応するポリゴンの3次元空間における各頂点のデータが、2次元の表示領域に対応するデバイス座標系におけるデータに変換された後、そのデータに基づいて、そのポリゴンがレンダリングされる。
【0006】
このときの変換においては、最初に、3次元のワールド座標系(図5(B))における各頂点の座標は、視点を原点とした視線座標系(図5(C))における座標に変換(透視変換)される。
【0007】
次に、表示領域に表示される視線座標系中の領域(空間)であるビューボリューム(View Volume)が設定される。このビューボリュームは、図6(A)に示すように視点を頂点とした4角錘の一部を取り出した6面体である。
【0008】
ここで、ポリゴンの各頂点がビューボリュームに位置するか否かの判定を簡単にするために、ビューボリュームを図6(B)に示すように直方体にする座標変換(クリップ変換)が行われる。
【0009】
そして、この直方体のビューボリュームでクリップ処理が行われた後、各頂点の座標が、表示領域に対応する2次元のデバイス座標系に座標変換(ビューポート変換)される。
【0010】
また、ポリゴンの各頂点の法線ベクトルが透視変換され、変換後のベクトルから、各頂点の色データが算出される。
【0011】
このように、ポリゴンの頂点の座標に対して、透視変換、クリップ変換、ビューポート変換が行われ、頂点の法線ベクトルから、頂点の色データが算出される。
【0012】
【発明が解決しようとする課題】
しかしながら、このように、1画面ごとにポリゴンの頂点のデータ(座標と色データ)が上述の演算により変換されるので、演算量が非常に多くなり、所定の処理速度で描画を行うようにする場合、その演算は描画処理の多くの部分を占めるので、それに対応した演算回路が必要となり、装置のコストの低減が困難であるという問題を有している。
【0013】
本発明は、このような状況に鑑みてなされたものであり、例えば動きの少ないのポリゴンの座標変換後のデータを保存しておき、それ以降の画面においては、そのデータを利用することにより、デバイス座標系における座標および色データを算出するときの演算量を減少させるようにするものである。
【0014】
【課題を解決するための手段】
請求項1に記載の描画装置は、所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系におけるポリゴンの頂点の座標データ、ポリゴンの表示位置のオフセット値、および、ポリゴンの頂点の色データを計算するか、あるいは、ポリゴンの表示位置のオフセット値だけを計算する第1の計算手段と、第1の計算手段により計算された座標データと色データを記憶する記憶手段と、第1の計算手段により計算された座標データと記憶手段に記憶されている座標データのうちのいずれかを選択する第1の選択手段と、第1の計算手段により計算された色データと記憶手段に記憶されている色データのうちのいずれかを選択する第2の選択手段と、第1の選択手段により選択された座標データと、第1の計算手段により計算されたオフセット値から、表示領域におけるポリゴンの頂点の座標値を計算する第2の計算手段と、第2の計算手段により計算されたポリゴンの頂点の座標値と、第2の選択手段により選択された色データに対応してポリゴンを描画する描画手段とを備えることを特徴とする。
【0015】
請求項5に記載の描画方法は、所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系におけるポリゴンの頂点の座標データ、ポリゴンの表示位置のオフセット値、および、ポリゴンの頂点の色データを計算するか、あるいは、ポリゴンの表示位置のオフセット値だけを計算する第1の計算ステップと、第1の計算ステップの処理により計算された座標データと記憶部に記憶されている座標データのうちのいずれかを選択する第1の選択ステップと、第1の計算ステップの処理により計算された色データと記憶部に記憶されている色データのうちのいずれかを選択する第2の選択ステップと、第1の選択ステップの処理により選択された座標データと、第1の計算ステップの処理により計算されたオフセット値から、表示領域におけるポリゴンの頂点の座標値を計算する第2の計算ステップと、所定の判定条件に対応して、第1の計算ステップの処理により計算された座標データと色データを所定の記憶部に記憶する記憶ステップと、第2の計算ステップの処理により計算されたポリゴンの頂点の座標値と、第2の選択ステップの処理により選択された色データに対応してポリゴンを描画する描画ステップとを含むことを特徴とする。
【0016】
請求項1に記載の描画装置においては、所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系におけるポリゴンの頂点の座標データ、ポリゴンの表示位置のオフセット値、および、ポリゴンの頂点の色データが計算されるか、あるいは、ポリゴンの表示位置のオフセット値だけが計算され、計算された座標データと色データが記憶され、計算された座標データと記憶されている座標データのうちのいずれかが選択され、計算された色データと記憶されている色データのうちのいずれかが選択される。そして、選択された座標データと、計算されたオフセット値から、表示領域におけるポリゴンの頂点の座標値が計算され、計算されたポリゴンの頂点の座標値と、選択された色データに対応してポリゴンが描画される。
【0017】
請求項5に記載の描画方法は、所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系におけるポリゴンの頂点の座標データ、ポリゴンの表示位置のオフセット値、および、ポリゴンの頂点の色データが計算されるか、あるいは、ポリゴンの表示位置のオフセット値だけが計算され計算された座標データと記憶部に記憶されている座標データのうちのいずれかが選択され計算された色データと記憶部に記憶されている色データのうちのいずれかが選択される。そして、選択された座標データと、計算されたオフセット値から、表示領域におけるポリゴンの頂点の座標値が計算され、所定の判定条件に対応して、計算された座標データと色データが所定の記憶部に記憶され計算されたポリゴンの頂点の座標値と、選択された色データに対応してポリゴンが描画される
【0018】
【発明の実施の形態】
図1は、本発明の描画装置の一実施の形態の構成を示している。メインプロセッサ1は、入出力部2を介して供給されるグラフィックスデータ、または、メインメモリ3に記憶されているポリゴンのグラフィックスデータをジオメトリ演算部4(第1の計算手段)に出力するようになされている。なお、このようなポリゴンのグラフィックスデータは、所定の応用プログラムに従って生成される。
【0019】
また、メインプロセッサ1は、そのような応用プログラムに従って、ジオメトリ演算部4に供給するデータに対応するポリゴンが、既にジオメトリ演算部4により演算された座標値および色データ(メインメモリ3に記憶されている(後述))を使用して描画されるか否かを指定する第1の制御信号と、ジオメトリ演算部4に供給するデータに対応するポリゴンの、ジオメトリ演算部4により演算された座標値および色データを、メインメモリ3に記憶させるか否かを指定する第2の制御信号とをジオメトリ演算部4に供給するようになされている。
【0020】
ジオメトリ演算部4は、メインプロセッサ1より供給された第1の制御信号に対応して、メインプロセッサ1より供給されたグラフィックスデータに対して座標変換、クリッピング処理、ライティング処理などを行い、処理後のグラフィックスデータ(ポリゴンレンダリングデータ)として、3角形のポリゴンの各頂点に対応する、座標データΔXd,ΔYd,ΔZdおよびオフセット値Xoffset,Yoffset,Zoffset(後述)、赤色、緑色、青色にそれぞれ対応する輝度値Cr,Cg,Cb、描画する画素の輝度値(RGB値)とディスプレイバッファ10に記憶されている画素の輝度値を混ぜ合わせる割合を表すブレンド係数α、テクスチャ座標値S,T,Q、および、フォグ係数Fを、第1および第2の制御信号とともにデータ保存回路14(第1の選択手段、第2の選択手段、第2の計算手段)に出力するようになされている。
【0021】
なお、テクスチャ座標値として、同次座標系における値S,T,Qが出力されるが、S/Q,T/Qにテクスチャサイズをそれぞれ乗じたものが、実際のテクスチャ座標として利用される。また、フォグ係数Fは、例えばZが大きく、その点における表示を、霧がかかったように表現するときに、所定のフォグカラーを混合する度合いを示す係数である。
【0022】
データ保存回路14は、ジオメトリ演算部4より供給されたブレンド係数α、テクスチャ座標値S,T,Q、および、フォグ係数FをそのままDDAセットアップ部5に出力するとともに、ジオメトリ演算部4より供給された第2の制御信号に従って、ジオメトリ演算部4より供給された座標データΔXd,ΔYd,ΔZdおよび輝度値(色データ)Cr,Cg,Cbを、バス15を介してメインメモリ3に記憶させるようになされている。
【0023】
さらに、データ保存回路14は、ジオメトリ演算部4より供給された第1の制御信号に従って、ジオメトリ演算部4より供給された座標データΔXd,ΔYd,ΔZd、および、メインメモリ3に記憶されている座標データΔXd,ΔYd,ΔZdのいずれかと、ジオメトリ演算部4より供給されたオフセット値Xoffset,Yoffset,Zoffsetとのそれぞれの和をデバイス座標系の座標値X,Y,Zとして計算し、その座標値を、ジオメトリ演算部4より供給された輝度値Cr,Cg,Cbまたはメインメモリ3に記憶されている輝度値Cr,Cg,CbとともにDDAセットアップ部5に出力するようになされている。
【0024】
レンダリング回路20(描画手段)は、供給された3角形の各頂点のポリゴンレンダリングデータX,Y,Z,Cr,Cg,Cb,α,S,T,Q,Fから、そのポリゴンに対応するビデオ信号を生成し、出力するようになされている。
【0025】
レンダリング回路20のDDAセットアップ部5は、供給された3角形の各頂点のポリゴンレンダリングデータX,Y,Z,Cr,Cg,Cb,α,S,T,Q,Fから、X方向に対するポリゴンレンダリングデータの変分(ΔZ/ΔX,ΔCr/ΔX,ΔCg/ΔX,ΔCb/ΔX,Δα/ΔX,ΔS/ΔX,ΔT/ΔX,ΔQ/ΔX,ΔF/ΔX)を算出するとともに、Y方向に対するポリゴンレンダリングデータの変分(ΔZ/ΔY,ΔCr/ΔY,ΔCg/ΔY,ΔCb/ΔY,Δα/ΔY,ΔS/ΔY,ΔT/ΔY,ΔQ/ΔY,ΔF/ΔY)を算出するようになされている。
【0026】
また、DDAセットアップ部5は、3角形(ポリゴン)の頂点の座標値より3角形の形状の種類の判別を行うとともに、描画開始点(レンダリング開始点)における各ポリゴンレンダリングデータの初期値を算出するようになされている。
【0027】
さらに、DDAセットアップ部5は、3角形のポリゴンの描画開始点に最も近いスパン(X方向に配列している画素の列)(後述)のY方向の座標値と同一の座標値を有する辺AC上の点に、ポリゴンの描画開始点の座標値を移動させた後、その座標値に対応する各ポリゴンレンダリングデータの初期値を算出し、X方向の各変分とともにDDA部6に出力するようになされている。
【0028】
DDA部6は、DDA(Digital Differential Analyzer)演算を行い、DDAセットアップ5より供給された、各ポリゴンレンダリングデータのX方向の変分と、各ポリゴンレンダリングデータの初期値から、まず、そのスパンの開始点の画素に対応する各ポリゴンレンダリングデータの値を算出し、次に、そのスパンの各画素に対応する座標値X,Yと、その座標におけるポリゴンレンダリングデータZ,Cr,Cg,Cb,α,S,T,Q,Fの値を順次算出し、テクスチャプロセッサ7に出力するようになされている。
【0029】
テクスチャプロセッサ7は、テクスチャバッファ9からテクスチャデータを読み出し、供給されたテクスチャ座標値S,TをQで除算し、テクスチャサイズで乗算して実際のテクスチャ座標値を算出するとともに、読み出したテクスチャデータから、実際のテクスチャ座標値S,Tに対応したテクスチャアドレスにおける輝度値と、テクスチャデータの混合比を表す係数(テクスチャのα値)を算出し、その係数に対応して、DDA部6より供給された輝度値と、テクスチャに対応する輝度値を混合するようになされている。
【0030】
さらに、テクスチャプロセッサ7は、フォグ係数Fに対応して所定のフォグカラーを混合し、生成された輝度値を、DDA部6より供給された座標値X,Yの画素に対応する輝度値として、座標値X,Y,Zおよびブレンド係数αとともにメモリインタフェース8に出力するようになされている。
【0031】
なお、テクスチャバッファ9は、MIPMAPなどの各レベルに対応したテクスチャデータを予め記憶している。
【0032】
メモリインタフェース8は、Zバッファ11のZ値を参照し、供給された画素が、以前に描画したものより手前にある場合、供給された座標値Zで、Zバッファ11のZ値を更新するとともに、供給された輝度値を、ディスプレイバッファ10における、その座標値(X,Y)に対応するアドレスに書き込むようになされている。
【0033】
なお、メモリインタフェース8は、αブレンドを行うように設定されている場合、供給されたブレンド係数αに対応して、ディスプレイバッファ10に記憶されている輝度値と、テクスチャプロセッサ7より供給された輝度値を混合して、生成された輝度値をディスプレイバッファ10に書き込む。
【0034】
CRT制御部12は、所定の水平および垂直同期周波数に同期して表示アドレスを発生し、メモリインタフェース8を制御して、その表示アドレスに対応する輝度値を、所定の数毎にまとめて転送させ、内蔵するFIFO部(図示せず)にそれらの値を一旦記憶し、所定の間隔でそのデータのインデックス値をRAMDAC13に出力するようになされている。
【0035】
RAMDAC13は、図示せぬRAM部とDAC(Digital/Analog Converter)部を有し、インデックス値に対応した輝度値をRAM部に予め記憶しており、CRT制御部12より供給されたインデックス値に対応する輝度値を、RAM部からDAC部に供給し、DAC部において、その輝度値をD/A変換し、アナログのビデオ信号(RGB信号)を所定の装置(図示せず)に出力するようになされている。
【0036】
次に、図1の描画装置の動作について説明する。
【0037】
最初に、メインプロセッサ1が、所定の応用プログラムに従って、ジオメトリ演算部4にポリゴンのデータをジオメトリ演算部4に出力する。このとき、メインプロセッサ1は、所定の応用プログラムに従って、そのポリゴンが、既にジオメトリ演算部4により演算された座標値および色データを使用して描画されるか否かを指定する第1の制御信号と、そのポリゴンの、ジオメトリ演算部4により演算された座標値および色データを、メインメモリ3に記憶させるか否かを指定する第2の制御信号とをジオメトリ演算部4に供給する。
【0038】
ここで、図2のフローチャートを参照して、ジオメトリ演算部4の動作を説明する。ステップS1において、ジオメトリ演算部4は、メインプロセッサ1より供給された第1の制御信号に応じて、供給されたデータに対応するポリゴンの各頂点の座標データΔXd,ΔYd,ΔZdと輝度値Cr,Cg,Cbを算出するか否かを判断し、座標データΔXd,ΔYd,ΔZdと輝度値Cr,Cg,Cbを算出すると判断した場合、ステップS2に進み、そうでない場合、ステップS12に進む。
【0039】
ステップS2において、ジオメトリ演算部4は、次式に従って、ワールド座標系におけるポリゴンの頂点の座標(Xm,Ym,Zm,1)(同次座標系)を、クリップ座標系における座標(Xc,Yc,Zc,Wc)(同次座標系)に変換(モデル−クリップ変換)する。なお、モデル−クリップ変換は、透視変換とクリップ変換を一度に行うものである。
【数1】
Figure 0003738924
【0040】
そして、ステップS3において、ジオメトリ演算部4は、座標変換した頂点が、ビューボリュームの範囲内に位置するか否かを、次に示す6つの条件をすべて満足するか否かで判断する。
Wc+Xc≧0
Wc−Xc≧0
Wc+Yc≧0
Wc−Yc≧0
Wc+Zc≧0
Wc−Zc≧0
【0041】
これらの条件のいずれかが満足されない場合、その頂点はビューボリュームの範囲外にあるので、ステップS5において、ポリゴンがクリップされる。クリップされたポリゴンの形状は3角形ではなくなるので、そのポリゴンは、複数の3角形のポリゴンに分割される。
【0042】
そして、このようにして生成されたクリップ座標系における座標(Xc,Yc,Zc,Wc)を、次式に従って、表示領域に対応する2次元のデバイス座標系における座標(X,Y,Z)に変換(ビューポート変換)することができる。
X=Xscale×Xc/Wc+Xoffset
Y=Yscale×Yc/Wc+Yoffset
Z=Zscale×Zc/Wc+Zoffset
【0043】
ここで、Xoffset、Yoffset、および、Zoffsetは、それぞれX、Y、および、Z方向のオフセット値であり、Xscale、Yscale、および、Zscaleは、クリップ座標系におけるそれぞれの方向の長さとデバイス座標系におけるその方向の長さの比率を表している。
【0044】
なお、このときのZ座標は奥行き方向の情報を表しており、表示領域における頂点の表示位置は、座標値X,Yで指定される。
【0045】
そこで、ステップS6において、ジオメトリ演算部4は、このオフセット値Xoffset,Yoffset,Zoffsetと、次式に示す座標データを算出する。
ΔXd=Xscale×Xc×InvWc
ΔYd=Yscale×Yc×InvWc
ΔZd=Zscale×Zc×InvWc
【0046】
ここで、InvWcは、Wcの逆数であり、次に示すように、例えばニュートンラフソン(Newton-Raphson)法を利用して算出される。
【0047】
まず、所定のルックアップテーブルを参照して、Wcの値に対応するニュートンラフソン法における初期値Inv0が設定される。次に、ニュートンラフソン法における反復演算を、次に示す2つの式に従って行うことにより、InvWcが算出される。なお、より精度の高い値を算出する場合においては、反復回数を増やせばよい。
Inv1 =Inv0×(2−Inv0×Wc)
InvWc=Inv1×(2−Inv1×Wc)
【0048】
そして、ステップS7において、ジオメトリ演算部4は、このようにして算出した座標データΔXd,ΔYd,ΔZdとオフセット値Xoffset,Yoffset,Zoffsetをデータ保存回路14に出力する。
【0049】
次に、ジオメトリ演算部4は、ステップS8において、ワールド座標系における、各頂点の法線ベクトル(Nxm,Nym,Nzm)を、次式に従って視線座標系のベクトル(Nxe,Nye,Nze)に座標変換(モデルビューイング変換)する。
【数2】
Figure 0003738924
【0050】
そして、ステップS9において、この視線座標系のベクトル(Nxe,Nye,Nze)を正規化するために、この視線座標系のベクトル(Nxe,Nye,Nze)の大きさ({(Nxe,Nye,Nze)・(Nxe,Nye,Nze)}1/2)の逆数を計算する。
【0051】
まず、ベクトル(Nxe,Nye,Nze)の自分自身との内積Len2を計算し、ルックアップテーブルを参照して、その値Len2に対応する初期値n0を設定して、ニュートンラフソン法による反復計算を、次式に従って行うことにより、ベクトル(Nxe,Nye,Nze)の大きさの逆数InvLenが計算される。
1 =0.5×n0×(3−n0 2×Len2)
InvLen=0.5×n1×(3−n1 2×Len2)
【0052】
そして、ステップS10において、ジオメトリ演算部4は、ライティング処理として、拡散光に対する、座標変換に伴う係数NVを次式に従って算出する。
NV=(Nxe,Nye,Nze)・(Vlx,Vly,Vlz)×InvLen
【0053】
また、反射光に対する、座標変換に伴う係数NHSを算出するために、まず、次式に従って値NHが算出される。
NH=(Nxt,Nyt,Nzt)・(Hlx,Hly,Hlz)×InvLen
【0054】
そして、反射光に対する、座標変換に伴う係数NHSは、所定の整数kに対応してNHのk乗に設定される。このとき、それほど精度が必要とされないので、2つのルックアップテーブルを参照して、次式にように、NHの値からNHSの値が算出される。
NHS=ExpLookup(round(LogLookup(round(NH)))×k)
【0055】
ここで、round(x)は、xを所定の精度で丸める処理を表している。さらに、LogLookup(x)は、xに対応する自然対数(ln(x))のルックアップテーブルの値を表し、ExpLookup(x)は、xに対応する指数関数(exp(x))のルックアップテーブルの値を表している。
【0056】
そして、輝度値Cr,Cg,Cbが、次式に従って算出される。
【数3】
Figure 0003738924
【0057】
ここで、ベクトル(Ar,Ag,Ab)は、環境光の各輝度値を表し、ベクトル(Dmr,Dmg,Dmb)は、拡散光の各輝度値を表し、ベクトル(Sr,Sg,Sb)は、反射光の各輝度値を表している。
【0058】
そして、ステップS11において、ジオメトリ演算部4は、算出した輝度値Cr,Cg,Cbをデータ保存回路14に出力する。
【0059】
このように、ステップS2乃至ステップS11において、ジオメトリ演算部4は、メインプロセッサ1より供給された第1の制御信号に対応して、グラフィックスデータに対して、座標変換、クリッピング処理、ライティング処理などを行い、3角形のポリゴンの各頂点に対応する、座標データΔXd,ΔYd,ΔZdおよびオフセット値Xoffset,Yoffset,Zoffset、輝度値Cr,Cg,Cbを、データ保存回路14に出力する。なお、この他に、ブレンド係数α、テクスチャ座標値S,T,Q、および、フォグ係数Fが、第1および第2の制御信号とともにデータ保存回路14に出力される。
【0060】
一方、ステップS12においては、ジオメトリ演算部4は、描画する物体(即ち、ポリゴン)の移動量(座標データおよび輝度値を記憶したときの画面におけるポリゴンの位置から今回描画する位置までの距離)からオフセット値Xoffset,Yoffset,Zoffsetだけを算出し、オフセット値Xoffset,Yoffset,Zoffsetを、ブレンド係数α、テクスチャ座標値S,T,Q、フォグ係数F、並びに、第1および第2の制御信号とともにデータ保存回路14に出力する。この場合、メインプロセッサ1より供給されるデータ量が少ないので、バス15の負荷が低減される。
【0061】
このようにして、ジオメトリ演算部4は、第1の制御信号に対応して、座標データΔXd,ΔYd,ΔZd、オフセット値Xoffset,Yoffset,Zoffset、および、輝度値Cr,Cg,Cb(ステップS2乃至ステップS11)、または、オフセット値Xoffset,Yoffset,Zoffsetだけ(ステップS12)を算出する。
【0062】
次に、図3のフローチャートを参照して、データ保存回路14の動作について説明する。ステップS21において、データ保存回路14は、ジオメトリ演算部4より供給された第1の制御信号に従って、メインメモリ3に記憶されている座標データΔXd,ΔYd,ΔZdおよび輝度値Cr,Cg,Cbを使用するか否かを判断し、それらのデータを使用する場合、ステップS22に進み、そうでない場合、ステップS24に進む。
【0063】
それらのデータを使用する場合、データ保存回路14は、ステップS22において、メインメモリ3に記憶されている座標データΔXd,ΔYd,ΔZdおよび輝度値Cr,Cg,Cbを読み出し、ステップS23において、ジオメトリ演算部4より供給されたオフセット値Xoffset,Yoffset,Zoffsetとのそれぞれの和(ΔXd+Xoffset、ΔYd+Yoffset、ΔZd+Zoffset)をデバイス座標系の座標値X,Y,Zとして計算し、その座標値を、メインメモリ3から読み出した輝度値Cr,Cg,CbとともにDDAセットアップ部5に出力する。
【0064】
一方、ステップS24においては、データ保存回路14は、ジオメトリ演算部4より供給された座標データΔXd,ΔYd,ΔZdと、オフセット値Xoffset,Yoffset,Zoffsetとのそれぞれの和をデバイス座標系の座標値X,Y,Zとして計算し、その座標値を、ジオメトリ演算部4より供給された輝度値Cr,Cg,CbとともにDDAセットアップ部5に出力する。
【0065】
そして、ステップS25において、データ保存回路14は、ジオメトリ演算部4より供給された第2の制御信号に従って、ジオメトリ演算部4より供給された座標データΔXd,ΔYd,ΔZdおよび輝度値Cr,Cg,Cbを、バス15を介してメインメモリ3に記憶させるか否かを判断し、その座標データおよび輝度値を記憶させると判断した場合、ステップS26において、それらの値を、バス15を介してメインメモリ3に記憶させる。一方、それらの値を記憶させないと判断した場合、ステップS26はスキップされる。
【0066】
このようにして、データ保存回路14は、第2の制御信号に応じて、ジオメトリ演算部4により演算されたデータをメインメモリ3に記憶させるとともに、第1の制御信号に応じて、メインメモリ3に記憶されているデータを読み出し、それらのデータに対応する座標値および輝度値をDDAセットアップ部5に出力する。
【0067】
なお、データ保存回路14は、この他、ジオメトリ演算部4より供給されたブレンド係数α、テクスチャ座標値S,T,Q、および、フォグ係数FをそのままDDAセットアップ部5に出力する。
【0068】
次に、レンダリング回路20のDDAセットアップ部5は、レンダリングの前処理として、まず、3角形のポリゴンの形状の判別を行う。このとき、DDAセットアップ部5は、3つの頂点のうち、Y方向の座標値が最も小さい頂点を頂点Aとし、Y方向の座標値が最も大きい頂点を頂点Cとし、残りの頂点を頂点Bとする。なお、3つの頂点のうち、Y方向の座標値が最も小さい頂点が2つある場合、DDAセットアップ部5は、それらの2つの頂点のうちのいずれか一方を頂点Aとし、他方を頂点Bとする。
【0069】
また、DDAセットアップ部5は、ポリゴン内の各画素におけるポリゴンレンダリングデータX,Y,Z,R,G,B,α,S,T,Q,Fの値を補間演算により算出するときに利用されるX方向およびY方向に対するポリゴンレンダリングデータの変分を、ポリゴンの3頂点のポリゴンレンダリングデータからそれぞれ算出する。
【0070】
各変分を算出した後、DDAセットアップ部5は、図4に示すように、頂点Aに最も近いスパン101に対応するY方向の座標値Y0と同一の座標値を有する辺AC上の点(X0,Y0)に、ポリゴンの描画開始点を一時的に移動させた後、その座標値に対応する各ポリゴンレンダリングデータの値を補間演算により算出し、それらのデータを、X方向の各変分とともにDDA部6に出力する。さらに、その後、DDAセットアップ部5は、各スパンに対応する辺AC上の点における各ポリゴンレンダリングデータの値を補間演算により算出していき、それらのデータをDDA部6に順次出力していく。なお、図4の各画素は、その画素の左下角の座標値で代表されている。
【0071】
そして、DDA部6は、DDA演算を行い、DDAセットアップ部5より供給されたデータに対応するスパンのレンダリング処理を行い、レンダリング処理後の各画素に対応するポリゴンレンダリングデータをテクスチャプロセッサ7に順次出力する。
【0072】
テクスチャプロセッサ7は、テクスチャバッファ9からテクスチャデータを読み出し、そのデータを利用して、DDA部6より供給されたテクスチャ座標値を、実際のテクスチャ座標値に変換し、実際のテクスチャ座標値S,Tに対応したテクスチャアドレスにおける輝度値と、テクスチャデータの混合比を表す係数(テクスチャのα値)を算出し、その係数に対応して、DDA部6より供給された輝度値と、テクスチャに対応する輝度値を混合する。
【0073】
さらに、テクスチャプロセッサ7は、テクスチャのα値に対応して混合された輝度値に、フォグ係数Fに対応して所定のフォグカラーを混合し、生成された輝度値を、DDA部6より供給された座標値X,Yの画素に対応する輝度値として、座標値X,Y,Zおよびブレンド係数αとともにメモリインタフェース8に出力する。
【0074】
そして、メモリインタフェース8は、Zバッファ11のZ値を読み出し、テクスチャプロセッサ7より供給された画素が以前に描画したものより手前にあるか否かを判断し、供給された画素が以前に描画したものより手前にある場合、供給された座標値Zで、Zバッファ11のZ値を更新するとともに、供給された輝度値を、ディスプレイバッファ10における、その座標に対応するアドレスに書き込む。
【0075】
一方、供給された画素が以前に描画したものより後ろにある場合、メモリインタフェース8は、供給されたデータを破棄する。
【0076】
なお、αブレンドを行うように設定されている場合、メモリインタフェース8は、テクスチャプロセッサ7より供給されたブレンド係数αに対応して、ディスプレイバッファ10に記憶されている輝度値と、供給された輝度値を、α:(1−α)の割合で混合して、生成した輝度値をディスプレイバッファ10に書き込む。
【0077】
そして、ディスプレイバッファ10に書き込まれた輝度値は、CRT制御部12により水平および垂直同期周波数に同期して発生される表示アドレスに対応して、CRT制御部12にメモリインタフェース8を介して転送され、CRT制御部12のFIFO部に一旦記憶される。そして、その輝度値に対応するインデックス値が、所定の間隔でRAMDAC13に出力され、RAMDAC13から、そのインデックス値に対応した輝度値をD/A変換したアナログビデオ信号(RGB信号)が所定の装置(図示せず)に出力される。
【0078】
以上のように、以前に演算したデータを利用して、デバイス座標系における所定のポリゴンの頂点の座標値および色データが算出され、それらのデータに従って、ポリゴンがレンダリングされる。
【0079】
なお、例えば視線が変化しても、視点から遠くに位置する物体は、表示領域内をほとんど平行移動するだけであるので、このような物体に対応するポリゴンの頂点のデータをメインメモリ3に記憶させておくことにより、それ以降の画面におけるその物体の描画の際にそのデータを利用することができる。
【0080】
また、頂点のデータが記憶されるポリゴンは、例えばデータベースを利用して応用プログラムにより指定されるようにしてもよいし、デバイス座標系における座標値Z(Z値)(視点からの距離を表す)に応じて指定されるようにしてもよい。即ち、Z値が大きい場合、視点からそのポリゴンの頂点までの距離が長いことになるので、上述の理由で、以前に演算したデータを利用することができる。
【0081】
データベースを利用する場合、例えば、応用プログラムを作成するときに、動作の少ない物体をデータベースに予め登録しておく。
【0082】
あるいは、ワールド座標系における物体の移動量(ポリゴンの頂点の各方向における変位量)に応じて、記憶されるポリゴンが指定されるようにしてもよい。
【0083】
さらに、表示領域における背景を描画するときも、上述のオフセット値を変更するだけでよい場合が多いので、背景に対応するポリゴンのデータを記憶し、再利用するようにしてもよい。
【0084】
なお、上記実施の形態においては、バス15を介してメインメモリ3にポリゴンのデータを記憶させるようにしているが、データ保存回路14にRAM(SRAM、DRAMなど)を設けるか、あるいは、所定のRAMをデータ保存回路14に接続し、そのRAMに、ポリゴンのデータを記憶させるようにしてもよい。
【0085】
【発明の効果】
以上のごとく、請求項1に記載の描画装置および請求項5に記載の描画方法によれば、所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系におけるポリゴンの頂点の座標データ、表示位置のオフセット値、および、ポリゴンの頂点の色データを計算するか、あるいは、表示位置のオフセット値だけを計算した後、計算した座標データと記憶部に記憶されている座標データのいずれかと、計算したオフセット値から、表示領域におけるポリゴンの頂点の座標値を計算し、所定の判定条件に対応して、計算した座標データと色データを所定の記憶部に記憶し、計算した座標値と、選択した座標データに対応する色データを利用して、そのポリゴンを描画するようにしたので、デバイス座標系におけるポリゴンの座標値および色データの算出の際の演算量を低減することができる。
【図面の簡単な説明】
【図1】本発明の描画装置の一実施の形態の構成を示すブロック図である。
【図2】ジオメトリ演算部4の動作について説明するフローチャートである。
【図3】データ保存回路14の動作について説明するフローチャートである。
【図4】ポリゴンの一例を示す図である。
【図5】物体を表現するときの各座標系を示す図である。
【図6】ビューボリュームの一例を示す斜視図である。
【符号の説明】
1 メインプロセッサ, 2 入出力部, 3 メインメモリ, 4 ジオメトリ演算部, 5 DDAセットアップ部, 6 DDA部, 7 テクスチャプロセッサ, 8 メモリインタフェース, 9 テクスチャバッファ, 10ディスプレイバッファ, 11 Zバッファ, 12 CRT制御部, 13RAMDAC,14 データ保存回路, 20 レンダリング回路

Claims (8)

  1. 3次元空間におけるポリゴンの頂点のデータを、所定の表示領域に対応する座標系のデータに変換し、変換したデータに対応してポリゴンを描画する描画装置において、
    所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系における前記ポリゴンの頂点の座標データ、前記ポリゴンの表示位置のオフセット値、および、前記ポリゴンの頂点の色データを計算するか、あるいは、前記ポリゴンの表示位置のオフセット値だけを計算する第1の計算手段と、
    前記第1の計算手段により計算された座標データと色データを記憶する記憶手段と、
    前記第1の計算手段により計算された座標データと前記記憶手段に記憶されている座標データのうちのいずれかを選択する第1の選択手段と、
    前記第1の計算手段により計算された色データと前記記憶手段に記憶されている色データのうちのいずれかを選択する第2の選択手段と、
    前記第1の選択手段により選択された座標データと、前記第1の計算手段により計算されたオフセット値から、前記表示領域における前記ポリゴンの頂点の座標値を計算する第2の計算手段と、
    前記第2の計算手段により計算された前記ポリゴンの頂点の座標値と、前記第2の選択手段により選択された色データに対応して前記ポリゴンを描画する描画手段と
    を備えることを特徴とする描画装置。
  2. 前記第1の選択手段は、3次元空間におけるポリゴンの頂点の座標データから算出されるその頂点の奥行き情報の値に対応して、前記第1の計算手段により計算された座標データと前記記憶手段に記憶されている座標データのうちのいずれかの座標データを選択し、
    前記第2の選択手段は、前記奥行き情報の値に対応して、前記第1の計算手段により計算された色データと前記記憶手段に記憶されている色データのうちのいずれかの色データを選択する
    ことを特徴とする請求項1に記載の描画装置。
  3. 前記第1の選択手段は、3次元空間におけるポリゴンの頂点の移動量に対応して、前記第1の計算手段により計算された座標データと前記記憶手段に記憶されている座標データのうちのいずれかの座標データを選択し、
    前記第2の選択手段は、前記移動量に対応して、前記第1の計算手段により計算された色データと前記記憶手段に記憶されている色データのうちのいずれかの色データを選択する
    ことを特徴とする請求項1に記載の描画装置。
  4. 前記記憶手段は、予め設定されているポリゴンの頂点の座標データと色データを記憶し、
    前記第1の選択手段は、前記記憶手段に記憶されているその頂点に対応する座標データを選択し、
    前記第2の選択手段は、前記記憶手段に記憶されているその頂点に対応する色データを選択する
    ことを特徴とする請求項1に記載の描画装置。
  5. 3次元空間におけるポリゴンの頂点のデータを、所定の表示領域に対応する座標系のデータに変換し、変換したデータに対応してポリゴンを描画する描画方法において、
    所定の判定条件に対応して、3次元空間におけるポリゴンの頂点の座標データおよび色データから、所定の表示領域に対応する座標系における前記ポリゴンの頂点の座標データ、前記ポリゴンの表示位置のオフセット値、および、前記ポリゴンの頂点の色データを計算するか、あるいは、前記ポリゴンの表示位置のオフセット値だけを計算する第1の計算ステップと、
    前記第1の計算ステップの処理により計算された座標データと記憶部に記憶されている座標データのうちのいずれかを選択する第1の選択ステップと、
    前記第1の計算ステップの処理により計算された色データと前記記憶部に記憶されている色データのうちのいずれかを選択する第2の選択ステップと、
    前記第1の選択ステップの処理により選択された座標データと、前記第1の計算ステップの処理により計算されたオフセット値から、前記表示領域における前記ポリゴンの頂点の座標値を計算する第2の計算ステップと、
    所定の判定条件に対応して、前記第1の計算ステップの処理により計算された座標データと色データを所定の前記記憶部に記憶する記憶ステップと、
    前記第2の計算ステップの処理により計算された前記ポリゴンの頂点の座標値と、前記第2の選択ステップの処理により選択された色データに対応して前記ポリゴンを描画する描画ステップと
    含むことを特徴とする描画方法。
  6. 前記第1の選択ステップの処理は、3次元空間におけるポリゴンの頂点の座標データから算出されるその頂点の奥行き情報の値に対応して、前記第1の計算ステップの処理により計算された座標データと前記記憶部に記憶されている座標データのうちのいずれかの座標データを選択し、
    前記第2の選択ステップの処理は、前記奥行き情報の値に対応して、前記第2の計算ステップの処理により計算された色データと前記記憶部に記憶されている色データのうちのいずれかの色データを選択する
    ことを特徴とする請求項5に記載の描画方法。
  7. 前記第1の選択ステップの処理は、3次元空間におけるポリゴンの頂点の移動量に対応して、前記第1の計算ステップの処理により計算された座標データと前記記憶部に記憶されている座標データのうちのいずれかの座標データを選択し、
    前記第2の選択ステップの処理は、前記移動量に対応して、前記第1の計算ステップの処理により計算された色データと前記記憶部に記憶されている色データのうちのいずれかの色データを選択する
    ことを特徴とする請求項5に記載の描画方法。
  8. 前記記憶ステップの処理は、予め設定されているポリゴンの頂点の座標データと色データを前記記憶部に記憶し、
    前記第1の選択ステップの処理は、前記記憶部に記憶されているその頂点に対応する座標データを選択し、
    前記第2の選択ステップの処理は、前記記憶部に記憶されているその頂点に対応する色データを選択する
    ことを特徴とする請求項5に記載の描画方法。
JP34294696A 1996-12-24 1996-12-24 描画装置および方法 Expired - Fee Related JP3738924B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP34294696A JP3738924B2 (ja) 1996-12-24 1996-12-24 描画装置および方法
US08/995,871 US5977984A (en) 1996-12-24 1997-12-22 Rendering apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34294696A JP3738924B2 (ja) 1996-12-24 1996-12-24 描画装置および方法

Publications (2)

Publication Number Publication Date
JPH10188002A JPH10188002A (ja) 1998-07-21
JP3738924B2 true JP3738924B2 (ja) 2006-01-25

Family

ID=18357746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34294696A Expired - Fee Related JP3738924B2 (ja) 1996-12-24 1996-12-24 描画装置および方法

Country Status (2)

Country Link
US (1) US5977984A (ja)
JP (1) JP3738924B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6518974B2 (en) * 1999-07-16 2003-02-11 Intel Corporation Pixel engine
US20030142107A1 (en) * 1999-07-16 2003-07-31 Intel Corporation Pixel engine
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US20050086687A1 (en) * 1999-12-16 2005-04-21 Microsoft Corporation Methods and systems for managing viewing of multiple live electronic presentations
JP4568950B2 (ja) * 2000-02-29 2010-10-27 ソニー株式会社 グラフィックス描画装置
JP2001283254A (ja) 2000-03-31 2001-10-12 Mitsubishi Electric Corp 3次元グラフィックス描画装置およびその方法
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
JP2003132347A (ja) * 2001-10-26 2003-05-09 Sony Corp 画像処理装置
JP3792149B2 (ja) * 2001-11-12 2006-07-05 任天堂株式会社 画像処理装置および画像処理プログラム
JP4052831B2 (ja) 2001-12-19 2008-02-27 株式会社ルネサステクノロジ レンダリング処理装置およびレンダリング処理方法
JP4133369B2 (ja) * 2003-01-27 2008-08-13 株式会社リコー 画像処理装置、方法及びプログラム
US20050134608A1 (en) * 2003-12-19 2005-06-23 Texas Instruments Incorporated Method, and related system, for overlaying a graphics object on a digital picture
KR20080051302A (ko) * 2006-12-05 2008-06-11 삼성전자주식회사 사용자 단말장치 및 영상표시장치 그리고 그들의 광원 조정방법
US20100231586A1 (en) * 2009-03-13 2010-09-16 Zebra Imaging, Inc. Processing Graphics Primitives in an Epsilon View Volume
US20100231585A1 (en) * 2009-03-13 2010-09-16 Zebra Imaging, Inc. Systems and Methods for Processing Graphics Primitives

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272684A (ja) * 1989-04-14 1990-11-07 Ibm Japan Ltd 画像処理装置およびそのスパン・データ生成装置
JPH05153581A (ja) * 1991-12-02 1993-06-18 Seiko Epson Corp 顔画像符号化方式
US5748195A (en) * 1992-10-29 1998-05-05 International Business Machines Corporation Method and means for evaluating a tetrahedral linear interpolation function
JP3359134B2 (ja) * 1993-12-27 2002-12-24 キヤノン株式会社 色信号処理装置
CN1114456C (zh) * 1994-06-28 2003-07-16 世嘉企业股份有限公司 游戏装置及游戏的重放方法
JP3029553B2 (ja) * 1995-05-22 2000-04-04 株式会社ハドソン 3次元図形処理装置
US5761392A (en) * 1995-06-06 1998-06-02 Apple Computer, Inc. Process of making two adjacent uniformly colored objects appear with a diminished gap in between
US5774126A (en) * 1995-11-27 1998-06-30 Microsoft Corporation Method and apparatus for dynamically changing the color depth of objects displayed in a computer system

Also Published As

Publication number Publication date
JPH10188002A (ja) 1998-07-21
US5977984A (en) 1999-11-02

Similar Documents

Publication Publication Date Title
JP3738924B2 (ja) 描画装置および方法
JP3763136B2 (ja) 描画方法および描画装置
JP4160261B2 (ja) 画素ごとのmipマッピングおよび三線フィルタリングの改良された方法および装置
US5877769A (en) Image processing apparatus and method
JP3675488B2 (ja) 線形補間を用いて非同次2次遠近テクスチャマッピング座標を決定する回路
JPH0916806A (ja) 立体画像処理装置
JPH07254072A (ja) テクスチャマッピング方法及び装置
JP2000228779A (ja) 画像処理装置およびその方法
JP3278501B2 (ja) 画像処理装置および方法
EP0676724A2 (en) Texture mapping method and image processing apparatus
JP3979162B2 (ja) 画像処理装置およびその方法
US6563507B1 (en) Storage circuit control device and graphic computation device
EP0642102A1 (en) Apparatus and method for image processing
JP2003085578A (ja) ゲーム情報、情報記憶媒体、及びゲーム装置
US6476818B1 (en) Storage circuit control device and graphic computation device
JPH11306366A (ja) グラフィック演算装置およびその方法
JP4042204B2 (ja) グラフィック演算装置およびその方法
JP2001283254A (ja) 3次元グラフィックス描画装置およびその方法
JPH07272000A (ja) テクスチャマッピング装置
JPH07105404A (ja) 立体画像処理装置及びその処理方法
JPH05342368A (ja) 3次元画像生成方法及び装置
JP2003187260A (ja) 描画処理プログラム、描画処理プログラムを記録した記録媒体、描画処理装置及び方法
JPH05298455A (ja) テクスチャマッピング装置
JP4635379B2 (ja) 画像処理装置
JP4224887B2 (ja) 信号処理装置および画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051014

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051027

LAPS Cancellation because of no payment of annual fees