JPH07200867A - 画像生成装置 - Google Patents

画像生成装置

Info

Publication number
JPH07200867A
JPH07200867A JP5349426A JP34942693A JPH07200867A JP H07200867 A JPH07200867 A JP H07200867A JP 5349426 A JP5349426 A JP 5349426A JP 34942693 A JP34942693 A JP 34942693A JP H07200867 A JPH07200867 A JP H07200867A
Authority
JP
Japan
Prior art keywords
value
sum
micropolygon
pixel
area
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.)
Granted
Application number
JP5349426A
Other languages
English (en)
Other versions
JP3313221B2 (ja
Inventor
Yoshiyuki Mochizuki
義幸 望月
Makoto Hirai
誠 平井
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP34942693A priority Critical patent/JP3313221B2/ja
Priority to CA002138841A priority patent/CA2138841C/en
Priority to FR9415806A priority patent/FR2714505B1/fr
Publication of JPH07200867A publication Critical patent/JPH07200867A/ja
Priority to US08/918,380 priority patent/US5903273A/en
Application granted granted Critical
Publication of JP3313221B2 publication Critical patent/JP3313221B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

(57)【要約】 【目的】 3次元スクリーン空間の計算を2次元の計算
と同様その計算量を激減させるて高速且つ高画質な画像
を生成可能な画像生成装置を提供すること。 【構成】 3次元空間中で定義された曲面又はポリゴン
を2次元のスクリーン空間へ幾何変換する幾何変換手段
1と、幾何変換後のスクリーン空間中の曲面又はポリゴ
ンから、曲面又はポリゴンを分割してマイクロポリゴン
を生成するマイクロポリゴン生成手段5と、マイクロポ
リゴンをレンダリングするレンダリング手段16とを含
み、3次元空間中の曲面を2次元平面で計算することを
特徴とする。

Description

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

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】3次元空間中で定義された曲面を2次元の
    スクリーン空間へ幾何変換する幾何変換手段と、幾何変
    換後のスクリーン空間中の曲面から、曲面を分割してマ
    イクロポリゴンを生成するマイクロポリゴン生成手段
    と、マイクロポリゴンをレンダリングするレンダリング
    手段とを備えたことを特徴とする画像生成装置。
  2. 【請求項2】3次元空間中でコントロールポイントによ
    って定義された曲面がある時、コントロールポイントと
    同数の曲面上の点を2次元のスクリーン空間へ幾何変換
    する幾何変換手段と、幾何変換後のスクリーン空間中の
    曲面上の点からスクリーン空間でのコントロールポイン
    トを算出するコントロールポイント算出手段と、前記ス
    クリーン空間中のコントロールポイントを用いて曲面を
    分割してマイクロポリゴンを生成するマイクロポリゴン
    生成手段と、マイクロポリゴンをレンダリングするレン
    ダリング手段とを備えたことを特徴とする画像生成装
    置。
  3. 【請求項3】3次元空間中でコントロールポイントによ
    って定義された曲面がある時、コントロールポイントと
    同数の曲面上の点を算出する曲面点算出手段と、前記曲
    面上の点を2次元のスクリーン空間へ幾何変換する幾何
    変換手段と、幾何変換後のスクリーン空間中の曲面上の
    点からスクリーン空間でのコントロールポイントを算出
    するコントロールポイント算出手段と、前記スクリーン
    空間中のコントロールポイントを用いて曲面を分割して
    マイクロポリゴンを生成するマイクポリゴン生成手段
    と、マイクロポリゴンをレンダリングするレンダリング
    手段とを備えたことを特徴とする画像生成装置。
  4. 【請求項4】3次元空間中で定義されたポリゴンを2次
    元のスクリーン空間へ幾何変換する幾何変換手段と、幾
    何変換後のスクリーン空間中のポリゴンを分割してマイ
    クロポリゴンを生成するマイクロポリゴン生成手段と、
    マイクロポリゴンをレンダリングするレンダリング手段
    とを備えたことを特徴とする画像生成装置。
  5. 【請求項5】3次元空間中で定義されたポリゴンの頂点
    と内分点を2次元のスクリーン空間へ幾何変換する幾何
    変換手段と、幾何変換後のスクリーン空間中の頂点と内
    分点を用いてポリゴンを分割してマイクロポリゴンを生
    成するマイクロポリゴン生成手段と、マイクロポリゴン
    をレンダリングするレンダリング手段とを備えたことを
    特徴とする画像生成装置。
  6. 【請求項6】曲面を与えられた分割数で分割したときに
    できる分割曲面を平行四辺形で近似し、近似した平行四
    辺形をレンダリングすることで画像を生成するレンダリ
    ング手段を備えたことを特徴とする請求項1、2、3、
    4、又は5記載の画像生成装置。
  7. 【請求項7】曲面を与えられた分割数で分割したときに
    できる分割点と曲面の頂点を基準点とするとき、基準点
    を始点として始点を挟む2つの隣接する基準点を終点と
    してできる2つのベクトルで生成される平行四辺形のマ
    イクロポリゴンで分割曲面を近似し、マイクロポリゴン
    をレンダリングすることで画像を生成するレンダリング
    手段を備えたことを特徴とする請求項1、2、3、4、
    又は5記載の画像生成装置。
  8. 【請求項8】ポリゴンを与えられた分割数で分割したと
    きにできるサブポリゴンを平行四辺形で近似し、近似し
    た平行四辺形をレンダリングすることで画像を生成する
    レンダリング手段を備えたことを特徴とする請求項1、
    2、3、4、又は5記載の画像生成装置。
  9. 【請求項9】ポリゴンを与えられた分割数で分割したと
    きにできる分割点とポリゴンの頂点を基準点とすると
    き、基準点を始点として始点を挟む2つの隣接する基準
    点を終点としてできる2つのベクトルで生成される平行
    四辺形のマイクロポリゴンでサブポリゴンを近似し、マ
    イクロポリゴンをレンダリングすることで画像を生成す
    るレンダリング手段を備えたことを特徴とする請求項
    1、2、3、4、又は5記載の画像生成装置。
  10. 【請求項10】ポリゴンを与えられた分割数で分割した
    ときにできる分割点とポリゴンの頂点から4近接点を選
    び、この近接点を結んでできる四角形サブポリゴンの4
    辺の内最大辺の端点1つを始点とし、始点を挟む2つの
    近接点を終点とする2つのベクトルできる平行四辺形の
    マイクロポリゴンで前記四角形サブポリゴンを近似し、
    マイクロポリゴンをレンダリングすることで画像を生成
    するレンダリング手段を備えたことを特徴とする請求項
    1、2、3、4、又は5記載の画像生成装置。
  11. 【請求項11】四角形ポリゴンを与えられた分割数で分
    割したときにできる分割点とポリゴンの頂点から4近接
    点を選び、この近接点を結んでできる四角形サブポリゴ
    ンの4辺の内、元の四角形ポリゴンの最大辺に対応する
    四角形サブポリゴンの辺の端点の1つを始点とし、始点
    を挟む2つの近接点を終点とする2つのベクトルできる
    平行四辺形のマイクロポリゴンで前記四角形サブポリゴ
    ンを近似し、マイクロポリゴンをレンダリングすること
    で画像を生成するレンダリング手段を備えたことを特徴
    とする請求項1、2、3、4、又は5記載の画像生成装
    置。
  12. 【請求項12】曲面を与えられた分割数で分割したとき
    にできる分割曲面の各ピクセルに対する面積寄与率をテ
    ーブルによって求める面積寄与率参照手段と、この面積
    寄与率を使ってレンダリングすることで画像を生成する
    レンダリング手段とを備えたことを特徴とする請求項
    1、2、3、4、又は5記載の画像生成装置。
  13. 【請求項13】曲面を与えられた分割数で分割したとき
    にできる分割曲面を平行四辺形近似したマイクロポリゴ
    ンの各ピクセルに対する面積寄与率をテーブルによって
    求める面積寄与率参照手段と、この面積寄与率を使って
    レンダリングすることで画像を生成するレンダリング手
    段とを備えたことを特徴とする請求項1、2、3、4、
    又は5記載の画像生成装置。
  14. 【請求項14】曲面を与えられた分割数で分割したとき
    にできる分割曲面を三角形で近似したマイクロポリゴン
    の各ピクセルに対する面積寄与率をテーブルによって求
    める面積寄与率参照手段と、この面積寄与率を使ってレ
    ンダリングすることで画像を生成するレンダリング手段
    とを備えたことを特徴とする請求項1、2、3、4、又
    は5記載の画像生成装置。
  15. 【請求項15】ポリゴンを与えられた分割数で分割した
    ときにできるサブポリゴンの各ピクセルに対する面積寄
    与率をテーブルによって求める面積寄与率参照手段と、
    この面積寄与率を使ってレンダリングすることで画像を
    生成するレンダリング手段とを備えたことを特徴とする
    請求項1、2、3、4、又は5記載の画像生成装置。
  16. 【請求項16】ポリゴンを与えられた分割数で分割した
    ときにできるサブポリゴンを平行四辺形近似したマイク
    ロポリゴンの各ピクセルに対する面積寄与率をテーブル
    によって求める面積寄与率参照手段と、この面積寄与率
    を使ってレンダリングすることで画像を生成するレンダ
    リング手段とを備えたことを特徴とする請求項1、2、
    3、4、又は5記載の画像生成装置。
  17. 【請求項17】ポリゴンを与えられた分割数で分割した
    ときにできるサブポリゴンを三角形で近似したマイクロ
    ポリゴンの各ピクセルに対する面積寄与率をテーブルに
    よって求める面積寄与率参照手段と、この面積寄与率を
    使ってレンダリングすることで画像を生成するレンダリ
    ング手段とを備えたことを特徴とする請求項1、2、
    3、4、又は5記載の画像生成装置。
  18. 【請求項18】ポリゴンや曲面を与えられた分割数で分
    割したときにできるサブポリゴンや分割曲面を平行四辺
    形近似したマイクロポリゴンを規定する基準点の位置座
    標とこの基準点を挟む2つの隣辺ベクトルの成分から面
    積寄与率のテーブルを参照するアドレスを生成するアド
    レス生成手段を備えたことを特徴とする請求項12、1
    3、14、15、16、又は17記載の画像生成装置。
  19. 【請求項19】ポリゴンや曲面を与えられた分割数で分
    割したときにできるサブポリゴンや分割曲面を三角形で
    近似したマイクロポリゴンを規定する基準点の位置座標
    とこの基準点を挟む2つの隣辺ベクトルの成分から面積
    寄与率のテーブルを参照するアドレスを生成するアドレ
    ス生成手段を備えたことを特徴とする請求項12、1
    3、14、15、16、又は17記載の画像生成装置。
  20. 【請求項20】生成されたマイクロポリゴンに対して、
    マイクロポリゴンが規定の大きさ以内か否かを判定する
    再分割判定手段と、規定の大きさより大きい場合に元の
    マイクロポリゴンの4辺の長さから再分割するときの分
    割数を決定する分割数決定手段と、分割数でマイクロポ
    リゴンを分割してサブマイクロポリゴンを生成するサブ
    マイクロポリゴン生成手段と、生成されたサブマイクロ
    ポリゴンに対して規定の大きさ以内か否かを前記再分割
    判定手段によって判定し、規定の大きさより大きいとき
    は分割数を更新する分割数更新手段とを有し、前記分割
    数更新手段で更新された分割数で前記サブマイクロポリ
    ゴン生成手段によって再帰的にサブマイクロポリゴンを
    生成することを特徴とする請求項1、2、3、4、又は
    5記載の画像生成装置。
  21. 【請求項21】曲面を規定するコントロールポイントの
    並び方による曲面の表面の向きを示す情報とこの曲面に
    対して生成されたマイクロポリゴンの法線の向きから、
    描画しなくてよいマイクロポリゴンを決定する裏面除去
    手段を備えたことを特徴とする請求項1、2、3、4、
    又は5記載の画像生成装置。
  22. 【請求項22】2次元のスクリーン空間中の曲面に対し
    て、一番手前あるいは奥の頂点からマイクロポリゴンが
    生成されるようにコントロールポイントのインデックス
    を変更するインデックス変更手段と、変更後のマイクロ
    ポリゴンの発生順番に合わせて輝度値データのアクセス
    順を変更するアクセス変更手段とを備えたことを特徴と
    する請求項1、2、3、4、又は5記載の画像生成装
    置。
  23. 【請求項23】ポリゴンや曲面を与えられた分割数で分
    割したときにできるサブポリゴン及び分割曲面の基準点
    を1ピクセル内に固定し、サブポリゴン及び分割曲面を
    任意に移動させて生成し、エントリは最大サイズのサブ
    ポリゴンまたは分割曲面が含まれるだけのピクセル数分
    しか面積寄与率を保持していない面積寄与率テーブルを
    備えたことを特徴とする請求項12、13、14、1
    5、16、又は17記載の画像生成装置。
  24. 【請求項24】ポリゴンや曲面を与えられた分割数で分
    割したときにできるサブポリゴンや分割曲面を平行四辺
    形近似したマイクロポリゴンの基準点を1ピクセル内に
    固定し、この基準点を挟む2つの隣辺ベクトルを任意に
    移動させて生成し、エントリは最大サイズのマイクロポ
    リゴンが含まれるだけのピクセル数分しか面積寄与率を
    保持していない面積寄与率テーブルを備えたことを特徴
    とする請求項12、13、14、15、16、又は17
    記載の画像生成装置。
  25. 【請求項25】ポリゴンや曲面を与えられた分割数で分
    割したときにできるサブポリゴンや分割曲面を三角形で
    近似したマイクロポリゴンの基準点を1ピクセル内に固
    定し、この基準点を挟む2つの隣辺ベクトルを任意に移
    動させて生成し、エントリは最大サイズのマイクロポリ
    ゴンが含まれるだけのピクセル数分しか面積寄与率を保
    持していない面積寄与率テーブルを備えたことを特徴と
    する請求項12、13、14、15、16、又は17記
    載の画像生成装置。
  26. 【請求項26】ピクセルを計算精度に応じた分割数で分
    割したときにできるサブピクセルの内部の代表点が、ポ
    リゴンや曲面を与えられた分割数で分割したときにでき
    るサブポリゴンや分割曲面を四角形で近似したマイクロ
    ポリゴンの規定する領域内か否かを判定する内外判定手
    段と、前記内外判定手段の結果に基づきサブピクセルの
    代表点がマイクロポリゴンの規定する領域内に入ってい
    るサブピクセルの個数を数えるカウンティング手段と、
    前記カウンティング手段で数えた個数にサブピクセルの
    面積をかけて面積寄与率を算出する面積寄与率算出手段
    とを備えたことを特徴とする請求項1、2、3、4、又
    は5記載の画像生成装置。
  27. 【請求項27】ピクセルを計算精度に応じた分割数で分
    割したときにできるサブピクセルの内部の代表点が、ポ
    リゴンや曲面を与えられた分割数で分割したときにでき
    るサブポリゴンや分割曲面を平行四辺形で近似したマイ
    クロポリゴンの規定する領域内か否かを判定する内外判
    定手段と、前記内外判定手段の結果に基づきサブピクセ
    ルの代表点がマイクロポリゴンの規定する領域内に入っ
    ているサブピクセルの個数を数えるカウンティング手段
    と、前記カウンティング手段で数えた個数にサブピクセ
    ルの面積をかけることで面積寄与率を算出する面積寄与
    率算出手段とを備えたことを特徴とする請求項1、2、
    3、4、又は5記載の画像生成装置。
  28. 【請求項28】ピクセルを計算精度に応じた分割数で分
    割したときにできるサブピクセルの内部の代表点が、ポ
    リゴンや曲面を与えられた分割数で分割したときにでき
    るサブポリゴンや分割曲面を三角形で近似したマイクロ
    ポリゴンの規定する領域内か否かを判定する内外判定手
    段と、前記内外判定手段の結果に基づきサブピクセルの
    代表点がマイクロポリゴンの規定する領域内に入ってい
    るサブピクセルの個数を数えるカウンティング手段と、
    前記カウンティング手段で数えた個数にサブピクセルの
    面積をかけることで面積寄与率を算出する面積寄与率算
    出手段とを備えたことを特徴とする請求項1、2、3、
    4、又は5記載の画像生成装置。
  29. 【請求項29】前記面積寄与率算出手段は算出した面積
    寄与率を全てプラスの方向に丸めることを特徴とする請
    求項26、27、又は28記載の画像生成装置。
  30. 【請求項30】各ピクセルに対して描画用輝度値と計算
    用輝度値と面積寄与率の和とを保持することが可能な記
    憶装置に対し、1つのポリゴンまたは曲面に対して生成
    されたマイクロポリゴンの各ピクセルに対して算出され
    た面積寄与率を書き込む際、面積寄与率の和が1より小
    さいとき、前の面積寄与率の和に前記算出された面積寄
    与率の値を加えたテンポラリの値を計算し、テンポラリ
    の値が1以下の場合は、面積寄与率の和は前記テンポラ
    リの値に更新し、前記計算用輝度値は前記算出された面
    積寄与率にマイクロポリゴンに与えた輝度値を乗じた値
    と前の計算用輝度値とを加えた値に更新し、前記テンポ
    ラリの値が1より大きい場合は、計算用輝度値は1から
    前の面積寄与率の和を減じた値にこのマイクロポリゴン
    に与えた輝度値を乗じた値と前の計算用輝度値とを加え
    た値に更新し、面積寄与率の和は1に更新するレンダリ
    ング手段と、1つのポリゴンまたは曲面に対して生成さ
    れた全てのマイクロポリゴンに対して処理が終了したか
    否か判定し、終了したと判定した場合、描画用輝度値
    を、1から面積寄与率の和を減じた値に前の描画用輝度
    値を乗じた値と計算用輝度値とを加えた値に更新し、更
    新が終了したならば計算用輝度値と面積寄与率の和を0
    に初期化する1面処理終了判定手段とから成る記憶装置
    書き込み手段を備えたことを特徴とする請求項1、2、
    3、4、又は5記載の画像生成装置。
  31. 【請求項31】面積寄与率に不透明度を乗じた値をピク
    セル寄与率とするとき、各ピクセルに対して描画用輝度
    値と計算用輝度値と面積寄与率の和とピクセル寄与率の
    和を保持することが可能な記憶装置に対し、1つのポリ
    ゴンまたは曲面に対して生成されたマイクロポリゴンの
    各ピクセルに対して算出された面積寄与率を書き込む
    際、面積寄与率の和が1より小さいとき、前の面積寄与
    率の和に前記算出された面積寄与率の値を加えたテンポ
    ラリの値を計算し、前記テンポラリの値が1以下の場合
    は、面積寄与率の和は前記テンポラリの値に更新し、ピ
    クセル寄与率の和はマイクロポリゴンに与えた不透明度
    に対し前記算出した面積寄与率を乗じた値と前のピクセ
    ル寄与率の和とを加えた値に更新し、計算用輝度値は前
    記算出した面積寄与率とマイクロポリゴンに与えた不透
    明度と輝度値とを乗じた値と、前の計算用輝度値とを加
    えた値に更新し、前記テンポラリの値が1より大きい場
    合は、計算用輝度値は1から前の面積寄与率の和を減じ
    た値とこのマイクロポリゴンに与えた不透明度と輝度値
    とを乗じた値と、前の計算用輝度値とを加えた値に更新
    し、面積寄与率の和は1に更新し、ピクセル寄与率の和
    は1から前の面積寄与率の和を減じた値にマイクロポリ
    ゴンに与えた不透明度を乗じた値と、前のピクセル寄与
    率の和とを加えた値に更新するレンダリング手段と、1
    つのポリゴンまたは曲面に対して生成された全てのマイ
    クロポリゴンに対して処理が終了したか否かの判定を行
    い、終了したという判定ならば、描画用輝度値を、1か
    らピクセル寄与率の和を減じた値に前の描画用輝度値を
    乗じた値と計算用輝度値とを加えた値に更新し、更新が
    終了したならば計算用輝度値と面積寄与率の和とピクセ
    ル寄与率の和を0に初期化する1面処理終了判定手段と
    からなる記憶装置書き込み手段を備えたことを特徴とす
    る請求項1、2、3、4、又は5記載の画像生成装置。
  32. 【請求項32】各ピクセルに対して描画用輝度値と計算
    用輝度値と面積寄与率の和を保持することが可能な記憶
    装置に対し、1つのポリゴンまたは曲面に対して生成さ
    れたマイクロポリゴンの各ピクセルに対して算出された
    面積寄与率を書き込む際、面積寄与率の和が1より小さ
    いとき、前の面積寄与率の和に前記算出された面積寄与
    率の値を加えたテンポラリの値を計算し、テンポラリの
    値が1以下の場合は、面積寄与率の和は前記テンポラリ
    の値に更新し、計算用輝度値は前記算出された面積寄与
    率と、描画用輝度値からマイクロポリゴンに与えた輝度
    値を減じた値とを乗じた値を前の計算用輝度値から減じ
    た値に更新し、テンポラリの値が1より大きい場合は、
    計算用輝度値は1から前の面積寄与率の和を減じた値
    と、描画用輝度値からマイクロポリゴンに与えた輝度値
    を減じた値とを乗じた値を、前の計算用輝度値から減じ
    た値に更新し、面積寄与率の和は1に更新するレンダリ
    ング手段と、1つのポリゴンまたは曲面に対して生成さ
    れた全てのマイクロポリゴンに対して処理が終了したか
    否かの判定を行い、終了したという判定ならば、描画用
    輝度値を計算用輝度値に更新し、更新が終了したならば
    計算用輝度値と面積寄与率の和を0に初期化する1面処
    理終了判定手段とから成る記憶装置書き込み手段を備え
    たことを特徴とする請求項1、2、3、4、又は5記載
    の画像生成装置。
  33. 【請求項33】各ピクセルに対して描画用輝度値と計算
    用輝度値と面積寄与率の和を保持することが可能な記憶
    装置がある時、1つのポリゴンまたは曲面に対して生成
    されたマイクロポリゴンの各ピクセルに対する面積寄与
    率算出後、前記記憶装置へ書き込む際に、面積寄与率の
    和が1より小さい時に限り、前の面積寄与率の和に算出
    した面積寄与率の値を加えたテンポラリの値を計算し、
    テンポラリの値が1以下の場合は、面積寄与率の和はテ
    ンポラリの値に更新し、計算用輝度値は、算出した面積
    寄与率と、マイクポリゴンに与えられた不透明度と、描
    画用輝度値からマイクロポリゴンに与えられた輝度値を
    減じた値とを乗じた値を、前の計算用輝度値から減じた
    値に更新し、テンポラリの値が1より大きい場合は、計
    算用輝度値は、1から前の面積寄与率の和を減じた値
    と、マイクポリゴンに与えられた不透明度と、描画用輝
    度値からマイクロポリゴンに与えられた輝度値を減じた
    値とを乗じた値を、前の計算用輝度値から減じた値に更
    新し、面積寄与率の和は1に更新するレンダリング手段
    と、1つのポリゴンまたは曲面に対して生成された全て
    のマイクロポリゴンに対して処理が終了したか否かの判
    定を行い、終了したという判定ならば、描画用輝度値を
    計算用輝度値に更新し、更新が終了したならば計算用輝
    度値と面積寄与率の和を0に初期化する1面処理終了判
    定手段とから成る記憶装置書き込み手段を備えたことを
    特徴とする請求項1、2、3、4、又は5記載の画像生
    成装置。
  34. 【請求項34】各ピクセルの輝度値と面積寄与率の和を
    保持することが可能な記憶装置に対して、マイクロポリ
    ゴンの各ピクセルに対する面積寄与率算出後、前記記憶
    装置へ書き込む際に、面積寄与率の和が1より小さい時
    に限り、前の面積寄与率の和に算出した面積寄与率の値
    を加えたテンポラリの値を計算し、テンポラリの値が1
    以下の場合は、前の面積寄与率の和をテンポラリの値に
    更新し、輝度値については、算出した面積寄与率にマイ
    クロポリゴンに与えられた輝度値を乗じた値に前の輝度
    値を加えた値に更新し、テンポラリの値が1より大きい
    場合は、輝度値については、1から前の面積寄与率の和
    を減じた値にこのマイクロポリゴンに与えられた輝度値
    を乗じた値に前の輝度値を加えた値に更新し、面積寄与
    率の和は1に更新するレンダリング手段と、全てのポリ
    ゴンまたは曲面の処理が終わったか否かの判定を行う1
    シーン処理終了判定手段と、前記1シーン処理終了判定
    手段で終了したという判定がなされたならば、面積寄与
    率の和が1より小さいピクセルに対して、輝度値を記憶
    していた輝度値に、1から面積寄与率の和を減じた値と
    背景として与えられた輝度値とを乗じた値を加えた値に
    更新する輝度値修正手段とから成る記憶装置書き込み手
    段を備えたことを特徴とする請求項1、2、3、4、又
    は5記載の画像生成装置。
  35. 【請求項35】面積寄与率に不透明度を乗じた値をピク
    セル寄与率とするとき、各ピクセルに対して輝度値とピ
    クセル寄与率の和を保持することが可能な記憶装置があ
    る時、マイクロポリゴンの各ピクセルに対する面積寄与
    率算出後、前記記憶装置へ書き込む際に、ピクセル寄与
    率の和が1より小さい時に限り、前のピクセル寄与率の
    和に算出した面積寄与率とマイクロポリゴンに与えられ
    た不透明度を乗じた値を加えたテンポラリの値を計算
    し、テンポラリの値が1以下の場合は、前のピクセル寄
    与率の和をテンポラリの値に更新し、輝度値について
    は、算出した面積寄与率とマイクロポリゴンに与えられ
    た不透明度と輝度値とを乗じた値に前の輝度値を加えた
    値に更新し、テンポラリの値が1より大きい場合は、輝
    度値については、1から前のピクセル寄与率の和を減じ
    た値にこのマイクロポリゴンに与えられた輝度値を乗じ
    た値と、前の輝度値とを加えた値に更新し、ピクセル寄
    与率の和は1に更新するレンダリング手段と、全てのポ
    リゴンまたは曲面の処理が終わったか否かの判定を行う
    1シーン処理終了判定手段と、前記1シーン処理終了判
    定手段で終了したという判定がなされたならば、ピクセ
    ル寄与率の和が1より小さいピクセルに対して、輝度値
    を記憶していた輝度値に、1からピクセル寄与率の和を
    減じた値と背景として与えられた輝度値とを乗じた値を
    加えた値に更新する輝度値修正手段とから成る記憶装置
    書き込み手段を備えたことを特徴とする請求項1、2、
    3、4、又は5記載の画像生成装置。
  36. 【請求項36】面積寄与率に不透明度を乗じた値をピク
    セル寄与率とするとき、各ピクセルの輝度値とピクセル
    寄与率の和を保持することが可能な輝度用の記憶装置と
    面積寄与率の和を保持することが可能な面積寄与率用の
    記憶装置に対して、1つのポリゴンまたは曲面に対して
    生成されたマイクロポリゴンの各ピクセルに対する面積
    寄与率算出後、前記記憶装置へ書き込む際に、面積寄与
    率の和とピクセル寄与率の和がどちらも1より小さい時
    に限り、前の面積寄与率の和に算出した面積寄与率の値
    を加えた面積寄与率の和のテンポラリの値と、前のピク
    セル寄与率の和に、算出した面積寄与率とマイクロポリ
    ゴンに与えられた不透明度とを乗じた値を加えたピクセ
    ル寄与率の和のテンポラリの値とを計算し、面積寄与率
    の和のテンポラリの値とピクセル寄与率の和のテンポラ
    リの値が共に1以下の場合は、面積寄与率の和は面積寄
    与率の和のテンポラリの値に更新し、ピクセル寄与率の
    和はピクセル寄与率の和のテンポラリの値に更新し、輝
    度値は、算出した面積寄与率とマイクロポリゴンに与え
    られた不透明度と輝度値とを乗じた値を、前の輝度値に
    加えた値に更新し、面積寄与率の和のテンポラリの値が
    1より大きく、ピクセル寄与率の和のテンポラリの値が
    1以下の場合は、輝度値は、1から前の面積寄与率の和
    を減じた値と、マイクポリゴンに与えられた不透明度と
    輝度値とを乗じた値を、前の輝度値に加えた値に更新
    し、面積寄与率の和は1に更新し、ピクセル寄与率の和
    は前のピクセル寄与率の和に、1から前の面積寄与率の
    和を減じた値とマイクロポリゴンに与えられた不透明度
    とを乗じた値を加えた値に更新し、ピクセル寄与率の和
    のテンポラリの値が1より大きい場合は、輝度値は1か
    ら前のピクセル寄与率の和を減じた値にマイクロポリゴ
    ンにあたられた輝度値を乗じた値と、前の輝度値とを加
    えた値に更新し、面積寄与率の和とピクセル寄与率の和
    は1に更新するレンダリング手段と、1つのポリゴンま
    たは曲面に対して生成された全てのマイクロポリゴンに
    対して処理が終了したか否かの判定を行い、終了したと
    いう判定ならば、前記面積寄与率用の記憶装置の内容を
    0に初期化する1面処理終了判定手段と、全てのポリゴ
    ンまたは曲面の処理が終わったか否かの判定を行う1シ
    ーン処理終了判定手段と、前記1シーン処理終了判定手
    段で終了したという判定がなされたならば、ピクセル寄
    与率の和が1より小さいピクセルに対して、輝度値を記
    憶していた輝度値に、1からピクセル寄与率の和を減じ
    た値と背景として与えられた輝度値とを乗じた値を加え
    た値に更新する輝度値修正手段とから成る記憶装置書き
    込み手段を備えたことを特徴とする請求項1、2、3、
    4、又は5記載の画像生成装置。
JP34942693A 1993-12-28 1993-12-28 画像生成方法及び画像生成装置 Expired - Fee Related JP3313221B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP34942693A JP3313221B2 (ja) 1993-12-28 1993-12-28 画像生成方法及び画像生成装置
CA002138841A CA2138841C (en) 1993-12-28 1994-12-22 Apparatus and method for generating an image for 3-dimensional computer graphics
FR9415806A FR2714505B1 (fr) 1993-12-28 1994-12-28 Dispositif et procédé pour générer une image destinée à un traitement graphique d'ordinateur tridimensionnel.
US08/918,380 US5903273A (en) 1993-12-28 1997-08-26 Apparatus and method for generating an image for 3-dimensional computer graphics

Applications Claiming Priority (1)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
JPH07200867A true JPH07200867A (ja) 1995-08-04
JP3313221B2 JP3313221B2 (ja) 2002-08-12

Family

ID=18403671

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US5903273A (ja)
JP (1) JP3313221B2 (ja)
CA (1) CA2138841C (ja)
FR (1) FR2714505B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246414B1 (en) 1997-11-17 2001-06-12 Nec Corporation Image processing in which polygon is divided
JP2010286896A (ja) * 2009-06-09 2010-12-24 Canon Inc 描画処理装置及び描画処理方法
JP5002742B2 (ja) * 2000-03-17 2012-08-15 ヒューレット・パッカード・カンパニー パラメトリックテクスチャマップを使用して3dオブジェクトをレンダリングするための装置および方法

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1026639A3 (en) * 1999-02-04 2002-09-04 Canon Kabushiki Kaisha 3D computer graphics processing apparatus and method
US6515673B1 (en) 2000-02-16 2003-02-04 Enroute, Inc. Displaying immersive videos using tiled decompression
US7259760B1 (en) 2000-02-16 2007-08-21 Be Here Corporation Polygonal curvature mapping to increase texture efficiency
US6559853B1 (en) 2000-02-16 2003-05-06 Enroute, Inc. Environment map creation using texture projections with polygonal curved surfaces
US6897858B1 (en) 2000-02-16 2005-05-24 Enroute, Inc. Partial image decompression of a tiled image
US6819333B1 (en) * 2000-05-12 2004-11-16 Silicon Graphics, Inc. System and method for displaying an image using display distortion correction
US7245299B2 (en) * 2003-05-12 2007-07-17 Adrian Sfarti Bicubic surface real-time tesselation unit
USRE42534E1 (en) 2000-07-28 2011-07-12 Adrian Sfarti Bicubic surface real-time tesselation unit
US6504537B1 (en) 2000-09-05 2003-01-07 Nvidia Corporation System, method and article of manufacture for fractional tessellation during graphics processing
US7280108B2 (en) * 2000-12-11 2007-10-09 Adrian Sfarti Bicubic surface rendering
US7302111B2 (en) * 2001-09-12 2007-11-27 Micronic Laser Systems A.B. Graphics engine for high precision lithography
KR100440492B1 (ko) * 2002-03-18 2004-07-15 신종계 곡면을 평면으로 전개시키는 방법
US7199806B2 (en) * 2003-03-19 2007-04-03 Sun Microsystems, Inc. Rasterization of primitives using parallel edge units
US8471852B1 (en) * 2003-05-30 2013-06-25 Nvidia Corporation Method and system for tessellation of subdivision surfaces
CN1871051A (zh) * 2003-10-29 2006-11-29 松下电器产业株式会社 游戏系统
CN1874827B (zh) * 2003-10-29 2010-05-12 松下电器产业株式会社 游戏系统、游戏执行设备和便携式存储介质
KR101107114B1 (ko) * 2004-01-06 2012-01-30 엔엑스피 비 브이 그래픽 객체들을 렌더링하는 방법
US7295204B2 (en) * 2004-12-14 2007-11-13 Adrian Sfarti Rapid zippering for real time tesselation of bicubic surfaces
US7760231B2 (en) * 2005-03-09 2010-07-20 Pixar Animated display calibration method and apparatus
KR100767278B1 (ko) * 2005-04-15 2007-10-17 충남대학교산학협력단 3차원 곡면의 2차원 평면으로의 패턴전개를 이용한맞춤의복의 디자인 방법
US8571346B2 (en) * 2005-10-26 2013-10-29 Nvidia Corporation Methods and devices for defective pixel detection
US7750956B2 (en) * 2005-11-09 2010-07-06 Nvidia Corporation Using a graphics processing unit to correct video and audio data
US8588542B1 (en) 2005-12-13 2013-11-19 Nvidia Corporation Configurable and compact pixel processing apparatus
US8737832B1 (en) 2006-02-10 2014-05-27 Nvidia Corporation Flicker band automated detection system and method
US8979753B2 (en) * 2006-05-31 2015-03-17 University Of Rochester Identifying risk of a medical event
US20080002880A1 (en) * 2006-06-30 2008-01-03 Intelisum, Inc. Systems and methods for fusing over-sampled image data with three-dimensional spatial data
US8594441B1 (en) 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
US9007388B1 (en) 2006-09-28 2015-04-14 Pixar Caching attributes of surfaces without global parameterizations
US8189006B1 (en) * 2006-09-28 2012-05-29 Pixar Caching attributes of surfaces without global parameterizations
KR100887466B1 (ko) 2006-10-12 2009-03-10 태광엠티씨 주식회사 금형 형상 설계를 위한 연속 원활한 수학 면의 생성 방법
US8723969B2 (en) * 2007-03-20 2014-05-13 Nvidia Corporation Compensating for undesirable camera shakes during video capture
US8724895B2 (en) * 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
US8570634B2 (en) * 2007-10-11 2013-10-29 Nvidia Corporation Image processing of an incoming light field using a spatial light modulator
US8780128B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Contiguously packed data
US9177368B2 (en) * 2007-12-17 2015-11-03 Nvidia Corporation Image distortion correction
US8698908B2 (en) * 2008-02-11 2014-04-15 Nvidia Corporation Efficient method for reducing noise and blur in a composite still image from a rolling shutter camera
US9379156B2 (en) * 2008-04-10 2016-06-28 Nvidia Corporation Per-channel image intensity correction
US8373718B2 (en) * 2008-12-10 2013-02-12 Nvidia Corporation Method and system for color enhancement with color volume adjustment and variable shift along luminance axis
US8749662B2 (en) * 2009-04-16 2014-06-10 Nvidia Corporation System and method for lens shading image correction
US8698918B2 (en) * 2009-10-27 2014-04-15 Nvidia Corporation Automatic white balancing for photography
US9401046B2 (en) * 2011-02-07 2016-07-26 Intel Corporation Micropolygon splatting
US9798698B2 (en) 2012-08-13 2017-10-24 Nvidia Corporation System and method for multi-color dilu preconditioner
US9508318B2 (en) 2012-09-13 2016-11-29 Nvidia Corporation Dynamic color profile management for electronic devices
US9307213B2 (en) 2012-11-05 2016-04-05 Nvidia Corporation Robust selection and weighting for gray patch automatic white balancing
US9756222B2 (en) 2013-06-26 2017-09-05 Nvidia Corporation Method and system for performing white balancing operations on captured images
US9826208B2 (en) 2013-06-26 2017-11-21 Nvidia Corporation Method and system for generating weights for use in white balancing an image
CN105654460A (zh) * 2014-12-03 2016-06-08 富泰华工业(深圳)有限公司 点云拼接系统及方法
CN108924521A (zh) * 2018-05-31 2018-11-30 晨星半导体股份有限公司 投影系统的梯形校正方法及设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2194656B (en) * 1986-09-03 1991-10-09 Ibm Method and system for solid modelling
US4855934A (en) * 1986-10-03 1989-08-08 Evans & Sutherland Computer Corporation System for texturing computer graphics images
US4935879A (en) * 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4901064A (en) * 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US5361386A (en) * 1987-12-04 1994-11-01 Evans & Sutherland Computer Corp. System for polygon interpolation using instantaneous values in a variable
GB8728836D0 (en) * 1987-12-10 1988-01-27 Quantel Ltd Electronic image processing
US4888583A (en) * 1988-03-14 1989-12-19 Ligocki Terry J Method and apparatus for rendering an image from data arranged in a constructive solid geometry format
US5107444A (en) * 1988-09-13 1992-04-21 Computer Design, Inc. Method and apparatus for flattening three-dimensional surfaces
US5448687A (en) * 1988-09-13 1995-09-05 Computer Design, Inc. Computer-assisted design system for flattening a three-dimensional surface and for wrapping a flat shape to a three-dimensional surface
GB8828342D0 (en) * 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5058042A (en) * 1989-04-03 1991-10-15 Hewlett-Packard Company Method for employing a hierarchical display list in global rendering
US5255352A (en) * 1989-08-03 1993-10-19 Computer Design, Inc. Mapping of two-dimensional surface detail on three-dimensional surfaces
JP3092131B2 (ja) * 1989-12-28 2000-09-25 日本電気株式会社 画像生成装置
US5307450A (en) * 1991-02-19 1994-04-26 Silicon Graphics, Inc. Z-subdivision for improved texture mapping
US5299298A (en) * 1991-02-28 1994-03-29 Hewlett-Packard Company Accelerated shadow testing method for three dimensional graphics rendering system
JPH0528235A (ja) * 1991-07-20 1993-02-05 Fuji Xerox Co Ltd 色変換処理装置
JPH05108811A (ja) * 1991-10-04 1993-04-30 Nec Home Electron Ltd 3次元グラフイツクス画像データの符号化方法及び復号化方法
US5555356A (en) * 1992-10-29 1996-09-10 International Business Machines Corporation System and method for generating a trimmed parametric surface for display on a graphic display device
CA2103395C (en) * 1992-11-24 2004-08-17 Masakazu Suzuoki Apparatus and method for providing texture of a moving image to a surface of an object to be displayed
JP3240447B2 (ja) * 1993-02-19 2001-12-17 株式会社リコー 画像処理装置
US5490240A (en) * 1993-07-09 1996-02-06 Silicon Graphics, Inc. System and method of generating interactive computer graphic images incorporating three dimensional textures

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246414B1 (en) 1997-11-17 2001-06-12 Nec Corporation Image processing in which polygon is divided
KR100349483B1 (ko) * 1997-11-17 2002-11-18 닛뽕덴끼 가부시끼가이샤 폴리곤이분할되는화상처리
JP5002742B2 (ja) * 2000-03-17 2012-08-15 ヒューレット・パッカード・カンパニー パラメトリックテクスチャマップを使用して3dオブジェクトをレンダリングするための装置および方法
JP2010286896A (ja) * 2009-06-09 2010-12-24 Canon Inc 描画処理装置及び描画処理方法

Also Published As

Publication number Publication date
US5903273A (en) 1999-05-11
JP3313221B2 (ja) 2002-08-12
FR2714505A1 (fr) 1995-06-30
CA2138841C (en) 2000-03-21
CA2138841A1 (en) 1995-06-29
FR2714505B1 (fr) 1997-01-31

Similar Documents

Publication Publication Date Title
JP3313221B2 (ja) 画像生成方法及び画像生成装置
JP4385524B2 (ja) ポリゴンデータの生成方法及び、これを用いた画像表示装置
CN101116111B (zh) 使用3d光栅化算法的2d/3d线条渲染
EP1127337B2 (en) Shading 3-dimensional computer generated images
JP2910979B2 (ja) コンピュータグラフィックシステムのサブピクセルマスク発生方法および装置
KR100261076B1 (ko) 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치
US6577305B1 (en) Apparatus and method for performing setup operations in a 3-D graphics pipeline using unified primitive descriptors
JP3675488B2 (ja) 線形補間を用いて非同次2次遠近テクスチャマッピング座標を決定する回路
JP2005228320A (ja) 深さ画像基盤の3次元グラフィックデータの高速視覚化方法、装置及びプログラムを記録したコンピュータ可読記録媒体
JPS63502464A (ja) 実時間像発生システムに於ける包括的な歪み補正
GB2343603A (en) Shading 3-dimensional computer generated images
JPWO2003001458A1 (ja) 情報処理装置
JPH0916806A (ja) 立体画像処理装置
US20210398358A1 (en) Optimizations to Reduce Multi-Channel Ray Casting for Color Sampling
CN111612882A (zh) 图像处理方法、装置、计算机存储介质及电子设备
JPH03202981A (ja) 三次元図形表示方法及びシステム
Rosen Rectilinear texture warping for fast adaptive shadow mapping
KR100305461B1 (ko) 그래픽처리장치
JP3522714B2 (ja) 画像生成方法
CN109377552A (zh) 图像遮挡计算方法、装置、计算设备及存储介质
EP0676724A2 (en) Texture mapping method and image processing apparatus
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JPH11242753A (ja) 3次元描画方法および装置
JPH11185052A (ja) 3次元コンピュータグラフィックスのテクスチャマッピング座標計算装置および方法
CA2261245C (en) Division circuit and graphic display processing apparatus

Legal Events

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

Free format text: PAYMENT UNTIL: 20090531

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130531

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees