(57)【要約】      （修正有）【課題】  動的な映像描画時のグレアの適切な表示と表示演算負荷の両問題点を共に解決するアルゴリズムの回路化を行う。【解決手段】  視点座標系で物体をレンダリングする過程で、レンダリング点が環境光に対して所定の強度以上となる場合、この点（グレア発光源）と環境光との比率値をレジスタファイルに記憶する手段と、識別子を用いて同一の識別子をもつ物体上にグレア発生源が存在する場合には分布するｘおよびｙ座標値の最大最小値およびｚ座標値の視点に最も近い値を前記レジスタファイルに記憶し、これをすべての物体のレンダリング後に隠面消去を用いて遮光の有無を検出する手段と、グレア発光源には、その座標点を中心にブル−ムおよびフレアを発生するためのポリゴンとフレアベクトルを与える手段と、グレア発光源からの距離やフレアベクトルとの距離から関数テ−ブルを用いてグレア輝度を決定するそれぞれの手段からグレア現象をレンダリングする。【選択図】図１
2006195938.tif 000002
【特許請求の範囲】
【請求項１】
コンピュ−タグラフィックスによるグレア映像描画回路に関し、レンダリング点と環境光とのコントラスト比が所定の大きさを超えた場合、レンダリング点の座標値を記憶し、レンダリング終了後、前記記憶したレンダリング点を発生源としてグレアを生成する手段において、レンダリング点の座標値、輝度およびレンダリング物体の識別子のそれぞれの情報を記憶するレジスタファイルを設け、前記情報を前記レジスタファイルに記憶する際、前記識別子と前記レジスタファイルにすでに記憶されている識別子とを比較し、識別子が一致する場合にはレンダリング点の輝度とレジスタファイルの輝度とを加算した値を前記レジスタファイルに記憶する手段と、前記レジスタファイルにはｘｙ座標の最大および最小値を、またｚ座標値は視点に最も近い値を記憶する記憶域を設け、レンダリング点のｘｙ座標値とレジスタファイル内の前記最大・最小座標値との比較を行って、レンダリング点の座標値が最大あるいは最小値となる場合には該当するレジスタファイル記憶域を更新する手段と、レンダリング点とレジスタファイル内のｚ値とを比較し、レンダリング点のｚ値が視点に近い場合には、レジスタファイルのｚ値をレンダリング点のｚ値に置き換える手段と、前記識別子が不一致の場合には、レンダリング点の座標値、輝度および識別子を、前記レジスタファイルの新たな記憶域にそれぞれ書き込む手段と、レンダリング終了後、前記レジスタファイルのｘｙ座標の最大・最小値と輝度を順次読み出すと共に、最大・最小値で囲まれる面領域の中心点に対してレジスタファイルのｚ値とｚバッファのｚ値との比較を行い、レジスタファイルのｚ値がより視点に近い場合は、前記読み出した輝度強度に比例したグレアを発生する手段と、ｚバッファのｚ値より遠方にある場合には、グレアの描画を行わないそれぞれの手段をもってグレア映像を描画するグレアレンダリング回路。
【請求項２】
請求項１の回路において、前記レジスタファイルに記憶したｘｙ座標の最大・最小値からグレア発光源の面領域を求める手段と、前記面領域が所定の大きさを超え、且つ、レジスタファイルのｚ値が前記ｚバッファのｚ値との比較の結果、ｚバッファのｚ値よりも遠方にある場合、前記面領域内に複数のサンプリング点を設け、それぞれのサンプリング点毎に前記ｚバッファのｚ値との比較を行い、前方および後方に位置するそれぞれのサンプリング点数の割合からグレア強度を決定する手段からなるグレアレンダリング回路。
【請求項３】
請求項１の回路において、前記レジスタファイルから読み出した輝度の強度に対応した大きさのフレアを描画する手段として、フレア原点、フレアベクトルおよびフレアベクトルを囲むポリゴンを定義してグレアレンダリング回路に与え、前記グレアレンダリング回路においては、ポリゴンの頂点座標値から内挿補間点を得る手段と、前記内挿補間点と前記フレア原点間の距離、およびフレア原点とポリゴン内挿補間点に向かう方向ベクトルと、前記与えられたフレアベクトルとがなす方向余弦をそれぞれ求める手段と、ＲＡＭテ−ブルを設け、前記距離と方向余弦を変数とする減衰関数値と、前記内挿補間点とフレアベクトル間の距離を求めるための関数値をそれぞれ記憶して、前記距離および方向余弦を入力アドレスとして前記それぞれの関数値を読み出した後、乗算器および加減算器を用いてフレアおよびフレア周辺の輝度を決定するそれぞれの手段をもつグレアレンダリング回路。
【請求項４】
請求項１および２の回路において、前記フレア原点を前記ｘｙ座標の最大・最小値が示す領域の中心点とする手段と、前記領域の中心点がｚバッファのｚ値よりも遠方にある場合には、前記領域内で複数定義したそれぞれのサンプリング点のうち、前方に位置するサンプリング点をフレア原点とする手段と、前記フレアベクトルは前記輝度の大きさに対応した分布域および周期をもつ乱数により決定する手段と、前記輝度の大きさに加え、グレア発生源の物体属性に応じてフレアベクトルの長さや数を決定するために、前記レジスタファイルの識別子を参照するそれぞれの手段からなるグレアレンダリング回路。
【発明の詳細な説明】
【技術分野】
【００１】  この発明はコンピュ−タグラフィックス映像技術に関し、強い輝度をもつ反射光あるいは発光源によって眼球内で生じるグレア現象を描画するためのレンダリング論理回路技術分野に属する。
【背景技術】
【００２】  グレア現象として光源周辺に発生するブル−ムやフレア様態は眼球細胞の不均一性やレンズの細胞配列構造によって発生する。これらのグレア現象をコンピュ−タグラフィックスにより描画する手段として、従来の多くは予めブル−ムあるいはフレアを２次元パタ−ンとして描画しておき、このパタ−ンを発光源にマッピングするテキスチャ−マッピング技術が用いられてきた。グレア映像にテキスチャ−パタ−ンを用いる手法では、グレア発光源と視点の間には遮光物体がないことを前提とする。しかし実時間描画では視点の移動に伴って発光物体とその他の物体の位置関係は常に変化し、発光源が他の物体の背後に位置づけられることは頻繁に生じる。この視野変換は通常、アプリケ−ションプロセッサから切り離されたレンダリング（画素描画）段階で行われるため、アプリケ−ション側において発光源が遮光されているか否かをレンダリング過程で高速に判断することはできない。アプリケ−ション側が、この位置関係を無視し、無条件に発光源にブル−ムやフレア映像を付加すると共に、これら映像に一般画像がもつデプス値との隠面消去を併用すると、発光源が遮光されても、ブル−ムやフレアの一部は遮光されない場合や、グレアの一部が遮光される映像が生じる。グレアは眼球内で発生するものであることから、現実世界ではグレアの一部の光線が障害物によって遮光される現象は発生しない。この結果、映像は不自然なものとなる。一方、特願２００３−１０７０９４では上記の問題を解決する手段として、画像メモリに対応する２次元配列のフラグメモリを画像メモリとは別途に設け、レンダリング時において、コントラスト比が所定の範囲を超えた場合、この２次元フラグメモリにフラグを隠面消去も併用して立てると同時に、すべてのレンダリングが終了した時点で、この２次元フラグメモリを走査し、検出位置にブル−ムやフレアを描画する。この方式は前記テキスチャ−マッピング方式の持つ問題点は解決するものの、第１パスの終了後、２次元フラグメモリを走査しながら２次元平面状に分布したフラグの集合を算出し、集合領域ごとにフラグ数の積算量を求めてブル−ムやフレアの強さを表現するため、計算負荷が重くなり実時間描画には好ましくない。
【発明の開示】
【発明が解決しようとする課題】
【００３】  本発明は、前記手法がもつ動的な映像描画時のグレアの適切な表示と表示演算負荷の両問題点を共に解決するアルゴリズムの回路化を課題とする。課題の詳細として本発明では２次元フラグメモリを用いることなく、特願２００３−１０７０９４に比較して計算負荷を２桁以上改善する手段と、グレア発光源が面光源で、その面光源に遮光物体が一部を覆う場合のグレア生成手段、またブル−ムおよびフレアの定義変数（形状を決定する情報）を簡易化し、回路規模を１／４程度とするものである。以下に前記のそれぞれの課題を解決するための本発明の手段を説明する。
【課題を解決するための手段】
【００４】  本発明ではグレアを発生する発光源は一つの映像シ−ンのなかではそれほど多くはないことに注目し、特願２００３−１０７０９４技術で用いられた２次元のフラグメモリではなく、１次元のレジスタファイルを設ける。ここで本発明のレジスタファイルは、グレア発生源毎にグレア発生源領域の（Ｘｍｉｎ，Ｙｍｉｎ）と（Ｘｍａｘ，Ｙｍａｘ），Ｚｍａｘ、ＩＤ（物体識別子）および光源の輝度を記憶する。ｚｍａｘはそれぞれの発生源毎にレジスタファイル内に記憶されたｚ値の、視点に最も近い座標値である。ＩＤは発光源物体を識別するためのものでレンダリング過程において所定の輝度以上の輝度が検出された場合、発光源物体に定義されたＩＤとレジスタファイルに登録された（すでに同一座標点に登録されている場合）ＩＤとの比較を行い、ＩＤが一致すればレジスタファイル内の同一ＩＤがもつ輝度との加算を行い、不一致ならば前記座標値、ＩＤ、輝度を新らたにレジスタファイルに記憶する。レンダリングする物体にはＩＤが通常定義されるが、本発明ではレンダリング点の輝度が一定値を越えた場合に、物体のＩＤとレジスタファイルに記憶されたＩＤとを比較する。またレジスタファイルに記憶されたグレア発生点の座標値に関して、前記従来技術と異なりレンダリング段階においては画像メモリのｚバッファとの隠面消去を行わず、レジスタファイルにすでに記憶されている同一ＩＤのｚ値のみとの比較を行い、視点に近い場合は、これに置き換える。以上からレジスタファイルにはグレア発生輝度をもつものだけが記憶されることから、記憶されるデ−タは２次元フラグメモリに比較して数百分の１以下となる。【００５】  前記のレンダリング段階が終了した時点で、レジスタファイルにはグレア発生領域を示す前記（Ｘｍｉｎ，Ｙｍｉｎ）、（Ｘｍａｘ，Ｙｍａｘ），Ｚｍａｘ、ＩＤと、その領域内の積算輝度が記憶されている。本発明ではレンダリング後に、それぞれの発光領域が遮光物体の前方あるいは後方に位置しているか否かのテストを行う。本発明ではレジスタファイル内の前記ＸおよびＹの最大・最小座標値から、その発光中心点となる（Ｘｍａｘ−Ｘｍｉｎ）／２，（Ｙｍａｘ−Ｙｍｉｎ）／２を計算し、この各軸の中心点に対し画像メモリのｚバッファに記憶されたｚ値とレジスタファイル内のＺｍａｘとを比較する。グレア発生領域が大きな場合は（Ｘｍｉｎ，Ｙｍｉｎ）と（Ｘｍａｘ，Ｙｍａｘ）の領域内に複数のサンプリング点を設定し、サンプリング点毎に隠面消去テストを行う。サンプリング点の中で遮光物体の前後に位置するものが混在する場合には、前方、後方となるサンプリング点の数をそれぞれ計数し、その割合に前記積算輝度を乗算したものを、その発光領域の輝度とする。この結果、従来の２次元フラグメモリでは例えば５００×５００の解像度とすると、２５０，０００点の隠面消去テストがレンダリング段階で必要とされたが、本発明では、例えば３２個のグレア発生点がある場合、３２点の隠面消去テストでよい。このように隠面消去処理で３桁以上の処理が削減できる。【００６】  隠面消去テストが終了すると、本発明では前記輝度の積算値から、ブル−ム描画は前記発光中心点を中心とする所定の領域を、またフレア描画はフレア���クトルと共に前記発光中心点とフレアベクトルを囲む所定の領域をポリゴンとして定義し、このポリゴンを塗りつぶしながらグレアの輝度を決定してゆく。ブル−ム描画のためのポリゴン面は通常４角形領域で与える。一方、フレアベクトルとポリゴン面はグラフィックスエンジンと一般に言われるプロセッサ内で、乱数を用いて定義する。乱数の分布（フレアの長さ）および周期（フレアの数）はレジスタファイルから読み出した発光領域の輝度に依存する。輝度が高ければ一般に長くて太いフレアとなる。【００７】  グレア発生点の物体が例えばレンズやカットガラスを通過する場合は、前記積算輝度だけでなく物質の属性条件も考慮したフレアの長さや数を決定する必要がある。あらかじめ物体の属性を前記グラフィックスエンジンが管理し、レジスタファイルの座標値や輝度を読み出すと共に、グレア発生領域のＩＤを参照することでグレア発生の環境条件（発光源の形状、フィルタの有無など）が認識できる。グレアレンダリング回路ではグラフィックスエシジンから発光中心点とポリゴンが与えられると、ポリゴン座標を内挿補間し、前記内挿補間点（レンダリング点）と発光中心点間の距離をレンダリング点毎に求める。【００８】本発明では、グレア生成変数として前記ポリゴン、グレア発光点座標値およびフレアベクトルの３つを定義する。発光点から描画点（ポリゴン内挿補間点あるいはレンダリング点）までの距離を用いてブル−ムやハロ−を、また前記２変数間を結ぶ直線方向とフレアベクトルとがなす方向余弦からフレアを決定する。この関係を（Ａ）式に示す。
2006195938.tif 000003
（Ａ）式において、レンダリング点とグレア発光中心点間の距離をｒ、発光点からレンダリング点とを結ぶ直線方向とフレアベクトルとがなす方向余弦をｃｏｓθとする。ここで本発明では、距離ｒと方向余弦ｃｏｓθのそれぞれを入力アドレスとするＲＡＭを設け、ＲＡＭには距離ｒを変数とする（１）式のＧ（ｒ）と、また方向余弦ｃｏｓθを変数とする（２）式のＳ（ｃｏｓθ）の関数値をテ−ブル化してそれぞれを記憶する。この結果得られた（２）式のＳ（ｃｏｓθ）から（３）式に示す距離ｒと前記ｓｉｎθを乗算器で乗算した後、再び、（３）式のｄをＲＡＭのアドレスとして与えることにより（４）式を得る。さらに（１）式と（４）式を乗算して（５）式を得る。（５）式のＩｐはレンダリング点のグレア輝度となる。ここでＲＡＭテ−ブルは物理的に１つのＲＡＭのアドレスをシェア−して用いることができる。また乗算器も同様である。またｋ０〜ｋ２はそれぞれ係数を示す。
本発明では（１）、（２）および（４）式の関数値をＲＡＭに記憶する一方、（３）および（５）式はこのＲＡＭで得られた出力値を乗算器により演算したものである。式（Ａ）はレンダリング点と発生点からの距離ｒが大きくなればなるほど減衰する関数Ｇ（ｒ）と、レンダリング点とフレアラインまでの距離ｄが大きくなればなるほど減衰するＦ（ｄ）との積で表す。（１）式はブル−ムを、また（５）式はフレアラインを描画する場合に用いる。それぞれの係数は輝度のグラデ−ションを調整する。（１）式の指数部−ｋ１ｒの距離ｒをＲ−ｒ、Ｇ−ｒおよびＢ−ｒに置き換えると、それぞれ３原色に対応したＧ（ｒ）を描画が可能となる。これはハロ−映像を示す。ここでＲ、ＧおよびＢは発光中心点からの任意の距離となる。（１）式から明らかなように、グラフィックスエンジンが与えるポリゴンが４角形であっても、円形の輝度分布となる。またフレアはフレアベクトルラインに沿って線形の輝度分布となる。
一方、（Ａ）式のＧ（ｒ）およびＦ（ｄ）はテ−ブルで生成されているため非線形な任意関数を記憶することができる。例としてＦ（ｄ）を一定値として、Ｇ（ｒ）のみを使用すれば円形のブル−ムを表現することができる。またＧ（ｒ）およびＦ（ｄ）を適当な曲線でテ−ブル化することにより、楕円形状のブル−ム描画が可能となる。以上から本発明では少ないレンダリング情報から多様な形状を表現可能とする。
（Ａ）式における２点間の距離計算や２点が結ぶ直線方向とフレアベクトルとの内積ｃｏｓθはグレア回路内に実装することもできるが、通常、光反射計算回路に含まれており、２点間の距離や内積計算は乗算器、加減算器および平方根回路で構成されるが詳細は本発明の範囲ではない。【００９】  以上から本発明では、視点座標系でのレンダリングにおいて、物体の輝度が一定の明るさを超える場合、レンダリング点の座標値、輝度および識別子のそれぞれの情報をレジスタファイルを設けて、これに記憶する手段と、レジスタファイルに前記情報を記憶する際、すでに記憶されているレジスタファイル内の識別子を比較し、識別子が一致する場合には、前記情報とレジスタファイル内の輝度とを積算する手段と、前記レジスタファイルにはｘおよびｙ座標の最大および最小値を、またｚ座標値は視点に最も近い値を記憶する記憶域を設け、前記レジスタファイル内のｚ値と前記レンダリング点のｚ値を比較し、前記レンダリング点のｚ値が視点に近い場合には前記レジスタファイルのｚ値を前記レンダリング点のｚ値に置き換えると共に、前記レンダリング点のｘおよびｙ座標の最大・最小値と前記レジスタファイル内の座標値との比較を行って、前記レンダリング点の座標値が最大あるいは最小値となる場合には該当する前記レジスタファイル記憶域の座標値を更新する手段と、前記識別子が不一致の場合には、レンダリング点の座標値、輝度および識別子を、前記レジスタファイルの新たな記憶域にそれぞれ書き込む手段と、レンダリング終了後、前記レジスタファイルの輝度、ｘおよびｙ座標の最大・最小値を順次読み出すと共に、前記レジスタファイルのｚ値とｚバッファのｚ値との比較を行い、前記レジスタファイルのｚ値がより視点に近い場合は、前記最大・最小値で囲まれる面積の中心点を原点として、前記読み出した輝度強度に比例したグレアを発生する手段と、前記ｚバッファのｚ値より遠方にある場合には、グレアを描画しないそれぞれの手段と、前記レジスタファイルから読み出したｘおよびｙ座標の最大・最小値から面積を求める手段と、前記面積が所定の大きさを超え、且つ、前記ｚバッファのｚ値との比較の結果、ｚバッファのｚ値よりも遠方にある場合、前記最大・最小座標値の領域内に複数のサンプリング点を設ける手段と、前記それぞれのサンプリング点毎に前記ｚバッファのｚ値との比較を行い、前方あるいは後方のそれぞれのサンプリング点数の比率からグレア強度を決定する手段と、前記レジスタファイルから読み出した輝度の強度に比例した大きさのフレアを描画する手段として、フレア原点、フレアベクトルおよびフレアベクトルを囲むポリゴンを定義し、前記ポリゴンに定義された頂点座標値からポリゴンを内挿補間し内挿補間点を得る手段と、前記内挿補間点と前記フレア原点間の距離、およびフレア原点とポリゴン内挿補間点を結ぶ方向ベクトルと前記フレアベクトルとがなす方向余弦をそれぞれ求める手段と、ＲＡＭを設け、前記ＲＡＭには前記距離と方向余弦を変数とする減衰関数値と、前記内挿補間点とフレアベクトルとの距離を求める関数値を記憶して、前記距離と方向余弦を入力アドレスとして前記それぞれの関数値を読み出した後、乗算器および加減算器を用��てフレアおよびフレア周辺の輝度を決定するそれぞれの手段をもつことを特徴とする。
【発明の効果】
【０１０】  本発明の回路によって、夜景や車のヘッドライトのようなグレア現象を、実時間で表示出きると共に、光源の強度や環境条件に応じてグレアの表現を変化させることが可能となる。
【発明を実施するための最良の形態】
【０１１】  本発明の技術はＬＳＩ、プログラマブル論理回路等への実装あるいはＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）の形態で実施され、コンピュ−タグラフィックス映像生成プロセッサとして応用される。
【実施例】
【０１２】  本発明の実施例を以下に説明する。図１は本発明のグレア発生領域記憶回路で、グレア発生点座標値および輝度を記憶するための回路を示す。図１においてシェ−ダ−１０はポリゴン頂点に定義された３次元座標値、テキスチャ−座標値、法線、光源入射角、視野角などを内挿補間して得た情報から内挿補間点の輝度を決定する回路である。内挿補間点の輝度Ｉｐは、環境光Ｉｅと輝度比較器１１で大小比較する。前記輝度Ｉｐは反射光の場合は拡散および鏡面反射の和であり、光源の場合は光源輝度となる。これら輝度と環境光との差分絶対値Ｉｃが所定の大きさを超えた場合、識別子一致検出回路１２において内挿補間点のＩＤｓとレジスタファイル１４に記憶されたＩＤｄと一致検出を行う。ＩＤが一致した場合、最大最小計算回路１３ではレジスタファイル１４から、すでに記憶されたＸおよびＹ軸の最大・最小値とＺ軸の最大値（視点に最も近い値）を受け、これら座標値とシェ−ダ−側から入力する（Ｘ，Ｙ，Ｚ）値とからそれぞれ大小を比較する。シェ−ダ−から入力する新座標値（Ｘ，Ｙ，Ｚ）がレジスタファイルの最大・最小値と比較して最大あるいは最小のいずれかとなる場合は、該当する値を入れ替えてレジスタファイルを更新する。Ｚ座標値は最大となる方をレジスタファイルに記憶する。すなわち最大最小計算回路１３には、レジスタファイルからのＸおよびＹ座標の最大・最小値およびＺ座標最大値と、シェ−ダ−入力からの座標値とを比較し、値を置き換えるための４つの減算器とマルチプレクサを実装している。一方、ＩＤが一致しない場合は、新たにＸ、Ｙ、Ｚ、ＩＤおよび輝度差分値Ｉｃをレジスタファイル１４に記憶する。この場合最大最小値の両ビットフィ−ルドには初期値としてＸ、Ｙ値をそれぞれに記憶する。レジスタファイル容量は、例えば３２ワ−ドとすれば、３２座標点のグレア発生領域を記憶できる。１ワ−ドにはＸ，Ｙ座標の最大・最小値、Ｚ最大座標値、識別子および輝度のビットフィ−ルドで構成し、Ｘ，Ｙ座標値の範囲を１１ビット、Ｚ座標値を３２ビット、識別子を８ビット、輝度の範囲を１０ビットとすれば、１ワ−ドは９４ビットとなる。【０１３】  本発明ではグレア発生点が同一の識別子をもつポリゴン上にある場合には、それが面積的に広がっていても一つの発生源として扱う。よって発生点が複数分布し、面状となる場合に対応してＸ，Ｙの最大・最小値を記憶している。この最大・最小値からグレア面の大きさが判断できる。前記Ｉｃが所定の値を超えた場合、シェ−ダ−から与えられるＩＤｓが、レジスタファイル１４に登録済みか否かを比較する。すでに同一のＩＤが登録されていれば、一致したＩＤレジスタがもつレジスタファイルの物理アドレスを読み出し、これをレジスタファイル１４に与えて、記憶された輝度Ｉｒを読み出し、前記ＩｐとＩｅとの差分値Ｉｃとを加算器１５で加算し、加算値Σ（Ｉｃ＋Ｉｒ）をレジスタファイル１４に記憶する。一方、シェ−ダ−からのＩＤｓがレジスタファイル１４に存在しない場合には、レジスタファイルのＩＤビットフィ−ルドに新規に登録すると同時にレジスタファイル用アドレスを割り振り、グレア発生点座標値と輝度Ｉｃ（Ｉｒ＝０とする）を、割り振られたアドレスのレジスタファイル１４に記憶する。【０１４】  すべてのレンダリングが終了した時点で、レジスタファイル１４に記憶したＸおよびＹの最大・最小座標値、Ｚ最大値および輝度の合計値をそれぞれ読み出す。通常この読み出しは視野変換を担っているグラフィックスエンジンと呼ばれるプロセッサが１ワ−ド毎に行う。読み出された座標値から、ＸおよびＹ領域の大きさを最大・最小値から調べる。所定の範囲以内の場合は、描画プロセスで通常記憶されている画像デ−タとそのＺ値を記憶したｚバッファから、前記レジスタファイルから読み出したＸおよびＹの中心座標点でアクセスし、このｚ値とレジスタファイルのｚ最大値とを比較する（この処理はグラフィックスエンジンのソフトウエアで行うため回路は図示していない）。前記ｚバッファのｚ値の方が大きい場合には、そのグレア発生点を無視し、次のレジスタファイルの情報の読み出しを行う。一方、レジスタファイルのｚ最大値がｚバッファのｚ値より大きければ、前記ＸおよびＹ座標中心点をグレア発生点とする。グレアの形状は前記輝度の合計値から決定した４角形からなるポリゴンを定義し、これを内挿補間する。すなわち輝度合計値が大きければ、ポリゴンサイズを大きくする。さらに輝度が所定の大きさを超えた場合は、フレアベクトルをグレア関数演算回路（図２）に与える。ポリゴンの生成とフレアベクトルは前記グラフィックスエンジンで決定する。グラフィックスエンジンには輝度の大きさに対応したポリゴンサイズテ−ブルを、またフレアベクトルは輝度の大きさに対応した乱数の分布値と周期値テ−ブルをあらかじめ作成しておき、これらテ−ブルを参照する。フレアベクトルは前記分布と周期値からグレア発生点を原点とする乱数を発生し、原点と乱数点を結ぶ直線をフレアラインとして、フレアベクトルを生成する。前記グラフィックスエンジンではフレアベクトルの大きさ（原点と乱数点を結ぶ直線距離）を取り巻くポリゴンも生成し、これをレンダラ−に出力する。レジスタファイル１４からの読み出しはすべての登録したＩＤを終了した時点で終了する。【０１５】  図２は本発明のグレアレンダリング回路の関数演算回路を示す。前記グラフィックスエンジンはグレア発生点とポリゴンサイズを決定すると、発生点座標値とポリゴン座標値、およびフレアベクトルをレンダラ−に送る。レンダリング回路ではポリゴン頂点座標値からポリゴン内部を内挿補間して全てのポリゴン内部の座標値を求める（内挿補間回路は一般的な回路であるため図２には示していない）。図２において距離計算回路２０はフレアベクトルＦ、グレア発生点座標（Ｘ０，Ｙ０，Ｚ０）と内挿補間点（Ｘｒ，Ｙｒ，Ｚｒ）を受ける。距離計算回路２０は、それぞれの座標成分毎に差分してそれを２乗加算した後、平方根をとり２点間の距離と、またグレア発生点と内挿補間点を結ぶ方向ＲとフレアベクトルＦとが成す方向余弦を求める演算回路からなる。この処理は式（Ｂ）による。
2006195938.tif 000004
よって、距離計算回路２０には加減算器、乗算器および平方根回路を実装する。距離ｒおよびｃｏｓθがマルチプレクサ２１で選択された後、これらの値を関数テ−ブル２２のアドレスとして与える。関数テ−ブルはＲＡＭで構成され、前記（Ａ）式による関数値を記憶する。関数テ−ブルから出力する情報は、１例として【００８】項の式（Ａ）にあるＧ（ｒ）およびＳ（ｃｏｓθ）である。すなわち関数テ−ブルにはｒおよびｃｏｓθを入力として（Ａ）式の（１）および（２）式が記憶されている。入力ｃｏｓθによって関数テ−ブルから出力されたＳ（ｃｏｓθ）は、距離計算回路２０で求めた距離ｒとマルチプレクサ２５を通して乗算器２３で乗算され、（Ａ）式内での（３）式を実行する。この乗算結果ｄは、さらにマルチプレクサ２１に戻されて再び関数テ−ブルに与えられ（Ａ）式のＦ（ｄ）を出力する。このＦ（ｄ）はレジスタ２４に一時的に記憶される。次に関数テ−ブル入力には再びｒが与えられ（Ａ）式の（１）式を出力し、レジスタ２４に記憶されたＦ（ｄ）とマルチプレクサ２５を通して関数テ−ブル出力のＧ（ｒ）とが、乗算器２３で乗算され（Ａ）式内の（５）式Ｉｐを得る。以上のように関数テ−ブル、レジスタ、マルチプレクサおよび乗算器のそれぞれを用いて漸化式的な計算を行うことによって、わずかな回路で多様な情報を処理することができる。
【産業上の利用可能性】
【０１６】  本発明の回路をＩＰ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｒｏｐｅｒｔｙ）として、あるいはグラフィックスプロセッサＬＳＩチップに実装することによって映像製作、ＣＧゲ−ム等のシステムにおいて実時間描画を可能とする。
【図面の簡単な説明】
【０１７】図１「本発明のグレア発生領域記憶回路を示す。」
図２「本発明の関数演算回路を示す。」
【符号の説明】
図１
１０  シェ−ダ−
１１  輝度比較器
１２  識別子一致検出回路
１３  最大最小値計算回路
１４  レジスタファイル
１５  加算回路
図２
２０  距離計算回路
２１  マルチプレクサ
２２  関数テ−ブル
２３  乗算器
２４  レジスタ
２５  マルチプレクサ
【図１】
2006195938.tif 000005
【図２】
2006195938.tif 000006