JP3522714B2 - 画像生成方法 - Google Patents

画像生成方法

Info

Publication number
JP3522714B2
JP3522714B2 JP2001168928A JP2001168928A JP3522714B2 JP 3522714 B2 JP3522714 B2 JP 3522714B2 JP 2001168928 A JP2001168928 A JP 2001168928A JP 2001168928 A JP2001168928 A JP 2001168928A JP 3522714 B2 JP3522714 B2 JP 3522714B2
Authority
JP
Japan
Prior art keywords
value
area
sum
pixel
micropolygon
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
JP2001168928A
Other languages
English (en)
Other versions
JP2002049931A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001168928A priority Critical patent/JP3522714B2/ja
Publication of JP2002049931A publication Critical patent/JP2002049931A/ja
Application granted granted Critical
Publication of JP3522714B2 publication Critical patent/JP3522714B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は3次元コンピュータグラ
フィックス分野において、高速にかつ高品位な画像を生
成する画像生成装置に関する。
【0002】
【従来の技術】従来、高品位な画像を生成する手法の代
表はレイ・トレーシング法やラジオシティ法であった
が、表示しようとするシーンが複雑な場合やモデルが大
きくなると、計算時間が多大にかかるという欠点があっ
た。この欠点は複雑なシーンや大きなモデルを使用して
のアニメーションを製作する場合、特に致命的とも言え
るものであった。
【0003】レイ・トレーシング法やラジオシティ法の
大きな特徴の1つは、非局所的なライティング効果であ
るが、この効果はテクスチャマッピングで近似可能ある
ので、これらの手法によって得られるわずかな非局所的
なライティング効果よりも複雑な形状や大きなモデルを
短時間に、高画質で表示する方がより重要であるという
思想の下で、クック等はマイクロポリゴンという基本形
状に統一してレンダリングを行う手法を考案した。
【0004】この手法については以下の論文に詳述され
ている。 Robert L. Cook, Loren Carpenter, Edwin Catmull, "T
he Reyes ImageRendering Architecture", Computer Gr
aphics(SIGGRAPH'87 Proceedings),Vol.21, No.4, pp.9
5-102, July 1987.
【0005】上記論文で述べられている手法についてそ
の要点を説明する。まず、3次元空間であるワールド空
間で定義された物体を構成するポリゴンや曲面はマイク
ロポリゴンと呼ばれる形状要素に分割される。この分割
は、前方差分法を用いて行うことも可能で、2次元のス
クリーン空間へ変換したときにピクセルの面積の1/4程
度に成るように予測しながら行う。但し、この分割はあ
くまでも3次元の視点空間で行われため、後述するよう
な欠点を有するということを強調しておきたい。
【0006】この分割が終了後、生成されたマイクロポ
リゴンは、2次元のスクリーン空間へ幾何変換される。
幾何変換されたマイクロポリゴンは、クリッピング後、
ジッタリングという一種のストキャスティック・サンプ
リング法によってピクセルに対する面積寄与率を決め、
テクスチャマッピングに基づくフラットシェーディング
という手法を基本にレンダリングすることで、画像が生
成される。ストキャスティック・サンプリング法は、モ
ンテカルロ法と同様な手法で、この一種であるジッタリ
ングはサブピクセルにオーバラップするマイクロポリゴ
ンのサンプリングに使用する。
【0007】つまり、ピクセルはいくつかのサブピクセ
ルに分割され、各サブピクセルはその内部に1つのサン
プルポイントを持つ。このサンプルポイント位置はサブ
ピクセルの中央の位置からランダムな変位を加えること
によって決定され、この位置決めの方法をジッタリング
と呼ぶ。このジッタリングの操作は、(描画によって書
き込まれるピクセル数)×(サブピクセルへの分割数)
回必要である。
【0008】以上が、上記論文で述べられているマイク
ロポリゴンを使用したレンダリング方法の要点で、これ
によって生成された画像は、先のレイ・トレーシング法
やラジオシティ法に比べても遜色ないものである。
【0009】
【発明が解決しようとする課題】しかしながら上記のよ
うな手法では、3次元の視点空間でマイクロポリゴンを
生成するため、生成したマイクロポリゴンを全て2次元
のスクリーン空間に幾何変換しなければならない。生成
されるマイクロポリゴンの個数は、上記論文に記載され
ている例では680万個にものぼっており、より複雑な
シーンでは更にマイクロポリゴンの個数は増える。これ
ら全てのマイクロポリゴンを幾何変換するための計算量
は膨大なものとなる。
【0010】しかしながら、2次元のスクリーン空間で
マイクロポリゴンを生成できれば、この幾何変換は不要
である。更に、マイクロポリゴンの生成において、3次
元空間で生成する場合には、その位置や大きさを規定す
るためには3つの座標値や成分を算出する計算が必要で
あるが、2次元で取り扱う場合には、これらは2つで済
むので、この点に関しても計算量は、従来の2/3にな
る。
【0011】また、上記の手法ではジッタリングを使用
しているため、(描画によって書き込まれるピクセル
数)×(サブピクセルへの分割数)回の乱数の発生が必
要であるが、複雑なシーンでは経験的には3画面分以上
のピクセルへの書き込みがあり、1画面は小さなもので
も640×480ピクセルあり、サブピクセルへの分割
数は上記論文では16なので、少なくとも1474万5
600回もの乱数の発生を行わなければならない。従っ
て、ジッタリング操作に費やされる計算量も膨大なもの
である。しかし、これに代わり、本発明によるようなマ
イクロポリゴンのピクセルに対する面積寄与率を予めテ
ーブルの形で保持しておき、これによって面積寄与率を
決定する手法であれば、ジッタリング操作は不要とな
り、計算量は激減する。
【0012】本発明は、上記従来の問題を解決するため
になされたもので、2次元のスクリーン空間でマイクロ
ポリゴンを生成し、マイクロポリゴンのピクセルに対す
る面積寄与率をテーブル形で保持し、これによって面積
寄与率を高速に決定することにより、高画質な画像が生
成することができる画像生成方法を提供することを目的
とする。
【0013】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の画像生成方法は、ポリゴンや曲面を与え
られた分割数で分割してサブポリゴンや分割曲面を生成
するステップと、前記サブポリゴンや分割曲面を四角形
近似したマイクロポリゴンを生成するステップと、前記
マイクロポリゴンに対して面積寄与率のテーブルから面
積寄与率を求めるステップと、前記面積寄与率を用いて
画像を生成するステップからなるという構成を備えたも
のである。
【0014】上記の目的を達成するために、本発明の画
像生成方法は、ポリゴンや曲面を与えられた分割数で分
割してサブポリゴンや分割曲面を生成するステップと、
前記サブポリゴンや分割曲面を平行四辺形近似したマイ
クロポリゴンを生成するステップと、前記マイクロポリ
ゴンに対して面積寄与率のテーブルから面積寄与率を求
めるステップと、前記面積寄与率を用いて画像を生成す
るステップからなるという構成を備えたものである。
【0015】上記の目的を達成するために、本発明の画
像生成方法は、ポリゴンや曲面を与えられた分割数で分
割してサブポリゴンや分割曲面を生成するステップと、
前記サブポリゴンや分割曲面を三角形近似したマイクロ
ポリゴンを生成するステップと、前記マイクロポリゴン
に対して面積寄与率のテーブルから面積寄与率を求める
ステップと、前記面積寄与率を用いて画像を生成するス
テップからなるという構成を備えたものである。
【0016】上記の目的を達成するために、本発明の画
像生成方法は、固定したピクセル数の領域内の四角形近
似したマイクロポリゴンに対して面積寄与率を算出して
生成した面積寄与率のテーブルを用いるという構成を備
えたものである。
【0017】上記の目的を達成するために、本発明の画
像生成方法は、固定したピクセル数の領域内の平行四辺
形近似したマイクロポリゴンに対して面積寄与率を算出
して生成した面積寄与率のテーブルを用いるという構成
を備えたものである。
【0018】上記の目的を達成するために、本発明の画
像生成方法は、固定したピクセル数の領域内の三角形近
似したマイクロポリゴンに対して面積寄与率を算出して
生成した面積寄与率のテーブルを用いるという構成を備
えたものである。
【0019】上記の目的を達成するために、本発明の画
像生成方法は、各ピクセルに対して描画用輝度値と計算
用輝度値と、ピクセルとマイクロポリゴンの共有領域の
面積のピクセルの面積に対する比率である面積寄与率の
和を保持することが可能な記憶装置がある時、1つのポ
リゴンまたは曲面に対して生成されたマイクロポリゴン
の各ピクセルに対する面積寄与率算出後、前記記憶装置
へ書き込む際に、面積寄与率の和が1より小さい時に限
り、前の面積寄与率の和に算出した面積寄与率の値を加
えたテンポラリの値を計算し、テンポラリの値が1以下
の場合は、面積寄与率の和はテンポラリの値に更新し、
計算用輝度値は、算出した面積寄与率にマイクロポリゴ
ンに与えられた輝度値を乗じた値と前の計算用輝度値と
を加えた値に更新し、テンポラリの値が1より大きい場
合は、計算用輝度値は、1から前の面積寄与率の和を減
じた値にこのマイクロポリゴンに与えられた輝度値を乗
じた値と前の計算用輝度値とを加えた値に更新し、面積
寄与率の和は1に更新するステップと、1つのポリゴン
または曲面に対して生成された全てのマイクロポリゴン
に対して処理が終了したか否かの判定を行ない、終了し
たという判定ならば、描画用輝度値を、1から面積寄与
率の和を減じた値に前の描画用輝度値を乗じた値と計算
用輝度値とを加えた値に更新し、更新が終了したならば
計算用輝度値と面積寄与率の和を0に初期化するステッ
プとから成る、記憶装置への書き込みを行うステップか
らなるという構成を備えたものである。
【0020】上記の目的を達成するために、本発明の画
像生成方法は、ピクセルとマイクロポリゴンの共有領域
の面積のピクセルの面積に対する比率である面積寄与率
に不透明度を乗じた値をピクセル寄与率とするとき、各
ピクセルに対して描画用輝度値と計算用輝度値と面積寄
与率の和とピクセル寄与率の和を保持することが可能な
記憶装置がある時、1つのポリゴンまたは曲面に対して
生成されたマイクロポリゴンの各ピクセルに対する面積
寄与率算出後、前記記憶装置へ書き込む際に、面積寄与
率の和が1より小さい時に限り、前の面積寄与率の和に
算出した面積寄与率の値を加えたテンポラリの値を計算
し、テンポラリの値が1以下の場合は、面積寄与率の和
はテンポラリの値に更新し、ピクセル寄与率の和は、マ
イクロポリゴンに与えられた不透明度に、算出した面積
寄与率を乗じた値と、前のピクセル寄与率の和とを加え
た値に更新し、計算用輝度値は、算出した面積寄与率と
マイクロポリゴンに与えられた不透明度と輝度値とを乗
じた値と、前の計算用輝度値とを加えた値に更新し、テ
ンポラリの値が1より大きい場合は、計算用輝度値は、
1から前の面積寄与率の和を減じた値とこのマイクロポ
リゴンに与えられた不透明度と輝度値とを乗じた値と、
前の計算用輝度値とを加えた値に更新し、面積寄与率の
和は1に更新し、ピクセル寄与率の和は1から前の面積
寄与率の和を減じた値にマイクロポリゴンに与えられた
不透明度を乗じた値と、前のピクセル寄与率の和とを加
えた値に更新するステップと、1つのポリゴンまたは曲
面に対して生成された全てのマイクロポリゴンに対して
処理が終了したか否かの判定を行い、終了したという判
定ならば、描画用輝度値を、1からピクセル寄与率の和
を減じた値に前の描画用輝度値を乗じた値と計算用輝度
値とを加えた値に更新し、更新が終了したならば計算用
輝度値と面積寄与率の和とピクセル寄与率の和を0に初
期化するステップとからなる、記憶装置への書き込みを
行うステップからなるという構成を備えたものである。
【0021】上記の目的を達成するために、本発明の画
像生成方法は、各ピクセルに対して描画用輝度値と計算
用輝度値と、ピクセルとマイクロポリゴンの共有領域の
面積のピクセルの面積に対する比率である面積寄与率の
和を保持することが可能な記憶装置がある時、1つのポ
リゴンまたは曲面に対して生成されたマイクロポリゴン
の各ピクセルに対する面積寄与率算出後、前記記憶装置
へ書き込む際に、面積寄与率の和が1より小さいときに
限り、前の面積寄与率の和に算出した面積寄与率の値を
加えたテンポラリの値を計算し、テンポラリの値が1以
下の場合は、面積寄与率の和は前記テンポラリの値に更
新し、計算用輝度値は、算出した面積寄与率と、描画用
輝度値からマイクロポリゴンに与えられた輝度値を減じ
た値とを乗じた値を、前の計算用輝度値から減じた値に
更新し、テンポラリの値が1より大きい場合は、計算用
輝度値は、1から前の面積寄与率の和を減じた値と、描
画用輝度値からマイクロポリゴンに与えられた輝度値を
減じた値とを乗じた値を、前の計算用輝度値から減じた
値に更新し、面積寄与率の和は1に更新するステップ
と、1つのポリゴンまたは曲面に対して生成された全て
のマイクロポリゴンに対して処理が終了したか否かの判
定を行い、終了したという判定ならば、描画用輝度値を
計算用輝度値に更新し、更新が終了したならば計算用輝
度値と面積寄与率の和を0に初期化するステップとから
なる、記憶装置への書き込みを行うステップからなると
いう構成を備えたものである。
【0022】上記の目的を達成するために、本発明の画
像生成方法は、各ピクセルに対して描画用輝度値と計算
用輝度値と、ピクセルとマイクロポリゴンの共有領域の
面積のピクセルの面積に対する比率である面積寄与率の
和を保持することが可能な記憶装置がある時、1つのポ
リゴンまたは曲面に対して生成されたマイクロポリゴン
の各ピクセルに対する面積寄与率算出後、前記記憶装置
へ書き込む際に、面積寄与率の和が1より小さい時に限
り、前の面積寄与率の和に算出した面積寄与率の値を加
えたテンポラリの値を計算し、テンポラリの値が1以下
の場合は、面積寄与率の和はテンポラリの値に更新し、
計算用輝度値は、算出した面積寄与率と、マイクポリゴ
ンに与えられた不透明度と、描画用輝度値からマイクロ
ポリゴンに与えられた輝度値を減じた値とを乗じた値
を、前の計算用輝度値から減じた値に更新し、テンポラ
リの値が1より大きい場合は、計算用輝度値は、1から
前の面積寄与率の和を減じた値と、マイクポリゴンに与
えられた不透明度と、描画用輝度値からマイクロポリゴ
ンに与えられた輝度値を減じた値とを乗じた値を、前の
計算用輝度値から減じた値に更新し、面積寄与率の和は
1に更新するステップと、1つのポリゴンまたは曲面に
対して生成された全てのマイクロポリゴンに対して処理
が終了したか否かの判定を行い、終了したという判定な
らば、描画用輝度値を計算用輝度値に更新し、更新が終
了したならば計算用輝度値と面積寄与率の和を0に初期
化するステップとからなる、記憶装置への書き込みを行
うステップからなるという構成を備えたものである。
【0023】上記の目的を達成するために、本発明の画
像生成方法は、各ピクセルの輝度値と、ピクセルとマイ
クロポリゴンの共有領域の面積のピクセルの面積に対す
る比率である面積寄与率の和を保持することが可能な記
憶装置に対して、マイクロポリゴンの各ピクセルに対す
る面積寄与率算出後、前記記憶装置へ書き込む際に、面
積寄与率の和が1より小さい時に限り、前の面積寄与率
の和に算出した面積寄与率の値を加えたテンポラリの値
を計算し、テンポラリの値が1以下の場合は、前の面積
寄与率の和をテンポラリの値に更新し、輝度値について
は、算出した面積寄与率にマイクロポリゴンに与えられ
た輝度値を乗じた値に前の輝度値を加えた値に更新し、
テンポラリの値が1より大きい場合は、輝度値について
は、1から前の面積寄与率の和を減じた値にこのマイク
ロポリゴンに与えられた輝度値を乗じた値に前の輝度値
を加えた値に更新し、面積寄与率の和は1に更新するス
テップと、全てのポリゴンまたは曲面の処理が終わった
か否かの判定を行うステップと、前記ステップで終了し
たという判定がなされたならば、面積寄与率の和が1よ
り小さいピクセルに対して、輝度値を記憶していた輝度
値に、1から面積寄与率の和を減じた値と背景として与
えられた輝度値とを乗じた値を加えた値に更新するステ
ップとからなる、記憶装置への書き込みを行うステップ
からなるという構成を備えたものである。
【0024】上記の目的を達成するために、本発明の画
像生成方法は、ピクセルとマイクロポリゴンの共有領域
の面積のピクセルの面積に対する比率である面積寄与率
に不透明度を乗じた値をピクセル寄与率とするとき、各
ピクセルに対して輝度値とピクセル寄与率の和を保持す
ることが可能な記憶装置がある時、マイクロポリゴンの
各ピクセルに対する面積寄与率算出後、前記記憶装置へ
書き込む際に、ピクセル寄与率の和が1より小さい時に
限り、前のピクセル寄与率の和に算出した面積寄与率と
マイクロポリゴンに与えられた不透明度を乗じた値を加
えたテンポラリの値を計算し、テンポラリの値が1以下
の場合は、前のピクセル寄与率の和をテンポラリの値に
更新し、輝度値については、算出した面積寄与率とマイ
クロポリゴンに与えられた不透明度と輝度値とを乗じた
値に前の輝度値を加えた値に更新し、テンポラリの値が
1より大きい場合は、輝度値については、1から前のピ
クセル寄与率の和を減じた値にこのマイクロポリゴンに
与えられた輝度値を乗じた値と、前の輝度値とを加えた
値に更新し、ピクセル寄与率の和は1に更新するステッ
プと、全てのポリゴンまたは曲面の処理が終わったか否
かの判定を行うステップと、前記ステップで終了したと
いう判定がなされたならば、ピクセル寄与率の和が1よ
り小さいピクセルに対して、輝度値を記憶していた輝度
値に、1からピクセル寄与率の和を減じた値と背景とし
て与えられた輝度値とを乗じた値を加えた値に更新する
ステップとからなる、記憶装置への書き込みを行うステ
ップからなるという構成を備えたものである。
【0025】上記の目的を達成するために、本発明の画
像生成方法は、ピクセルとマイクロポリゴンの共有領域
の面積のピクセルの面積に対する比率である面積寄与率
に不透明度を乗じた値をピクセル寄与率とするとき、各
ピクセルの輝度値とピクセル寄与率の和を保持すること
が可能な輝度用の記憶装置と面積寄与率の和を保持する
ことが可能な面積寄与率用の記憶装置に対して、1つの
ポリゴンまたは曲面に対して生成されたマイクロポリゴ
ンの各ピクセルに対する面積寄与率算出後、前記記憶装
置へ書き込む際に、面積寄与率の和とピクセル寄与率の
和がどちらも1より小さい時に限り、前の面積寄与率の
和に算出した面積寄与率の値を加えた面積寄与率の和の
テンポラリの値と、前のピクセル寄与率の和に、算出し
た面積寄与率とマイクロポリゴンに与えられた不透明度
とを乗じた値を加えたピクセル寄与率の和のテンポラリ
の値とを計算し、面積寄与率の和のテンポラリの値とピ
クセル寄与率の和のテンポラリの値が共に1以下の場合
は、面積寄与率の和は面積寄与率の和のテンポラリの値
に更新し、ピクセル寄与率の和はピクセル寄与率の和の
テンポラリの値に更新し、輝度値は、算出した面積寄与
率とマイクロポリゴンに与えられた不透明度と輝度値と
を乗じた値を、前の輝度値に加えた値に更新し、面積寄
与率の和のテンポラリの値が1より大きく、ピクセル寄
与率の和のテンポラリの値が1以下の場合は、輝度値
は、1から前の面積寄与率の和を減じた値と、マイクポ
リゴンに与えられた不透明度と輝度値とを乗じた値を、
前の輝度値に加えた値に更新し、面積寄与率の和は1に
更新し、ピクセル寄与率の和は前のピクセル寄与率の和
に、1から前の面積寄与率の和を減じた値とマイクロポ
リゴンに与えられた不透明度とを乗じた値を加えた値に
更新し、ピクセル寄与率の和のテンポラリの値が1より
大きい場合は、輝度値は1から前のピクセル寄与率の和
を減じた値にマイクロポリゴンにあたられた輝度値を乗
じた値と、前の輝度値とを加えた値に更新し、面積寄与
率の和とピクセル寄与率の和は1に更新するステップ
と、1つのポリゴンまたは曲面に対して生成された全て
のマイクロポリゴンに対して処理が終了したか否かの判
定を行い、終了したという判定ならば、前記面積寄与率
用の記憶装置の内容を0に初期化するステップと、全て
のポリゴンまたは曲面の処理が終わったか否かの判定を
行うステップと、前記ステップで終了したという判定が
なされたならば、ピクセル寄与率の和が1より小さいピ
クセルに対して、輝度値を記憶していた輝度値に、1か
らピクセル寄与率の和を減じた値と背景として与えられ
た輝度値とを乗じた値を加えた値に更新するステップと
からなる、記憶装置への書き込みを行うステップからな
るという構成を備えたものである。
【0026】
【作用】本発明は、上記のように構成したことにより、
3次元空間で定義された曲面やポリゴンを2次元のスク
リーン空間へ幾何変換した後、マイクロポリゴンの生成
を行うので、幾何変換の計算量は従来に比べ激減し、高
速化が図れる。すなわち、曲面やポリゴンの2次元のス
クリーン空間への幾何変換は、実際には、これらを定義
する頂点やコントロールポイント、内分点を幾何変換す
る訳であるが、これらの個数はマイクロポリゴンの個数
に比べて1桁から3桁ほど少ない。
【0027】従って、幾何変換に要する計算量も少なく
とも1桁から2桁程減少するので、これによる高速化へ
の効果は大きい。更に、マイクロポリゴンの生成過程に
おいても、従来のように3次元空間で生成する場合に
は、その位置や大きさを規定するためには3つの座標値
や成分を算出する計算が必要であるが、2次元で取り扱
う場合には、これらは2つで済むので、この点に関して
も計算量は従来の2/3になる。
【0028】次に、従来はジッタリングによってレンダ
リングしていたので、乱数の発生が必要であったのに対
し、本発明では、面積寄与率をテーブルによって決定し
ているので、その必要がなく高速に処理することができ
る。また、本発明による手法は、面積寄与率をテーブル
として用意するので、ハードウェア化が容易であるとい
う特徴をも有する。更に、テーブルのエントリ数は、マ
イクロポリゴンを平行四辺形や三角形に限ることによ
り、減少することができる。その際、曲面やポリゴンを
分割したときにできる分割曲面やサブポリゴンを、この
平行四辺形や三角形のマイクロポリゴンで近似すること
になる。面積寄与率はテーブルで求める他に計算でも算
出できるので、本発明では面積積分を応用した手法を用
いてこれを提供する。これは、面積寄与率のテーブルを
作成する時にも用いることができる。
【0029】また、平行四辺形や三角形のマイクロポリ
ゴンは基準点の位置座標と基準点を挟む2つのベクトル
で規定できるので、本発明では、これらからテーブルを
引くときのアドレスを生成する。マイクロポリゴンの最
大サイズを決め、最大サイズに到るまでのマイクロポリ
ゴンの大きさを離散的に定めておくことによりテーブル
は有限のサイズとなる。このとき、最大サイズのマイク
ロポリゴンの基準点を1ピクセル内に固定しておき、基
準点の位置は変えずに最大サイズのマイクロポリゴンを
任意の位置に移動してもはみ出ないようなピクセルの矩
形領域が決まる。
【0030】面積寄与率のテーブルの1つのエントリに
は、この矩形に含まれるピクセル数だけの面積寄与率が
保持されていれば十分である。しかし、これでは1つの
エントリのサイズが大きくなるので、本発明では、最大
サイズのマイクロポリゴンを含むことが可能な矩形の部
分領域分に含まれるピクセル数だけの面積寄与率と、こ
の部分領域が元の矩形領域のどこに位置しているかを示
す識別子をエントリとして持つことにより面積寄与率の
テーブルのサイズを小さくする。
【0031】マイクロポリゴンの最大サイズが決まって
いるということは、ポリゴンや曲面を所定の手続きで分
割した場合にできるサブポリゴンや分割曲面が、この最
大サイズより大きいときには再分割する必要がある。本
発明ではこの再分割に対して、再帰的な再分割のアルゴ
リズムによってこれに対処する。
【0032】マイクロポリゴンの中には、生成された画
像には反映されないものが存在する。特に顕著なものは
裏を向いているもので、本発明ではこの裏向きのマイク
ロポリゴンを除去する手法を提供する。マイクロポリゴ
ンが裏を向いているか否かは、元の曲面の表面の向きと
マイクロポリゴンの法線の向きとによって定めることが
でき、本発明でもこれに基づいて決めている。
【0033】また、曲面やポリゴン単位で奥行きに対し
てソーティングが行われており、ソート法で隠れ面処理
を行う場合、曲面に関してはマイクロポリゴンの発生順
序を考慮しないと、奥の見えないマイクロポリゴンが描
画されてしまい、また、マイクロポリゴンの発生順序
は、コントロールポイントのインデックスの順序によっ
てコントロールできるが、このとき、テクスチャ等の輝
度値データに対するアクセス順序についても考慮してお
かないとテクスチャの貼る向きがおかしくなるという事
態が生じる。本発明では、この点を考慮して、マイクロ
ポリゴンの発生順序に合わせて、輝度値データへのアク
セス順序も変更して上記の問題を除去する。
【0034】実際に画像を生成するためには、フレーム
メモリ等への書き込みが必要である。本発明では、エリ
アシングを除去するために面積寄与率を考慮した形で、
この記憶装置への書き込みを行うことができる。各ピク
セルの面積寄与率は誤差がなければ、1以下なのである
が、実際には誤差があるため、マイクロポリゴンの面積
寄与率を1つのピクセルについて足していくと1を越え
てしまうことがあり、本発明では、これに対処するた
め、面積寄与率の値が1以下となるようにしており、物
体の透明表現に対する対応も行うようにしている。ま
た、本発明は記憶装置に対する書き込み方が異なる奥か
ら書き込む場合と、手前から書き込む場合のどちらの場
合にも対応することができる。
【0035】
【実施例】以下、添付図面に基づき、本発明の実施例を
詳細に説明する。まず、図1を参照して、本発明の第1
の実施例の画像生成装置について説明する。図1は本発
明の第1の実施例による画像生成装置の構成を示す図で
ある。図1において、1は物体が定義されている3次元
ワールド空間で曲面上の点を算出する曲面点算出手段、
2は3次元ワールド空間から2次元のスクリーン空間へ
の変換を行う幾何変換手段、3は2次元スクリーン空間
で曲面を定義するコントロールポイントを算出するコン
トロールポイント算出手段、4はコントロールポイント
のインデックスの変更を行うインデックス変更手段であ
る。
【0036】又、5はマイクロポリゴンを生成するマイ
クロポリゴン生成手段、6は裏を向いているマイクロポ
リゴンを除去する裏面除去手段、7はマイクロポリゴン
のサイズが規定以内か否かの判定を行う再分割判定手
段、8はマイクロポリゴンの再分割数の変更を行う分割
数変更手段、9はマイクロポリゴンの再分割数を決める
分割数決定手段、10はサブマイクロポリゴンの生成を
行うサブマイクロポリゴン生成手段、11は面積寄与率
を参照する際のアドレスを生成するアドレス生成手段、
12はマイクロポリゴンのピクセルに対する面積寄与率
を求める面積寄与率参照手段、13はマイクロポリゴン
の生成順に合わせてテクスチャデータのアクセス順番を
変更するアクセス変更手段、14はテクスチャデータを
求めるテクスチャデータ参照手段である。
【0037】又、15は記憶装置への書き込みを行う記
憶装置書き込み手段で、16のマイクロポリゴンのレン
ダリングを行うレンダリング手段と、17の1つの曲面
に対する処理が終わったか否かの判定を行う1面処理終
了判定手段と、18の1つの場面に対する処理が終わっ
たか否かの判定を行う1シーン処理終了判定手段と、1
9の記憶装置内の輝度値データの修正を行う輝度値修正
手段とからなる。
【0038】次に、上記のように構成された画像生成装
置の動作について、詳細に説明する。本発明の動作を説
明するにあたり、曲面としてはユニフォームな双3次B
スプライン曲面を、ポリゴンについては四角形ポリゴン
を双3次Bスプライン曲面の特殊な場合として説明を行
う。双3次Bスプライン曲面は、例えば、図3に示すよ
うなものであり、図のように曲面は16個のコントロー
ルポイントP00,P01,・・・ ,P03,P10,・・・ ,P33
で規定され、曲面の方程式は座標毎独立に定義され、2
つの独立なパラメータu,v(0≦u,v≦1)を固定
する毎に曲面上の点の座標が求められる。この定義方程
式は、x,y,zに対し、それぞれ、
【0039】
【数1】
【0040】
【数2】
【0041】
【数3】
【0042】で表される。但し、Px00 ,Px01 ,・・・
,Px03 ,Px10 ,・・・ ,Px33 はコントロールポイ
ントP00,P01,・・・ ,P03,P10,・・・ ,P33のx座
標で、Py00 ,Py00 ,・・・ ,Py33 、Pz00 ,Pz01
,・・・ ,Pz33 はy,z座標である。4頂点の座標が
反時計回りに(x1 ,y1 ,z1 ),(x2 ,y2 ,z
2 ),(x3 ,y3 ,z3 ),(x4 ,y4 ,z4 )で
与えられる3次元空間中の四角形ポリゴンは、コントロ
ールポイントを、
【0043】
【数4】
【0044】
【数5】
【0045】
【数6】
【0046】
【数7】
【0047】
【数8】
【0048】
【数9】
【0049】
【数10】
【0050】
【数11】
【0051】
【数12】
【0052】
【数13】
【0053】
【数14】
【0054】
【数15】
【0055】
【数16】
【0056】
【数17】
【0057】
【数18】
【0058】
【数19】
【0059】で与えることにより、(数1)(数2)
(数3)で定義することができる。3次元ワールド空間
中の物体は、以上の双3次Bスプライン曲面や四角形ポ
リゴンで構成されており、これらの曲面やポリゴンは投
影を行う2次元スクリーン空間に対する奥行きについ
て、遠くのものから近くのものへ、もしくは近くのもの
から遠くのものへのいずれかに、予めソーティングされ
ているものと仮定する。
【0060】曲面点算出手段1は、3次元ワールド空間
中で定義されている双3次Bスプライン曲面に対して
は、曲面の16個のコントロールポイント、Pwij (P
wxij,Pwyij,Pwzij);i,j=0,1,2,3、を
入力し、曲面上の16点、Qwij (Qwxij,Qwyij,Q
wzij);i,j=0,1,2,3、を算出して、幾何変
換手段2へ出力する。また、上述のようにコントロール
ポイントで定義された四角形ポリゴンに対しては、コン
トロールポイントの座標値をそのままQwij として幾何
変換手段2へ出力する。曲面の場合、この曲面上の16
点とパラメータu,vとは図4に示すように、以下の関
係によって規定されているものとする。
【0061】
【数20】
【0062】
【数21】
【0063】
【数22】
【0064】
【数23】
【0065】
【数24】
【0066】
【数25】
【0067】
【数26】
【0068】
【数27】
【0069】
【数28】
【0070】
【数29】
【0071】
【数30】
【0072】
【数31】
【0073】
【数32】
【0074】
【数33】
【0075】
【数34】
【0076】
【数35】
【0077】この16点の座標値の算出は、
【0078】
【数36】
【0079】
【数37】
【0080】
【数38】
【0081】
【数39】
【0082】
【数40】
【0083】
【数41】
【0084】とすると、座標毎にまとめて、
【0085】
【数42】
【0086】
【数43】
【0087】
【数44】
【0088】によって、行列とベクトルの乗算によって
行うことができる。但し、(・・・ )Tは行ベクトルの転
置、つまり列ベクトルを表し、また行列Mは以下に示す
正則な16元の定数行列である。
【0089】
【数45】
【0090】幾何変換手段2は、曲面点算出手段1の出
力、Qwij(Qwxij,Qwyij,Qwzij);i,j=0,
1,2,3、を入力として、視点情報(視点の位置座
標、視線ベクトル、視線に対するアッパーベクトル)と
スクリーン空間に関する情報(視点からスクリーン空間
までの距離、無限遠点、焦点、投影面の横幅と高さ等)
に基づき、通常コンピュウータグラフィックスで行われ
ているように、Qwijを2次元のスクリーン空間上の
点、Qsij (Qsxij,Qsyij);i,j=0,1,2,
3、へ変換し、このQsij をコントロールポイント算出
手段3へ出力する。
【0091】コントロールポイント算出手段3は、幾何
変換手段2の出力、Qsij (Qsxij,Qsyij);i,j
=0,1,2,3、を入力とし、双3次Bスプライン曲
面に対しては、この16点Qsijを通るスクリーン空間
上の双3次Bスプライン曲面を規定するコントロールポ
イントPsij (Psxij,Psyij);i,j=0,1,
2,3、を算出し、インデックス変更手段4へ出力す
る。また、四角形ポリゴンに対しては、Qsij をそのま
まコントロールポイントPsij としてインデックス変更
手段4へ出力する。曲面の場合、コントロールポイント
Psij(Psxij,Psyij)の算出は、
【0092】
【数46】
【0093】
【数47】
【0094】
【数48】
【0095】
【数49】
【0096】とすると、座標,に次の式によって行うこ
とができる。
【0097】
【数50】
【0098】
【数51】
【0099】但し、M-1は(数45)の行列Mの逆行列
である。小数点以下9桁で求めたM-1の要素を行毎に列
の順番で記述すると以下のようになる。 (第1行)1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 (第2行)-0.833333333,3.000000003,-1.500000001,0.
333333333,0,0,0,0,0,0,0,0,0,0,0,0 (第3行)0.333333333,-1.500000001,3.000000003,-0.
833333333,0,0,0,0,0,0,0,0,0,0,0,0 (第4行)0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0
【0100】(第5行)-0.833333333,0,0,0,3.0000000
03,0,0,0,-1.500000001,0,0,0,0.333333333,0,0,0 (第6行)0.694444462,-2.500000003,1.250000032,-0.
277777796,-2.500000033,9.000000009,-4.500000004,1.
000000031,1.250000032,-4.500000004,2.250000002,-0.
500000031,-0.277777796,1.000000031,-0.500000031,0.
111111129 (第7行)-0.277777796,1.250000032,-2.500000033,0.
694444462,1.000000031,-4.500000004,9.000000009,-2.
500000033,-0.500000031,2.250000002,-4.500000004,1.
250000032,0.111111129,-0.500000031,1.000000031,-0.
277777796 (第8行)0,0,0,-0.833333333,0,0,0,3.000000003,0,
0,0,-1.500000001,0,0,0,0.333333333
【0101】(第9行)0.333333333,0,0,0,-1.5000000
01,0,0,0,3.000000003,0,0,0,-0.833333333,0,0,0 (第10行)-0.277777796,1.000000031,-0.500000031,
0.111111129,1.250000032,-4.500000004,2.250000002,-
0.500000031,-2.500000033,9.000000009,-4.500000004,
1.000000031,0.694444462,-2.500000033,1.250000032,-
0.277777796 (第11行)0.111111129,-0.500000031,1.000000031,-
0.277777796,-0.500000031,2.250000002,-4.500000004,
1.250000032,1.000000031,-4.500000004,9.000000009,-
2.500000033,-0.277777796,1.250000032,-2.500000033,
0.694444462
【0102】(第12行)0,0,0,0.333333333,0,0,0,-
1.500000001,0,0,0,3.000000003,0,0,0,-0.833333333 (第13行)0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 (第14行)0,0,0,0,0,0,0,0,0,0,0,0,-0.833333333,
3.000000003,-1.500000001,0.333333333 (第15行)0,0,0,0,0,0,0,0,0,0,0,0,0.333333333,-
1.500000001,3.000000003,-0.833333333 (第16行)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1
【0103】(数1)(数2)において、vを固定し
て、uを0から1へ変化させると、コントロールポイン
トのPs00からPs03 の方向に曲面上の点が発生され
る。インデックス変更手段4は、曲面やポリゴンが2次
元スクリーン空間に対する奥行き方向に関して、遠くの
ものから近くのものへソーティングされている場合は、
Ps00 ,Ps03 ,Ps30 ,Ps33 のうち、1番目と2番
目に奥にある点を選び、1番奥にある点を新たにPs00
、2番目に奥にある点をPs03 と成るように、コント
ロールポイントのインデックスの付け変えを行うもので
ある。
【0104】また、奥行きに対して、近くのものから遠
くのものへソーティングされている場合には、Ps00 ,
Ps03 ,Ps30 ,Ps33 のうち、1番目と2番目に手前
にある点を選び、1番手前にある点を新たにPs00 、2
番目に手前にある点をPs03と成るように、コントロー
ルポイントのインデックスの付け変えを行う。
【0105】このインデックスの付け変えは、付け変え
ないというのも含めるとその結果は8種類あり、元の
(Ps00 ,Ps03 )に対する対応を列記すると、(Ps0
0,Ps03 )(Ps00 ,Ps30 )(Ps30 ,Ps33 )(P
s30 ,Ps00 )(Ps33 ,Ps30 )(Ps33 ,Ps03 )
(Ps03 ,Ps00 )(Ps03 ,Ps33 )(Ps00 ,Ps0
3 )(Ps00 ,Ps03 )となる。
【0106】どのように付け変えたかというインデック
ス置換情報は保持される。このインデックス置換情報
は、元のPs00 とPs03 に対して、Ps00 ,Ps03 ,P
s30 ,Ps33 のどれに付け変えたかというもので、テー
ブル化することも可能である。この情報は後でアクセス
変更手段13において使う。インデックスの付け変えが
終わったコントロールポイントを、新たにPsij (Psx
ij,Psyij);i,j=0,1,2,3、とし、マイク
ロポリゴン生成手段5へ出力される。
【0107】マイクロポリゴン生成手段5は、曲面やポ
リゴンに貼るテクスチャデータのサイズに基づいて、曲
面を分割して分割曲面やサブポリゴンを生成し、これに
対応する1つの四角形マイクロポリゴン、または1つの
平行四辺形マイクロポリゴン、または2つの三角形マイ
クロポリゴンのいずれかを生成するものである。動作の
説明を行う前に、まず用語の説明をする。まず、分割曲
面とは、曲面を分割したときの元の曲面に対する部分曲
面で図5にその例を示す。サブポリゴンとは、ポリゴン
を分割したときの部分平面で図6にその例を示す。
【0108】図5、6から分かるように、分割曲面やサ
ブポリゴンは分割線の部分曲線によって囲まれた領域
で、この部分曲線の端点である、分割線の交点を分割点
と呼ぶことにする。四角形マイクポリゴンとは、分割曲
面またはサブポリゴンを4つ分割点で規定した四角形で
近似したもので、基準点(x,y)と3つのベクトル
(dx ,dy ),(px ,py ),(qx ,qy )によ
って定義できる。図7(a)にその例を示す。
【0109】平行四辺形マイクロポリゴンとは、分割曲
面やサブポリゴンの4つの分割点の内3つの分割点で規
定された平行四辺形で近似したもので、基準点(x,
y)と2つのベクトル(dx ,dy ),(px ,py )
によって定義できる。図7(b)にその例を示す。ま
た、三角形マイクロポリゴンとは、分割曲面やサブポリ
ゴンの4つの分割点の内、それぞれ3つの分割点で規定
される2つの三角形で近似したもので、各三角形マイク
ロポリゴンは、基準点(x,y)と2つのベクトル(d
x ,dy ),(px ,py )によって定義できる。図7
(c)にその例を示す。
【0110】次に、マイクロポリゴン生成手段5の動作
について説明する。上述のようにマイクロポリゴンは分
割点で生成されるので、まず初めに分割点を生成する。
生成する分割点の個数は、テクスチャのサイズによって
決まり、テクスチャのサイズが、m×nならばm+1×
n+1個の分割点を生成する。生成方法は、(数1)
(数2)を用いて行うことができる。まず、インデック
ス変更手段4から出力されたコントロールポイントの座
標から(数1)(数2)の方程式によりコントロールポ
イントの座標を必要とする部分を規定し、パラメータ
u,vについては、刻み値(増分)を1/m,1/nと
して、u,vを0から1まで変化したときの曲面上の点
を発生する。この曲面上の点が、実は分割点である。
【0111】分割点の生成はデジタル微分解析器のアル
ゴリズムを用いても行うことができる。ここでは(数
1)(数2)を用いた計算方法の1つの例として次の方
法を述べる。(数1)(数2)に対して、vは0から1
まで1/nの増分で変化させ、vを固定する毎に、uを
0から1/mづつ増加させながら1まで変化させて、1
行分の分割点を生成し、uが1になったならば、vを1
/n増加させて次の行の分割点を生成する。この操作を
v=1になるまで繰り返すと、m+1×n+1個の曲面
上の点が生成される。
【0112】但し、インデックス変更手段4によって、
テクスチャの貼る方向が変化した場合(縦横の関係が交
換された場合)は、uの増分は1/nとなり、vの増分
は1/mとなる。縦横の関係が変化したかどうかは、イ
ンデックス置換情報によって知ることができる。テクス
チャのサイズを2の累乗で示されるものに限ると1/
m,1/nの除算は、シフト演算で行うことができる。
つまり、テクスチャサイズを2m ×2n とすると、増分
は1/2m ,1/2n となるので、この計算はm,nビ
ットの右シフトで行うことができる。
【0113】これ以降の説明においては、テクスチャサ
イズは2m ×2n として話を進めていくことにする。生
成された分割点の座標値は、必要精度に応じて丸められ
る。1つのマイクロポリゴンを生成するには、少なくと
も4つの分割点の座標値は保持しておかなければならな
い。逆に言うと、4つの分割点を保持できる領域があれ
ばマイクロポリゴンの生成は行えるが、ここでは、生成
された分割点の座標値は全て、一旦保持するものとして
話を進める。生成され、丸められた分割点の座標を(X
ij,Yij),0≦i≦2m ,0≦j≦2n とする。
【0114】まず、図8(a)を参照し、四角形マイク
ロポリゴンの生成について説明する。図から分かるよう
に基準点は(Xij,Yij)で、(dx ,dy )=(Xi+
1j−Xij,Yi+1j−Yij),(px , py )=(Xij+1
−Xij,Yij+1−Yij),(qx ,qy )=(Xi+1j+1
−Xij+1,Yi+1j+1−Yij+1),0≦i≦2m −1,0
≦j≦2n −1として四角形マイクロポリゴンを生成す
る。
【0115】次に、図8(b−1),(b−2)を参照
して、平行四辺形マイクロポリゴンの生成について説明
する。単純な生成方法としては図8(b−1)のよう
に、基準点は(Xij,Yij)で、(dx ,dy )=(X
i+1j−Xij,Yi+1j−Yij),(px ,py )=(Xij
+1−Xij,Yij+1−Yij),0≦i≦2m −1,0≦j
≦2n −1として生成する。近似の度合いを上げる方法
としては、曲面の頂点に対応するコントロールポイント
Ps00 ,Ps03 ,Ps30 ,Ps33 から線分l1 =Ps00
Ps30 ,l2 =Ps03 Ps33 の長さ(距離)を計算す
る。
【0116】2点間の距離は、ユークリッド距離やや離
散空間における距離(2点の座標毎の差の絶対値和)で
よい。l1 ≧l2 の時は、図8(b−1)の先に述べた
方法で平行四辺形マイクロポリゴンを生成する。l1 ≧
l2 の時は図8(b−2)のように、基準点を(Xi+1
j,Yi+1j)で、(dx ,dy )=(Xij−Xi+1j,Yi
j−Yi+1j),(px ,py )=(Xi+1j+1−Xi+1j,
Yi+1j+1−Yi+1j),0≦i≦2m −1,0≦j≦2n
−1として生成する。
【0117】最後に、図8(c)を参照して、三角形マ
イクロポリゴンの生成について説明する。図8(c)の
ように1つの分割曲面やサブポリゴンに対して、2つの
三角形マイクロポリゴンが生成され、1つ目は基準点を
(Xij,Yij),(dx ,dy )=(Xi+1j−Xij,Y
i+1j−Yij),(px ,py )=(Xij+1−Xij,Yij
+1−Yij)として、2つ目は(Xi+1j,Yi+1j)で、
(dx ,dy )=(Xij−Xi+1j,Yij−Yi+1j),
(px ,py )=(Xi+1j+1−Xi+1j,Yi+1j+1−Yi+
1j)として生成される。但し、0≦i≦2m −1,0≦
j≦2n −1である。
【0118】このようにして生成されたマイクロポリゴ
ンのうち、スクリーン空間の表示される領域外に存在す
るマイクロポリゴンは以降の処理が行われないよう除去
される。これはいわゆるクリッピング処理に相当するも
のである。表示される領域内のマイクロポリゴンは、裏
面除去手段6へ出力されるが、マイクロポリゴンを生成
する4つの分割点の座標値は、再分割判定手段7での処
理が終了して、アドレス生成手段11に出力されるま
で、マイクロポリゴン毎に保持していなければならな
い。
【0119】裏面除去手段6は、スクリーン空間上で裏
面が表示される場合のマイクロポリゴンを除去するもの
で、図10にその様子を示す。これを行うためには、曲
面のコントロールポイントの並びに対して、どちらの面
を表面とするかを示した情報が予め曲面に対して与えら
れていなければならない。つまり、図11に示すような
場合、括弧なしのコントロールポイントの並びの場合
は、右手系で示した向きが表面の時は紙面の裏側がこの
曲面の表面で、左手系で示した向きが表面の時は紙面の
向きがこの曲面の表面となる。
【0120】括弧付きのコントロールポイントの並びの
場合は、右手系で示した向きがの表面の時は紙面の向き
がこの曲面の表面で、左手系で示した向きが表面の時は
紙面の裏側の向きがこの曲面の表面となる。従って、コ
ントロールポイントの並びが括弧なしのタイプなのか括
弧ありのタイプなのかという情報とそれに対して右手系
で示した向きを表面とするのか、左手系で示した向きを
表面とするのかの情報は予め曲面に与えられているもの
とする。
【0121】この情報と(dx ,dy )と(px ,py
)の外積の符号を比較することで裏面を向いたマイク
ロポリゴンを除去する。例えば、コントロールポイント
の並びが括弧なしのタイプで右手系の向きが表面の場
合、図8(a)(b−1)(c)のマイクロポリゴンの
時は、(dx ,dy )と(px ,py )の外積の符号が
負の時はこのマイクロポリゴンは反転されて裏面が見え
ているので除去し、図8(b−2)のマイクロポリゴン
の時は外積の符号が正の時は除去する。
【0122】この時注意すべきことは、インデックス変
更手段4でコントロールポイントのインデックスの変更
が起こるとコントロールポイントの並びが括弧ありのタ
イプから括弧なしのタイプや、その逆のことが起こるの
でその時は左右系に関する情報は反転させなければなら
ない。裏面除去手段6で除去されなかったマイクロポリ
ゴンのデータは再分割判定手段7へ出力される。
【0123】再分割判定手段7では、生成されたマイク
ロポリゴンが予め定められているサイズより大きいか否
かを判定する。この判定は、マイクロポリゴンのサイズ
というものをどう定義するかによって異なるが、一般に
は面積やマイクロポリゴンの辺の長さで定めるべきもの
である。ここでは例として辺の長さでサイズを規定する
ものとする。マイクロポリゴンの辺とは、マイクロポリ
ゴンを規定するベクトルの大きさに対応するので、四角
形マイクロポリゴンの場合は、ベクトル(dx,dy
),(px ,py ),(qx ,qy )の大きさを計算
し、これが規定のサイズ以下か否かを判定する。
【0124】また、平行四辺形マイクロポリゴンや三角
形マイクロポリゴンの場合は、ベクトル(dx ,dy
),(px ,py )の大きさを計算し、これが規定の
サイズ以下か否かを判定する。また、この判定はテー
ブルによっても行うことできる。例えば、ベクトルを規
定する精度が0.25刻みで、規定のサイズが1の場合は、
(表1)に示す判定表によってこの判定が行える。(表
1)において、縦横の数は各ベクトルの成分の絶対値を
表し、イエスの場合は大きさが1以下のときで、ノーの
場合は1より大きい場合を示している。
【0125】
【表1】
【0126】再分割判定手段7で規定サイズ以下(イエ
ス)と判定されたマイクロポリゴンのデータはアドレス
生成手段11に出力され、規定サイズより大きい(ノ
ー)と判定されたマイクロポリゴンは再分割が必要なた
め、分割数変更手段8、分割数決定手段9、サブマイク
ロポリゴン生成手段10での処理へとまわされる。
【0127】次に、分割数変更手段8、分割数決定手段
9、サブマイクロポリゴン生成手段10において再帰的
に行われるマイクロポリゴンの再分割の一連の処理につ
いて説明する。最初の再分割の時は、分割数変更手段8
は何も行わず、分割数決定手段9での処理が行われる。
分割数決定手段9はマイクロポリゴンを生成する4つの
分割点の座標、(Xij,Yij),(Xi+1j,Yi+1j),
(Xi+1j+1,Yi+1j+1),(Xij+1,Yij+1)から再分
割を行う際の分割数を決定するものである。ここでは、
分割数は2の累乗で示される数に規定しているが、これ
は先に述べたように除算の代わりにシフト演算で高速に
行うためのもので、ここで述べる方法は分割数として他
の一般的な数を用いることもできることに注意を要す
る。分割数決定手段9では、まず、
【0128】
【数52】
【0129】
【数53】
【0130】
【数54】
【0131】
【数55】
【0132】を求めた後、
【0133】
【数56】
【0134】
【数57】
【0135】を算出する。次に、
【0136】
【数58】
【0137】
【数59】
【0138】を満たす、最小の非負整数m’,n’を算
出する。この非負整数m’,n’が求める分割数であ
る。サブマイクロポリゴン生成手段10は、元のマイク
ロポリゴンを生成する4つの分割点の座標、(Xij,Y
ij),(Xi+1j,Yi+1j),(Xi+1j+1,Yi+1j+1),
(Xij+1,Yij+1)と分割数m’,n’から新たな分割
点を発生させて、サブマイクロポリゴンを生成するもの
である。ここで、サブマイクロポリゴンとはマイクロポ
リゴンを分割したときにできるマイクロポリゴンのこと
で、データ上はマイクロポリゴンと何等変わりない。図
9のように、発生する分割点を
【0139】
【数60】
【0140】とすると、この分割点の座標は、
【0141】
【数61】
【0142】
【数62】
【0143】によってもとめることができる。この分割
点を用いて、マイクロポリゴン生成手段5で述べた、四
角形マイクロポリゴンや平行四辺形マイクロポリゴン、
三角形マイクロポリゴンの生成と同様な方法で、サブマ
イクロポリゴンを生成する。生成された全てのサブマイ
クロポリゴンに対して、再び再分割判定手段7で規定サ
イズ以下か否かの判定を行う。規定サイズ以下であると
判定された場合は、アドレス生成手段11へこれらのデ
ータは出力される。規定サイズより大きい時は、分割数
変更手段8で分割数の変更が行われる。
【0144】例えば、平行四辺形マイクロポリゴンや三
角形マイクロポリゴンの場合、(dx ,dy )は規定サ
イズ以下で、(px ,py )が規定サイズより大きい時
は、m’は元のままでn’=n’+1とし、(dx ,d
y )は規定サイズより大きく、(px ,py )が規定サ
イズ以下の時は、m’=m’+1に更新し、n’は元の
ままとし、(dx ,dy ),(px ,py )共に規定サ
イズより大きい時は、m’=m’+1,n’=n’+1
とする。四角形マイクロポリゴンの時も同様に行う。
【0145】2回目以降のサブマイクロポリゴンの生成
の際には、分割数決定手段9での処理は飛ばされ、サブ
マイクロポリゴン生成手段10で、更新された分割数を
用いてサブマイクロポリゴンの生成を前回と同様の方法
で行う。以上の処理を再帰的に繰り返すことで、マイク
ロポリゴンを再分割してサブマイクロポリゴンの生成を
行い、規定サイズ以下になった(サブ)マイクロポリゴ
ンがアドレス生成手段11へ送られる。
【0146】アドレス生成手段11は、面積寄与率参照
手段12で、テーブル化されているマイクロポリゴンの
ピクセルに対する面積寄与率を参照するためのアドレス
を生成するものである。アドレスの生成方法について説
明する前に、まず、図13を用いて面積寄与率と面積寄
与率テーブルについて簡単に説明しておくことにする。
ピクセルを仮想的に1辺の長さが1の正方形とみなした
ときに、ピクセルとマイクロポリゴンの共有領域の面積
のことを、このピクセルに対する面積寄与率という。
【0147】換言すると、ピクセルとマイクロポリゴン
の共有領域の面積のピクセルの面積に対する比率のこと
である。図12では、斜線などで示されたピクセルとマ
イクロポリゴンの共有領域の面積が、このマイクロポリ
ゴンの各ピクセルに対する面積寄与率である。四角形マ
イクロポリゴンや平行四辺形マイクロポリゴンの場合、
マイクロポリゴンの規定のサイズを1以下とし、基準点
は5×5ピクセルの領域の中心の1ピクセル内部に固定
すると、マイクロポリゴンを規定するベクトルが任意に
動いても、この5×5ピクセルの領域内部に納まる(三
角形マイクロポリゴンの場合は3×3の領域である)。
【0148】更に、1つのマイクロポリゴンは3×3の
領域内に納まり、1つのマイクロポリゴンが面積寄与率
を与えられるピクセル数の最大値は6個である(精度が
0.25刻みの場合)。1つのマイクロポリゴンがこの領域
内で与えられたときには、3×3、つまり9個のピクセ
ルに対して面積寄与率がどのように与えられているかを
情報として持っていれば、ピクセルに対する面積寄与率
の情報としては十分であるといえる。この情報をテーブ
ルとして保持しているのが面積寄与率テーブルである。
【0149】5×5の領域に2次元座標を与えておき、
3×3の領域の左上のピクセルの座標を与えることで、
この領域の5×5の領域における位置は特定できる。図
13はこの様子を示したもので、マイクロポリゴンを含
む3×3の領域は左上のピクセルの位置(0,0)によ
って特定され、このマイクロポリゴンは4つのピクセル
に対して面積寄与率を与えている。スクリーン空間中の
マイクロポリゴンに対しては、このマイクロポリゴンを
含むように3×3の領域を切り取り、この領域を5×5
の領域へマッピングし、3×3の領域の各ピクセルの面
積寄与率を求めて、スクリーン空間へ逆マッピングすれ
ばスクリーン空間でのピクセルの面積寄与率を求めるこ
とができる。
【0150】このマッピングにおいて基準点の位置は5
×5の領域の中心となるように行うので、これに関して
は基準点の座標の整数部を変換すればよい。基準点の位
置がこの中心のピクセルのどこかを確定するには、基準
点の座標の小数点以下の値が分かればよい。マイクロポ
リゴンを規定する要素は、基準点と四角形マイクロポリ
ゴンならば3つのベクトル、平行四辺形、三角形マイク
ロポリゴンならば2つのベクトルであるので、基準点と
ベクトルからアドレスを生成する。
【0151】基準点に関しては、先に述べたように、小
数点以下の値で分類でき、ベクトルに関しては規定サイ
ズ以下なので、例えば、精度が0.25刻みの場合、基準点
に関しては各座標は、0.0,0.25,0.5,0.75 の4種類しか
ないので、合計16通りの区別ができればよく、ベクト
ルの各成分は、-1.0,-0.75,-0.5,-0.25,0.0,0.25,0.5,
0.75,1.0 の9種類なので、四角形マイクロポリゴンの
場合は96通りの区別ができればよく、平行四辺形、三
角形マイクロポリゴンの場合は、94通りの区別ができ
ればよい。
【0152】これを、ビット表示で実現する場合、四角
形マイクロポリゴンの場合は図14(a)のように表わ
すことができ、基準点(x,y)に対しては4ビット、
3つのベクトル(dx ,dy,) (px ,py ),及び
(qx ,qy )に対しては24ビット、合計28ビット
でアドレスを生成することができる。又、平行四辺形、
及び三角形マイクロポリゴンの場合は図14の(b)に
示すように表わすことができ、合計20ビットでアドレ
スが生成できる。
【0153】以上のことを踏まえて、アドレス生成手段
11におけるアドレス生成方法について説明する。マイ
クロポリゴンのスクリーン空間における基準点を(X,
Y)とすると、まず、I=[X],J=[Y]により、
(X,Y)からピクセル位置(I,J)を求める。但
し、[x]はガウス記号で、xを越えない最大の整数を
表す。このマイクロポリゴンの基準点を5×5の領域の
中心のピクセル(局所座標系で(2,2)の位置)内部
にマッピングしたときの局所座標表示(x,y)を
【0154】
【数63】
【0155】
【数64】
【0156】によって求める。但し、Int(x)はxの整数
部を表す。この(x,y)と四角形マイクロポリゴンな
らば(dx ,dy ),(px ,py ),及び(qx ,q
y )から、平行四辺形、及び三角形マイクロポリゴンな
らば(x,y)、(dx ,dy ),及び(px,py )
から前述の方法でアドレスを生成する。生成されたアド
レスは、面積寄与率参照手段12に出力される。
【0157】面積寄与率参照手段12は、アドレス生成
手段11で生成されたアドレスに基づき、先に述べた3
×3の領域の左上のピクセルの局所座標位置(wi ,w
j )と(wi ,wj )の位置とから局所座標のi座標固
定毎にj座標の増える方向に3×3の領域の9個のピク
セルの面積寄与率をシリアルに出力する。このデータ形
式については図15にその例を示す。(wi ,wj )の
とれる位置は、各座標0,1,2なので、4ビットで表
現することができ、面積寄与率を3ビットで表すと合計
31ビットのデータとして出力される。このデータは記
憶装置書き込み手段15での処理が終わるまで保持され
る。
【0158】アクセス変更手段13では、インデックス
変更手段4でのインデックス置換情報に基づき、テクス
チャデータへのアクセス順を当初貼り付けようと意図し
ていた方向に変更する。例えば図16のように、テクス
チャデータサイズが2m ×2 n でこれらのデータは1次
元的に格納されているとすると、次の2次元数列のいず
れかを用いてアクセスの変更を行う。
【0159】
【数65】
【0160】
【数66】
【0161】
【数67】
【0162】
【数68】
【0163】
【数69】
【0164】
【数70】
【0165】
【数71】
【0166】
【数72】
【0167】上記の数列は全て、j固定毎にiを増加さ
せて用い、算出された値がマイクロポリゴンに対してア
クセスすべきテクスチャの番号である。インデックス変
更手段4での元の(Ps00 ,Ps03 )に対する対応は、
(Ps00 ,Ps03 )(Ps00,Ps30 )(Ps30 ,Ps33
)(Ps30 ,Ps00 )(Ps33 ,Ps30 )(Ps33,P
s03 )(Ps03 ,Ps00 )(Ps03 ,Ps33 )(Ps00
,Ps03 )(Ps00,Ps03 )で、この対応に応じて、
(数65)(数66)(数67)(数68)(数69)
(数70)(数71)をアクセス番号算出のための数列
として用いる。
【0168】テクスチャデータ参照手段14は、アクセ
ス変更手段13で算出されたマイクロポリゴンに対して
アクセスすべきテクスチャの番号に応じてテクスチャデ
ータを取り出してくる。テクスチャデータは、基本的に
はRGBの輝度値であるが、この他に物体の不透明度等
がある。また、テクスチャデータのRGB輝度値データ
は照度計算の結果が反映されているものを用いる。つま
り、各種照度計算方法(グロー、フォン、ラジオシティ
等)で計算した結果を反映したデータを用いる。また、
影として表現するための曲面やポリゴンに対しては、影
の照度値を格納下データを用いればいわゆるシャドーマ
ッピングも行うことができる。
【0169】記憶装置書き込み手段15は、レンダリン
グ手段16と1面処理終了判定手段17と1シーン処理
終了判定手段18と輝度値修正手段19からなり、面積
寄与率参照手段12とテクスチャデータ参照手段14で
参照されたピクセルの面積寄与率とテクスチャデータを
用いてマイクロポリゴンのレンダリング、記憶装置への
書き込み、処理の終了判定などを行う。
【0170】マイクロポリゴンのレンダリングはフラッ
トシェーディングで、つまり、テクスチャデータで与え
られるRGB値で一色に塗りつぶす計算を行う。記憶装
置書き込み手段15の動作方法には、最初に行われた曲
面やポリゴンに対して適用されたソーティング方法によ
って、幾つかの異なるものがある。また、テクスチャデ
ータに不透明度が与えられているか否かによっても幾つ
かの異なる動作方法がある。以下では、これらの動作方
法について説明する。
【0171】最初にソーティングが奥行きに対して遠い
ものから近いものへ行われた場合の記憶装置書き込み手
段15の第1、2、3、4の動作方法について説明す
る。第1の方法は、テクスチャデータに不透明度がない
場合である。前提として、各ピクセルに対して描画用輝
度値と計算用輝度値と面積寄与率の和をスクリーン空間
の座標系で保持することが可能な記憶装置があるものと
する。ここで、描画用輝度値、計算用輝度値は共にRG
Bタイプの3次元デーとする。また、面積寄与率の和と
は、1つのピクセルに対して複数のマイクロポリゴンが
面積寄与率を与えるのでそれらの面積寄与率を加算して
いったものである。
【0172】レンダリング手段16は1つのマイクロポ
リゴンに対して面積寄与率参照手段12で参照した9個
のピクセルに対する面積寄与率とテクスチャデータ参照
手段14で参照したテクスチャデータを用いて、描画用
輝度値と計算用輝度値と面積寄与率の和を計算し、記憶
装置へのリード・モディファイ・ライトを行う。この
時、面積寄与率参照手段12で参照されるデータ形式は
上述の例のように図16で示したようなもので、5×5
の領域の局所座標系に基づいたデータなので、これをス
クリーン空間の座標系へ変換しなければならない。この
変換はアドレス生成手段11の箇所で述べたI,Jを用
いて以下のように行う。
【0173】但し、スクリーン空間でアクセスするピク
セルの座標を(Iw ,Jw )とする。(wi,wj)=(0,0) な
らばI-2 ≦Iw≦I,J-2 ≦Jw≦J の位置のピクセルにアク
セスする。(wi,wj)=(0,1) ならばI-2 ≦Iw≦I,J-1 ≦Jw
≦J+1 の位置のピクセルにアクセスする。(wi,wj)=(0,
2) ならばI-2 ≦Iw≦I,J ≦Jw≦J+2 の位置のピクセル
にアクセスする。(wi,wj)=(1,0) ならばI-1 ≦Iw≦I+1,
J-2 ≦Jw≦J の位置のピクセルにアクセスする。(wi,w
j)=(1,1) ならばI-1 ≦Iw≦I+1,J-1 ≦Jw≦J+1 の位置
のピクセルにアクセスする。(wi,wj)=(1,2) ならばI-1
≦Iw≦I+1,J ≦Jw≦J+2 の位置のピクセルにアクセスす
る。(wi,wj)=(2,0) ならばI ≦Iw≦I+2,J-2≦Jw≦J の
位置のピクセルにアクセスする。(wi,wj)=(2,1) ならば
I ≦Iw≦I+2,J-1 ≦Jw≦J+1 の位置のピクセルにアクセ
スする。(wi,wj)=(2,2) ならばI ≦Iw≦I+2,J ≦Jw≦J+
2 の位置のピクセルにアクセスする。
【0174】これらのピクセルに対して以下の処理を行
う。まず、処理を行う当該ピクセルの面積寄与率の和α
sum を読みだし、αsum が1より小さい時に限り、αsu
m に面積寄与率参照手段12で算出した面積寄与率の値
αを加えたテンポラリの値、Temp=αsum +αを計算す
る。Tempが1以下の場合は、面積寄与率の和はTempに更
新する。計算用輝度値は、αにテクスチャデータ参照手
段14で参照した輝度値(IR ,IG ,IB )を乗じた
値と記憶装置から読み出した計算用輝度値(IcalR,I
calG,IcalB)とを加えた値に更新する。
【0175】つまり、(計算用輝度値)=α(IR ,I
G ,IB )+(IcalR,IcalG,IcalB)。Tempが1よ
り大きい場合は、計算用輝度値は、(計算用輝度値)=
(1−αsum )(IR ,IG ,IB )+(IcalR,Ica
lG,IcalB)に更新する。また、面積寄与率の和は1に
更新する。1面処理終了判定手段17は、1つのポリゴ
ンまたは曲面に対して生成された全てのマイクロポリゴ
ンに対して処理が終了したか否かの判定を行い、終了し
ていなければ以上の処理を1つのポリゴンまたは曲面に
対して生成された全てのマイクロポリゴンに対して処理
が終了するまで行う。
【0176】処理を終了したという判定を得ると、描画
用輝度値は、記憶装置から読み出した描画用輝度値(I
dR,IdG,IdB)を用いて、(描画用輝度値)=(1−
αsum )(IdR,IdG,IdB)+(IcalR,IcalG,I
calB)に更新する。更新を終了すると、計算用輝度値と
面積寄与率の和を0に初期化する。以上の処理を1シー
ン処理判定手段18で1シーン分全てのデータに対して
処理が終了したと判定されるまで行う。第1の方法で
は、輝度値修正手段19は何も処理しない。
【0177】第2の方法は、テクスチャデータに不透明
度がある場合である。面積寄与率に不透明度を乗じた値
をピクセル寄与率と定義する。前提として、各ピクセル
に対して描画用輝度値と計算用輝度値と面積寄与率の和
とピクセル寄与率との和を保持することができる記憶装
置があるものとする。面積寄与率参照手段12で参照さ
れたピクセルに対する、5×5の領域からスクリーン空
間への変換方法は第1の方法と同様とする。
【0178】このとき、レンダリング手段16は、処理
を行う当該ピクセルの面積寄与率の和αsum を読みだ
し、αsum が1より小さい時に限り、αsum に面積寄与
率参照手段12で算出した面積寄与率の値αを加えたテ
ンポラリの値、Temp=αsum +αを計算する。Tempが1
以下の場合は、面積寄与率の和はTempに更新する。ピク
セル寄与率の和は、テクスチャデータ参照手段14で参
照された不透明度βに、算出した面積寄与率αを乗じた
値と、記憶装置から読み出したピクセル寄与率の和γと
を加えた値、(ピクセル寄与率の和)=αβ+γに更新
する。計算用輝度値は、αとβとテクスチャデータ参照
手段14で参照された輝度値(IR ,IG,IB )とを乗
じた値と記憶装置から読みだした計算用輝度値(Ical
R,IcalG,IcalB)とを加えた値、(計算用輝度値)
=αβ(IR ,IG,IB )+(IcalR,IcalG,Ical
B)に更新する。
【0179】Tempが1より大きい場合は、計算用輝度値
は、(計算用輝度値)=(1−αsum )β(IR ,IG
,IB )+(IcalR,IcalG,IcalB)に更新する。
面積寄与率の和は1に更新し、ピクセル寄与率の和は、
(ピクセル寄与率の和)=(1−αsum )β+γに更新
する。1面処理終了判定手段17は、1つのポリゴンま
たは曲面に対して生成された全てのマイクロポリゴンに
対して処理が終了したか否かの判定を行い、終了してい
なければ以上の処理を1つのポリゴンまたは曲面に対し
て生成された全てのマイクロポリゴンに対して処理が終
了するまで行う。
【0180】処理を終了したという判定を得ると、描画
用輝度値を、記憶装置から読み出した描画用輝度値(I
dR,IdG,IdB)を用いて、(描画用輝度値)=(1−
γ)(IdR,IdG,IdB)+(IcalR,IcalG,Ical
B)に更新する。更新が終了したならば計算用輝度値と
面積寄与率の和とピクセル寄与率の和を0に初期化す
る。以上の処理を1シーン処理判定手段18で1シーン
分全てのデータに対して処理が終了したと判定されるま
で行う。第2の方法では、輝度値修正手段19は何も処
理しない。
【0181】第3の方法は、テクスチャデータに不透明
度がない場合である。前提として、各ピクセルに対して
描画用輝度値と計算用輝度値と面積寄与率の和とを保持
することができる記憶装置があるものとする。面積寄与
率参照手段12で参照されたピクセルに対する、5×5
の領域からスクリーン空間への変換方法は第1の方法と
同様とする。このとき、レンダリング手段16は、処理
を行う当該ピクセルの面積寄与率の和αsum を読みだ
し、αsum が1より小さい時に限り、αsum に面積寄与
率参照手段12で算出した面積寄与率の値αを加えたテ
ンポラリの値、Temp=αsum +αを計算する。
【0182】Tempが1以下の場合は、面積寄与率の和は
Tempに更新する。計算用輝度値は、αと記憶装置から読
み出した描画用輝度値(IdR,IdG,IdB)からテクス
チャデータ参照手段14で参照された輝度値(IR ,I
G ,IB )を減じた値とを乗じた値を、記憶装置から読
み出した計算用輝度値(IcalR,IcalG,IcalB)から
減じた値、(計算用輝度値)=(IcalR,IcalG,Ica
lB)−α{(IdR,IdG,IdB)−(IR ,IG ,IB
)}に更新する。Tempが1より大きい場合は、計算用
輝度値は、(計算用輝度値)=(IcalR,IcalG,Ica
lB)−(1−αsum ){(IdR,IdG,IdB)−(IR
,IG ,IB )}1から前の面積寄与率の和を減じた
値と、描画用輝度値からマイクロポリゴンに与えられた
輝度値を減じた値とを乗じた値を、前の計算用輝度値か
ら減じた値に更新し、面積寄与率の和は1に更新する。
【0183】1面処理終了判定手段17は、1つのポリ
ゴンまたは曲面に対して生成された全てのマイクロポリ
ゴンに対して処理が終了したか否かの判定を行い、終了
していなければ以上の処理を1つのポリゴンまたは曲面
に対して生成された全てのマイクロポリゴンに対して処
理が終了するまで行う。処理を終了したという判定を得
ると、描画用輝度値を計算用輝度値に更新し、更新が終
了したならば計算用輝度値と面積寄与率の和を0に初期
化する。以上の処理を1シーン処理判定手段18で1シ
ーン分全てのデータに対して処理が終了したと判定され
るまで行う。第3の方法では、輝度値修正手段19は何
も処理しない。
【0184】第4の方法は、テクスチャデータに不透明
度がある場合である。前提として、各ピクセルに対して
描画用輝度値と計算用輝度値と面積寄与率の和とを保持
することができる記憶装置があるものとする。面積寄与
率参照手段12で参照されたピクセルに対する、5×5
の領域からスクリーン空間への変換方法は第1の方法と
同様とする。このとき、レンダリング手段16は、処理
を行う当該ピクセルの面積寄与率の和αsum を読みだ
し、αsum が1より小さい時に限り、αsum に面積寄与
率参照手段12で算出した面積寄与率の値αを加えたテ
ンポラリの値、Temp=αsum +αを計算する。
【0185】Tempが1以下の場合は、面積寄与率の和は
Tempに更新する。計算用輝度値は、αとテクスチャデー
タ参照手段14で参照された不透明度βと記憶装置から
読み出された描画用輝度値(IdR,IdG,IdB)からテ
クスチャデータ参照手段14で参照された輝度値を減じ
た値(IR ,IG ,IB )とを乗じた値を、記憶装置か
ら読み出された計算用輝度値(IcalR,IcalG,Ical
B)から減じた値、(計算用輝度値)=(IcalR,Ical
G,IcalB)−αβ{(IdR,IdG,IdB)−(IR ,
IG ,IB )}に更新する。
【0186】Tempが1より大きい場合は、計算用輝度値
は、(計算用輝度値)=(IcalR,IcalG,IcalB)−
(1−αsum )β{(IdR,IdG,IdB)−(IR ,I
G ,IB )}に更新し、面積寄与率の和は1に更新す
る。1面処理終了判定手段17は、1つのポリゴンまた
は曲面に対して生成された全てのマイクロポリゴンに対
して処理が終了したか否かの判定を行い、終了していな
ければ以上の処理を1つのポリゴンまたは曲面に対して
生成された全てのマイクロポリゴンに対して処理が終了
するまで行う。処理を終了したという判定を得ると、描
画用輝度値を計算用輝度値に更新し、更新が終了したな
らば計算用輝度値と面積寄与率の和を0に初期化する。
【0187】以上の処理を1シーン処理判定手段18で
1シーン分全てのデータに対して処理が終了したと判定
されるまで行う。第4の方法では、輝度値修正手段19
は何も処理しない。
【0188】次に、記憶装置書き込み手段を備えたこと
を特徴とする画像生成装置について、ソーティングが奥
行きに対して近いものから遠いものへ行われた場合の記
憶装置書き込み手段15の第5、6、7の動作方法につ
いて説明する。第5の方法は、テクスチャデータに不透
明度がない場合である。前提として、各ピクセルの輝度
値と面積寄与率の和を保持することができる記憶装置が
あるもとする。面積寄与率参照手段12で参照したピク
セルに対する、5×5の領域からスクリーン空間への変
換方法は第1の方法と同様とする。このとき、レンダリ
ング手段16は、処理を行う当該ピクセルの面積寄与率
の和αsumを読みだし、αsum が1より小さい時に限
り、αsum に面積寄与率参照手段12で算出した面積寄
与率の値αを加えたテンポラリの値、Temp=αsum +α
を計算する。
【0189】Tempが1以下の場合は、面積寄与率の和は
Tempに更新する。輝度値については、αにテクスチャデ
ータ参照手段14で参照した輝度値(IR ,IG ,IB
)を乗じた値に、記憶装置から読み出した輝度値(Id
R,IdG,IdB)を加えた値、(輝度値)=α(IR ,
IG ,IB )+(IdR,IdG,IdB)に更新する。Temp
が1より大きい場合は、輝度値については、(輝度値)
=(1−αsum )(IR,IG ,IB )+(IdR,Id
G,IdB)に更新し、面積寄与率の和は1に更新する。
【0190】以上の処理を1シーン処理判定手段18で
1シーン分全てのデータに対して処理が終了したと判定
されるまで行う。1シーン処理終了判定手段18におい
て処理が終了したという判定が行われると、輝度値修正
手段19は、面積寄与率の和が1より小さいピクセルに
対して、輝度値を記憶していた輝度値(IdR,IdG,I
dB)に、1から面積寄与率の和αを減じた値と背景とし
て与えられた輝度値(IbR,IbG,IbB)とを乗じた値
を加えた値、(輝度値)=(IdR,IdG,IdB)+(1
−α)(IbR,IbG,IbB)に更新する。
【0191】第6の方法は、テクスチャデータに不透明
度がある場合である。前提として、各ピクセルに対して
輝度値とピクセル寄与率の和とを保持することができる
記憶装置があるものとする。面積寄与率参照手段12で
参照したピクセルに対する、5×5の領域からスクリー
ン空間への変換方法は第1の方法と同様とする。このと
き、レンダリング手段16は、処理を行う当該ピクセル
のピクセル寄与率の和γsum を読みだし、γsum が1よ
り小さい時に限り、γsum に面積参照手段12で算出し
た面積寄与率αとテクスチャデータ参照手段14で参照
した不透明度βを乗じた値を加えたテンポラリの値、Te
mp=γsum +αβを計算する。
【0192】Tempが1以下の場合は、γsum をTempに更
新する。輝度値については、αとβとテクスチャデータ
参照手段14で参照された輝度値(IR ,IG ,IB )
とを乗じた値に記憶装置から読み出された輝度値(Id
R,IdG,IdB)を加えた値、(輝度 )=αβ(IR
,IG ,IB )+(IdR,IdG,IdB)に更新する。T
empが1より大きい場合は、輝度値については、(輝度
値)=(1−γsum)(IR,IG ,IB )+(IdR,I
dG,IdB)に更新し、ピクセル寄与率の和は1に更新す
る。
【0193】以上の処理を1シーン処理判定手段18で
1シーン分全てのデータに対して処理が終了したと判定
されるまで行う。1シーン処理終了判定手段18におい
て処理が終了したという判定が行われると、輝度値修正
手段19は、ピクセル寄与率の和γsum が1より小さい
ピクセルに対して、輝度値を記憶していた輝度値(Id
R,IdG,IdB)に、1からγsum を減じた値と背景と
して与えられた輝度値(IbR,IbG,IbB)とを乗じた
値を加えた値、(輝度値)=(IdR,IdG,IdB)+
(1−γsum )(IbR,IbG,IbB)に更新する。
【0194】第7の方法も、テクスチャデータに不透明
度がある場合である。前提として、各ピクセルの輝度値
とピクセル寄与率の和とを保持することができる輝度用
の記憶装置と面積寄与率の和とを保持することができる
面積寄与率用の記憶装置があるものとする。面積寄与率
参照手段12で参照されたピクセルに対する、5×5の
領域からスクリーン空間への変換方法は第1の方法と同
様とする。
【0195】このとき、レンダリング手段16は、処理
を行う当該ピクセルの面積寄与率の和αsum とピクセル
寄与率の和γsum を読み出し、αsum ,γsum が共に1
より小さい時に限り、αsum に面積寄与率参照手段12
で算出した面積寄与率αの値を加えた面積寄与率の和の
テンポラリの値、Temp1 =αsum +αと、γsum にαと
テクスチャデータ参照手段14で参照された不透明度β
とを乗じた値を加えたピクセル寄与率の和のテンポラリ
の値、Temp2 =γsum +αβとを計算する。Temp1 ,Te
mp2 が共に1以下の場合は、面積寄与率の和はTemp1 に
更新し、ピクセル寄与率の和はTemp2に更新する。
【0196】輝度値は、αとβとテクスチャデータ参照
手段14で参照された輝度値(IR,IG ,IB )とを
乗じた値を、輝度用の記憶装置から読み出された輝度値
(IdR,IdG,IdB)に加えた値、(輝度値)=αβ
(IR ,IG ,IB )+(IdR,IdG,IdB)に更新す
る。Temp1 が1より大きく、Temp2 が1以下の場合は、
輝度値は、(輝度値)=(1−αsum )β(IR ,IG
,IB )+(IdR,IdG,IdB)に更新する。面積寄
与率の和は1に更新し、ピクセル寄与率の和は、(ピク
セル寄与率の和)=γsum +(1−αsum )βに更新す
る。Temp2 が1より大きい場合は、輝度値は、(輝度
値)=(1−γsum )(IR ,IG ,IB )+(IdR,
IdG,IdB)に更新する。面積寄与率の和とピクセル寄
与率の和は1に更新する。
【0197】1面処理終了判定手段17は、1つのポリ
ゴンまたは曲面に対して生成された全てのマイクロポリ
ゴンに対して処理が終了したか否かの判定を行い、終了
していなければ以上の処理を1つのポリゴンまたは曲面
に対して生成された全てのマイクロポリゴンに対して処
理が終了するまで繰り返す。処理を終了したという判定
を得ると、面積寄与率用の記憶装置の内容を0に初期化
する。上記の処理を1シーン処理判定手段18で1シー
ン分全てのデータに対して処理が終了したと判定される
まで行う。
【0198】1シーン処理終了判定手段18でその処理
が終了したという判定が行われると、輝度値修正手段1
9は、ピクセル寄与率の和γsumが1より小さいピクセ
ルに対して、輝度値を記憶していた輝度値(IdR,Id
G,IdB)に、1からγsum を減じた値と背景として与
えられた輝度値(IbR,IbG,IbB)とを乗じた値を加
えた値、(輝度値)=(IdR,IdG,IdB)+(1−γ
sum )(IbR,IbG,IbB)に更新する。
【0199】以下、本発明の第2の実施例につき図面を
参照して詳細に説明する。第1の実施例では面積寄与率
をテーブルを参照して算出する方式を採用したが、第2
の実施例ではこの部分を計算で算出する方式を採用す
る。図2は本発明の第2の実施例による画像生成装置の
構成図である。図2において、201はサブポリゴンの
内点がマイクロポリゴンの規定する領域内部にはいって
いるか否かを判定する内外判定手段、202はマイクロ
ポリゴンの規定する領域内部にはいっているサブポリゴ
ンの個数を数えるカウンティング手段、203は1ピク
セルに対する処理が終了したか否かを判定する1ピクセ
ル処理終了判定手段、205は規定領域内の全てのピク
セルに対して処理が終了したか否かを判定する規定領域
内ピクセル終了判定手段である。
【0200】以上のように構成された第2の実施例によ
る画像生成装置について、以下、その理論的背景につい
て述べ、その後、動作について説明する。第1の実施例
でも説明したように、マイクロポリゴンの規定サイズを
1以下とすれば、マイクロポリゴンは5×5ピクセルの
領域内にはいる(但し、基準点は5×5の領域の中心の
ピクセル内部にある)。この5×5の領域をΩ、マイク
ロポリゴンの囲む領域をD,(i,j)の位置のピクセ
ルの領域をPijとすると、面積寄与率の定義から次の式
(数73)が成り立つ。
【0201】
【数73】
【0202】一般に、集合Sで積分が定義されている
時、S上の可積分関数fに対して次の関係が成り立つ。
但し、AはSの部分集合である。
【0203】
【数74】
【0204】
【数75】
【0205】従って、(数73)(数74)(数75)
から、
【0206】
【数76】
【0207】が成り立つ。この(数76)を離散化する
ことについて考える。図17はPijの各辺を2n 等分し
て、22n個のサブピクセルを生成したときの図である。
上述のサブピクセルの内点を重心とすると、新たにkl
座標系を導入して、この重心は、
【0208】
【数77】
【0209】と表せる。但し、
【0210】
【数78】
【0211】である。これを用いると、(数76)は次
の離散化式の極限で表すことができる。
【0212】
【数79】
【0213】(数79)の右辺は、重心がPijとDの共
有領域にいくつ入っているかを数え、それにサブピクセ
ルの面積を乗じた式を表わすものと解釈できる。従っ
て、重心が共有領域内か否かの判定を行う必要がある。
これは次の4つの補題によって行うことができる(図1
8参照)。
【0214】補題1:基準点(x,y)とこれを挟む2
つのベクトル(dx ,dy )(px,py )と任意の点
(α,β)が与えられ、(α−x,β−y)=s(dx
,dy )+t(px ,py )と表わされると、0≦s
≦1かつ0≦t≦1ならば、(α,β)は基準点(x,
y)とこれを挟む2つのベクトル(dx ,dy )(p
x,py )で規定される平行四辺形の内部(境界を含
む)にある。
【0215】補題2:基準点(x,y)とこれを挟む2
つのベクトル(dx ,dy )(px,py )と任意の点
(α,β)が与えられ、(α−x,β−y)=s(dx
,dy )+t(px ,py )と表わされると、0<s
<1かつ0<t<1ならば、(α,β)は基準点(x,
y)とこれを挟む2つのベクトル(dx ,dy )(p
x,py )で規定される平行四辺形の内部(境界を含ま
ない)にある。
【0216】補題3:基準点(x,y)とこれを挟む2
つのベクトル(dx ,dy )(px,py )と任意の点
(α,β)が与えられ、(α−x,β−y)=s(dx
,dy )+t(px ,py )と表わされると、0≦s
≦1かつ0≦t≦1かつ0≦s+t≦1ならば、(α,
β)は基準点(x,y)と、これを挟む2つのベクトル
(dx ,dy )(px ,py )で規定される三角形の内
部(境界を含む)にある。
【0217】補題4:基準点(x,y)とこれを挟む2
つのベクトル(dx ,dy )(px,py )と任意の点
(α,β)が与えられ、(α−x,β−y)=s(dx
,dy )+t(px ,py )と表わされると、0<s
<1かつ0<t<1かつ0<s+t<1ならば、(α,
β)は基準点(x,y)とこれを挟む2つのベクトル
(dx ,dy )(px ,py )で規定される三角形の内
部(境界を含まない)にある。
【0218】但し、補題1、2、3、4ともに、上記の
s,tは、dx py −px dy ≠0であれば、
【0219】
【数80】
【0220】で求めることができ、dx py −px dy
=0であれば解はない(平行四辺形、三角形が潰れてい
ることを表す)。以上のことを踏まえて、その動作につ
いて説明する。マイクロポリゴンを規定する基準点とベ
クトルのデータと、基準点をその中心においた時の5×
5のピクセル領域のデータが内外判定手段201に入力
される。但し、四角形マイクロポリゴンの場合は2つの
三角形に分割されているものとする。内外判定手段20
1ではdx py −px dy =0か否かの判定を行い、0
ならば5×5の領域の全てのピクセルの面積寄与率は0
として全ての処理を終了する。dx py −px dy≠0
ならば5×5の領域のピクセル毎に、次の処理を行う。
【0221】まず、サブピクセルの重心に対してs,t
を(数80)で求める。平行四辺形マイクロポリゴンな
らば、補題1、補題2を満たすか否かを判定し、四角
形、三角形マイクロポリゴンならば補題3、補題4を満
たすか否かを判定し、カウティング手段202で満たし
ている場合はそれぞれのカウンタを1増加させる(補題
1、2、3、4のカウンタをcount1,count2,cout3,cout
4 とする)。
【0222】この処理を、1ピクセル処理終了判定手段
203で、1ピクセル内の全てのサブピクセルに対して
終了したと判定するまで繰り返す。1ピクセル処理終了
判定手段203で、1ピクセル内の全てのサブピクセル
に対して終了したと判定されたならば、面積寄与率算出
手段204で、入力されたものが平行四辺形マイクロポ
リゴンならば、cout=cout2+(cout1-cout2)/2を計算し、
四角形、三角形マイクロポリゴンならば、cout=cout4+
(cout3-cout4)/2を計算する。
【0223】次に、coutにサブピクセルの面積を乗じる
ことでこのピクセルの面積寄与率を算出する。求めた面
積寄与率は、精度に応じて全てプラスの方向に丸める。
この処理を、規定領域内ピクセル終了判定手段205
で、5×5の領域の全てのピクセルに対して終了したと
判定されるまで繰り返し、終了したと判定されたならば
全ての処理を終了する。
【0224】なお、本実施例では5×5の領域に対して
行ったが、第1の実施例で述べたように、規定サイズが
1以下の場合は最大のマイクロポリゴンでも3×3の領
域にはいるので、前処理としてマイクロポリゴンが内部
に含まれる最小の矩形領域を求める手段を設ければ処理
するピクセル数はもっと減らすことができる。例えば図
19に示すように、2×2のピクセルの領域でよいこと
が分かる。また、第2の実施例による面積寄与率算出手
段は、第1の実施例における面積寄与率のテーブルを作
成するときにも用いることができる。
【0225】
【発明の効果】本発明は、以上説明したように、3次元
空間で定義された曲面やポリゴンを2次元のスクリーン
空間へ幾何変換した後、マイクロポリゴンの生成を行う
ようにしたので、幾何変換の計算量は従来に比べ激減
し、処理の高速化を図ることができる。又、マイクロポ
リゴンの生成過程においても、2次元で取り扱うように
したので、座標値や成分を算出する計算は従来の3つで
はなく2つでよい。
【0226】本発明では、面積寄与率をテーブルによっ
て決定しているので、高速に処理を行うことができるほ
か、ハードウェア化が容易である。本発明では面積積分
を応用して高速に面積寄与率を算出する手法も提供し、
更にそれを面積寄与率のテーブルの作成に用いることも
できる。また、本発明は、面積寄与率のテーブルを用い
る場合、そのサイズを小さくする工夫がなされ、マイク
ロポリゴンを規定サイズ以下にするための再分割につい
ても、有効な再帰的再分割のアルゴリズムを提供する。
【0227】また、マイクロポリゴンの中には、生成さ
れた画像には反映されないものが存在するが、本発明で
は、この裏向きのマイクロポリゴンを除去する手法を提
供し、実際に画像を生成するためのフレームメモリ等へ
の書き込みを効果的に行う方法を式を提供することによ
り、より高速に質の良い画像を提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における画像生成装置の
構成図
【図2】本発明の第2の実施例における画像生成装置の
構成図
【図3】双3次Bスプライン曲面の模式図
【図4】双3次Bスプライン曲面の曲面上の点の求め方
を示す説明図
【図5】分割曲面を示す双3次Bスプライン曲面の模式
【図6】サブポリゴンの模式図
【図7】(a)はマイクロポリゴンの説明図 (b)は平行四辺形よりなるマイクロポリゴンの説明図 (c)は三角形よりなるマイクロポリゴンの説明図
【図8】(a)はマイクロポリゴンの生成方法の説明図 (b−1)はマイクロポリゴンの生成方法の説明図 (b−2)はマイクロポリゴンの生成方法の説明図 (c)はマイクロポリゴンの生成方法の説明図
【図9】サブマイクロポリゴンを生成するときに用いる
分割点の説明図
【図10】裏面除去の説明の用に供する双3次Bスプラ
イン曲面の模式図
【図11】コントロールポイントの並び方と裏面の関係
を示す説明図
【図12】面積寄与率の説明図
【図13】アドレスの生成方法、及び面積寄与率参照の
ための説明図。
【図14】(a)はアドレスの構成図 (b)はアドレスの構成図
【図15】面積寄与率参照後の出力データの構成図
【図16】テクスチャデータへのアクセスの変更に用い
る出力データ(数列)を示す図
【図17】サブポリゴンとその重心の説明図
【図18】マイクロポリゴンの内外判定を行うときの補
題の説明図
【図19】マイクロポリゴンを含む最小の矩形領域を示
す図
【符号の説明】
1 曲面点算出手段 2 幾何変換手段 3 コントロールポイント算出手段 4 インデックス変更手段 5 マイクロポリゴン生成手段 6 裏面除去手段 7 再分割判定手段 8 分割数変更手段 9 分割数決定手段 10 サブマイクロポリゴン生成手段 11 アドレス生成手段 12 面積寄与率参照手段 13 アクセス変更手段 14 テクスチャデータ参照手段 15 記憶装置書き込み手段 16 レンダリング手段 17 1面処理終了判定手段 18 1シーン処理終了判定手段 19 輝度値修正手段 201 内外判定手段 202 カウンティング手段 203 1ピクセル処理終了判定手段 204 面積寄与率算出手段 205 規定領域内ピクセル終了判定手段
フロントページの続き (56)参考文献 特開 昭61−80463(JP,A) 特開 平5−290148(JP,A) 特開 平5−290177(JP,A) 特開 平4−33074(JP,A) 特開 平4−57175(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 G06T 17/40 G09G 5/36

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】各ピクセルに対して輝度値と、ピクセルと
    マイクロポリゴンの共有領域の面積のピクセルの面積に
    対する比率である面積寄与率の和を保持することが可能
    な記憶装置がある時、 ポリゴンや曲面を与えられた分割数で分割したサブポリ
    ゴンや分割曲面を三角形近似したマイクロポリゴンを生
    成するステップと、 三角形の1頂点を共有する2つのベクトルに応じて算出
    された固定領域のピクセルの面積寄与率のテーブルか
    ら、前記マイクロポリゴンの1頂点を共有する2つのベ
    クトルに応じた当該ピクセルの面積寄与率を求めるステ
    ップと、 各ピクセルに対して前記面積寄与率の和と、前記面積寄
    与率とマイクロポリゴンに与えられた輝度値を乗じて算
    出した輝度値の和を、前記記憶装置に更新書き込み保持
    するステップと、 前記記憶装置に保持された輝度値から画像を生成するス
    テップからなることを特徴とする画像生成方法。
  2. 【請求項2】各ピクセルに対して輝度値と、ピクセルと
    マイクロポリゴンの共有領域の面積のピクセルの面積に
    対する比率である面積寄与率の和を保持することが可能
    な記憶装置がある時、 ポリゴンや曲面を与えられた分割数で分割したサブポリ
    ゴンや分割曲面を平行四辺形近似したマイクロポリゴン
    を生成するステップと、 平行四辺形の1頂点を共有する2つのベクトルに応じて
    算出された固定領域のピクセルの面積寄与率のテーブル
    から、前記マイクロポリゴンの1頂点を共有する2つの
    ベクトルに応じた当該ピクセルの面積寄与率を求めるス
    テップと、 各ピクセルに対して前記面積寄与率の和と、前記面積寄
    与率とマイクロポリゴンに与えられた輝度値を乗じて算
    出した輝度値の和を、前記記憶装置に更新書き込み保持
    するステップと、 前記記憶装置に保持された輝度値から画像を生成するス
    テップからなることを特徴とする画像生成方法。
  3. 【請求項3】各ピクセルに対して描画用輝度値と計算用
    輝度値と、ピクセルとマイクロポリゴンの共有領域の面
    積のピクセルの面積に対する比率である面積寄与率の和
    を保持することが可能な記憶装置がある時、1つのポリ
    ゴンまたは曲面に対して生成されたマイクロポリゴンの
    各ピクセルに対する面積寄与率算出後、前記記憶装置へ
    書き込む際に、面積寄与率の和が1より小さい時に限
    り、前の面積寄与率の和に算出した面積寄与率の値を加
    えたテンポラリの値を計算し、テンポラリの値が1以下
    の場合は、面積寄与率の和はテンポラリの値に更新し、
    計算用輝度値は、算出した面積寄与率にマイクロポリゴ
    ンに与えられた輝度値を乗じた値と前の計算用輝度値と
    を加えた値に更新し、テンポラリの値が1より大きい場
    合は、計算用輝度値は、1から前の面積寄与率の和を減
    じた値にこのマイクロポリゴンに与えられた輝度値を乗
    じた値と前の計算用輝度値とを加えた値に更新し、面積
    寄与率の和は1に更新するステップと、1つのポリゴン
    または曲面に対して生成された全てのマイクロポリゴン
    に対して処理が終了したか否かの判定を行ない、終了し
    たという判定ならば、描画用輝度値を、1から面積寄与
    率の和を減じた値に前の描画用輝度値を乗じた値と計算
    用輝度値とを加えた値に更新し、更新が終了したならば
    計算用輝度値と面積寄与率の和を0に初期化するステッ
    プとから成る、記憶装置への書き込みを行うステップを
    備えたことを特徴とする画像生成方法。
  4. 【請求項4】ピクセルとマイクロポリゴンの共有領域の
    面積のピクセルの面積に対する比率である面積寄与率に
    不透明度を乗じた値をピクセル寄与率とするとき、各ピ
    クセルに対して描画用輝度値と計算用輝度値と面積寄与
    率の和とピクセル寄与率の和を保持することが可能な記
    憶装置がある時、1つのポリゴンまたは曲面に対して生
    成されたマイクロポリゴンの各ピクセルに対する面積寄
    与率算出後、前記記憶装置へ書き込む際に、面積寄与率
    の和が1より小さい時に限り、前の面積寄与率の和に算
    出した面積寄与率の値を加えたテンポラリの値を計算
    し、テンポラリの値が1以下の場合は、面積寄与率の和
    はテンポラリの値に更新し、ピクセル寄与率の和は、マ
    イクロポリゴンに与えられた不透明度に、算出した面積
    寄与率を乗じた値と、前のピクセル寄与率の和とを加え
    た値に更新し、計算用輝度値は、算出した面積寄与率と
    マイクロポリゴンに与えられた不透明度と輝度値とを乗
    じた値と、前の計算用輝度値とを加えた値に更新し、テ
    ンポラリの値が1より大きい場合は、計算用輝度値は、
    1から前の面積寄与率の和を減じた値とこのマイクロポ
    リゴンに与えられた不透明度と輝度値とを乗じた値と、
    前の計算用輝度値とを加えた値に更新し、面積寄与率の
    和は1に更新し、ピクセル寄与率の和は1から前の面積
    寄与率の和を減じた値にマイクロポリゴンに与えられた
    不透明度を乗じた値と、前のピクセル寄与率の和とを加
    えた値に更新するステップと、1つのポリゴンまたは曲
    面に対して生成された全てのマイクロポリゴンに対して
    処理が終了したか否かの判定を行い、終了したという判
    定ならば、描画用輝度値を、1からピクセル寄与率の和
    を減じた値に前の描画用輝度値を乗じた値と計算用輝度
    値とを加えた値に更新し、更新が終了したならば計算用
    輝度値と面積寄与率の和とピクセル寄与率の和を0に初
    期化するステップとからなる、記憶装置への書き込みを
    行うステップを備えたことを特徴とする画像生成方法。
  5. 【請求項5】各ピクセルに対して描画用輝度値と計算用
    輝度値と、ピクセルとマイクロポリゴンの共有領域の面
    積のピクセルの面積に対する比率である面積寄与率の和
    を保持することが可能な記憶装置がある時、1つのポリ
    ゴンまたは曲面に対して生成されたマイクロポリゴンの
    各ピクセルに対する面積寄与率算出後、前記記憶装置へ
    書き込む際に、面積寄与率の和が1より小さいときに限
    り、前の面積寄与率の和に算出した面積寄与率の値を加
    えたテンポラリの値を計算し、テンポラリの値が1以下
    の場合は、面積寄与率の和は前記テンポラリの値に更新
    し、計算用輝度値は、算出した面積寄与率と、描画用輝
    度値からマイクロポリゴンに与えられた輝度値を減じた
    値とを乗じた値を、前の計算用輝度値から減じた値に更
    新し、テンポラリの値が1より大きい場合は、計算用輝
    度値は、1から前の面積寄与率の和を減じた値と、描画
    用輝度値からマイクロポリゴンに与えられた輝度値を減
    じた値とを乗じた値を、前の計算用輝度値から減じた値
    に更新し、面積寄与率の和は1に更新するステップと、
    1つのポリゴンまたは曲面に対して生成された全てのマ
    イクロポリゴンに対して処理が終了したか否かの判定を
    行い、終了したという判定ならば、描画用輝度値を計算
    用輝度値に更新し、更新が終了したならば計算用輝度値
    と面積寄与率の和を0に初期化するステップとからな
    る、記憶装置への書き込みを行うステップを備えたこと
    を特徴とする画像生成方法。
  6. 【請求項6】各ピクセルに対して描画用輝度値と計算用
    輝度値と、ピクセルとマイクロポリゴンの共有領域の面
    積のピクセルの面積に対する比率である面積寄与率の和
    を保持することが可能な記憶装置がある時、1つのポリ
    ゴンまたは曲面に対して生成されたマイクロポリゴンの
    各ピクセルに対する面積寄与率算出後、前記記憶装置へ
    書き込む際に、面積寄与率の和が1より小さい時に限
    り、前の面積寄与率の和に算出した面積寄与率の値を加
    えたテンポラリの値を計算し、テンポラリの値が1以下
    の場合は、面積寄与率の和はテンポラリの値に更新し、
    計算用輝度値は、算出した面積寄与率と、マイクポリゴ
    ンに与えられた不透明度と、描画用輝度値からマイクロ
    ポリゴンに与えられた輝度値を減じた値とを乗じた値
    を、前の計算用輝度値から減じた値に更新し、テンポラ
    リの値が1より大きい場合は、計算用輝度値は、1から
    前の面積寄与率の和を減じた値と、マイクポリゴンに与
    えられた不透明度と、描画用輝度値からマイクロポリゴ
    ンに与えられた輝度値を減じた値とを乗じた値を、前の
    計算用輝度値から減じた値に更新し、面積寄与率の和は
    1に更新するステップと、1つのポリゴンまたは曲面に
    対して生成された全てのマイクロポリゴンに対して処理
    が終了したか否かの判定を行い、終了したという判定な
    らば、描画用輝度値を計算用輝度値に更新し、更新が終
    了したならば計算用輝度値と面積寄与率の和を0に初期
    化するステップとからなる、記憶装置への書き込みを行
    うステップを備えたことを特徴とする画像生成方法。
  7. 【請求項7】各ピクセルの輝度値と、ピクセルとマイク
    ロポリゴンの共有領域の面積のピクセルの面積に対する
    比率である面積寄与率の和を保持することが可能な記憶
    装置に対して、マイクロポリゴンの各ピクセルに対する
    面積寄与率算出後、前記記憶装置へ書き込む際に、面積
    寄与率の和が1より小さい時に限り、前の面積寄与率の
    和に算出した面積寄与率の値を加えたテンポラリの値を
    計算し、テンポラリの値が1以下の場合は、前の面積寄
    与率の和をテンポラリの値に更新し、輝度値について
    は、算出した面積寄与率にマイクロポリゴンに与えられ
    た輝度値を乗じた値に前の輝度値を加えた値に更新し、
    テンポラリの値が1より大きい場合は、輝度値について
    は、1から前の面積寄与率の和を減じた値にこのマイク
    ロポリゴンに与えられた輝度値を乗じた値に前の輝度値
    を加えた値に更新し、面積寄与率の和は1に更新するス
    テップと、全てのポリゴンまたは曲面の処理が終わった
    か否かの判定を行うステップと、前記ステップで終了し
    たという判定がなされたならば、面積寄与率の和が1よ
    り小さいピクセルに対して、輝度値を記憶していた輝度
    値に、1から面積寄与率の和を減じた値と背景として与
    えられた輝度値とを乗じた値を加えた値に更新するステ
    ップとからなる、記憶装置への書き込みを行うステップ
    を備えたことを特徴とする画像生成方法。
  8. 【請求項8】ピクセルとマイクロポリゴンの共有領域の
    面積のピクセルの面積に対する比率である面積寄与率に
    不透明度を乗じた値をピクセル寄与率とするとき、各ピ
    クセルに対して輝度値とピクセル寄与率の和を保持する
    ことが可能な記憶装置がある時、マイクロポリゴンの各
    ピクセルに対する面積寄与率算出後、前記記憶装置へ書
    き込む際に、ピクセル寄与率の和が1より小さい時に限
    り、前のピクセル寄与率の和に算出した面積寄与率とマ
    イクロポリゴンに与えられた不透明度を乗じた値を加え
    たテンポラリの値を計算し、テンポラリの値が1以下の
    場合は、前のピクセル寄与率の和をテンポラリの値に更
    新し、輝度値については、算出した面積寄与率とマイク
    ロポリゴンに与えられた不透明度と輝度値とを乗じた値
    に前の輝度値を加えた値に更新し、テンポラリの値が1
    より大きい場合は、輝度値については、1から前のピク
    セル寄与率の和を減じた値にこのマイクロポリゴンに与
    えられた輝度値を乗じた値と、前の輝度値とを加えた値
    に更新し、ピクセル寄与率の和は1に更新するステップ
    と、全てのポリゴンまたは曲面の処理が終わったか否か
    の判定を行うステップと、前記ステップで終了したとい
    う判定がなされたならば、ピクセル寄与率の和が1より
    小さいピクセルに対して、輝度値を記憶していた輝度値
    に、1からピクセル寄与率の和を減じた値と背景として
    与えられた輝度値とを乗じた値を加えた値に更新するス
    テップとからなる、記憶装置への書き込みを行うステッ
    プを備えたことを特徴とする画像生成方法。
  9. 【請求項9】ピクセルとマイクロポリゴンの共有領域の
    面積のピクセルの面積に対する比率である面積寄与率に
    不透明度を乗じた値をピクセル寄与率とするとき、各ピ
    クセルの輝度値とピクセル寄与率の和を保持することが
    可能な輝度用の記憶装置と面積寄与率の和を保持するこ
    とが可能な面積寄与率用の記憶装置に対して、1つのポ
    リゴンまたは曲面に対して生成されたマイクロポリゴン
    の各ピクセルに対する面積寄与率算出後、前記記憶装置
    へ書き込む際に、面積寄与率の和とピクセル寄与率の和
    がどちらも1より小さい時に限り、前の面積寄与率の和
    に算出した面積寄与率の値を加えた面積寄与率の和のテ
    ンポラリの値と、前のピクセル寄与率の和に、算出した
    面積寄与率とマイクロポリゴンに与えられた不透明度と
    を乗じた値を加えたピクセル寄与率の和のテンポラリの
    値とを計算し、面積寄与率の和のテンポラリの値とピク
    セル寄与率の和のテンポラリの値が共に1以下の場合
    は、面積寄与率の和は面積寄与率の和のテンポラリの値
    に更新し、ピクセル寄与率の和はピクセル寄与率の和の
    テンポラリの値に更新し、輝度値は、算出した面積寄与
    率とマイクロポリゴンに与えられた不透明度と輝度値と
    を乗じた値を、前の輝度値に加えた値に更新し、面積寄
    与率の和のテンポラリの値が1より大きく、ピクセル寄
    与率の和のテンポラリの値が1以下の場合は、輝度値
    は、1から前の面積寄与率の和を減じた値と、マイクポ
    リゴンに与えられた不透明度と輝度値とを乗じた値を、
    前の輝度値に加えた値に更新し、面積寄与率の和は1に
    更新し、ピクセル寄与率の和は前のピクセル寄与率の和
    に、1から前の面積寄与率の和を減じた値とマイクロポ
    リゴンに与えられた不透明度とを乗じた値を加えた値に
    更新し、ピクセル寄与率の和のテンポラリの値が1より
    大きい場合は、輝度値は1から前のピクセル寄与率の和
    を減じた値にマイクロポリゴンにあたられた輝度値を乗
    じた値と、前の輝度値とを加えた値に更新し、面積寄与
    率の和とピクセル寄与率の和は1に更新するステップ
    と、1つのポリゴンまたは曲面に対して生成された全て
    のマイクロポリゴンに対して処理が終了したか否かの判
    定を行い、終了したという判定ならば、前記面積寄与率
    用の記憶装置の内容を0に初期化するステップと、全て
    のポリゴンまたは曲面の処理が終わったか否かの判定を
    行うステップと、前記ステップで終了したという判定が
    なされたならば、ピクセル寄与率の和が1より小さいピ
    クセルに対して、輝度値を記憶していた輝度値に、1か
    らピクセル寄与率の和を減じた値と背景として与えられ
    た輝度値とを乗じた値を加えた値に更新するステップと
    からなる、記憶装置への書き込みを行うステップを備え
    たことを特徴とする画像生成方法。
JP2001168928A 2001-06-05 2001-06-05 画像生成方法 Expired - Fee Related JP3522714B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001168928A JP3522714B2 (ja) 2001-06-05 2001-06-05 画像生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001168928A JP3522714B2 (ja) 2001-06-05 2001-06-05 画像生成方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP34942693A Division JP3313221B2 (ja) 1993-12-28 1993-12-28 画像生成方法及び画像生成装置

Publications (2)

Publication Number Publication Date
JP2002049931A JP2002049931A (ja) 2002-02-15
JP3522714B2 true JP3522714B2 (ja) 2004-04-26

Family

ID=19011065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001168928A Expired - Fee Related JP3522714B2 (ja) 2001-06-05 2001-06-05 画像生成方法

Country Status (1)

Country Link
JP (1) JP3522714B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2388507B (en) * 2002-05-10 2005-11-09 Imagination Tech Ltd An interface and method of interfacing between a parametric modelling unit and a polygon based rendering system.
JP4632796B2 (ja) * 2005-01-17 2011-02-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及び画像生成システム
US8587585B2 (en) * 2010-09-28 2013-11-19 Intel Corporation Backface culling for motion blur and depth of field
EP3211601B1 (en) * 2016-02-25 2018-10-31 Dassault Systèmes Rendering the global illumination of a 3d scene

Also Published As

Publication number Publication date
JP2002049931A (ja) 2002-02-15

Similar Documents

Publication Publication Date Title
JP3313221B2 (ja) 画像生成方法及び画像生成装置
JP4385524B2 (ja) ポリゴンデータの生成方法及び、これを用いた画像表示装置
JP2910979B2 (ja) コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置
KR100519779B1 (ko) 깊이영상기반 3차원 그래픽 데이터의 고속 시각화 방법 및장치
EP1127337B2 (en) Shading 3-dimensional computer generated images
US7764292B2 (en) Three dimensional graphics processing apparatus, image display apparatus, three dimensional graphics processing method, control program and computer-readable recording medium
EP1958162B1 (en) Vector graphics anti-aliasing
JP3675488B2 (ja) 線形補間を用いて非同次2次遠近テクスチャマッピング座標を決定する回路
GB2343603A (en) Shading 3-dimensional computer generated images
JPH04222074A (ja) テクスチャマッピングのための傾斜計算方法
JPWO2003001458A1 (ja) 情報処理装置
US20050017984A1 (en) Optimising compositing calculations for a run of pixels
US20050007372A1 (en) Rendering successive frames in a graphic object system
JPH0916806A (ja) 立体画像処理装置
Rosen Rectilinear texture warping for fast adaptive shadow mapping
JPH03202981A (ja) 三次元図形表示方法及びシステム
US7221368B1 (en) Stippled lines using direct distance evaluation
JP3522714B2 (ja) 画像生成方法
KR100305461B1 (ko) 그래픽처리장치
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
KR0179354B1 (ko) 텍스쳐 매핑 방법 및 화상 처리 장치
JP3367506B2 (ja) 画像処理装置および画像処理方法
US20080165208A1 (en) 3-Dimensional graphic processing apparatus and operating method thereof
CA2261245C (en) Division circuit and graphic display processing apparatus
JPH11185052A (ja) 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031208

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040204

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

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees