JP3268484B2 - シェーディング方法およびシェーディング装置 - Google Patents

シェーディング方法およびシェーディング装置

Info

Publication number
JP3268484B2
JP3268484B2 JP29840895A JP29840895A JP3268484B2 JP 3268484 B2 JP3268484 B2 JP 3268484B2 JP 29840895 A JP29840895 A JP 29840895A JP 29840895 A JP29840895 A JP 29840895A JP 3268484 B2 JP3268484 B2 JP 3268484B2
Authority
JP
Japan
Prior art keywords
area
luminance
minute
shading
brightness
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
JP29840895A
Other languages
English (en)
Other versions
JPH08297749A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP29840895A priority Critical patent/JP3268484B2/ja
Priority to TW085102107A priority patent/TW335466B/zh
Priority to PCT/JP1996/000449 priority patent/WO1996027168A1/ja
Priority to KR1019970706004A priority patent/KR100448724B1/ko
Priority to US08/894,786 priority patent/US6433782B1/en
Publication of JPH08297749A publication Critical patent/JPH08297749A/ja
Application granted granted Critical
Publication of JP3268484B2 publication Critical patent/JP3268484B2/ja
Priority to US10/175,805 priority patent/US6806875B2/en
Priority to US10/947,275 priority patent/US7064756B2/en
Priority to US11/432,350 priority patent/US20060202992A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像表示装置の3
次元図形発生方式に係り、特に、図形にスポットライト
やハイライトの効果を含む現実感のある陰影をつけるシ
ェーディング方法およびシェーディング装置に関する。
【0002】
【従来の技術】曲面の表現や場所により方向や強度が変
化する光を表現する技術としては、「Computer Graphic
s:Principle and Practice」を初めとするコンピュー
タグラフィックスの解説書等に記載されているPhong シ
ェーディングが有名である。Phong シェーディングは、
平面の組み合わせで表現された立体図形の表面を滑らか
にシェーディング(陰影付け)するものである。この方式
では、まず、立体図形のモデリング段階で定義された各
頂点における法線ベクトルの値を用いて、補間により、
表示画素に対応する平面上の点における法線ベクトルを
求める。次に、この法線ベクトルを元にその点での光の
当たり具合を計算し、陰影付けする。
【0003】法線補間の方法については、上記解説書に
記載のように、ベクトルの各成分をそれぞれ補間した後
に正規化する手法のほかに、特開平2−202681号
公報に記載のように、回転行列を用いた角度補間を用い
る手法も知られている。この従来技術は、補間後の幾何
学的ベクトルの正規化処理を省略するため、回転行列を
用いて角度補間を実行することを提案している。この方
法では、補間後の幾何学的ベクトルの正規化処理を省く
ことができる。
【0004】
【発明が解決しようとする課題】ところが、上記解説書
の従来技術では、モデリングのみによってしか定義でき
ない法線ベクトルを補間で求めることに主眼が置かれて
おり、実際の平面上の点の輝度計算を簡略化するための
配慮は、全くなされていなかった。すなわち、輝度計算
には不可欠の光線の計算は、その都度正確に再計算する
必要があった。一般に光線のベクトルは、平行光源のよ
うな特殊な場合を除いては、平面上で線形性を保持して
いないから、単なる補間では、期待する光線ベクトルと
は全く異なる結果が得られてしまう。また、法線の補間
自体も複雑である。上記解説書の従来例では、補間後の
正規化処理を必要とする。
【0005】スパン毎に両端における幾何学的ベクトル
値から回転行列およびその変化分を求める必要があり、
処理が複雑となり、しかも、補間パラメータ計算の頻度
も高かった。また、一定の法線ベクトルを基準として、
回転行列を生成することを前提としているので、図形内
において法線ベクトルが一定でない場合、すなわち、1
つの図形で曲面を表現した場合には、効果がなかった。
【0006】一方、特許公報の従来例では、スパン毎に
両端における幾何学的ベクトル値から回転行列およびそ
の変化分を求める必要がある。また、一定の法線ベクト
ルを基準として回転行列を生成することを前提としてお
り、図形内で法線ベクトルが一定でない場合、すなわ
ち、1つの図形で曲面を表現した場合には、効果がなか
った。
【0007】さらに、両方の従来例は、処理が複雑であ
り、しかも、補間パラメータ計算の頻度も高かった。
【0008】本発明の目的は、少ないハードウェア量と
少ない図形数でも、スポットライトやハイライトを高速
かつ正確に表現できるシェーディング方法およびシェー
ディング装置を提供することである。
【0009】
【課題を解決するための手段】本発明は、上記目的を達
成するために、少なくとも1つの画像表示部へのインタ
ーフェース回路と画像表示部に表示する画像を記憶する
少なくとも1つの画像データ格納部と画像データを構成
する図形を発生する少なくとも1つの図形発生部とを有
する画像表示装置内で、図形を構成する各画素の輝度を
図形毎に与えられる図形の各頂点におけるパラメータを
図形内で補間することにより求めるシェーディング方法
において、各頂点におけるパラメータとして複数の幾何
学的ベクトルを与え、複数の幾何学的ベクトルを図形内
で補間し、補間により発生させた複数の幾何学的ベクト
ルを用いて光源毎に図形内の輝度成分を逐次計算し、光
源毎に逐次計算された前記輝度成分を加算して輝度を計
算するシェーディング方法を提案するものである。
【0010】図形内各微小領域の輝度計算に寄与する光
源が複数存在する場合に、微小領域を光源数以上の複数
画素により構成し、各光源毎に行われる幾何ベクトルを
用いた領域の輝度計算を微小領域内で1回ずつとし、
記1回ずつの計算結果を対応する画素に反映することに
より各画素当りの輝度計算回数を1回以下として実質的
に単一の輝度計算手段および単一光源相当の輝度計算時
間内に微小領域毎に輝度を計算する。
【0011】光源毎に1画素ずつずれた微小領域区分を
定義し、各微小領域の先頭画素発生時に光源に対応する
輝度を計算し、求められた輝度を微小領域内画素の光源
に対応する輝度として複数光源の輝度計算と画素の発生
処理とをパイプライン化し、微小領域毎に輝度を計算す
る。
【0012】微小領域としてラスタ方向の1次元配列を
とり、画素発生順をラスタ方向としてメモリアクセス制
御を単純化し、微小領域毎に輝度を計算する。
【0013】微小領域としてタイル状の2次元配列をと
り、画素発生順をジグザグとして微小領域をコンパクト
にし、微小領域毎に輝度を計算する。
【0014】いずれの場合も、頂点パラメータとしての
幾何学的ベクトルを極座標系で与え、3次元ベクトルの
3つのパラメータを2つで表現して補間間後のベクトル
の正規化処理を省略し、微小領域毎に輝度を計算する。
【0015】複数の幾何学的ベクトルの補間による極座
標値の更新を微小領域毎に一成分のみとし、微小領域毎
に更新する成分を交代し、極座標におけるベクトル間の
コサイン計算時に必要となる成分毎のコサイン計算手段
を単一化し、微小領域毎に輝度を計算する。
【0016】複数の幾何学的ベクトルをその特徴を保存
しつつ簡略化した別の座標系に写像し、画素計算部にお
ける演算量を少なくし、微小領域毎に輝度を計算する。
【0017】図形内各微小領域の輝度計算に寄与する光
源が複数存在する場合に、微小領域を光源数以上の複数
画素により構成し、各光源毎に行われる幾何ベクトルを
用いた領域の輝度計算を微小領域内で1回ずつとし、
記1回ずつの計算結果を対応する画素に反映することに
より画素当りの輝度計算回数を1回以下として実質的に
単一の輝度計算手段および単一光源相当の輝度計算時間
内に微小領域毎に輝度を計算する。
【0018】光源毎に1画素ずつずれた微小領域区分を
定義し、各微小領域の先頭画素発生時に光源に対応する
輝度を計算し、求められた輝度を微小領域内画素の光源
に対応する輝度として複数光源の輝度計算と画素の発生
処理とをパイプライン化し、微小領域毎に輝度を計算す
る。
【0019】微小領域としてラスタ方向の1次元配列を
とり、画素発生順をラスタ方向としメモリアクセス制御
を単純化し、微小領域毎に輝度を計算する。
【0020】微小領域としてタイル状の2次元配列をと
り、画素発生順をジグザグとして微小領域をコンパクト
にし、微小領域毎に輝度を計算する。
【0021】複数の幾何学的ベクトルの補間による極座
標値の更新を微小領域毎に一成分のみとし、微小領域毎
に更新する成分を交代することにより、極座標における
ベクトル間のコサイン計算時に必要となる成分毎のコサ
イン計算手段を単一化し、微小領域毎に輝度を計算す
る。
【0022】輝度の成分毎にその値を保持するメモリ領
域と対応する光源に対して影の領域にあることを示すマ
スク情報を保持するメモリ領域とを描画領域とは別に光
源毎に持ち、マスク情報を参照し、表示時に影領域であ
る場合には、描画領域から成分毎輝度値を減じて影を表
示し、微小領域毎に輝度を計算する。
【0023】輝度の成分を保持するメモリ領域のみなら
ず、輝度の成分を加算して描画領域の輝度を計算したと
きのオーバーフロー値をも記憶し、オーバーフロー時に
も正確に影領域の輝度を再現し、微小領域毎に輝度を計
算する。
【0024】輝度の成分毎にその値を保持するメモリ領
域と対応する光源に対して影の領域にあることを示すマ
スク情報を保持するメモリ領域とを描画領域の複数画素
に対して一つだけ対応させ、付加情報によるメモリ容量
増加を低減し、微小領域毎に輝度を計算する。
【0025】描画領域の横幅が2のべき乗に満たない
時、横幅から2のべき乗マイナス1の領域に付加情報を
格納し、微小領域毎に輝度を計算する。
【0026】奥行き情報を格納するメモリ領域へは奥行
きが大きいほど、分解能が低くなるようなデータフォー
マットで情報を記録し、微小領域毎に輝度を計算する。
【0027】本発明は、また、上記目的を達成するため
に、少なくとも1つの画像表示部へのインターフェース
回路と画像表示部に表示する画像のデータを記憶する少
なくとも1つの画像データ格納部と画像を構成する図形
を発生する少なくとも1つの図形発生部とを有する画像
表示装置内で、図形を構成する各画素の輝度を図形毎に
与えられる図形の各頂点におけるパラメータを図形内で
補間して求めるシェーディング装置において、各頂点に
おけるパラメータとして複数の幾何学的ベクトルを与え
る手段と、複数の幾何学的ベクトルを図形内で補間する
手段と、補間により発生させた複数の幾何学的ベクトル
を用いて光源毎に図形内の輝度成分を逐次計算し、光源
毎に逐次計算された前記輝度成分を加算して輝度を計算
する手段とを備え、微小領域毎に輝度を計算するシェー
ディング装置を提案するものである。
【0028】シェーディング装置においては、図形内各
微小領域の輝度計算に寄与する光源が複数存在する場合
に、微小領域を光源数以上の複数画素により構成し、各
光源毎に行われる幾何ベクトルを用いた領域の輝度計算
を微小領域内で1回ずつとし、前記1回ずつの計算結果
を対応する画素に反映することにより各画素当りの輝度
計算回数を1回以下として実質的に単一の輝度計算手段
および単一光源相当の輝度計算時間内に微小領域毎に輝
度を計算する。
【0029】シェーディング装置においては、光源毎に
1画素ずつずれた微小領域区分を定義し、各微小領域の
先頭画素発生時に光源に対応する輝度を計算し、求めら
れた輝度を微小領域内画素の光源に対応する輝度として
複数光源の輝度計算と画素の発生処理とをパイプライン
化し、微小領域毎に輝度を計算する。
【0030】シェーディング装置においては、微小領域
としてラスタ方向の1次元配列をとり、画素発生順をラ
スタ方向としてメモリアクセス制御を単純化し、微小領
域毎に輝度を計算する。
【0031】シェーディング装置においては、微小領域
としてタイル状の2次元配列をとり、画素発生順をジグ
ザグとして微小領域をコンパクトにし、微小領域毎に輝
度を計算する。
【0032】シェーディング装置においては、頂点パラ
メータとしての幾何学的ベクトルを極座標系で与え、3
次元ベクトルの3つのパラメータを2つで表現し、補間
後のベクトルの正規化処理を削減し、微小領域毎に輝度
を計算する。
【0033】シェーディング装置においては、複数の幾
何学的ベクトルの補間による極座標値の更新を微小領域
毎に一成分のみとし、微小領域毎に更新する成分を交代
し、極座標におけるベクトル間のコサイン計算時に必要
となる成分毎のコサイン計算手段を単一化し、微小領域
毎に輝度を計算する。
【0034】シェーディング装置においては、複数の幾
何学的ベクトルをその特徴を保存しつつ簡略化した別の
座標系に写像し、画素計算部における演算量を少なく
し、微小領域毎に輝度を計算する。
【0035】シェーディング装置においては、図形内各
微小領域の輝度計算に寄与する光源が複数存在する場合
に、微小領域を光源数以上の複数画素により構成し、各
光源毎に行われる幾何ベクトルを用いた領域の輝度計算
を微小領域内で1回ずつとし、前記1回ずつの計算結果
を対応する画素に反映することにより画素当りの輝度計
算回数を1回以下として実質的に単一の輝度計算手段お
よび単一光源相当の輝度計算時間内に微小領域毎に輝度
を計算する。
【0036】シェーディング装置においては、光源毎に
1画素ずつずれた微小領域区分を定義し、各微小領域の
先頭画素発生時に光源に対応する輝度を計算し、求めら
れた輝度を微小領域内画素の光源に対応する輝度として
複数光源の輝度計算と画素の発生処理とをパイプライン
化し、微小領域毎に輝度を計算する。
【0037】シェーディング装置においては、微小領域
としてラスタ方向の1次元配列をとり、画素発生順をラ
スタ方向としメモリアクセス制御を単純化し、微小領域
毎に輝度を計算する。
【0038】シェーディング装置においては、微小領域
としてタイル状の2次元配列をとり、画素発生順をジグ
ザグとして微小領域をコンパクトにし、微小領域毎に輝
度を計算する。
【0039】シェーディング装置においては、複数の幾
何学的ベクトルの補間による極座標値の更新を微小領域
毎に一成分のみとし、微小領域毎に更新する成分を交代
し、極座標におけるベクトル間のコサイン計算時に必要
となる成分毎のコサイン計算手段を単一化し、微小領域
毎に輝度を計算する。
【0040】シェーディング装置においては、輝度の成
分毎にその値を保持するメモリ領域と対応する光源に対
して影の領域にあることを示すマスク情報を保持するメ
モリ領域とを描画領域とは別に光源毎に持ち、マスク情
報を参照することにより表示時に影領域である場合には
描画領域から成分毎輝度値を減じて影を表示し、微小領
域毎に輝度を計算する。
【0041】シェーディング装置においては、輝度の成
分を保持するメモリ領域のみならず、輝度の成分を加算
して描画領域の輝度を計算したときのオーバーフロー値
をも記憶することによりオーバーフロー時にも正確に影
領域の輝度を再現し、微小領域毎に輝度を計算する。
【0042】シェーディング装置においては、輝度の成
分毎にその値を保持するメモリ領域と対応する光源に対
して影の領域にあることを示すマスク情報を保持するメ
モリ領域とを描画領域の複数画素に対して一つだけ対応
させ、付加情報によるメモリ容量増加を低減し、微小領
域毎に輝度を計算する。
【0043】シェーディング装置においては、描画領域
の横幅が2のべき乗に満たない時、横幅から2のべき乗
マイナス1の領域に付加情報を格納し、微小領域毎に輝
度を計算する。
【0044】シェーディング装置においては、奥行き情
報を格納するメモリ領域へは奥行きが大きいほど、分解
能が低くなるようなデータフォーマットで情報を記録
し、微小領域毎に輝度を計算する。
【0045】本発明においては、法線の向きおよび光線
の向きを平面上で線形となるパラメータで表現した極座
標系または正規モデル座標系を定義し、この座標系で簡
易に輝度を計算するので、図形の頂点に与えられるパラ
メータとして図形固有の基準ベクトルを用いずに、法線
ベクトルも補間でき、曲面を表現する場合にも柔軟に対
応できる。
【0046】したがって、滑らかなシェーディングやス
ポットライトの表現をより少ない計算量で実現するため
に、法線のみならず、光線のベクトルも、同時に、しか
も、平面の線型性を保ちながら補間できる。結果とし
て、疑似的な曲面の表現やスポットライト等の光の表現
を、正規モデル座標系における簡易計算により、実現で
きるようになる。
【0047】
【発明の実施の形態】
《実施例1》次に、図1〜図21を参照して、本発明に
よるシェーディング方法およびシェーディング装置の実
施例を説明する。
【0048】図1は、本発明によるシェーディング方法
およびシェーディング装置の実施例1の微小領域輝度計
算方式を説明する図である。輝度計算方式の処理対象と
なる6形1000は、複数の微小領域1100からな
る。微小領域1100は、さらに、少なくとも1つの画
素1110からなる。
【0049】微小領域1100内部における光線による
照度は、一様とする。ただし、微小領域1100内の各
画素1110は、特有の色をもっているので、実際の色
は、画素1110毎に異なり、照度が一様であることに
よる不具合は、目立たない。特に、微小領域1100が
充分小さければ、全く問題にならない。
【0050】微小領域1100内部における光線による
照度は、微小領域1100内の代表点1120における
照度で近似する。この代表点1120における照度は、
微小領域毎に計算される。代表点1120の位置は、任
意であるが、実用上微小領域1100の中心点を代表と
すると、最も近似精度が高くなる。
【0051】代表点1120における照度計算の際に
は、図形内の補間によって求めた代表点1120におけ
る法線ベクトル1140や光線ベクトル1150等の幾
何学的ベクトルを使用する。各幾何学的ベクトルは、図
形1000の頂点における幾何学的ベクトルを図形内部
で線形補間して求める。また、各幾何学的ベクトルは、
図形1000の頂点における幾何学的ベクトルを図形内
部で図形毎に定められた規則に従い補間して求めてもよ
い。
【0052】図2は、本発明によるシェーディング装置
の実施例1に用いられるメディアプロセッサのシステム
構成の一例を示すブロック図である。このシェーディン
グ装置は、ワンチッププロセッサおよびメモリ統合を基
本理念として、マルチメディアの共通基盤であるメディ
アプラットフォームの一部として実現される。メディア
プラットフォームのハードウェアは、RISCコアおよ
びグラフィックスコアが一体となったメディアプロセッ
サ2000と、主メモリおよび画像領域が統合された統
合メモリ3000と、周辺論理4000とからなる。メ
ディアプラットフォームシステムは、これらのハードウ
ェアの上にメディアライブラリを搭載した共通環境とし
て実現される。
【0053】メディアプロセッサ2000は、その内部
に、グラフィックスコアの一部である画素発生部210
0を持っている。統合メモリ3000は、具体的には、
汎用または専用のメモリチップ3100からなり、画像
領域3110を含んでいる。専用メモリチップとして
は、図形発生に特化して、比較判定付き書き込みおよび
演算付き読み出し機能等を備えたメモリチップがある。
画素発生部2100は、本発明の輝度計算方式に従って
図形を構成する画素を発生し、結果として得られた画像
データを画像領域3110に書き込む。
【0054】図3は、図2のメディアプロセッサ内の画
素発生部2100の構成の一例を示すブロック図であ
る。微小領域1100のアドレス計算部2110は、処
理対象となる微小領域1100の位置を決定する。微小
領域1100の位置決定は、同時に微小領域1100内
の代表点1120の位置の決定も兼ねている。つまり、
代表点1120の位置が常に微小領域1100の中心点
と考えれば、微小領域の位置と代表点の位置とは、一対
一に対応する。微小領域1100の形状は、実用的には
矩形領域とするので、この位置決めとは、微小領域11
00の行アドレスおよび列アドレスを決定することであ
る。
【0055】こうして得られた行アドレスおよび列アド
レスは、極座標補間器群2120に入力される。極座標
補間器群2120は、微小領域1100の行アドレスお
よび列アドレスに基づき、代表点1120における各幾
何学的ベクトルを補間により発生する。
【0056】極座標補間器2120(a)は、スポット光
源の方向ベクトルを出力する。光源の性質は、図形によ
らず一定なので、この出力は、光源属性を定めたときの
方向ベクトルそのものである。このベクトルは、Y軸を
主軸とする極座標で与えられる。すなわち、成分は、偏
角と仰角の2種類で、ベクトルの大きさは、常に1であ
る。このような極座標表示の利点は、3次元ベクトルを
表現するのに成分が二つで済むこと、ベクトルの大きさ
が決まっているので正規化の必要がないことである。以
下の説明における座標表示は、この極座標表示である。
【0057】極座標補間器2120(b)は、光線ベクト
ルの極座標系における補間を実行する。微小領域110
0の行および列アドレスを入力し、対応する光線ベクト
ルの2成分を出力する。極座標補間器2120(b)の内
部には、図形毎に与えられる補間パラメータを記憶する
レジスタがある。
【0058】線形補間の場合には、パラメータの内容
は、成分毎の行アドレスに対応する係数と、列アドレス
に対応する係数と、オッフセット値との6パラメータで
ある。一つ前の微小領域1100における値を用いる場
合は、一つ前の微小領域1100からのアドレスの差分
値を入力として、内部には、それぞれの差分に対応した
係数と一つ前の微小領域におけるベクトルの値との6パ
ラメータを持つ。
【0059】2次近似による補間の場合は、2次式の係
数を持ち、透視変換補正の場合は、線形補間のパラメー
タに加えて、奥行き情報の補間とその逆数計算手段を持
つ。
【0060】極座標補間器2120(c)は、法線ベクト
ルの極座標系における補間を実行する。ハードウェアの
構成は、極座標補間器2120(b)と同様である。補間
パラメータおよびオフセットの値は、法線ベクトル用の
ものを用いる。
【0061】極座標補間器2120(d)は、ハーフウェ
イベクトルの極座標系における補間を実行する。ハード
ウェアの構成は、極座標補間器2120(b)と同様であ
る。補間パラメータおよびオフセットの値は、ハーフウ
ェイベクトル用のものを用いる。ハーフウェイベクトル
については、図15の輝度計算式の説明において詳細に
述べる。
【0062】こうして求められた各幾何学的ベクトルの
極座標成分は、ベクトル間角度計算器群2130に入力
される。ベクトル間角度計算器群2130は、2つのベ
クトルの極座標成分を入力し、対応する成分毎に、その
差分を出力する。ベクトル間角度計算器2130(a)
は、スポット方向ベクトルと光線ベクトルのベクトル間
角度を計算し、ベクトル間角度計算器2130(b)は、
光線ベクトルと法線ベクトルのベクトル間角度を計算
し、ベクトル間角度計算器2130(c)は、法線ベクト
ルとハーフウェイベクトルのベクトル間角度を計算す
る。
【0063】本発明では、ベクトル間角度計算器群21
30で求めた成分が二つあるベクトル間角度のそれぞれ
のコサイン値の関数により、ベクトル同士のなす角のコ
サインを近似する。この近似は、ベクトルが二つともZ
軸から外れたら誤差が大きくなるという性質を持ってい
るが、図形表示では、このケースの減衰率が大きく、影
響は少ない。
【0064】コサイン計算器群2140は、ベクトル間
角度計算器群2130で求められたベクトル間角度によ
り、ベクトル同士のなす角のコサインおよびそれを用い
た関数を計算する。コサイン計算器2140(a)は、ス
ポットライトの中心から外れるに従って減衰する係数を
計算する。この係数は、コサイン値のべき乗で表され
る。べき値は、光源毎に特有の定数である。コサイン計
算器2140(b)は、光線の図形への入射角に対応した
照度係数を計算する。この照度係数は、コサイン値で表
される。コサイン計算器2140(c)は、視線が反射光
の中心から外れるに従ってハイライトが減衰する係数S
を計算する。係数Sは、コサイン値のべき乗で表され
る。べき値は、図形毎に特有の定数である。
【0065】乗算器2150は、照度係数とスポット減
衰係数とを乗じ、輝度の拡散光成分Dを計算する。
【0066】輝度計算器群2160は、乗算器2150
の出力と、光源および図形の属性とから輝度を求める。
輝度計算器2160(a)は、拡散光成分により輝度を計
算する。輝度計算器2160(b)は、鏡面光成分による
輝度を計算する。
【0067】加算器2170は、輝度計算器群2160
の出力を加算し、最終的な画素色を得る。
【0068】図4は、光源が1つの場合について、実施
例1による微小領域輝度計算方式の微小領域1100の
構成と画素発生の手順とを説明する図である。この時
は、1画素1110当りの光源計算数は、1以下である
ので、微小領域1100の大きさは、1画素でよい。す
なわち、この場合は、画素1110でもある微小領域1
100に対して、光源番号0の光源である光源0に関す
る輝度計算1160が行われる。1画素当りの計算量
は、輝度計算1回分である。
【0069】図5は、光源が2つの場合について、実施
例1による微小領域輝度計算方式の微小領域1100の
構成と画素発生の手順とを説明する図である。1画素当
りの光源計算数を1以下にするためには、微小領域11
00の大きさは、2画素以上必要である。微小領域11
00が2画素以上あると、形状を決定する必要がある。
画素の発生順が基本的に横方向だから、実用的には、横
方向に連続した2画素を微小領域1100とするのが好
ましい。
【0070】2画素に対して1光源当り1回の輝度を計
算するが、ハードウェア量削減のために、光源毎の輝度
計算を同時には実行できない。また、全ての光源に対す
る輝度計算が終わった後で画素を発生させる方式では、
レーテンシが長くなり、性能が低下する上に、光源数に
よる変動もあり、制御が複雑化する。そこで、本発明に
おいては、輝度計算処理と画素発生処理とをパイプライ
ン実行できる方法を採用した。
【0071】この方式は、光源毎に1画素ずれた微小領
域を定義し、微小領域の最初の画素発生に間に合うよう
に輝度計算し、別光源による輝度計算には、既に計算さ
れた値を用いる方法である。図5において光源0に対応
する微小領域を1100(0)、光源1に対応する微小領
域を1100(1)とする。この微小領域で計算される最
初の画素すなわち1100(0)の左側の画素の輝度を得
るには、光源0に対応する輝度を計算し、一つ左側の画
素と当該画素について既に計算されている光源1による
輝度と加えて、この画素の輝度とする。次に、1100
(0)の右側の画素すなわち1100(1)の左側の画素を
計算するには、先に求められた光源0に対する輝度と、
新しく計算される光源1に対する輝度とを加算し、この
画素の輝度とする。このようにすると、1画素当りの計
算量は、輝度計算1回分となる。
【0072】図6ないし図9は、光源が4つの場合を表
している。この場合、微小領域は、4画素で構成する。
【0073】図6は、光源が4つの場合について、実施
例1による微小領域輝度計算方式の微小領域の構成と画
素発生の手順とを説明する図である。図6は、微小領域
の形状を横長とした場合を説明している。この場合の動
作は、図5の方式の延長と考えられる。
【0074】図7は、光源が4つの場合について、実施
例1による微小領域輝度計算方式の微小領域の構成と画
素発生の手順とを説明する図である。図7(a)は、微小
領域の形状を正方形とした場合を説明している。図6の
方式とは、画素発生順が2次元的になる点において異な
る。図7(b)は、2次元的画素発生順1111を示して
いる。この順序に従って、画素が2次元的に近くに位置
するようにジグザグな経路をとる。
【0075】図8は、光源が4つの場合について、実施
例1による微小領域輝度計算方式の微小領域の構成と画
素発生の手順とを説明する図である。図8(a)は、図7
(a)の輝度計算手順の内、光源0に関する部分のみを取
り出したものである。微小領域1100(0)は、図中太
線で囲まれた部分である。図7(b)に示した画素発生順
に従って,経路1111をとる。すなわち、左上→左下
→右下→右上の順である。
【0076】図8(b)は、図7(a)の輝度計算手順の
内、光源1に関する部分のみを取り出したものである。
微小領域1100(1)は、図中太線で囲まれた部分であ
る。図7(b)に示した画素発生順に従い、経路1111
をとる。これは、ジグザグ経路の内、図8(a)の微小領
域から1画素分だけずれたものである。左下→右下→上
→右上の順である。
【0077】図9は、光源が4つの場合について、実施
例1による微小領域輝度計算方式の微小領域の構成と画
素発生の手順とを説明する図である。図9(a)は、図7
(a)の輝度計算手順説明図の内、光源2に関する部分の
みを取り出したものである。微小領域1100(2)は、
図中太線で囲まれた部分である。図7(b)に示した画素
発生順に従い、経路1111をとる。これは、ジグザグ
経路の内、図8(b)の微小領域から1画素分だけずれた
ものである。スキャン順は、左下→右上→右上→右下で
ある。図9(b)は、図7(a)の輝度計算手順説明図の
内、光源3に関する部分のみを取り出したものである。
微小領域1100(3)は、図中太線で囲まれた部分であ
る。図7(b)に示した画素発生順に従い、経路1111
をとる。これは、ジグザグ経路の内、図9(a)の微小領
域から1画素分だけずれたものである。スキャン順は、
左上→右上→下→右下の順である。
【0078】図10は、実施例1による極座標の補間方
式を説明する図である。図10(a)は、極座標系で表わ
した法線ベクトルを補間する場合を説明している。図形
内微小領域1100の代表点1120における法線ベク
トル1140は、図形の両端における法線ベクトル11
41および1142を補間して得られる。1141およ
び1142自体も、同様に、図形頂点に対して与えられ
る法線ベクトルを補間して求めることができる。補間の
方法は、図3で説明したので、省略する。
【0079】図10(b)は、法線ベクトルと同様に極座
標系で表わした光線ベクトル1150を、1151およ
び1152から補間によって求める場合を説明してい
る。
【0080】図10(c)は、以上の補間により得られた
2つのベクトルから図形内微小領域1100毎の照度を
計算する様子を示している。ベクトル同士のなす角は、
1120における値が、1121や1122における値
よりも小さく、図形内にハイライトを生じさせることが
できる。
【0081】図11は、実施例1による極座標補間のベ
クトル軌跡を説明する図である。すなわち、極座標補間
を用いた場合の軌跡1143を示している。極座標の2
つの成分で補間するので、軌跡は大円コースをとらない
が、大円コース自体が1つの近似であるから、スポット
ライトやハイライトを表現するには、極座標補間でも充
分である。
【0082】図12ないし図14は、極座標補間による
ベクトル軌跡をシミュレートした結果である。図12
は、(−π/4、−π/4)から(π/4、π/4)まで補
間した結果を示し、図13は、(π/4、−π/4)から
(π/4、π/4)まで補間した結果を示し、図14は、
(−π/4、π/4)から(π/4、π/4)まで補間した
結果を示している。
【0083】図15は、実施例1による輝度計算の概要
および計算式を説明する図である。各画素の輝度Iは、
各光源についての周囲反射成分Iaiと、拡散反射成分I
diと、鏡面反射成分Isiとの総和として表される。
【0084】周囲反射成分Iaは、周囲反射係数Kaと、
物体の色Ocと、光源の色Lcとの積で表される。
【0085】拡散反射成分Idは、拡散反射係数Kdと、
物体の色Ocと、法線ベクトルNおよび光源方向ベクト
ルLの内積と、光源ベクトルLdirおよび光源方向ベク
トルLの内積のLconcべき乗と、光源の色Lcと、減衰
関数Lattとの積で表される。
【0086】鏡面反射成分Isは、鏡面反射係数Ksと、
物体の鏡面色Scと、法線ベクトルNおよびハーフウェ
イベクトルHの内積のSconcべき乗と、光源ベクトルL
dirおよび光源方向ベクトルLの内積のLconcべき乗
と、光源の色Lcと、減衰関数Lattとの積で表される。
【0087】物体の色Ocは、図形に対する照度Dと、
図形表面の模様を表すテクスチャ色と、光線強度との積
である。光線強度は、光源色に係数を乗じた値と、環境
光成分の値とを加算した値である。ハーフウェイベクト
ル11H0は、視線ベクトル11V0と光源方向ベクト
ル1150とのなす角を2等分するベクトルであり、こ
のハーフウェイベクトル11H0と法線ベクトル114
0とのなす角が小さいほど、ハイライトが大きくなる。
【0088】図16は、補間して得られたベクトル同士
の実施例1によるコサイン近似計算の概要および計算式
を説明する図である。極座標の角成分毎の差分のコサイ
ンの積で近似する。この近似計算方式の誤差は、実用
上、問題にならない。また、この近似計算方式は、次に
示すハードウェア量削減のためのインタリーブ方式にも
適している。
【0089】図17は、ハードウェア量を削減するため
に、実施例1による極座標補間の成分を使用したインタ
リーブ方式を説明する図である。本来ならば、補間され
て求められるベクトル1150を用いるべきである。こ
れに対し、極座標のどちらか一方の成分にのみ、一つ前
の微小領域における値1150−1を用いると、本来角
成分毎、すなわち、2回に亘り計算すべきコサイン計算
を1回で済ませることができる。
【0090】図18は、実施例1による極座標補間の成
分を使用したインタリーブ方式を説明する図である。す
なわち、インタリーブ方式を実現するためのコサイン計
算手段2140の構成を示したものである。更新するコ
サイン値は、極座標成分の片方だけであるから、入力を
スイッチ2141で切換える。入力された値に従い、コ
サインテーブル2142を参照して、選択された成分に
対応するコサイン値を得る。選択されなかった方のコサ
イン値は、前回値記憶レジスタ1243または2144
に保持されており、切換えスイッチ2145の切換えに
従って選択される。この2つのコサイン値は、乗算器2
164によって掛け算され、2つのベクトルのなす角の
コサインの近似値が得られる。
【0091】図19は、実施例1によるコサイン近似計
算用テーブルを説明する図である。コサイン近似計算用
テーブル2142(a),(b),(c),…は、コサイン計算
のためのテーブルを示している。各テーブルは、目的に
応じてそれぞれ異なるデータを記憶している。
【0092】図20は、実施例1による輝度計算部21
60の構成の一例を説明する図である。輝度計算部21
60は、係数乗算器2161と、光線色乗算器2162
と、微小領域内画素計算のためのディレイアダー216
3と、テクスチャ色との乗算器2165とからなる。
【0093】図21は、実施例1によるシェーディング
装置の微小領域内で光源毎に輝度を加算する加算器を説
明する図である。光源が複数の場合は、光源数に応じた
加算器を含むディレイアダー2163が必要となる。こ
の場合のディレイアダー2163は、内部に先入れ先出
し(FIFO)バッファ2166を持ち、4回前にまで遡
って輝度値を参照できる。加算器2167は、これらの
輝度を加算して微小領域における4光源分の近似輝度値
を出力できる。
【0094】《実施例2》図22は、本発明によるシェ
ーディング装置の実施例2の微小領域輝度計算方式のハ
ードウェア構成と処理手順とを併せて示す図である。一
般に、描画装置のシェーディング手段は、頂点計算部s
00と画素計算部s10との2つの部分からなる。頂点
計算部s00は、立体図形を構成する面の頂点における
各種のパラメータを計算する。頂点計算部s00で取り
扱うパラメータの内、本発明と関連するのは、法線ベク
トルNの値、光線ベクトルLdirの値などのベクトル値
が主である。画素計算部s10は、面内の各点における
輝度を計算する。実際のシステムでは、面毎に処理する
頂点計算部s00は、主にソフトウェアによる処理に向
いており、点毎に処理する画素計算部s10は、主にハ
ードウェアによる処理に向いている。もちろん、それぞ
れをハードウェアのみでも、ソフトウェアのみでも、実
現可能である。
【0095】本発明では、点毎に実行する画素計算部s
10の処理を軽減し、高速化するとともに、ハードウェ
アを削減することもめざしている。本発明においては、
頂点計算部s00において、立体図形を構成する面と正
規モデル座標系における面との対応関係を求め、画素計
算部s10へのインタフェースデータを形成する。それ
には、光源と面との位置関係の計算s01、頂点のモデ
ル座標系における座標値の計算s02を経て、面内補間
係数計算s03を実行する。このインタフェースデータ
を受ける画素計算部s10では、実際の補間計算s11
を行い、面内の点に対応するモデル座標系における各種
パラメータを得る。これらのをパラメータに基づいて、
輝度計算s12を実行し、シェーディングする。
【0096】図23は、実施例2に用いる正規化モデル
座標系の概念を説明する図である。すなわち、実空間か
ら正規モデル座標系への変換の物理的イメージを説明す
る図である。実空間は、正規直交座標系c00上で定義
される。この実空間上の図形tri00およびこれを照
らす光源light00を考える。図形tri00の頂
点p1,p2,p3には、法線ベクトルN1,N2,N
3がそれぞれ定義されるとともに、頂点計算部s00の
演算で、光源の方向を表すベクトルL1,L2,L3も
それぞれ計算されている。正規モデル座標系c01は、
light00からtri00に下ろした垂線の足に対
応する点を原点とし、light00に対応する点li
ght01が1つの軸を表す単位ベクトルとなるように
変換した座標系である。この軸をwとし、図形と共面関
係にある残りの2軸をu,vとすると、tri00の各
頂点は、対応する座標値に写像され、正規モデル座標系
における図形tri01を形成する。tri01の各頂
点におけるベクトルは、w軸の単位ベクトルと一致し、
光のベクトルは、light01を望むベクトルと一致
する。
【0097】図24は、実施例2の微小領域輝度計算方
式と従来方式とを比較して示す図である。図24(a)
は、従来例で挙げたPhong Shadingを解説する図であ
る。各点における法線や光線の向きを計算すると、スポ
ットライト,ハイライト,滑らかなシェーディングが可
能となる。tri00内の点pにおける法線ベクトルN
は、N1,N2,N3から補間によって求め、光のベク
トルLは、light00との位置関係から再計算す
る。座標系c00が実空間であるため、light00
と図形tri00との位置関係は任意であり、光の計算
は、この任意性を満足するように、浮動小数点またはそ
れに準ずる計算が必要である。
【0098】図24(b)は、Gouraud シェーディングを
解説する図である。この手法では、図形頂点における輝
度を頂点計算部で計算した後、輝度を面内で補間するも
のである。単なる輝度の線型補間なので、面内でのスポ
ットライトやハイライトの表現が不可能であり、シェー
ディングの滑らかさも劣る。この手法は、画素計算部に
おける演算量が比較的少なくすむということもあって、
多くのシステムに採用されている。しかし、Phong シェ
ーディングと同等の表現力を得るには、図24(c)のよ
うに図形分割し、輝度計算のポイント数すなわち頂点数
を増加させる必要がある。ところが、分割により滑らか
さを表現するには、3桁以上の分割が必須であり、リア
ルタイム表示には実用的でない。
【0099】図25は、実施例2の輝度計算の概要およ
び計算式を説明する図である。ある画素の輝度は、式
(1)に示すように、光源毎のその画素の輝度の総和で求
められる。図15に関連して既に説明したように、光源
毎の輝度は、周囲反射成分Iaと、拡散反射成分Idと、
鏡面反射成分Isとからなる。周囲反射成分Iaは、式
(1a)のように、物体属性値Ka,物体色Oc,光源色L
cのみで決まる。拡散光成分Idおよび反射光成分Is
は、光源の種類により異なるが、式(1b)〜(1d)のよう
に求められる。ここで、Kd,Ksは、物体属性値、Sc
は、反射色、Lattは、光源からの距離による減衰項で
ある。Nは法線ベクトルであり、Lは光源ベクトルであ
り、Vは視点ベクトルであり、Rは反射ベクトルであ
る。Ldirは光源がスポットライトの時の方向ベクトル
である。NとLとの内積が大きいほど、光が面の正面か
ら照射されるので明るい。また、VとRとの内積が大き
いほど、反射光が多く、LとLdirとの内積が大きいほ
ど、スポットライトの中心に近く明るい。VとRとの内
積には、Sconcというべき数が係り、ハイライトの範囲
をシャープにし、LとLdirとの内積にはLconcという
べき数が係り、スポットライトの範囲をシャープにす
る。本発明では、画素毎に必要なこれらの内積計算を簡
略化して計算を実現する。
【0100】図26は、実施例2の実空間における各種
ベクトルの位置関係を示す図であり、図27は、実施例
2の正規化モデル座標系における各種ベクトルの位置関
係を示す図である。図26および図27により、実空間
図形を正規モデル座標系へ写像するための手順を説明す
る。
【0101】実空間における面の方程式は、図26中の
式(2a)で表される。tri00を含む平面の方程式の
係数は、各頂点を面の方程式に代入すると、式(2b)を
経て式(2c)のように求められる。また、光源と平面と
の距離も式(2)のように求められる。面の方程式の係数
は、面の法線ベクトルNでもある。この法線ベクトルN
に基づいて、正規モデル座標系のw軸に対応するベクト
ルwが求まる。残りの平面上の2軸u,vは、スポット
方向ベクトルに沿う方向をuとし、それと直交する方向
をvとする。光源から平面へ下ろした垂線の足p0から
見た平面上の点pの位置は、光源pLからpへのベクト
ルにuおよびvによる内積計算を施したものである。正
規モデル座標系においては、面と光源との距離が1に正
規化されるので、求められた位置関係を一律にhで除算
する。視点位置も同様に変換される。すなわち、w軸に
沿う距離は、実空間における距離をhで除算したもので
あり、平面上の位置関係は、光源pLから視点000へ
のベクトルにuおよびvによる内積計算を施したもので
ある。変換後の図形は、図27のようになる。図形は、
(u,v)平面上にあるので、必要な座標値はこの2軸座
標のみにより、一意に定まる。スポットライトの中心方
向線が平面と交わる点psも、同様にして、u軸上の点
(us,0)に変換される。
【0102】図28は、実施例2における法線ベクトル
の傾きを補正する方式を説明する図である。すなわち、
前述のようにして求められた変換後の頂点に対し、その
法線ベクトルの傾きによる補正を行う方法である。頂点
p1,p2,p3が補正されて、それぞれ頂点p1´,
p2´,p3´となる。この補正は、光源を望むベクト
ルと法線ベクトルとの位置関係を保存しつつ、法線がw
方向を向くように、点を移動することにより得られる。
この移動のために、元の点の上空に仮の光源を設定し、
この光源からの補正で代用する。この操作は、法線が元
々w方向を向いていた場合に移動量が0となるようにす
るためである。また、この移動量は、真の光源からの距
離と正の相関関係があるので、仮の光源の高さを元の点
と原点との距離に比例した形でとる。この時、移動量d
pは、図28中の式(3a)〜(3c)のようになる。法線
補正された頂点p1´,p2´,p3´を実空間の頂点p
1,p2,p3に線型に対応させると、正規モデル座標系
における画素毎輝度計算結果を実空間の点に対応させる
ことができる。
【0103】図29は、実施例2の正規化モデル座標系
における拡散成分の減衰項の計算手順を示す図である。
拡散成分のための減衰項は、光源方向ベクトルLと法線
ベクトルn´とのなす角θの余弦に比例する。法線ベク
トルn´は、先の補正により軸wと一致しているので、
光源方向ベクトルLのw成分が求める値である。この値
は、図29中の式(4)のように表される。
【0104】図30は、実施例2の正規化モデル座標系
におけるスポット方向に応じた減衰項の計算の手順を示
す図である。スポット方向に応じた減衰項は、光源方向
ベクトルLと逆スポット方向ベクトル(−Ldir)とのな
す角βの余弦のべき乗に比例する。画素毎に変動するの
は、角βの余弦値であるから、ここでは、この求め方を
図30中の式(5)および(5a)〜(5c)を用いて説明す
る。式の中でu0は、図30中のusに対応する。ま
た、range(f,a,b)は、fが区間[a,b]にある
ときのみその値を返し、それ以外は0を返す関数であ
る。Lは、点から光源を望むベクトル、(−Ldir)は、
点usから光源を望むベクトルであるから、単純にこれ
らの余弦を計算する。
【0105】図31は、実施例2の正規化モデル座標系
における反射光成分の減衰項の計算手順を示す図であ
る。反射光成分の減衰項は、反射方向ベクトルRと視点
方向ベクトルVとのなす角γの余弦のべき乗に比例す
る。画素毎に変動するのは、角γの余弦値であるから、
ここでは、この求め方を図31中の式(6)を用いて説明
する。Vは、点から視点を望むベクトルであり、正規モ
デル座標系への変換の際に原点に対応する座標として変
換されている。Rは、点から光源を望むベクトルのうち
(u,v)成分のみを符号反転したベクトルである。これ
らを用いて、単純に余弦を計算する。
【0106】図32は、本発明によるシェーディング装
置の実施例2に用いられるメディアプロセッサのシステ
ム構成の一例を示すブロック図である。このシェーディ
ング装置は、ワンチッププロセッサおよびメモリ統合を
基本理念として、マルチメディアの共通基盤であるメデ
ィアプラットフォームの一部として実現される。メディ
アプラットフォームのハードウェアは、RISCコアお
よびグラフィックスコアが一体となったメディアプロセ
ッサ2000と、主メモリおよび画像領域が統合された
統合メモリ3000と、周辺論理4000とからなる。
メディアプラットフォームシステムは、これらのハード
ウェアの上にメディアライブラリを搭載した共通環境と
して実現される。
【0107】メディアプロセッサ2000は、その内部
にグラフィックスコアの一部である画素発生部2100
を持っている。統合メモリ3000は、汎用または専用
のメモリチップ3100からなり、画像領域3110を
含んでいる。専用のメモリチップとしては、図形発生に
特化した比較判定付き書き込み演算付き読み出し機能等
を持ったメモリがある。画素発生部2100は、図形を
構成する画素を本発明の輝度計算方式に従って発生し、
結果として得られた画像データを画像領域3110に書
き込む。
【0108】図33は、画素発生部2100の構成の一
例を示すブロック図である。微小領域アドレス計算部2
110は、対象となる微小領域の位置を決定する。微小
領域の位置の決定は、微小領域内の代表点の位置の決定
も兼ねている。代表点の位置が常に微小領域の中心点と
考えれば、微小領域位置と代表点位置とは、一対一に対
応する。微小領域の形状は、実用的には、矩形領域とす
るので、位置決めは、微小領域の行アドレスおよび列ア
ドレスを決定することである。この微小領域には、少な
くとも1つの画素が対応する。
【0109】このようにして得られた行および列アドレ
スは、補間係数/面内定数発生器群2120(a)〜(d)
に入力される。補間係数/面内定数発生器群2120
(a)〜(d)は、微小領域の行および列アドレスに基づい
て、代表点における正規モデル座標系の座標を補間によ
り発生する。2120(a)は、光源との距離に応じた減
衰項Lattを面内で補間する。2120(b)は、対応
する正規化モデル座標系における座標値を補間し、21
20(c)は、スポット光源関連の定数を出力し、212
0(d)は、反射光成分関連定数を出力する。
【0110】これらの補間値または定数を用いて、先に
示した式(1),(4),(5),(6)に従って、輝度値を計算
する。演算器2130(a)は、式(5)に基づくスポット
減衰項を計算する。演算器2130(b)は、式(4)に基
づく拡散成分による減衰項を計算する。演算器2130
(c)は、式(6)に基づく反射光成分による減衰項を計算
する。演算器2140(a),(b),(c)およびそれ以降の
演算器においては、これらの値を用いて輝度を計算す
る。
【0111】図34は、実施例2における描画コマンド
フォーマットの一例を示す図でああり、上記演算器21
30(a)以降の輝度計算部を起動するためのコマンドフ
ォーマットを示している。1ワード32ビットとして、
最初の6ワードには、描画図形(三角形)の形状情報を格
納し、次の2ワードには、奥行き情報の補間係数を格納
し、さらに次の4ワードには、テクスチャ座標に対する
補間係数情報を格納する。それ以降が、輝度関係のパラ
メータであり、光源当り7ワードの情報からなる。形状
情報のうち最初の2Bは、コマンドIDである。コマン
ドIDは、図形描画であること、上辺が水平であるかど
うか、光源数がいくつかなどの情報を与える。次の2B
は、描画開始のy座標である。2ワード目は、図形の縦
サイズの情報を含んでいる。h1は、開始点から次の頂
点までの高さを表し、h2は次の頂点から最後の頂点ま
での高さを表している。図形の形状により、これらの値
が0になる場合もあり得る。3ワード目以降は辺の傾き
情報を与える。h1,h2により値が存在しないケース
もある。その時は、コマンドIDまたはh1,h2によ
り判定する。
【0112】奥行き補間情報およびテクスチャ座標補間
情報は、それぞれx,y,zに関する係数と指数部とから
なる。実空間におけるx,y,z値との演算を実行し、補
間後の値を得る。指数部は、実空間に対する精度を確保
するために、x,y,z値に共通の値を一つ設定した。奥
行き情報に関しては、後に透視変換をかける都合上、奥
行きの逆数を補間する方式としている。
【0113】輝度計算関連の情報について説明する。1
ワード目は、距離による減衰項成分の補間パラメータで
ある。輝度値は、最終的に8ビット程度なので、各係数
も8ビットとしている。補間の方法は、奥行きやテクス
チャの補間の場合と同様である。続く4ワードは、正規
モデル座標の補間情報である。計算方法は、奥行きやテ
クスチャの場合と同様である。最後の2ワードは、輝度
計算に必要な図形毎の定数である。複数の図形に共通な
値については、別コマンドで設定する。この2ワードの
内、最初の2Bは、式(5)で示したスポットライトによ
る減衰項計算に必要な定数である。残りの2Bずつの3
パラメータは、式(6)で示した反射光成分計算に必要な
定数である。
【0114】図35〜図40は、微小領域の輝度計算手
順を幾つかの場合について説明したものである。
【0115】図35は、光源が1つの場合について、実
施例2の微小領域の構成および画素発生手順を示す図で
ある。この時は、1画素当りの光源計算数は1以下であ
るので、微小領域の大きさは1画素でよい。すなわち、
画素1110でもある微小領域1100に対し、光源番
号0の光源である光源0に関する輝度計算1160が行
われる。1画素当りの計算量は、輝度計算1回分であ
る。
【0116】図36は、光源が2つの場合について、実
施例2の微小領域の構成および画素発生手順を示す図で
ある。光源が2つの場合の1画素当りの光源計算数を1
以下にするには、微小領域の大きさは2画素以上必要で
ある。微小領域が2画素以上あると、、形状を決定する
必要があるが、画素の発生順は基本的に横方向だから、
実用的には横方向に連続した2画素を微小領域とするの
が好ましい。2画素に対して1光源当り1回の輝度を計
算するが、ハードウェア量削減のため、光源毎の輝度計
算を同時には実行できない。また、全ての光源に対する
輝度計算が終わった後で画素を発生させる方式では、レ
ーテンシが長くなり、性能が低下する上に、光源数によ
る変動もあり、制御が複雑化する。そこで、本実施例2
においても、輝度計算処理と画素発生処理とをパイプラ
イン実行できる方式を採用した。
【0117】この方式は、光源毎に1画素ずれた微小領
域を定義し、微小領域の最初の画素発生に間に合うよう
に輝度計算し、別光源による輝度計算には、既に計算さ
れた値を用いる方法である。図36において、光源0に
対応する微小領域を1100(0)とし、光源1に対応す
る微小領域を1100(1)とする。1100(0)の左側
の画素すなわちこの微小領域で計算される最初の画素を
計算するには、光源0の輝度計算を実行し、その画素に
ついて既に計算されている光源1による輝度計算値を加
えて、この画素の輝度とする。
【0118】1100(0)の右側の画素つまり1100
(1)の左側の画素を計算するには、先に求められた光源
0に対する輝度値と新しく計算される光源1に対する輝
度値とを加算し、この画素の輝度とする。このようにす
ると、1画素当りの計算量は輝度計算1回分である。
【0119】図37は、光源数が4つの場合について、
実施例2の微小領域の構成および画素発生手順を示す図
である。この場合は、微小領域は4画素で構成する。図
37は、微小領域の形状を横長とした場合であるから、
図36の方式の延長で考えることができる。
【0120】図38(a)は、光源数が4つの場合につい
て、微小領域の形状を正方形とした場合の実施例2の微
小領域の構成および画素発生手順を示す図である。この
場合には、画素発生順が2次元的となる。図38(b)
は、2次元的画素発生順1111を示している。この順
序に従い、画素が2次元的に近くに位置するように、ジ
グザグな経路をとる。
【0121】図39は、光源数が4つの場合について、
実施例2の微小領域の構成および画素発生手順を示す図
である。図39(a)は、図38(a)の輝度計算手順説明
図の内、光源0に関する部分のみを取り出したものであ
る。微小領域1100(0)は、図中太線で囲まれた部分
である。図38(b)に示した画素発生順に従い、経路1
111をとる。すなわち、左上→左下→右下→右上の順
である。
【0122】図39(b)は、図38(a)の輝度計算手順
説明図の内、光源1に関する部分のみを取り出したもの
である。微小領域1100(1)は、図中太線で囲まれた
部分である。図38(b)に示した画素発生順に従い、経
路1111をとる。ジグザグ経路の内、図39(a)の微
小領域から1画素分だけずれている。スキャンは、左下
→右下→上→右上の順である。
【0123】図40は、光源数が4つの場合について、
実施例2の微小領域の構成および画素発生手順を示す図
である。図40(a)は、図38(a)の輝度計算手順説明
図の内、光源2に関する部分のみを取り出したものであ
る。微小領域1100(2)は、図中太線で囲まれた部分
である。図38(b)に示した画素発生順に従い、経路1
111をとる。ジグザグ経路の内、図39(b)の微小領
域から1画素分だけずれている。スキャンは、左下→左
上→右→下である。
【0124】図40(b)は、図38(a)の輝度計算手順
説明図の内、光源3に関する部分のみを取り出したもの
である。微小領域1100(3)は図中太線で囲まれた部
分である。図38(b)に示した画素発生順に従い、経路
1111をとる。これはジグザグ経路の内、図40(a)
の微小領域から1画素分だけずれている。スキャンは、
左上→右上→下→右下である。
【0125】図41は、実施例2の輝度計算部2160
の構成の一例を示すブロック図である。輝度計算部分2
160は、係数乗算器2161と、光線色乗算器216
2と、微小領域内画素計算のためのディレイアダー21
63と、テクスチャ色との乗算器2165とからなる。
【0126】図42は、実施例2の微小領域内で光源毎
に輝度を加算する加算器すなわちディレイアダー216
3の構成の一例を示す図である。ディレイアダー216
3は、内部に先入れ先出し(FIFO)バッファ2166
を持ち、4回前にまで遡って輝度値を参照できる。加算
器2167は、これらの輝度を加算して微小領域におけ
る4光源分の近似輝度値を出力する。
【0127】図43は、実施例2の影領域特定アルゴリ
ズムを説明する図である。図形tri00と光源lig
ht00との間に、影を生成する図形tri10がある
場合を考える。図形tri00上のどの部分が影領域と
なるかは、以下のアルゴリズムで決定される。影となる
ボリュームを形作る図形stri10,stri11を
定義する。ボリュームと図形tri00との交差する部
分が影領域である。その部分を特定する方法を図43
(b)により説明する。影が見える領域は、視点Oからt
ri00上の点を見たときに、図形stri10,st
ri11などを奇数回横切った点である。視点からの見
え方は、描画される図形そのものであるから、図形st
ri10,stri11などを何回横切ったかをマスク
情報として描画すればよい。そこで、マスク情報プレー
ンに描画するための描画コマンドを用意する。このコマ
ンドは、マスクプレーンへの描画であることを示してい
るほかに、形状情報と奥行き情報とを持つ。
【0128】図44は、実施例2のシェーディングの手
順を説明する図である。最初に、図形を全て描画する。
このときの輝度の値は、描画メモリ領域3111に格納
される。次に、先のアルゴリズムにより、影領域を示す
マスクをメモリ領域3112上に形成する。最後に、こ
の領域が影となるように処理する。
【0129】図45は、図44のシェーディングの手順
を実行するための装置構成の一例を示す図である。本発
明の画素毎輝度計算においては、画素毎に輝度の各成分
が計算される。大きく分けると、周囲光の成分2180
(a)と光源光の成分2180(b)である。両成分の和
は、描画領域3111に格納される。光源光の成分21
80(b)は、光源毎に影色バッファ3113に格納され
る。一方で、影領域は、先のアルゴリズムにより、影領
域マスク情報3112として格納される。表示の際に
は、マスク情報3112の情報に従い、描画領域311
1から影色バッファ3113の輝度を差し引き影を形成
する。
【0130】図46は、図45の装置における影用メモ
リ領域の割当ての一例を示す図である。影領域マスク情
報3112(0)〜(3)、影色バッファ3113(0)〜
(3)は光源毎に設定される。また、描画領域の輝度を求
める際に生じたオーバーフロー分も影色バッファ311
3(4)に格納しておく。このデータは、オーバーフロー
が生じた画素が実は影であった場合に、補正項として用
いられる。
【0131】なお、各情報は、16画素に一つ持つこと
にすると、メモリ容量を削減できる。影領域は輝度が低
いため、分解能が低下しても目立たないからである。
【0132】また、これらの情報は、画像メモリの未使
用領域に格納することができ、メモリの有効活用に寄与
する。領域の形式は(a)のようなプレーン方式でもよい
し、(b)のようなパックト形式でもよい。
【0133】図47は、本発明における非線型奥行きフ
ォーマットを説明する図である。この非線型奥行きフォ
ーマットは、奥行き情報の格納に関してメモリを低減す
るための工夫を示している。一般に、奥行き情報は、手
前ほど重要度が大きく、遠いほど、距離の違いの意味が
無くなってくる。したがって、奥に行くほど必要な分解
能が低くなる。図47の例では、上位可変桁3118で
非有効桁3117を示し、有効桁3116は奥ほど少な
くなるフォーマットである。このフォーマットでは、大
小関係が保存されるので、奥行きの比較は、このフォー
マットのままで実行できる。
【0134】
【発明の効果】本発明においては、各頂点におけるパラ
メータとして複数の幾何学的ベクトルを与え、複数の幾
何学的ベクトルを図形内で補間し、補間により発生させ
た複数の幾何学的ベクトルを用いて図形内の微小領域毎
に輝度を計算する。具体的には、補間用に与えられる図
形の頂点におけるパラメータを極座標系で持ち、極座標
値を図形内で線形補間して補間パラメータを計算し、ま
たは、補間用に与えられる図形の頂点におけるパラメー
タを正規化モデル座標系で持って、正規化モデル座標値
を図形内で線形補間して補間パラメータを計算する。し
たがって、パラメータ間の計算量が大幅に削減され、少
ないハードウェア量と少ない図形数でも、スポットライ
トまたはハイライト等の高速かつ正確に表現できるシェ
ーディング装置が得られる。
【図面の簡単な説明】
【図1】本発明によるシェーディング方法およびシェー
ディング装置の実施例1の微小領域輝度計算方式を説明
する図である。
【図2】本発明によるシェーディング装置の実施例1に
用いられるメディアプロセッサのシステム構成の一例を
示すブロック図である。
【図3】図2のメディアプロセッサ内の画素発生部の構
成の一例を示すブロック図である。
【図4】光源が1つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図5】光源が2つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図6】光源が4つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図7】光源が4つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図8】光源が4つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図9】光源が4つの場合について、実施例1による微
小領域輝度計算方式の微小領域の構成と画素発生の手順
とを説明する図である。
【図10】実施例1による極座標補間方式を説明する図
である。
【図11】実施例1による極座標補間のベクトル軌跡を
説明する図である。
【図12】実施例1による極座標補間のベクトル軌跡を
シミュレートした結果を示す図である。
【図13】実施例1による極座標補間のベクトル軌跡を
シミュレートした結果を示す図である。
【図14】実施例1による極座標補間のベクトル軌跡を
シミュレートした結果を示す図である。
【図15】実施例1による輝度計算の概要および計算式
を説明する図である。
【図16】実施例1によるベクトル間コサイン近似計算
の概要および計算式を説明する図である。
【図17】ハードウェア量削減のため、実施例1による
極座標補間の成分を使用したインタリーブ方式を説明す
る図である。
【図18】実施例1による極座標補間の成分を使用した
インタリーブ方式を説明する図である。
【図19】実施例1によるコサイン近似計算用テーブル
を説明する図である。
【図20】実施例1による輝度計算部の構成の一例を説
明する図である。
【図21】実施例1によるシェーディング装置の微小領
域内で光源毎に輝度を加算する加算器を説明する図であ
る。
【図22】本発明によるシェーディング装置の実施例2
の微小領域輝度計算方式の処理手順を示すフローチャー
トである。
【図23】実施例2に用いる正規化モデル座標系の概念
を説明する図である。
【図24】実施例2の微小領域輝度計算方式と従来方式
とを比較して示す図である。
【図25】実施例2の輝度計算の概要および計算式を説
明する図である。
【図26】実施例2の実空間における各種ベクトルの位
置関係を示す図である。
【図27】実施例2の正規化モデル座標系における各種
ベクトルの位置関係を示す図である。
【図28】実施例2における法線ベクトルの傾きを補正
する方式を説明する図である。
【図29】実施例2の正規化モデル座標系における拡散
成分の減衰項の計算手順を示す図である。
【図30】実施例2の正規化モデル座標系におけるスポ
ット方向に応じた減衰項の計算の手順を示す図である。
【図31】実施例2の正規化モデル座標系における反射
光成分の減衰項の計算の手順を示す図である。
【図32】本発明によるシェーディング装置の実施例2
に用いられるメディアプロセッサのシステム構成の一例
を示すブロック図である。
【図33】図32の画素発生部の構成の一例を示すブロ
ック図である。
【図34】実施例2における描画コマンドフォーマット
の一例を示す図である。
【図35】光源が1つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図36】光源が2つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図37】光源が4つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図38】光源が4つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図39】光源が4つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図40】光源が4つの場合について、実施例2の微小
領域の構成および画素発生の手順を示す図である。
【図41】実施例2の輝度計算部の構成の一例を示すブ
ロック図である。
【図42】実施例2の微小領域内で光源毎に輝度を加算
する加算器の構成の一例を示す図である。
【図43】実施例2の影領域特定アルゴリズムを説明す
る図である。
【図44】実施例2のシェーディングの手順を説明する
である。
【図45】図44のシェーディングの手順を実行するた
めの装置構成の一例を示す図である。
【図46】図45の装置における影用メモリ領域の割当
ての一例を示す図である。
【図47】本発明における非線型奥行きフォーマットを
説明する図である。
【符号の説明】
100 図形 1100 微小領域 1110 画素 1120 補間点 1140 補間点における法線ベクトル 1150 補間点における光線ベクトル 2000 メディアプロセッサ 2100 画素発生部 2110 領域アドレス計算部 2120 幾何学的ベクトル補間器群 2130 正規化モデル座標系計算器群 2140 輝度計算器群 2161 係数乗算器 2162 光線色成分別乗算器 2163 微小量域内輝度値ディレイアダー加算器 2164 環境光成分別加算器 2165 テクスチャ色乗算器 2166 微小量域内輝度値ディレイ加算器用キュー 2167 微小量域内輝度値ディレイ加算器用加算器 2170 輝度合成用加算器 3000 メモリモジュール 3100 メモリチップ 3110 画像領域 4000 周辺デバイス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 三好 雅則 茨城県日立市大みか町七丁目1番1号 株式会社 日立製作所 日立研究所内 (72)発明者 佐藤 潤 東京都小平市上水本町五丁目20番1号 株式会社 日立製作所 半導体事業部内 (72)発明者 曽根 崇 東京都小平市上水本町五丁目20番1号 株式会社 日立製作所 半導体事業部内 (56)参考文献 特開 平1−175088(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/50 200 JICSTファイル(JOIS)

Claims (28)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの画像表示部へのインタ
    ーフェース回路と前記画像表示部に表示する画像を記憶
    する少なくとも1つの画像データ格納部と前記画像デー
    タを構成する図形を発生する少なくとも1つの図形発生
    部とを有する画像表示装置内で、前記図形を構成する各
    画素の輝度を図形毎に与えられる前記図形の各頂点にお
    けるパラメータとして複数の幾何学的ベクトルを与え、
    前記複数の幾何学的ベクトルを図形内で補間し、補間に
    より発生させた複数の幾何学的ベクトルを用いて光源毎
    に図形内の輝度成分を逐次計算し、光源毎に逐次計算さ
    れた前記輝度成分を加算して輝度を計算するシェーディ
    ング方法において、 図形内各微小領域の輝度計算に寄与する光源が複数存在
    する場合に、前記微小領域を光源数以上の複数画素によ
    り構成し、 各光源毎に行われる幾何ベクトルを用いた領域の輝度計
    算を前記微小領域内で1回ずつとし、 前記1回ずつの計算結果を対応する画素に反映すること
    により各画素当りの輝度計算回数を1回以下として実質
    的に単一の輝度計算手段および単一光源相当の輝度計算
    時間内に微小領域毎に輝度を計算する ことを特徴とする
    シェーディング方法。
  2. 【請求項2】 請求項1に記載のシェーディング方法に
    おいて、 光源毎に1画素ずつずれた微小領域区分を定義し、 各微小領域の先頭画素発生時に前記光源に対応する輝度
    を計算し、 求められた輝度を前記微小領域内画素の前記光源に対応
    する輝度として複数光源の輝度計算と画素の発生処理と
    をパイプライン化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  3. 【請求項3】 請求項1に記載のシェーディング方法に
    おいて、 微小領域としてラスタ方向の1次元配列をとり、 画素発生順をラスタ方向としてメモリアクセス制御を単
    純化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  4. 【請求項4】 請求項1に記載のシェーディング方法に
    おいて、 微小領域としてタイル状の2次元配列をとり、 画素発生順をジグザグとして微小領域をコンパクトに
    し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  5. 【請求項5】 請求項1ないし4のいずれか一項に記載
    のシェーディング方法において、 前記頂点パラメータとしての幾何学的ベクトルを極座標
    系で与え、 3次元ベクトルの3つのパラメータを2つで表現して補
    間間後のベクトルの正規化処理を省略し、 複数の幾何学的ベクトルの補間による極座標値の更新を
    微小領域毎に一成分のみとし、 微小領域毎に更新する成分を交代し、 極座標におけるベクトル間のコサイン計算時に必要とな
    る成分毎のコサイン計算手段を単一化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  6. 【請求項6】 請求項5に記載のシェーディング方法に
    おいて、 複数の幾何学的ベクトルをその特徴を保存しつつ簡略化
    した別の座標系に写像し、 画素計算部における演算量を少なくし、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  7. 【請求項7】 請求項5に記載のシェーディング方法に
    おいて、 図形内各微小領域の輝度計算に寄与する光源が複数存在
    する場合に、前記微小領域を光源数以上の複数画素によ
    り構成し、 各光源毎に行われる幾何ベクトルを用いた領域の輝度計
    算を前記微小領域内で1回ずつとし、 前記1回ずつの計算結果を対応する画素に反映すること
    により画素当りの輝度計算回数を1回以下として実質的
    に単一の輝度計算手段および単一光源相当の輝度計算時
    間内に微小領域毎に輝度を計算することを特徴とするシ
    ェーディング方法。
  8. 【請求項8】 請求項7に記載のシェーディング方法に
    おいて、 光源毎に1画素ずつずれた微小領域区分を定義し、 各微小領域の先頭画素発生時に当前記光源に対応する輝
    度を計算し、 求められた輝度を前記微小領域内画素の当前記光源に対
    応する輝度として複数光源の輝度計算と画素の発生処理
    とをパイプライン化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  9. 【請求項9】 請求項7に記載のシェーディング方法に
    おいて、 微小領域としてラスタ方向の1次元配列をとり、 画素発生順をラスタ方向としメモリアクセス制御を単純
    化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  10. 【請求項10】 請求項7に記載のシェーディング方法
    において、 微小領域としてタイル状の2次元配列をとり、 画素発生順をジグザグとして微小領域をコンパクトに
    し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  11. 【請求項11】 請求項10に記載のシェーディング方
    法において、 複数の幾何学的ベクトルの補間による極座標値の更新を
    微小領域毎に一成分のみとし、微小領域毎に更新する成
    分を交代することにより、 極座標におけるベクトル間のコサイン計算時に必要とな
    る成分毎のコサイン計算手段を単一化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  12. 【請求項12】 請求項1に記載のシェーディング方法
    において、 輝度の成分毎にその値を保持するメモリ領域と対応する
    光源に対して影の領域にあることを示すマスク情報を保
    持するメモリ領域とを描画領域とは別に光源毎に持ち、 前記マスク情報を参照し、 表示時に影領域である場合には、描画領域から成分毎輝
    度値を減じて影を表示し、 輝度の成分を保持するメモリ領域のみならず、輝度の成
    分を加算して描画領域の輝度を計算したときのオーバー
    フロー値をも記憶し、 オーバーフロー時にも正確に影領域の輝度を再現し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  13. 【請求項13】 請求項12に記載のシェーディング方
    法において、 輝度の成分毎にその値を保持するメモリ領域と対応する
    光源に対して影の領域にあることを示すマスク情報を保
    持するメモリ領域とを描画領域の複数画素に対して一つ
    だけ対応させ、 付加情報によるメモリ容量増加を低減し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  14. 【請求項14】 請求項13に記載のシェーディング方
    法において、 描画領域の横幅が2のべき乗に満たない時、横幅から2
    のべき乗マイナス1の領域に前記付加情報を格納し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング方法。
  15. 【請求項15】 少なくとも1つの画像表示部へのイン
    ターフェース回路と前記画像表示部に表示する画像のデ
    ータを記憶する少なくとも1つの画像データ格納部と前
    記画像を構成する図形を発生する少なくとも1つの図形
    発生部とを有する画像表示装置内で、前記図形を構成す
    る各画素の輝度を図形毎に与えられる前記図形の各頂点
    におけるパラメータとして複数の幾何学的ベクトルを与
    える手段と、前記複数の幾何学的ベクトルを図形内で補
    間する手段と、補間により発生させた複数の幾何学的ベ
    クトルを用いて光源毎に図形内の輝度成分を逐次計算
    し、光源毎に逐次計算された前記輝度成分を加算して輝
    度を計算する手段とを備え、微小領域毎に輝度を計算す
    るシェーディング装置において、 図形内各微小領域の輝度計算に寄与する光源が複数存在
    する場合に、前記微小領域を光源数以上の複数画素によ
    り構成し、 各光源毎に行われる幾何ベクトルを用いた領域の輝度計
    算を前記微小領域内で1回ずつとし、 前記1回ずつの計算結果を対応する画素に反映すること
    により各画素当りの輝度計算回数を1回以下として実質
    的に単一の輝度計算手段および単一光源相当の輝度計算
    時間内に微小領域毎に輝度を計算する ことを特徴とする
    シェーディング装置。
  16. 【請求項16】 請求項15に記載のシェーディング装
    置において、 光源毎に1画素ずつずれた微小領域区分を定義し、 各微小領域の先頭画素発生時に前記光源に対応する輝度
    を計算し、 求められた輝度を前記微小領域内画素の前記光源に対応
    する輝度として複数光源の輝度計算と画素の発生処理と
    をパイプライン化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  17. 【請求項17】 請求項16に記載のシェーディング装
    置において、 微小領域としてラスタ方向の1次元配列をとり、 画素発生順をラスタ方向としてメモリアクセス制御を単
    純化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  18. 【請求項18】 請求項17に記載のシェーディング装
    置において、 微小領域としてタイル状の2次元配列をとり、 画素発生順をジグザグとして微小領域をコンパクトに
    し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  19. 【請求項19】 請求項15ないし18のいずれか一項
    に記載のシェーディング装置において、 前記頂点パラメータとしての幾何学的ベクトルを極座標
    系で与え、 3次元ベクトルの3つのパラメータを2つで表現し、 補間後のベクトルの正規化処理を削減し、 複数の幾何学的ベクトルの補間による極座標値の更新を
    微小領域毎に一成分のみとし、 微小領域毎に更新する成分を交代し、 極座標におけるベクトル間のコサイン計算時に必要とな
    る成分毎のコサイン計算手段を単一化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  20. 【請求項20】 請求項19に記載のシェーディング装
    置において、 複数の幾何学的ベクトルをその特徴を保存しつつ簡略化
    した別の座標系に写像し、 画素計算部における演算量を少なくし、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  21. 【請求項21】 請求項19に記載のシェーディング装
    置において、 図形内各微小領域の輝度計算に寄与する光源が複数存在
    する場合に、前記微小領域を光源数以上の複数画素によ
    り構成し、 各光源毎に行われる幾何ベクトルを用いた領域の輝度計
    算を前記微小領域内で1回ずつとし、 前記1回ずつの計算結果を対応する画素に反映すること
    により画素当りの輝度計算回数を1回以下として実質的
    に単一の輝度計算手段および単一光源相当の輝度計算時
    間内に微小領域毎に輝度を計算することを特徴とするシ
    ェーディング装置。
  22. 【請求項22】 請求項21に記載のシェーディング装
    置において、 光源毎に1画素ずつずれた微小領域区分を定義し、 各微小領域の先頭画素発生時に前記光源に対応する輝度
    を計算し、 求められた輝度を前記微小領域内画素の前記光源に対応
    する輝度として複数光源の輝度計算と画素の発生処理と
    をパイプライン化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  23. 【請求項23】 請求項21に記載のシェーディング装
    置において、 微小領域としてラスタ方向の1次元配列をとり、 画素発生順をラスタ方向としメモリアクセス制御を単純
    化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  24. 【請求項24】 請求項22に記載のシェーディング装
    置において、 微小領域としてタイル状の2次元配列をとり、 画素発生順をジグザグとして微小領域をコンパクトに
    し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  25. 【請求項25】 請求項24に記載のシェーディング装
    置において、 複数の幾何学的ベクトルの補間による極座標値の更新を
    微小領域毎に一成分のみとし、微小領域毎に更新する成
    分を交代することにより、 極座標におけるベクトル間のコサイン計算時に必要とな
    る成分毎のコサイン計算手段を単一化し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  26. 【請求項26】 請求項25に記載のシェーディング装
    置において、 輝度の成分を保持するメモリ領域のみならず、輝度の成
    分を加算して描画領域の輝度を計算したときのオーバー
    フロー値をも記憶することによりオーバーフロー時にも
    正確に影領域の輝度を再現し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  27. 【請求項27】 請求項26に記載のシェーディング装
    置において、 輝度の成分毎にその値を保持するメモリ領域と対応する
    光源に対して影の領域にあることを示すマスク情報を保
    持するメモリ領域とを描画領域の複数画素に対して一つ
    だけ対応させ、 付加情報によるメモリ容量増加を低減し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
  28. 【請求項28】 請求項27に記載のシェーディング装
    置において、 描画領域の横幅が2のべき乗に満たない時、横幅から2
    のべき乗マイナス1の領域に前記付加情報を格納し、 微小領域毎に輝度を計算することを特徴とするシェーデ
    ィング装置。
JP29840895A 1995-02-28 1995-11-16 シェーディング方法およびシェーディング装置 Expired - Fee Related JP3268484B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP29840895A JP3268484B2 (ja) 1995-02-28 1995-11-16 シェーディング方法およびシェーディング装置
TW085102107A TW335466B (en) 1995-02-28 1996-02-24 Data processor and shade processor
KR1019970706004A KR100448724B1 (ko) 1995-02-28 1996-02-27 데이터처리장치및섀이딩장치
US08/894,786 US6433782B1 (en) 1995-02-28 1996-02-27 Data processor apparatus and shading apparatus
PCT/JP1996/000449 WO1996027168A1 (fr) 1995-02-28 1996-02-27 Processeur de donnees et dispositif d'ombrage
US10/175,805 US6806875B2 (en) 1995-02-28 2002-06-21 Data processing apparatus and shading apparatus
US10/947,275 US7064756B2 (en) 1995-02-28 2004-09-23 Data processing apparatus and shading apparatus
US11/432,350 US20060202992A1 (en) 1995-02-28 2006-05-12 Data processing apparatus and shading apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3969195 1995-02-28
JP7-39691 1995-02-28
JP29840895A JP3268484B2 (ja) 1995-02-28 1995-11-16 シェーディング方法およびシェーディング装置

Publications (2)

Publication Number Publication Date
JPH08297749A JPH08297749A (ja) 1996-11-12
JP3268484B2 true JP3268484B2 (ja) 2002-03-25

Family

ID=26379067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29840895A Expired - Fee Related JP3268484B2 (ja) 1995-02-28 1995-11-16 シェーディング方法およびシェーディング装置

Country Status (1)

Country Link
JP (1) JP3268484B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6381404B2 (ja) * 2014-10-23 2018-08-29 キヤノン株式会社 画像処理装置及び方法、及び撮像装置
JP6540949B2 (ja) * 2015-04-28 2019-07-10 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法および表示装置
JP6115676B2 (ja) * 2016-04-27 2017-04-19 大日本印刷株式会社 ライトフィールドの合成方法

Also Published As

Publication number Publication date
JPH08297749A (ja) 1996-11-12

Similar Documents

Publication Publication Date Title
KR100448724B1 (ko) 데이터처리장치및섀이딩장치
US5586234A (en) Parallel processing three-dimensional drawing apparatus for simultaneously mapping a plurality of texture patterns
JP4385524B2 (ja) ポリゴンデータの生成方法及び、これを用いた画像表示装置
US4974177A (en) Mapping circuit of a CRT display device
US6275235B1 (en) High precision texture wrapping method and device
US7256781B2 (en) Image processing apparatus and method of same
JP3645024B2 (ja) 描画装置及び描画方法
JP3466661B2 (ja) 画像処理装置及びその方法
US20050243101A1 (en) Image generation apparatus and image generation method
JPH0776991B2 (ja) Nurbsデータ変換方法及び装置
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
US7158133B2 (en) System and method for shadow rendering
WO1996028794A1 (fr) Dispositif d'affichage graphique tridimensionnel
US7015930B2 (en) Method and apparatus for interpolating pixel parameters based on a plurality of vertex values
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
JP3268484B2 (ja) シェーディング方法およびシェーディング装置
US5732248A (en) Multistep vector generation for multiple frame buffer controllers
KR100559127B1 (ko) 화상처리장치
JP3985321B2 (ja) 演算装置および画像処理装置
US7015917B2 (en) Curved surface subdivision apparatus
JP4060375B2 (ja) スポットライト特性形成方法及びこれを用いた画像処理装置
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
US20030231180A1 (en) Image processing apparatus and method of same
US6693634B1 (en) Reduction rate processing circuit and method with logarithmic operation and image processor employing same
US6188409B1 (en) 3D graphics device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080118

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100118

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees