(57)【特許請求の範囲】
【請求項１】
画像データの複数の要素のデータが与えられた各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置において、
上記画素に対するテクスチャ画像から得た色情報に、上記画素に与えられる複数の要素のデータのうちの一つの第１の特定要素のデータを乗算した変調色情報を出力する乗算手段と、
上記複数の要素のデータのうちの第２の特定要素のデータと、上記乗算手段による変調色情報を要素ごとに加算処理する加算手段とを有する画像生成装置であって、
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する輝度情報を示す１要素のデータであり、上記加算手段に供給される上記第２の特定要素の３要素のデータが、画像データの各画素に対する色情報を示す３要素のデータであるかまたは、
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する拡散反射光の３要素のデータから算出される１要素のデータであり、上記加算手段に供給される上記第２の特定要素の３要素のデータが、画像データの各画素に対する鏡面反射光の３要素のデータであるかまたは、
上記複数の要素のデータは、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する鏡面反射光の３要素のデータから算出される１要素のデータであり、上記加算手段に供給される上記第２の特定要素の３要素のデータが、画像データの各画素に対する拡散反射光の３要素のデータである、
画像生成装置。
【請求項２】
画像データの複数の要素のデータが与えられた各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、
テクスチャ画像から得た色情報から第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、
上記複数の要素のデータのうちの第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、
上記複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに処理する加加算処理する加算手段と
を有する画像生成装置。
【請求項３】
上記複数の要素のデータのうちの上記第１の特定要素のデータと、すべての要素が０である上記第１の特定要素のデータのうちのいずれかを選択して上記減算手段に供給する選択手段を
さらに有する請求項２記載の画像生成装置。
【請求項４】
上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する混合率を示す要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す要素のデータであるかまたは、
上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する輝度情報を示す一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す要素のデータであるかまたは、
上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する拡散反射光の要素のデータから算出される一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する鏡面反射光の要素のデータであるかまたは、
上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する鏡面反射光の要素のデータから算出される一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する拡散反射光の要素のデータである、
請求項２記載の画像生成装置。
【請求項５】
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する混合率を示す１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す３要素のデータであるかまたは、
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する輝度情報を示す１要素のデータであり、
上記減算手段および加算手段に供給される上記第１の特定要素の３要素のデータが、画像データの各画素に対する色情報を示す３要素のデータであるかまたは、
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する拡散反射光の３要素のデータから算出される１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素の３要素のデータが、画像データの各画素に対する鏡面反射光の３要素のデータであるかまたは、
上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する鏡面反射光の３要素のデータから算出される１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素の３要素のデータが、画像データの各画素に対する拡散反射光の３要素のデータである、
請求項２記載の画像生成装置。
【請求項６】
多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、
頂点座標、テクスチャ座標、およびテクスチャ情報に基づいて、上記多角形内の各点に貼り付けるテクスチャ色を抽出する第１の回路と、
上記頂点座標および頂点色情報に基づいて、上記多角形内の各点のシェーディング色を求める第２の回路と、
上記第１の回路によるテクスチャ色情報と、上記第２の回路によるシェーディング色情報を入力して出力色を得る第３の回路と、
を有し、
上記第３の回路は、
テクスチャ色情報から上記シェーディング色情報に含まれる第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、
上記シェーディング色情報に含まれる第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、
上記テクスチャ情報またはシェーディング色情報に含まれる複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに加算処理する加算手段と
を有する画像生成装置。
【請求項７】
多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、
頂点座標、第１のテクスチャ座標、および第１のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第１のテクスチャ色を抽出する第１の回路と、
上記頂点座標および第１の頂点色情報に基づいて、上記多角形内の各点の第１のシェーディング色を求める第２の回路と、
上記第１の回路による第１のテクスチャ色情報と、上記第２の回路による第１のシェーディング色情報を入力して第２のシェーディング色を得る第３の回路と、
上記頂点座標、第２のテクスチャ座標、および第２のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第２のテクスチャ色を抽出する第４の回路と、
上記第２の回路による第２のテクスチャ色情報と、上記第３の回路による第２のシェーディング色情報を入力して出力色を得る第５の回路と、
を有し、
上記第３の回路および第５の回路の少なくとも一方は、
上記テクスチャ色情報に、上記シェーディング色情報に含まれる複数の要素のデータのうちの一つの第１の特定要素のデータを乗算した変調色情報を出力する乗算手段と、
上記複数の要素のデータのうちの第２の特定要素のデータと、上記乗算手段による変調色情報を要素ごとに処理する加加算処理する加算手段と
を有する画像生成装置。
【請求項８】
多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、
頂点座標、第１のテクスチャ座標、および第１のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第１のテクスチャ色を抽出する第１の回路と、
上記頂点座標および第１の頂点色情報に基づいて、上記多角形内の各点の第１のシェーディング色を求める第２の回路と、
上記第１の回路による第１のテクスチャ色情報と、上記第２の回路による第１のシェーディング色情報を入力して第２のシェーディング色を得る第３の回路と、
上記頂点座標、第２のテクスチャ座標、および第２のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第２のテクスチャ色を抽出する第４の回路と、
上記第２の回路による第２のテクスチャ色情報と、上記第３の回路による第２のシェーディング色情報を入力して出力色を得る第５の回路と、
を有し、
上記第３の回路および第５の回路の少なくとも一方は、
テクスチャ色情報から上記シェーディング色情報に含まれる一つの第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、
上記シェーディング色情報に含まれる第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、
上記テクスチャ情報またはシェーディング色情報に含まれる複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに加算処理する加算手段と
を有する画像生成装置。
【請求項９】
画像データの各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成方法であって、
上記画素に対して与えられる複数の要素のデータを一つの第１の特定要素のデータと第２の特定要素のデータとに分ける第１のステップと、
テクスチャ画像から得た色情報から一つの第２の特定要素のデータを要素ごとに減算処理した第１の変調色情報を得る第２のステップと、
上記第１の特定要素のデータを上記第１の変調色情報に乗算した第２の変調色情報を得る第３のステップと、
上記複数の要素のデータのうちの上記第２の特定要素のデータと、上記第２の変調色情報を要素ごとに加算処理する第４のステップと
を有する画像生成方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術の分野】
本発明は、画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置およびその方法に関するものである。具体的には、ゲーム機やグラフィックスコンピュータ、ビデオ機器などで画像を生成する際に用いるコンピュータグラフィックス技術に係り、特に表示画像内で、光沢を持つ物体のリアルな表現を行う技術に関するものである。
【０００２】
【従来の技術】
コンピュータグラフィックスは、ゲーム機やグラフィックスコンピュータ、ビデオ機器で表示画像を生成する際に使用されている。
特に、コンピュータ内に３次元空間を数値的に再現し、仮想のカメラを用いた撮影処理を行うことによって画像を生成する３次元コンピュータグラフィックスは、陰影付けされたリアリティの高い画像を生成する技術であり、映画の特殊撮影から一般家庭用ゲームまで幅広く応用される技術となっている。
【０００３】
３次元コンピュータグラフィックスでは、コンピュータ内に数値的に表現された３次元世界をつくり、数値的に表現された物体を配置し、照明が当たった場合の陰影付け計算を行って、生成画像内に表示される物体の色の決定を行っている。
物体の色計算を行う際には、光源と物体表面の法線方向ならびに反射パラメータから陰影を計算するライティング処理と、物体表面に画像を貼り付けるテクスチャマッピング処理が施される。
【０００４】
図１は、光源からの光線が物体上で反射する様子をモデル化した図である。
【０００５】
図１に示すように、光源ＬＳからの光線は、物体の表面ＳＦＣ上でスネルの法則に則り、法線ＮＲＭに対して線対称になる方向に反射する鏡面反射成分ＭＲＣと、物体内部の色素ＤＹでの反射を繰り返した後、再び物体外部に放射される拡散反射成分ＤＲＣとに分かれる。
物体表面を観察した場合には、鏡面反射成分ＭＲＣと拡散反射成分ＤＲＣとの和が物体表面ＳＦＣの反射光として観察されるため、物体表面の色は下記の（１）式に示すように鏡面反射成分ＭＲＣと拡散反射成分ＤＲＣの和として表すことができる。
また、（２）式は（１）式の拡散反射成分ＤＲＣを算出する計算式である。
【０００６】
【数１】
0003780954.tif 000002
【０００７】
【数２】
0003780954.tif 000003
【０００８】
ここで、（Ｌｘ，Ｌｙ，Ｌｚ）は光線が飛来する方向を示し、（Ｎｘ，Ｎｙ，Ｎｚ）は物体の面法線の方向を示している、また、（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）は物体表面の拡散反射係数を示し、（Ｒｌｄ，Ｇｌｄ，Ｂｌｄ）は光源色の拡散項である。
【０００９】
拡散反射成分ＤＲＣは、入射した光線のエネルギーがすべての方向に対して均等に配分されるように反射した光線である。
したがって、単位面積あたりに飛来する光線のエネルギー量と比例するため、上記（２）式のように示すことができる。
【００１０】
下記の（３）式は（１）式の鏡面反射成分ＭＲＣを算出する計算式である。
【００１１】
【数３】
0003780954.tif 000004
【００１２】
ここで、（Ｈｘ，Ｈｙ，Ｈｚ）はハーフベクタと呼ばれ、光源方向と視点方向を２分する方向を示す。（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）は物体表面の鏡面反射係数を示し、（Ｒｌｓ，Ｇｌｓ，Ｂｌｓ）は光源色の鏡面項である。
物体表面ＳＦＣは、図１に示すように、微細な凹凸を持っており、法線方向にはばらつきがある。
（３）式のｓは法線方向のばらつき具合を反映するためのパラメータで、ｓが大きい場合には面の凹凸が少なく滑らかな表面であることを示し、ｓが小さい場合には粗い面であることを示している。
ただし、光源ＬＳが物体の面法線と逆方向にある場合には鏡面反射成分ＭＲＣと拡散反射成分ＤＲＣはともに（０，０，０）になる。
【００１３】
以上のライティング処理とは別に物体表面に画像を貼り付けるテクスチャマッピング処理がある。
テクスチャマッピング処理では，単純にテクスチャ画像を物体表面に貼り付けるだけではなく、物体表面に貼り付けた画像を上述のライティング処理の結果の色情報で変調することや、あらかじめ指定しておいた固定の色情報とライティング処理の結果の色情報をテクスチャ画像を合成率として合成することもできる。
【００１４】
テクスチャ画像から得られたテクスチャ色とライティング処理の結果得られたシェーディング色、並びにあらかじめ指定した固定のテクスチャ環境色をもとに表示画像の各画素の色情報を算出する方法には、図２に示す４種のテクスチャブレンド方法が広く使用されている。
すなわち、「ＲＥＰＬＡＣＥ」、「ＭＯＤＵＬＡＴＥ」、「ＤＥＣＡＬ」、および「ＢＬＥＮＤ」である。
また、図２において、（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）はシェーディング色、（Ｒｔ，Ｇｔ，Ｂｔ，Ａｔ）はテクスチャ色、（Ｒｃ，Ｇｃ，Ｂｃ，Ａｃ）はテクスチャ環境色、（Ｒｖ，Ｇｖ，Ｂｖ，Ａｖ）は出力色をそれぞれ表している。
また、ＲＧＢは色情報、Ａは輝度情報を示す。
【００１５】
図２に示すテクスチャブレンド方法は、コンピュータグラフィックスにおける実質的な標準インターフェースである「ＯｐｅｎＧＬ」で規定されている方法である。
なお、「ＯｐｅｎＧＬ」は米国シリコングラフィックス社の原型をもとに策定されたグラフィックスライブラリインターフェースであり、現在ＯｐｅｎＧＬアーキテクチャ検討委員会（ＡＲＢ）により管理されている。
【００１６】
図２のテクスチャブレンド方法を満たすテクスチャブレンド回路を実現するためには、出力色Ｒｖ，Ｇｖ，Ｂｖの各コンポーネントを算出するために乗算器１個と加減算器２個以上が必要であり、出力色Ａｖのコンポーネントを算出するために乗算器が１個必要である。
【００１７】
図３および図４に図２のテクスチャブレンド方法を行うことができるテクスチャブレンド回路の一例を示す。
【００１８】
図３は、出力色Ｒｖ，Ｇｖ，Ｂｖを算出するテクスチャブレンド回路の一例を示す図である。
このテクスチャブレンド回路１０は、入力選択回路（ＭＵＸ）１１〜１４、加算器１５、乗算器１６、および加算器１７を有している。
また、図３において、ＴＸＥＣはテクスチャ環境色、ＴＸＣはテクスチャ色、ＳＨＤＣはシェーディング色をそれぞれ示している。
【００１９】
図３において、入力選択回路１１は、テクスチャ環境色とテクスチャ色のＲＧＢ成分と（０，０，０）から１色を選択して出力する。
入力選択回路１２は、シェーディング色か（０，０，０）から１色を選択して出力する。
加算器１５では、入力選択回路１１が出力したＲＧＢ成分から入力選択回路１２が出力したＲＧＢ成分をＲＧＢの成分ごとに減算して乗算器１６の入力とする。
乗算器１６は、加算器１５の出力ＲＧＢ成分と入力選択回路１３で選択されたＲＧＢ成分とを乗算して加算器１７に出力する。
加算器１７は、乗算器１６の出力ＲＧＢ成分と入力選択回路１４で選択されたＲＧＢ成分を加算し、これにより最終的な出力ＲＧＢ成分が得られる。
【００２０】
図４は、出力色Ａｖを算出するテクスチャブレンド回路の一例を示す図である。
このテクスチャブレンド回路２０は、乗算器２１および入力選択回路２２を有している。
【００２１】
図４においては、乗算器２１でテクスチャ色のＡ（輝度情報）成分とシェーディング色のＡ成分を乗算し、入力選択回路２２で乗算器２１の乗算結果のＡ成分とテクスチャ色のＡ成分、シェーディング色のＡ成分のうちの１個を選択して出力Ａ成分Ａｖとする。
【００２２】
以上により図２のテクスチャブレンド方法をすべて満たすテクスチャブレンド回路が一回路で実現できる。
テクスチャブレンド方法はユーザの選択により変更されるので、テクスチャブレンド回路が１個の回路で実現できることは回路規模の面から考えると重要である。
こうしたテクスチャブレンド回路では、テクスチャ色とテクスチャ環境色、シェーディング色から各画素の色情報を算出することができるが、中でも重要なのはシェーディング色を用いたテクスチャ画像の陰影付け処理である。
【００２３】
シェーディング色を用いたテクスチャ画像の陰影付け処理は本来、ディフューズマッピングとグロスマッピングに分けられる。
ディフューズマッピングは、上記（２）式の（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）をテクスチャ画像上の色で置き換える処理である。
一方、グロスマッピングは、上記（３）式の（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）をテクスチャ画像上の色で置き換える処理である。
【００２４】
図５は、ディフューズマッピングとグロスマッピングを行う場合の処理概要を示す図である。
【００２５】
グロスマップと呼ばれるテクスチャ画像は、図５（Ａ−１）に示すように、物体表面の鏡面反射係数（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を画像データに収めたものである。
ディフューズマップと呼ばれるテクスチャ画像は、図５（Ｂ−１）に示すように、物体表面の拡散反射係数（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を画像データに収めたものである。
これらのテクスチャ画像に対して、図５（Ａ−２）、（Ａ−３）および（Ｂ−２）、（Ｂ−３）に示すように、白色物体の鏡面反射光と拡散反射光で変調を掛けて物体の鏡面反射成分ＭＲＣと拡散反射成分ＤＲＣを求める。
【００２６】
白色物体の鏡面反射光は、上記（３）式において（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を白色（１，１，１）として算出した鏡面反射成分ＭＲＣを示す。
したがって、グロスマップ内の鏡面反射係数が鏡面反射光を乗算することによって、図５（Ａ−３）に示すように、グロスマップを貼り付けた後にライティング処理をした場合と同じ効果を得ることができる。
白色物体の拡散反射光についても同様に、上記（２）式で（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を白色（１，１，１）として算出した拡散反射成分ＤＲＣを示す。
したがって、ディフューズマップ内の拡散反射係数を拡散反射光に乗算することによって、図５（Ｂ−３）に示すように、ディフューズマップを貼り付けた後にライティング処理を行った場合と同じ効果を得ることができる。
【００２７】
以上のようにグロスマップに対する鏡面反射光の変調と、ディフューズマップに対する拡散反射光の変調を行うことで、図５（Ａ−３）および（Ｂ−３）に示すように、グロスマップとディフューズマップを貼り付けた物体に対するライティング処理後の鏡面反射成分ＭＲＣと拡散反射成分ＤＲＣを得ることができる。
【００２８】
この鏡面反射成分の画像と拡散反射成分の画像を色情報であるＲＧＢコンポーネント毎に加算することによって、図５（Ｃ）に示すように、最終的に出力される画像を得ることができる。
【００２９】
図４で示したように鏡面反射成分と拡散反射成分は物理的に異なる性質をもっているため、物体の（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）として使用されるグロスマッピング用のテクスチャ画像と、（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）として使用されるディフューズマッピング用のテクスチャ画像は一般には一致しない。
【００３０】
図６は、上述したグロスマッピングとディフューズマッピングを同時に行う回路ブロックを示す図である。
図６の回路ブロック３０は、テクスチャマッピング回路３１、内挿回路３２、テクスチャブレンド回路３３、テクスチャマッピング回路３４、内挿回路３５、テクスチャブレンド回路３６、および加算器３７を有している。
なお、図６において、ＴＸＩはテクスチャ情報、ＴＸＣＯはテクスチャ座標、ＴＣＯは頂点座標、ＴＣＩは頂点色情報、ＴＸＣはテクスチャ色、ＴＸＥＣはテクスチャ環境色、ＳＨＤＣはシェーディング色をそれぞれ示している。
【００３１】
図６の回路ブロック３０は、単純に同一構成の処理系を２系統有し、テクスチャマッピング回路３１、内挿回路３２、およびテクスチャブレンド回路３３をディフューズマッピング処理に用い、テクスチャマッピング回路３４、内挿回路３５、テクスチャブレンド回路３６をグロスマッピング処理に用いる。
そして、加算器３７において、グロスマッピング処理とディフューズマッピング処理の双方で得られた色を加算して最終の出力色（Ｒｖ，Ｇｖ，Ｂｖ，Ａｖ）を求めている。
このように、図６の回路ブロック３０は、単純に同一構成の処理系を２系統有していることから、ハードウエア規模が大きくなっている。
【００３２】
ハードウェア規模を小さくするために複数テクスチャを扱わず、ディフューズマッピング処理だけとした場合には、図７に示す回路ブロック３０Ａのように、図６のテクスチャマッピング回路３４とテクスチャブレンド回路３６のハードウェア量の削減を行うことができる。
【００３３】
図７の回路に対するハードウェア量の更なる削減については、特開平１０−３２６３５１号公報（文献１）に示されている。
この文献１では、白色物体に対するライティング処理における鏡面反射成分を頂点色情報のＡ成分に格納し、拡散反射成分を頂点色情報のＲＧＢ成分に格納することによって、２回路必要であった内挿回路をＲＧＢＡに対する内挿回路１個で処理できるようにしている。
【００３４】
さらに、文献１では、図３、図４のテクスチャブレンド回路１０，２０を、図８、図９のテクスチャブレンド回路１０Ａ，２０Ａに変更することに相当する改善を行うことにより、図７のディフューズマッピング処理における内挿回路３５と加算器３７を削減している。
【００３５】
図３に対して図８で行った変更点は図中の２重線で示したシェーディング色のＡ成分をＭＵＸ１４に入力する点である。
図４に対して図９で行った変更点はテクスチャ色、シェーディング色のＡ成分を入力とする加算器２３の追加と加算結果をＭＵＸ２２に入力した点である。
この結果、Ａ成分に白色物体の鏡面反射成分の輝度を格納し、ＲＧＢ成分に拡散反射成分の色情報を格納することでディフューズマッピングと鏡面反射成分の輝度の合成が可能になった。
【００３６】
内挿回路の回路規模は加算器に比較して大きいため、内挿回路の削減は大きな意味を持っている。
この削減を可能にしたのは鏡面反射成分と拡散反射成分の２ワード必要であった色情報を１ワードで処理できるようにした工夫である。
【００３７】
【発明が解決しようとする課題】
しかし、上記文献１における鏡面反射成分は単色の輝度信号であり、ビニールコーティングした物体などの必ずしも単色ではない鏡面反射成分を扱うことは不可能である。拡散反射成分、鏡面反射成分ともに何らかの色づけ方法があることが望ましい。
【００３８】
また、上記文献１に記載のテクスチャブレンド回路は、グロスマッピングとディフューズマッピングを同時に行う場合には有効ではなく、図６と同様の回路規模になってしまう。
したがって、小さな回路規模で描画速度の劣化させずに表示画像のリアリティの向上を行えるグロスマッピングとディフューズマッピングを同時に行えるグラフィックスプロセッサが期待されている。
【００３９】
グロスマッピングは雨上がりに水溜りのできた地面の表現や、金属の粉や石材を塗り込んだ壁など、鏡面反射成分が異なる素材が散在する面の表現を行う際に威力を発揮できる処理方法であるが、拡散反射成分を全く無視して使用することはできない。
【００４０】
図２に示したテクスチャブレンド処理によってグロスマッピングを有効に行おうとすると、図６に示したグロスマッピングとディフューズマッピングを同時に行う回路を用いるか、グロスマッピングとディフューズマッピングを独立に行い、表示画像を画素毎に加算する処理が必要になる。
ディフューズマッピングを使用しない拡散反射成分と、グロスマッピングを使用した鏡面反射成分を加算することによって表示画像の生成を行えるグラフィックスプロセッサ回路があれば、比較的容易に水溜りのある地面などの表現を行えるようになる。
したがって、回路規模の増大や描画処理時間の増大を伴わずに、拡散反射成分とグロスマッピングを行った鏡面反射成分を扱えるグラフィックスプロセッサ回路が期待されている。
【００４１】
また別の問題として、ライティング処理の結果得られたシェーディング色とテクスチャ画像から得られるテクスチャ色を合成する際に合成率の変更の負荷が大きいことがある。
【００４２】
シェーディング色とテクスチャ色を合成する際の合成率は、図２の「ＯｐｅｎＧＬ」の規定ではテクスチャ画像中のすべての画素のＡ値を変更して用いなければならない。
テクスチャ画像にビデオ映像を用いる場合や、合成率を刻々と変化させてライティング色からテクスチャ色に切り替える処理などを行う場合、テクスチャ画像のすべての画素のＡ値を変更することは負荷が大きく現実的ではない。
したがって、こうした合成率の変更を容易に、しかもハードウェア量の増大を伴わずに行うことができるグラフィックスプロセッサが望まれている。
【００４３】
本発明の第１の目的は、物体色の鏡面反射成分と拡散反射成分とを別個に扱って表示画像のリアリティを向上させるにあたり、描画速度の劣化させずに、しかも、グラフィックスプロセッサなどのハードウエア規模をほとんど増大させることなく、ディフューズマッピングを行った場合と同等の拡散反射成分と、ＲＧＢ３成分を持つ鏡面反射成分との合成により、リアリティの高い表示画像の生成を行える画像生成装置およびその方法を提供することにある。
【００４４】
本発明の第２の目的は、描画速度を劣化させず、しかも、グラフィックスプロセッサなどのハードウェア規模をほとんど増大させることなく、グロスマッピングを行った場合と同等の鏡面反射成分と、ＲＧＢ３成分をもつ拡散反射成分との合成により、リアリティの高い表示画像の生成を行える画像生成装置およびその方法を提供することにある。
【００４５】
本発明の第３の目的は、１枚のテクスチャマッピングを処理できるグラフィックスプロセッサの回路規模に比して２倍よりも小さな回路規模で、ディフューズマッピングとグロスマッピングを同時に処理できるグラフィックスプロセッサの実現を可能とする画像生成装置およびその方法を提供することにある。
【００４６】
本発明の第４の目的は、回路規模の増大を伴わずにシェーディング色とテクスチャ色の合成における合成率の変更を容易に行うことができるグラフィックスプロセッサの実現を可能と画像生成装置およびその方法を提供することにある。
【００４７】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点に係る画像生成装置は、画像データの複数の要素のデータが与えられた各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、上記画素に対するテクスチャ画像から得た色情報に、上記画素に与えられる複数の要素のデータのうちの一つの第１の特定要素のデータを乗算した変調色情報を出力する乗算手段と、上記複数の要素のデータのうちの第２の特定要素のデータと、上記乗算手段による変調色情報を要素ごとに加算処理する加算手段とを有する。
【００４８】
本発明の第２の観点に係る画像生成装置は、画像データの複数の要素のデータが与えられた各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、テクスチャ画像から得た色情報から一つの第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、上記複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに加算処理する加算手段とを有する。
【００４９】
本発明では、好適には、上記複数の要素のデータのうち上記第１の特定要素のデータと、すべての要素が０である上記第１の特定要素のデータのうちのいずれかを選択して上記減算手段に供給する選択手段をさらに有する。
【００５０】
本発明では、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する混合率を示す要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す要素のデータである。
【００５１】
本発明では、上記乗算手段に供給される第２の特定要素のデータが、画像データの各画素に対する輝度情報を示す一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す要素のデータである。
【００５２】
本発明では、上記乗算手段で供給される上記第２の特定要素のデータが、画像データの各画素に対する拡散反射光の上記第１の特定要素のデータから算出される一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する鏡面反射光の要素のデータである。
【００５３】
本発明では、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する鏡面反射光の上記第１の特定要素のデータから算出される一つの要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する拡散反射光の要素のデータである。
【００５４】
好適には、上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する混合率を示す１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す３要素のデータである。
【００５５】
また、好適には、上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する輝度情報を示す１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素のデータが、画像データの各画素に対する色情報を示す３要素のデータである。
【００５６】
また、好適には、上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する拡散反射光の上記第１の特定要素のデータから算出される１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素の３要素のデータが、画像データの各画素に対する鏡面反射光の３要素のデータである。
【００５７】
また、好適には、上記複数の要素のデータが、１ワード内に格納された４要素のデータであり、上記乗算手段に供給される上記第２の特定要素のデータが、画像データの各画素に対する鏡面反射光の上記第１の特定要素の３要素のデータから算出される１要素のデータであり、上記減算手段および加算手段に供給される上記第１の特定要素の３要素のデータが、画像データの各画素に対する拡散反射光の３要素のデータである。
【００５８】
本発明の第３の観点に係る画像生成装置は、多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、頂点座標、テクスチャ座標、およびテクスチャ情報に基づいて、上記多角形内の各点に貼り付けるテクスチャ色を抽出する第１の回路と、上記頂点座標および頂点色情報に基づいて、上記多角形内の各点のシェーディング色を求める第２の回路と、上記第１の回路によるテクスチャ色情報と、上記第２の回路によるシェーディング色情報を入力して出力色を得る第３の回路と、を有し、上記第３の回路は、上記テクスチャ色情報に、上記シェーディング色情報に含まれる複数の要素のデータのうちの一つの第１の特定要素のデータを乗算した変調色情報を出力する乗算手段と、上記複数の要素のデータのうちの第２の特定要素のデータと、上記乗算手段による変調色情報を要素ごとに加算処理する加算手段とを有する。
【００５９】
本発明の第４の観点に係る画像生成装置は、多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、頂点座標、テクスチャ座標、およびテクスチャ情報に基づいて、上記多角形内の各点に貼り付けるテクスチャ色を抽出する第１の回路と、上記頂点座標および頂点色情報に基づいて、上記多角形内の各点のシェーディング色を求める第２の回路と、上記第１の回路によるテクスチャ色情報と、上記第２の回路によるシェーディング色情報を入力して出力色を得る第３の回路と、を有し、上記第３の回路は、テクスチャ色情報から上記シェーディング色情報に含まれる一つの第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、上記シェーディング色情報に含まれる第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、上記テクスチャ情報またはシェーディング色情報に含まれる複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに加算処理する加算手段とを有する。
【００６０】
本発明の第５の観点に係る画像生成装置は、多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、頂点座標、第１のテクスチャ座標、および第１のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第１のテクスチャ色を抽出する第１の回路と、上記頂点座標および第１の頂点色情報に基づいて、上記多角形内の各点の第１のシェーディング色を求める第２の回路と、上記第１の回路による第１のテクスチャ色情報と、上記第２の回路による第１のシェーディング色情報を入力して第２のシェーディング色を得る第３の回路と、上記頂点座標、第２のテクスチャ座標、および第２のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第２のテクスチャ色を抽出する第４の回路と、上記第２の回路による第２のテクスチャ色情報と、上記第３の回路による第２のシェーディング色情報を入力して出力色を得る第５の回路と、を有し、上記第３の回路および第５の回路の少なくとも一方は、上記テクスチャ色情報に、上記シェーディング色情報に含まれる複数の要素のデータのうちの一つの第１の特定要素のデータを乗算した変調色情報を出力する乗算手段と、上記複数の要素のデータのうちの第２の特定要素のデータと、上記乗算手段による変調色情報を要素ごとに加算処理する加算手段とを有する。
【００６１】
本発明の第６の観点に係る画像生成装置は、多角形画像データの各画素に対するテクスチャ画像から得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成装置であって、頂点座標、第１のテクスチャ座標、および第１のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第１のテクスチャ色を抽出する第１の回路と、上記頂点座標および第１の頂点色情報に基づいて、上記多角形内の各点の第１のシェーディング色を求める第２の回路と、上記第１の回路による第１のテクスチャ色情報と、上記第２の回路による第１のシェーディング色情報を入力して第２のシェーディング色を得る第３の回路と、上記頂点座標、第２のテクスチャ座標、および第２のテクスチャ情報に基づいて、上記多角形内の各点に貼り付ける第２のテクスチャ色を抽出する第４の回路と、上記第２の回路による第２のテクスチャ色情報と、上記第３の回路による第２のシェーディング色情報を入力して出力色を得る第５の回路と、を有し、上記第３の回路および第５の回路の少なくとも一方は、テクスチャ色情報から上記シェーディング色情報に含まれる一つの第１の特定要素のデータを要素ごとに減算処理した第１の変調色情報を出力する減算手段と、上記シェーディング色情報に含まれる第２の特定要素のデータを上記減算手段による第１の変調色情報に乗算した第２の変調色情報を出力する乗算手段と、上記テクスチャ情報またはシェーディング色情報に含まれる複数の要素のデータのうちの上記第１の特定要素のデータと、上記乗算手段による第２の変調色情報を要素ごとに加算処理する加算手段とを有する。
【００６２】
本発明の第７の観点に係る画像生成方法は、画像データの各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成方法であって、上記画素に対して与えられる複数の要素のデータを一つの第１の特定要素のデータと第２の特定要素のデータとに分ける第１のステップと、上記画素に対するテクスチャ画像から得た色情報に、上記画素に与えられる複数の要素のデータのうちの一つの上記第１の特定要素のデータを乗算した変調色情報を得る第２のステップと、上記複数の要素のデータのうちの上記第２の特定要素のデータと、上記変調色情報を要素ごとに加算処理する第３のステップとを有する。
【００６３】
本発明の第８の観点に係る画像生成方法は、画像データの各画素に対するテクスチャ画像から色情報を得、得た色情報を用いて表示出力画像の画素の色情報を算出する画像生成方法であって、上記画素に対して与えられる複数の要素のデータを一つの第１の特定要素のデータと第２の特定要素のデータとに分ける第１のステップと、テクスチャ画像から得た色情報から一つの上記第２の特定要素のデータを要素ごとに減算処理した第１の変調色情報を得る第２のステップと、上記第１の特定要素のデータを上記第１の変調色情報に乗算した第２の変調色情報を得る第３のステップと、上記複数の要素のデータのうちの上記第２の特定要素のデータと、上記第２の変調色情報を要素ごとに加算処理する第４のステップとを有する。
【００６４】
本発明によれば、たとえば物体色の鏡面反射成分と拡散反射成分とを別個に扱って表示画像のリアリティを向上させるにあたり、描画速度の劣化させずに、しかも、グラフィックスプロセッサなどのハードウェア規模をほとんど増大させることなく、ディフューズマッピングを行った場合と同等の拡散反射成分と、たとえばＲＧＢ３成分を持つ鏡面反射成分との合成により、リアリティの高い表示画像の生成を行える。
また、描画速度の劣化させずに、しかも、グラフィックスプロセッサなどのハードウェア規模をほとんど増大させることなく、グロスマッピングを行った場合と同等の鏡面反射成分と、ＲＧＢ３成分をもつ拡散反射成分との合成により、リアリティの高い表示画像の生成を行える。
さらに、１枚のテクスチャマッピングを処理できるグラフィックスプロセッサの回路規模に比して２倍よりも小さな回路規模で、ディフューズマッピングとグロスマッピングを同時に処理できるグラフィックスプロセッサを実現することが可能となる。
【００６５】
また、本発明によれば、回路規模の増大を伴わずにシェーディング色とテクスチャ色の合成における合成率の変更を容易に行うことができるグラフィックスプロセッサの実現が可能になる。
また、回路規模の増大を行うことなく、画像生成を行う状況に合わせて、画像生成を行うユーザが選択することが可能になる。
【００６６】
【発明の実施の形態】
以下に、本発明の好ましい実施の形態について図面に関連付けて説明する。
【００６７】
まず、本発明を適用するシステムについて説明する。
図１０は、本発明に係る画像生成装置が適用される、コンピュータグラフィックス処理を行って表示画像生成を行う画像生成システムの一実施形態を示すブロック図である。
このような画像生成システム１００は、たとえば３次元画像を比較的高精度かつ高速度に表示することが要求される家庭用ゲーム機に使用されるシステムである。
【００６８】
本画像生成システム１００は、図１０に示すように、ＣＰＵ１０１、メインメモリ１０２、ビデオメモリ１０３、グラフィックスプロセッサ１０４、メインバス１０５、インターフェース回路１０６、入力デバイス１０７、およびオーディオプロセッサ１０８を有している。
【００６９】
ＣＰＵ１０１は、マイクロプロセッサなどからなる中央演算処理装置であり、入カパッドやジョイスティックなどの入力デバイス１０７の操作情報をインターフェース回路１０６およびメインバス１０５を通して取り出す。
ＣＰＵ１０１は、取り出した操作情報に基づいてメインメモリ１０２に記憶されている表示画像生成のためのポリゴン（多角形）データに、頂点座標に対する座標変換処理や、ポリゴンの面法線と光源方向ならびに視点の方向によリポリゴンの頂点に対する陰影付け処理などを施す。
さらに、ＣＰＵ１０１は、ポリゴンの頂点に対する、座標、テクスチャ座標、色情報（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）をメインバス１０５を通してグラフィックスプロセッサ１０４に転送するといった役割をもっている。
なお、ＲＧＢは色情報、Ａは一般的にはアルファブレンド用の混合比を示すが、本回路ではＡを輝度情報として使用する。
【００７０】
グラフィックスプロセッサ１０４は、入力のポリゴンデータを処理して画像データを生成するプロセッサであり、後で詳述するように、テクスチャブレンド回路を含む各処理ブロックを有している。
【００７１】
そして、本実施形態に係るテクスチャブレンド回路は、グラフィックスプロセッサ内においても効果的な回路であり、表示画像のための画像データをビデオメモリ１０３に描く処理を行う。
ビデオメモリ１０３に描かれた画像データはビデオ信号のスキャン時に読み出されて図１０には図示していない表示装置上に画像表示される。
また、上述の画像表示とともに画像データ生成に用いられたポリゴンデータに対応した音声情報がメインバス１０５を通してＣＰＵ１０１からオーディオプロセッサ１０８に転送される。
オーディオプロセッサ１０８は、入力された音声情報に再生のための処理を行い、音声データとして出力する。
【００７２】
なお、本発明を適用する上で図１０のシステムにおける音声処理は必須のものではないため、オーディオプロセッサを持たない画像表示専用のシステムにおいても本発明は有効である。
【００７３】
以下に、グラフィックスプロセッサ１０４の好適な４つの第１〜第４の実施形態について、図面に関連付けて順を追って説明する。
【００７４】
第１の実施形態
本第１の実施形態は、ＲＧＢ３成分を持つ鏡面反射成分ＭＲＣとディフューズマッピングを行った場合と同等の拡散反射成分ＤＲＣとを合成することにより、リアリティの高い表示画像の生成を行う場合である。
本第１の実施形態では、物体表面での反射を図１に示す反射モデルで考慮しており、上記（１）式で示されるように、上記（２）式の拡散反射成分ＤＲＣと上記（３）式の鏡面反射成分ＭＲＣの和によって物体の表面色が決まるとしている。
特に、本第１の実施形態は（２）式の拡散反射成分の（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）をテクスチャ画像中のテクスチャ色により置き換えるディフューズマッピング処理の例である。
ディフューズマッピングを行う場合、白色光源下でライティング処理を行う場合が非常に多い。
本第１の実施形態ではその点に着目し、光源色の拡散反射項（ＲＩｄ，Ｇｌｄ，Ｂｌｄ）を単色（Ｒｌｄ＝Ｇｌｄ＝Ｂｌｄ）として（２）式を扱うこととする。
【００７５】
図１１は、図１０の画像生成システム１０におけるグラフィックスプロセッサ１０４の具体的な構成例を示すブロック図である。
【００７６】
このグラフィックスプロセッサ１０４は、図１１に示すように、第１の回路としてのテクスチャマッピング回路２０１、第２の回路としての内挿回路（ＤＤＡ：Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）２０２、および第３の回路としてのテクスチャブレンド回路２０３の各処理ブロックを有している。
なお、図１１において、ＴＸＩはテクスチャ情報、ＴＸＣＯはテクスチャ座標、ＴＣＯは頂点座標、ＴＣＩは頂点色情報、ＴＸＣはテクスチャ色、ＴＸＥＣはテクスチャ環境色、ＳＨＤＣはシェーディング色、ＯＴＣは出力色をそれぞれ示している。
【００７７】
テクスチャマッピング回路２０１は、ＣＰＵ１０１からメインバス１０５を介して供給される頂点座標ＴＣＯ、テクスチャ座標ＴＸＣＯ、およびテクスチャ情報ＴＸＩに基づいて、ポリゴン内の各点に貼り付けるテクスチャ色ＴＸＣ（Ｒｔ，Ｇｔ，Ｂｔ，Ａｔ）を取り出し、テクスチャブレンド回路２０３に出力する。
【００７８】
内挿回路２０２は、ＣＰＵ１０１からメインバス１０５を介して供給される頂点座標ＴＣＯと頂点色情報ＴＣＩに基づいて、ポリゴン内の各点のシェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）を内挿計算により求め、テクスチャブレンド回路２０３に出力する。
【００７９】
テクスチャブレンド回路２０３は、テクスチャマッピング回路２０１から供給されたテクスチャ色ＴＸＣ（Ｒｔ，Ｇｔ，Ｂｔ，Ａｔ）と内挿回路２０２から供給されたシェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）を入力として、ＲＧＢの各成分毎に乗算を行い、出力色ＯＴＣ（Ｒｖ，Ｇｖ，Ｂｖ，Ａｖ）を得る。
【００８０】
このテクスチャブレンド回路２０３については、前述のコンピュータグラフィックスの標準インターフェースとされる「ＯｐｅｎＧＬ」により図２に示すテクスチャブレンド方法が規定されている。
【００８１】
図１２および図１３に、図２のテクスチャブレンド方法を行うことができる本第１の実施形態に係る図１１のテクスチャブレンド回路の一例を示す。
【００８２】
図１２は、図１１のテクスチャブレンド回路の出力色ＯＴＣ（Ｒｖ，Ｇｖ，Ｂｖ）を算出する回路の一例を示す図である。
このテクスチャブレンド回路１０００は、図１２に示すように、入力選択回路（ＭＵＸ）１００１〜１００４、減算手段としての加算器１００５、乗算器１００６、および加算器１００７を有している。
【００８３】
入力選択回路１００１は、図示しない制御系からの指示に従って、テクスチャ環境色ＴＸＥＣ（Ｒｃ，Ｇｃ，Ｂｃ）と、テクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と、（０，０，０）のうちの１色を選択して加算器１００５に出力する。
【００８４】
入力選択回路１００２は、図示しない制御系からの指示に従って、シェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ）と（０，０，０）のうちの１色を選択して加算器１００５に出力する。
【００８５】
入力選択回路１００３は、図示しない制御系からの指示に従って、テクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と、テクスチャ色ＴＸＣのＡ成分（Ａｔ，Ａｔ，Ａｔ）と、シェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ）と、シェーディング色ＳＨＤＣ（Ａｆ，Ａｆ，Ａｆ）のうちの１色を選択して乗算器１００６に出力する。
【００８６】
入力選択回路１００４は、図示しない制御系からの指示に従って、テクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と、シェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ）と（０，０，０）のうちの１色を選択して加算器１００７に出力する。
【００８７】
加算器１００５は、入力選択回路１００１が出力されたＲＧＢ成分から入力選択回路１００２から出力されたＲＧＢ成分をＲＧＢの成分ごとに減算（変調）して第１の変調色情報を乗算器１００６に出力する。
【００８８】
乗算器１００６は、加算器１００５の出力ＲＧＢ成分と入力選択回路１００３で選択されたＲＧＢ成分またはＡ成分とを乗算（変調）して第２の変調色情報を加算器１００７に出力する。
【００８９】
加算器１００７は、乗算器１００６から出力された第２の変調色情報に含まれるＲＧＢ成分、Ａ成分と入力選択回路１００４で選択されたＲＧＢ成分を要素毎に加算し、これにより最終的な出力ＲＧＢ成分、すなわち出力色ＯＴＣ（Ｒｖ，Ｇｖ，Ｂｖ）を得る。
【００９０】
図１３は、図１１のテクスチャブレンド回路の出力色Ａｖを算出する回路の一例を示す図である。
このテクスチャブレンド回路２０００は、乗算器２００１および入力選択回路２００２を有している。
【００９１】
乗算器２００１は、テクスチャ色ＴＸＣのＡ成分とシェーディング色ＳＨＤＣのＡ成分を乗算し、入力選択回路２００２に出力する。
【００９２】
入力選択回路２００２は、図示しない制御系からの指示に従って、乗算器２００１の乗算結果のＡ成分とテクスチャ色ＴＸＣのＡ成分、シエーディング色ＳＨＤＣのＡ成分のうちの１個を選択してＡ成分Ａｖとして出力する。
【００９３】
上述したテクスチャブレンド回路は、シェーディング色のＡ成分Ａｆを乗算器１００６への入力選択回路１００３に入力するパスを有することから、ハードウェアの規模を大きくしたり処理速度を低下させずに、リアリティの高い表示画像の生成を行うことができる。
【００９４】
次に、テクスチャブレンド回路として図１２および図１３の回路を含むグラフィックスプロセッサを用いて、本第１の実施形態のディフューズマッピング処理を行う手順について、図１４のフローチャートに関連付けて説明する。
【００９５】
ステップＳＴ１１
まず、ステップＳＴ１１において、図１２および図１３のテクスチャブレンド回路の設定として、図示しない制御系の指示に従って、入力選択回路１００１の選択色をテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）とし、入力選択回路１００２の選択色を（０，０，０）とし、入力選択回路１００３の選択色をシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）とし、入力選択回路１００４の選択色をシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とし、入力選択回路２００２の選択値をシェーディング色ＳＨＤＣのＡ成分Ａｆとする。
【００９６】
物体表面に張り詰められた各ポリゴン（多角形）について、以下の処理を行う。
【００９７】
ステップＳＴ１２
ステップＳＴ１２において、各頂点について上記（３）式で示される鏡面反射成分ＭＲＣ（Ｒｓ，Ｇｓ，ＢＳ）を算出する。
【００９８】
ステップＳＴ１３
ステップＳＴ１３において、各頂点について上記（２）式で示される拡散反射成分ＤＲＣ（Ｒｄ，Ｇｄ，Ｂｄ）を算出する。
ただし、この算出にあたり、（２）式のうち、（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を（１，１，１）とし、（Ｒｌｄ，Ｇｌｄ，Ｂｌｄ）をたとえば、Ｒｌｄ，Ｇｌｄ，Ｂｌｄの最大値ｍを用いて（ｍ，ｍ，ｍ）などとして算出する。
この結果、Ｒｄ＝Ｇｄ＝Ｂｄ＝Ｍｄとなる拡散反射成分ＤＲＣが得られる。
【００９９】
ステップＳＴ１４
ステップＳＴ１４においては、ステップＳＴ１２で得られた鏡面反射成分ＭＲＣ（Ｒｓ，Ｇｓ，Ｂｓ）とステップＳＴ１３で得られた拡散反射成分Ｍｄ（＝Ｒｄ＝Ｇｄ＝Ｂｄ）を用いて、頂点色（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）に（Ｒｓ，Ｇｓ，Ｂｓ，Ｍｄ）をそれぞれ格納する。
【０１００】
ステップＳＴ１５
ステップＳＴ１５において、各頂点にテクスチャ画像内のどの画素を参照するかを示すテクスチャ座標を割り当てる。
【０１０１】
以上のステップＳＴ１２からステップＳＴ１５までの処理を行うと、拡散反射成分ＤＲＣをＡｆ成分にもち、鏡面反射成分ＭＲＣをＲｆ，Ｇｆ，Ｂｆにもつ頂点色とテクスチャ座標を、各ポリゴンの頂点に持たせることができる。
以上のステップＳＴ１２からステップＳＴ１５までの処理は、図１０のＣＰＵ１０１において行われる。
【０１０２】
ステップＳＴ１６
図１１のグラフィックスプロセッサ１０４の入力として、ステップＳＴ１２からステップＳＴ１５まで行ったポリゴンから、頂点座標ＴＣＯと頂点色情報ＴＣＩ、テクスチャ座標ＴＸＣＯを入力するとともに、テクスチャ情報ＴＸＩには上記（２）式の物体の拡散反射の際の反射率（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を画像として保持しているテクスチャ画像を入力する。
このテクスチャ画像は、図１０のビデオメモリ１０３中に保持されており、テクスチャマッピング回路２０１が必要に応じてビデオメモリ１０３にアクセスし、所望のテクスチャ色ＴＸＣを得られるようになっている。
また、本第１の実施形態の場合には、テクスチャ環境色ＴＸＥＣは使用しないのでどんな値であっても構わないが、この設定はＣＰＵ１０１からグラフィックスプロセッサ１０４に対して、たとえば（０，０，０）を指定する。
【０１０３】
以上の手順により、グラフィックスプロセッサ１０４は稼動できるようになり、図１２および図１３のテクスチャブレンド回路１０００，２０００にテクスチャ環境色ＴＸＥＣとテクスチャ色ＴＸＣ、シェーディング色ＳＨＤＣが入力される。
【０１０４】
上記ステップＳＴ１１で行われた入力選択回路１００１〜１００４、２００２の設定により、図１２および図１３において、以下の処理が行われる。
【０１０５】
ステップＳＴ１７
ステップＳＴ１７においては、図１２の回路の加算器１００５で入力選択回路１００１により選択されたテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００２により選択された（０，０，０）との加算（減算）が行われる。
乗算器１００６では、加算器１００５の出力の（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００４により選択されたシェーディング色のＡ成分（Ａｆ，Ａｆ，Ａｆ）とが乗算される、
そして、加算器１００７において、乗算器１００６の出力の（ＲｔＡｆ，ＧｔＡｆ，ＢｔＡｆ）と入力選択回路１００４により選択されたシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とが加算される。
結果として、加算器１００７による出力色（Ｒｖ，Ｇｖ，Ｂｖ）は（ＲｔＡｆ＋Ｒｆ，ＧｔＡｆ＋Ｇｆ，ＢｔＡｆ＋Ｂｆ）となる。
【０１０６】
ステップＳＴ１８
また、ステップＳＴ１８において、図１３の回路の乗算器２００１により２００１でテクスチャ色ＴＸＣのＡ成分Ａｔとシェーディング色ＳＨＤＣのＡ成分Ａｆとが乗算され、入力選択回路２００２に供給されるが、入力選択回路２００２においては、シェーディング色ＳＨＤＣのＡ成分Ａｆが選択される。
したがって、図１３の回路の出力色ＡｖはＡｆとなる。
【０１０７】
ステップＳＴ１４において、シェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）に鏡面反射成分ＭＲＣを格納し、Ａ成分Ａｆに白色物体に対する拡散反射成分ＤＲＣの最大輝度を格納していることから、テクスチャ色ＴＸＣによる変調を考慮すると、次の（４）式で示されるライティング計算式を実行していることになる。
【０１０８】
【数４】
0003780954.tif 000005
【０１０９】
この結果、白色光源下でのディフューズマッピングを行った拡散反射成分ＤＲＣとＲＧＢ３成分を有する鏡面反射成分ＭＲＣとを合成することが可能となった。
白色光源下という制限付のディフューズマッピングではあるが、模様のついた物体に対する拡散反射による陰影付けでは多くの場合白色光源が使用されているため大きな問題とはならない。
その上、本第１の実施形態によれば、上記の拡散反射成分算出結果に対してＲＧＢ３成分の鏡面反射成分によって輝きを表現することが可能となる。
しかも、本第１の実施形態によれば、図１２の太い実線で示したように入力選択回路１００３における入力色を増加させただけであり、演算器の増加はほとんどなく、演算処理時間を増大させることはなく、ハードウェアの規模を大きくしり処理速度を低下させずに、リアリティの高い表示画像の生成を行うことができる。
【０１１０】
第２の実施形態
本第２の実施形態は、ＲＧＢ３成分を持つ拡散反射成分とグロスマッピングを行った場合と同等の鏡面反射成分とを合成することにより、リアリティの高い表示画像の生成を行う場合である。
本第２の実施形態においても、物体表面での反射を図１に示す反射モデルで考慮しており、上記（１）式で示されるように、上記（２）式の拡散反射成分ＤＲＣと上記（３）式の鏡面反射成分ＭＲＣの和によって物体の表面色が決まるとしている。
特に、本第２の実施形態は、上記（３）式の鏡面反射成分ＭＲＣの（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）をテクスチャ画像中のテクスチャ色により置き換えるグロスマッピング処理の例である。
グロスマッピングを行う場合、白色光源下でライティング処理を行う場合が非常に多い。
本第２の実施形態ではその点に着目し、光源色の拡散反射項（Ｒｌｓ，Ｇｌｓ，Ｂｌｓ）を単色（Ｒｌｓ＝Ｇｌｓ＝Ｂｌｓ）として上記（３）式を扱うこととする。
【０１１１】
本第２の実施形態においては、図１０の画像生成システムにおけるグラフィックスプロセッサの回路ブロックとして、第１の実施形態と同様に、図１１に回路が適用される。そして、上述したように、テクスチャブレンド回路ブロックについては、前述のコンピュータグラフィックスの標準インターフェースとされる「ＯｐｅｎＧＬ」により図２に示すテクスチャブレンド方法が規定されている。
また、本第２の実施形態に係る図１１のテクスチャブレンド回路には、第１の実施形態と同様に、図１２および図１３に回路が適用される。
これら図１１〜図１３に係る回路構成については、基本的に第１の実施形態の場合と同様であることから、ここでは、その詳細な説明は省略する。
【０１１２】
以下に、テクスチャブレンド回路として図１２および図１３の回路を含むグラフィックスプロセッサを用いて、本第２の実施形態のグロスマッピング処理を行う手順について、図１５のフローチャートに関連付けて説明する。
【０１１３】
ステップＳＴ２１
まず、ステップＳＴ２１において、図１２および図１３のテクスチャブレンド回路の設定として、図示しない制御系の指示に従って、入力選択回路１００１の選択色をテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）とし、入力選択回路１００２の選択色を（０，０，０）とし、入力選択回路１００３の選択色をシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）とし、入力選択回路１００４の選択色をシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とし、入力選択回路２００２の選択値をシェーディング色ＳＨＤＣのＡ成分Ａｆとする。
【０１１４】
物体表面に張り詰められた各ポリゴン（多角形）について、以下の処理を行う。
【０１１５】
ステップＳＴ２２
ステップＳＴ２２において、各頂点について上記（３）式で示される鏡面反射成分ＭＲＣ（Ｒｓ，Ｇｓ，Ｂｓ）を算出する。
ただし、この算出にあたり、（３）式のうち、（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を（１，１，１）とし、（Ｒｌｓ，Ｇｌｓ，Ｂｌｓ）をたとえば、Ｒｌｓ，Ｇｌｓ，Ｂｌｓの最大値ｍを用いて（ｍ，ｍ，ｍ）などとして算出する。
この結果、Ｒｓ＝Ｇｓ＝Ｂｓ＝Ｍｓとなる拡散反射成分ＤＲＣが得られる。
【０１１６】
ステップＳＴ２３
ステップＳＴ２３において、各頂点について上記（２）式で示される拡散反射成分ＤＲＣ（Ｒｄ，Ｇｄ，Ｂｄ）を算出する。
【０１１７】
ステップＳＴ２４
ステップＳＴ２４においては、ステップＳＴ２３で得られた拡散反射成分ＤＲＣ（Ｒｄ，Ｇｄ，Ｂｄ）とステップＳＴ２２で得られた鏡面反射成分Ｍｓ（＝Ｒｓ＝Ｇｓ＝Ｂｓ）を用いて、頂点色（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）に（Ｒｄ，Ｇｄ，Ｂｄ，Ｍｓ）をそれぞれ格納する。
【０１１８】
ステップＳＴ２５
ステップＳＴ２５において、各頂点にテクスチャ画像内のどの画素を参照するかを示すテクスチャ座標を割り当てる。
【０１１９】
以上のステップＳＴ２２からステップＳＴ２５までの処理を行うと、鏡面反射成分ＭＲＣをＡｆ成分にもち、拡散反射成分ＤＲＣをＲｆ，Ｇｆ，Ｂｆにもつ頂点色とテクスチャ座標を、各ポリゴンの頂点に持たせることができる。
以上のステップＳＴ２２からステップＳＴ２５までの処理は、図１０のＣＰＵ１０１において行われる。
【０１２０】
ステップＳＴ２６
図１１のグラフィックスプロセッサ１０４の入力として、ステップＳＴ２２からステップＳＴ２５まで行ったポリゴンから、頂点座標ＴＣＯと頂点色情報ＴＣＩ、テクスチャ座標ＴＸＣＯを入力するとともに、テクスチャ情報ＴＸＩには上記（３）式の物体の鏡面反射の際の反射率（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を画像として保持しているテクスチャ画像を入力する。
このテクスチャ画像は、図１０のビデオメモリ１０３中に保持されており、テクスチャマッピング回路２０１が必要に応じてビデオメモリ１０３にアクセスし、所望のテクスチャ色ＴＸＣを得られるようになっている。
また、本第２の実施形態の場合には、テクスチャ環境色ＴＸＥＣは使用しないのでどんな値であっても構わないが、この設定はＣＰＵ１０１からグラフィックスプロセッサ１０４に対して、たとえば（０，０，０）を指定する。
【０１２１】
以上の手順により、グラフィックスプロセッサ１０４は稼動できるようになり、図１２および図１３のテクスチャブレンド回路１０００，２０００にテクスチャ環境色ＴＸＥＣとテクスチャ色ＴＸＣ、シェーディング色ＳＨＤＣが入力される。
【０１２２】
上記ステップＳＴ２１で行われた入力選択回路１００１〜１００４、２００２の設定により、図１２および図１３において、以下の処理が行われる。
【０１２３】
ステップＳＴ２７
ステップＳＴ２７においては、図１２の回路の加算器１００５で入力選択回路１００１により選択されたテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００２により選択された（０，０，０）との加算（減算）が行われる。
乗算器１００６では、加算器１００５の出力の（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００４により選択されたシェーディング色のＡ成分（Ａｆ，Ａｆ，Ａｆ）とが乗算される。
そして、加算器１００７において、乗算器１００６の出力の（ＲｔＡｆ，ＧｔＡｆ，ＢｔＡｆ）と入力選択回路１００４により選択されたシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とが加算される。
結果として、加算器１００７による出力色（Ｒｖ，Ｇｖ，Ｂｖ）は（ＲｔＡｆ＋Ｒｆ，ＧｔＡｆ＋Ｇｆ，ＢｔＡｆ＋Ｂｆ）となる。
【０１２４】
ステップＳＴ２８
また、ステップＳＴ２８において、図１３の回路の乗算器２００１により２００１でテクスチャ色ＴＸＣのＡ成分Ａｔとシェーディング色ＳＨＤＣのＡ成分Ａｆとが乗算され、入力選択回路２００２に供給されるが、入力選択回路２００２においては、シェーディング色ＳＨＤＣのＡ成分Ａｆが選択される。
したがって、図１３の回路の出力色ＡｖはＡｆとなる。
【０１２５】
ステップＳＴ２４において、シェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）に拡散反射成分ＤＲＣを格納し、Ａ成分Ａｆに白色物体に対する鏡面反射成分ＭＲＣの最大輝度を格納していることから、テクスチャ色ＴＸＣによる変調を考慮すると、次の（５）式で示されるライティング計算式を実行していることになる。
【０１２６】
【数５】
0003780954.tif 000006
【０１２７】
この結果、白色光源下でのグロスマッピングを行った鏡面反射成分ＭＲＣとＲＧＢ３成分をもつ拡散反射成分ＤＲＣとを合成することが可能となった。
グロスマッピングは、雨上がりの水溜りのある地面など、鏡面反射成分ＭＲＣが場所毎に変化する面を表現する上で非常に有効な描画処理方法であるが、地面であれば鏡面反射成分ＭＲＣのほかに土の色を表現するための拡散反射成分ＤＲＣが必要である。
本第２の実施形態では、（５）式で示したようにグロスマッピングによる鏡面反射成分ＭＲＣのほかにＲＧＢ３成分をもつ拡散反射成分ＤＲＣを加算した結果を出力できるため、上述の水溜りのある地面などは本発明の適用により、表現力を上げることができる好適な例である。
しかも、本第２の実施形態によれば、第１の実施形態の場合と同様に、図１２の太い実線で示したように入力選択回路１００３における入力色を増加させただけであり、演算器の増加はほとんどなく、演算処理時間を増大させることはなく、ハードウェアの規模を大きくしたり処理速度を低下させずに、リアリティの高い表示画像の生成を行うことができる。
【０１２８】
第３の実施形態
第３の実施形態は、本発明をディフューズマッピングとグロスマッピングを同時に処理するグラフィックスプロセッサに適用した場合である。
【０１２９】
図１６は、本第３の実施形態に係るディフューズマッピングとグロスマッピングを同時に処理するグラフィックスプロセッサの構成例を示すブロック図である。
【０１３０】
本第３の実施形態に係るグラフィックスプロセッサ１０４Ａは、図１６に示すように、第１の回路としての第１のテクスチャマッピング回路３０１、第２の回路としての内挿回路（ＤＤＡ）３０２、第３の回路としての第１のテクスチャブレンド回路３０３、第４の回路としての第２のテクスチャマッピング回路３０４、および第５の回路としての第２のテクスチャブレンド回路３０５を有している。
なお、図１６において、ＴＸＩ１はテクスチャ情報１、ＴＸＩ２はテクスチャ情報２、ＴＸＣＯ１はテクスチャ座標１、ＴＸＣＯ２はテクスチャ座標２、ＴＣＯは頂点座標、ＴＣＩ１は頂点色情報１、ＴＸＣ１はテクスチャ色１、ＴＸＣ２はテクスチャ色２、ＴＸＥＣ１はテクスチャ環境色１、ＴＸＥＣ２はテクスチャ環境色２、ＳＨＤＣ１はシェーディング色１、ＳＨＤＣ２はシェーディング色２、ＯＴＣは出力色をそれぞれ示している。
【０１３１】
図５に示したディフューズマッピングとグロスマッピングを同時並列的に行う場合には、図１１のテクスチャマッピング回路ブロックが少なくとも２ブロック必要である。
また、図１１のテクスチャブレンド回路ブロックにおけるテクスチャブレンド方法を、前述のコンピュータグラフィックスの標準インターフェースとされる「ＯｐｅｎＧＬ」に合わせてディフューズマッピングとグロスマッピングを同時に処理する場合には図６に示す回路ブロック構成のグラフィックスプロセッサが必要になる。
しかし、本第３の実施形態に係る図１６のグラフィックスプロセッサ１０４Ａは、図６の内挿回路３５と加算器３７を削減した構成と等価な回路構成によりディフューズマッピングとグロスマッピングの同時処理を実現している。
【０１３２】
また、本第３の実施形態では、テクスチャ情報１、テクスチャ座標１、頂点色情報１で拡散反射成分を扱い、テクスチャ情報２、テクスチャ座標２で鏡面反射成分を扱う。
頂点色情報１で扱う拡散反射成分は、上記（２）式の（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を（１，１，１）として行った計算結果を入力する。
【０１３３】
第１のテクスチャマッピング回路３０１は、ＣＰＵ１０１からメインバス１０５を介して供給される頂点座標ＴＣＯ、テクスチャ座標ＴＸＣＯ１、およびテクスチャ情報ＴＸＩ１に基づいて、ポリゴン内の各点に貼り付ける第１のテクスチャ色ＴＸＣ１（Ｒｔ１，Ｇｔ１，Ｂｔ１，Ａｔ１）を取り出し、第１のテクスチャブレンド回路３０３に出力する。
テクスチャ情報ＴＸＩ１には（２）式の（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）に使用するためのテクスチャ画像が格納されている。
【０１３４】
内挿回路３０２は、ＣＰＵ１０１からメインバス１０５を介して供給される頂点座標ＴＣＯと頂点色情報ＴＣＩ１に基づいて、ポリゴン内の各点のシェーディング色ＳＨＤＣ（Ｒｆ１，Ｇｆ１，Ｂｆ１，Ａｆ１）を内挿計算により求め、テクスチャブレンド回路３０３に出力する。
【０１３５】
テクスチャブレンド回路３０３は、第１のテクスチャマッピング回路３０１から供給された第１のテクスチャ色ＴＸＣ１（Ｒｔ１，Ｇｔ１，Ｂｔ１，Ａｔ１）と内挿回路３０２から供給されたシェーディング色ＳＨＤＣ１（Ｒｆ１，Ｇｆ１，Ｂｆ１，Ａｆ１）を入力として、ＲＧＢの各成分毎に乗算を行い、その結果を第２のシェーディング色ＳＨＤＣ２（Ｒｆ２，Ｇｆ２，Ｂｆ２，Ａｆ２）として第２のテクスチャブレンド回路３０５に出力する。
【０１３６】
第２のテクスチャマッピング回路３０４は、ＣＰＵ１０１からメインバス１０５を介して供給される頂点座標ＴＣＯ、テクスチャ座標ＴＸＣＯ２、およびテクスチャ情報ＴＸＩ２に基づいて、ポリゴン内の各点に貼り付ける第２のテクスチャ色ＴＸＣ２（Ｒｔ２，Ｇｔ２，Ｂｔ２，Ａｔ２）を取り出し、第２のテクスチャブレンド回路３０５に出力する。
テクスチャ情報ＴＸＩ２には（３）式の（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）に使用するためのテクスチャ画像が格納されている。
【０１３７】
第２のテクスチャブレンド回路３０５は、第２のテクスチャマッピング回路３０４から供給された第２のテクスチャ色ＴＸＣ２（Ｒｔ２，Ｇｔ２，Ｂｔ２，Ａｔ２）と第１のテクスチャブレンド回路３０３から供給された第２のシェーディング色ＳＨＤＣ２（Ｒｆ２，Ｇｆ２，Ｂｆ２，Ａｆ２）を入力として、次の計算により出力色ＯＴＣ（Ｒｖ，Ｇｖ，Ｂｖ，Ａｖ）を得る。
【０１３８】
【数６】
Ｒｖ＝Ｒｆ２＋Ａｆ２＊Ｒｔ２
Ｇｖ＝Ｇｆ２＋Ａｆ２＊Ｇｔ２
Ｂｖ＝Ｂｆ２＋Ａｆ２＊Ｂｔ２
Ａｖ＝Ａｆ２
【０１３９】
この乗算処理は図２で示す「ＯｐｅｎＧＬ」のテクスチャブレンド処理のうちの「ＭＯＤＵＬＡＴＥ」と呼ばれる処理である。
なお、「ＯｐｅｎＧＬ」のテクスチャブレンド方法を実現できる第３の実施形態に係る第１および第２のテクスチャブレンド回路３０３，３０５の実現例としては、上述した第１および第２の実施形態と同様に、図１２および図１３が適用される。
これら図１１〜図１３に係る回路構成については、基本的に第１の実施形態の場合と同様であることから、ここでは、その詳細な説明は省略する。
【０１４０】
以下に、第１および第２のテクスチャブレンド回路として図１２および図１３の回路を含むグラフィックスプロセッサを用いて、本第３の実施形態のディフューズマッピング処理とグロスマッピング処理を同時並列的に行う手順について、図１７のフローチャートに関連付けて説明する。
【０１４１】
ステップＳＴ３１
まず、ステップＳＴ３１において、図１２および図１３の第１のテクスチャブレンド回路３０３の設定として、図示しない制御系の指示に従って、入力選択回路１００１の選択色をテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）とし、入力選択回路１００２の選択色を（０，０，０）とし、入力選択回路１００３の選択色をシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）とし、入力選択回路１００４の選択色を（０，０，０）とし、入力選択回路２００２の選択値をシェーディング色ＳＨＤＣのＡ成分Ａｆとする。
この設定により、図１６のテクスチャブレンド回路１０４Ａの出力はテクスチャ色（ＲｔＲｆ，ＧｔＧｆ，ＢｔＢｆ）となる。これは「ＯｐｅｎＧＬ」で定義されているＭＯＤＵＬＡＴＥ処理である。
【０１４２】
ステップＳＴ３２
ステップＳＴ３２において、図１２および図１３の第２のテクスチャブレンド回路３０５の設定として、図示しない制御系の指示に従って、入力選択回路１００１の選択色をテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）とし、入力選択回路１００２の選択色を（０，０，０）とし、入力選択回路１００３の選択色をシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）とし、入力選択回路１００４の選択色を（Ｒｆ，Ｇｆ，Ｂｆ）とし、入力選択回路２００２の選択値をシェーディング色ＳＨＤＣのＡ成分Ａｆとする。
この設定により、図１６のテクスチャブレンド回路の出力はテクスチャ色（ＲｔＡｆ＋Ｒｆ，ＧｔＡｆ＋Ｇｆ，ＢｔＡｆ＋Ｂｆ）となる。
【０１４３】
このグラフィックスプロセッサに入力するデータは物体表面に張り詰められた各ポリゴン（多角形）について図１０のシステム内のＣＰＵ１０１で処理を行ったものである。この処理は次のステップＳＴ３３からステップＳＴ３７の処理にによって行われる。
【０１４４】
ステップＳＴ３３
ステップＳＴ３３において、各頂点について上記（３）式で示される鏡面反射成分ＭＲＣ（Ｒｓ，Ｇｓ，ＢＳ）を算出する。
ただし、この算出にあたり、（３）式のうち、（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を（１，１，１）とし、（Ｒｌｓ，Ｇｌｓ，Ｂｌｓ）をたとえば、Ｒｌｓ，Ｇｌｓ，Ｂｌｓの最大値ｍを用いて（ｍ，ｍ，ｍ）などとして算出する。
この結果、Ｒｓ＝Ｇｓ＝Ｂｓ＝Ｍｓとなる拡散反射成分ＤＲＣが得られる。
【０１４５】
ステップＳＴ３４
ステップＳＴ３４において、各頂点について上記（２）式で示される拡散反射成分ＤＲＣ（Ｒｄ，Ｇｄ，Ｂｄ）を算出する。
【０１４６】
ステップＳＴ３５
ステップＳＴ３５においては、ステップＳＴ３４で得られた拡散反射成分ＤＲＣ（Ｒｄ，Ｇｄ，Ｂｄ）とステップＳＴ３３で得られた鏡面反射成分Ｍｓ（＝Ｒｓ＝Ｇｓ＝Ｂｓ）を用いて、頂点色（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）に（Ｒｄ，Ｇｄ，Ｂｄ，Ｍｓ）をそれぞれ格納する。
【０１４７】
ステップＳＴ３６
ステップＳＴ３６において、各頂点にテクスチャ画像１内のどの画素を参照するかを示すテクスチャ座標１を割り当てる。
【０１４８】
ステップＳＴ３７
ステップＳＴ３７において、各頂点にテクスチャ画像２内のどの画素を参照するかを示すテクスチャ座標２を割り当てる。
【０１４９】
以上のステップＳＴ３３からステップＳＴ３７までの処理を行うと各ポリゴンの頂点に、テクスチャ座標１、２と、Ｒｆ，Ｇｆ，Ｂｆに拡散反射成分ＤＲＣ、Ａｆに鏡面反射成分ＭＲＣを格納した頂点色を持たせることができる。
【０１５０】
ステップＳＴ３８
図１６のグラフィックスプロセッサ１０４Ａの入力として、ステップＳＴ３３からステップＳＴ３７まで行ったポリゴンから、頂点座標ＴＣＯと頂点色情報ＴＣＩ、テクスチャ座標ＴＸＣＯ１とテクスチャ座標ＴＸＣＯ２を入力するとともに、テクスチャ情報ＴＸＩ１には（２）式の物体の拡散反射の際の反射率（Ｒｏｄ，Ｇｏｄ，Ｂｏｄ）を画像として保持しているテクスチャ画像を入力する。
また、テクスチャ情報ＴＸＩ２には（３）式の物体の鏡面反射の際の反射率（Ｒｏｓ，Ｇｏｓ，Ｂｏｓ）を画像として保持しているテクスチャ画像を入力する。
これらのテクスチャ画像１，２は図１０のビデオメモリ１０３中に保持されており、図１６の第１のテクスチャブレンド回路３０３および第２のテクスチャブレンド回路３０５が必要に応じてビデオメモリ１０３にアクセスし、所望のテクスチャ色を得られるようになっている。
また、本第３の実施形態の場合には、テクスチャ環境色ＴＸＥＣ１、２は使用しないのでどんな値であっても構わないが、この設定はＣＰＵ１０１からグラフィックスプロセッサ１０４Ａに対して、たとえば（０，０，０）を指定する。
【０１５１】
以上の手順により、グラフィックスプロセッサ１０４Ａは稼動できるようになり、図１２および図１３のテクスチャブレンド回路１０００，２０００にテクスチャ環境色ＴＸＥＣとテクスチャ色ＴＸＣ、シェーディング色ＳＨＤＣが入力される。
【０１５２】
上記ステップＳＴ３２で行われた入力選択回路１００１〜１００４、２００２の設定により、図１２および図１３において、以下の処理が行われる。
【０１５３】
ステップＳＴ３９
ステップＳＴ３９においては、図１２の回路の加算器１００５で入力選択回路１００１により選択されたテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００２により選択された（０，０，０）との加算（減算）が行われる。
乗算器１００６では、加算器１００５の出力の（Ｒｔ，Ｇｔ，Ｂｔ）と入力選択回路１００４により選択されたシェーディング色のＡ成分（Ａｆ，Ａｆ，Ａｆ）とが乗算される、
そして、加算器１００７において、乗算器１００６の出力の（ＲｔＡｆ，ＧｔＡｆ，ＢｔＡｆ）と入力選択回路１００４により選択されたシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とが加算される。
結果として、加算器１００７による出力色（Ｒｖ，Ｇｖ，Ｂｖ）は（ＲｔＡｆ＋Ｒｆ，ＧｔＡｆ＋Ｇｆ，ＢｔＡｆ＋Ｂｆ）となる。
【０１５４】
ステップＳＴ４０
また、ステップＳＴ４０において、図１３の回路の乗算器２００１により２００１でテクスチャ色ＴＸＣのＡ成分Ａｔとシェーディング色ＳＨＤＣのＡ成分Ａｆとが乗算され、入力選択回路２００２に供給されるが、入力選択回路２００２においては、シェーディング色ＳＨＤＣのＡ成分Ａｆが選択される。
したがって、図１３の回路の出力色ＡｖはＡｆとなる。
【０１５５】
以上の手順により、図１６のグラフィックスプロセッサ１０４Ａは稼動できるようになり、下記の（６）式で示されるラィティング計算式を実行していることになる。
【０１５６】
【数７】
0003780954.tif 000007
【０１５７】
この結果、白色光源下でのグロスマッピングを行った鏡面反射成分ＭＲＣとディフューズマッピングを行った拡散反射成分ＤＲＣとを合成することができる。しかも、本第３の実施形態によれば、第１および第２の実施形態の場合と同様に、図１２の太い実線で示したように入力選択回路１００３における入力色を増加させただけであり、演算器の増加はほとんどなく、演算処理時間を増大させることはなく、ハードウェアの規模を大きくしり処理速度を低下させずに、リアリティの高い表示画像の生成を行うことができることはもとより、グラフィックスプロセッサの構成ブロックである内挿回路と加算器を削減することができる。
すなわち、第３の実施形態によれば、図１２で行った回路の改善に要したハードウェア規模の増加に比べ、図１６で行ったハードウェア規模の減少は著しく、本発明の有効性が確認できる。
【０１５８】
第４の実施形態
本第４の実施形態は、本発明をグラフィックスプロセッサに適用し、シェーディング色とテクスチャ色の合成を行う際の合成率の変更が容易になることを示す例である。
本第４の実施形態では、シェーディング色中のＡ成分Ａｆを単純にシェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ）とテクスチャ色ＴＸＣ（Ｒｔ，Ｇｔ，Ｂｔ）の合成比率として処理を行う。
【０１５９】
本第４の実施形態においては、図１０の画像生成システムにおけるグラフィックスプロセッサの回路ブロックとして、第１および第２の実施形態と同様に、図１１に回路が適用される。そして、上述したように、テクスチャブレンド回路ブロックについては、前述のコンピュータグラフィックスの標準インターフェースとされる「ＯｐｅｎＧＬ」により図３に示すテクスチャブレンド方法が規定されている。
また、本第４の実施形態に係る図１１のテクスチャブレンド回路には、第１および第２の実施形態と同様に、図１２および図１３の回路が適用される。
これら図１１〜図１３に係る回路構成については、基本的に第１の実施形態の場合と同様であることから、ここでは、その詳細な説明は省略する。
【０１６０】
以下に、テクスチャブレンド回路として図１２および図１３の回路を含むグラフィックスプロセッサを用いて、本第４の実施形態のシェーディング色とテクスチャ色の合成処理を行う手順について、図１８のフローチャートに関連付けて説明する。
【０１６１】
ステップＳＴ４１
まず、ステップＳＴ４１において、図１２および図１３のテクスチャブレンド回路の設定として、図示しない制御系の指示に従って、入力選択回路１００１の選択色をテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）とし、入力選択回路１００２の選択色をシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とし、入力選択回路１００３の選択色をシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）とし、入力選択回路１００４の選択色をシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とし、入力選択回路２００２の選択値をシェーディング色ＳＨＤＣのＡ成分Ａｆとする。
【０１６２】
物体表面に張り詰められた各ポリゴン（多角形）について、以下の処理を行う。
【０１６３】
ステップＳＴ４２
ステップＳＴ４２において、各頂点について頂点色の（Ｒｆ，Ｇｆ，Ｂｆ）を算出する。
この算出は、上記（１）式で与えられるライティング処理による色情報算出であっても、単に固定色を指定するのみであっても構わない。
【０１６４】
ステップＳＴ４３
ステップＳＴ４３において、各頂点にテクスチャ画像内のどの画素を参照するかを示すテクスチャ座標を割り当てる。
【０１６５】
ステップＳＴ４４
ステップＳＴ４４においては、各頂点について頂点色の（Ｒｆ，Ｇｆ，Ｂｆ）とテクスチャ画像内の画素から得られるテクスチャ色（Ｒｔ，Ｇｔ，Ｂｔ）とを合成する合成比率をＡｆとして指定し、頂点色（Ｒｆ，Ｇｆ，Ｂｆ，Ａｆ）を決定する。
【０１６６】
以上のステップＳＴ４２からステップＳＴ４４までの処理を行うと、混合比率をＡｆ成分にもつ頂点色とテクスチャ座標を、各ポリゴンの頂点に持たせることができる。
ステップＳＴ４２からステップＳＴ４４の処理は、図１０のＣＰＵ１０１において行われる処理である。
【０１６７】
ステップＳＴ４５
図１１のグラフィックスプロセッサの入力として、ステップＳＴ４２からステップＳＴ４４まで行ったポリゴンから、頂点座標ＴＣＯと頂点色情報ＴＣＩ、テクスチャ座標ＴＸＣＯを入力するとともに、テクスチャ情報ＴＸＩには合成に用いるテクスチャ画像を入力する。
このテクスチャ画像は、図１０のビデオメモリ１０３中に保持されており、図１１のテクスチャマッピング回路２０１が必要に応じてビデオメモリ１０３にアクセスし、所望のテクスチャ色を得られるようになっている。
また、本第４の実施形態の場合には、テクスチャ環境色ＴＸＥＣは使用しないのでどんな値であっても構わないが、この設定はＣＰＵ１０１からグラフィックスプロセッサ１０４に対して、たとえば（０，０，０）を指定する。
【０１６８】
以上の手順により、グラフィックスプロセッサ１０４は稼動できるようになり、図１２および図１３のテクスチャブレンド回路１０００，２０００にテクスチャ環境色ＴＸＥＣとテクスチャ色ＴＸＣ、シェーディング色ＳＨＤＣが入力される。
【０１６９】
上記ステップＳＴ４１で行われた入力選択回路１００１〜１００４、２００２の設定により、図１２および図１３において、以下の処理が行われる。
【０１７０】
ステップＳＴ４６
ステップＳＴ４６においては、図１２の回路の加算器１００５で入力選択回路１００１により選択されたテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）から入力選択回路１００２により選択されたシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）が減算される。
乗算器１００６では、加算器１００５の出力の（Ｒｔ−Ｒｆ，Ｇｔ−Ｇｆ，Ｂｔ−Ｂｆ）と入力選択回路１００４により選択されたシェーディング色のＡ成分（Ａｆ，Ａｆ，Ａｆ）とが乗算される。
そして、加算器１００７において、乗算器１００６の出力の（ＲｔＡｆ−ＲｆＡｆ，ＧｔＡｆ−ＧｆＡｆ，ＢｔＡｆ−ＢｆＡｆ）と入力選択回路１００４により選択されたシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）とが加算される。
結果として、加算器１００７による出力色（Ｒｖ，Ｇｖ，Ｂｖ）は（ＡｆＲｔ＋（１−Ａｆ）Ｒｆ，ＡｆＧｔ＋（１−Ａｆ）Ｇｆ，ＡｆＢｔ＋（１−Ａｆ）Ｂｆ）となる。
【０１７１】
ステップＳＴ４７
また、ステップＳＴ４７において、図１３の回路の乗算器２００１により２００１でテクスチャ色ＴＸＣのＡ成分Ａｔとシェーディング色ＳＨＤＣのＡ成分Ａｆとが乗算され、入力選択回路２００２に供給されるが、入力選択回路２００２においては、シェーディング色ＳＨＤＣのＡ成分Ａｆが選択される。
したがって、図１３の回路の出力色ＡｖはＡｆとなる。
【０１７２】
この結果、出力色（Ｒｖ，Ｇｖ，Ｂｖ）はテクスチャ色ＴＸＣとシェーディング色ＳＨＤＣが混合比Ａｆで混合されている。
ＡｆはＣＰＵ１０１側で容易に操作できるため、合成比率を容易に変えることができる。
【０１７３】
「ＯｐｅｎＧＬ」の「ＢＬＥＮＤ」ではテクスチャ画像のＡｔを全画素について変更しなければならないため、リアルタイムに合成比率を変化させることが必要な動画像のエフェクト処理には向かない。
【０１７４】
さらに、２枚のテクスチャ画像を扱うことが可能な図１６のグラフィックスプロセッサ１０４Ａの第２のテクスチャブレンド回路３０５に本発明を適用し、ステップＳＴ４１の設定を行い、第１のテクスチャブレンド回路３０３では「ＯｐｅｎＧＬ」で規定されている「ＲＥＰＬＡＣＥ」処理を行い、内挿回路３０２から入力されるシェーディング色ＳＨＤ１のＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）をテクスチャ色ＴＸＣ１のＲＧＢ成分Ｒｔ１，Ｇｔ１，Ｂｔ１）で置き換えれば、出力色（Ｒｖ，Ｇｖ，Ｂｖ）は頂点色情報ＴＣＩ１のＡｆｌを混合率として、テクスチャ色ＴＸＣ１とテクスチャ色ＴＸＣ２の混合を行った色情報となる。
つまり、テクスチャ画像１とテクスチャ画像２の混合率をＡｆによってＣＰＵ１０１側で容易に操作できるようになる。
【０１７５】
合成比率を変化させることで動画像１から動画像２への切替を行うことは良く行われており、ＣＰＵ１０１側で容易に操作できるＡｆによって、テクスチャ画像１からテクスチャ画像２への切替が行えるようになることで、グラフィックスプロセッサにおいても動画像の切替処理が容易にできるようになる。
しかも、本第４の実施形態によれば、第１および第２の実施形態の場合と同様に、図１２の太い実線で示したように入力選択回路１００３における入力色を増加させただけであり、演算器の増加はほとんどなく、演算処理時間を増大させることはなく、ハードウェアの規模を大きくしたり処理速度を低下させずに、リアリティの高い表示画像の生成を行うことができる。
【０１７６】
図１９は、本発明を適用したテクスチャブレンド方法のＲＧＢ成分の処理を実現するテクスチャブレンド回路の他の例を示す図である。
【０１７７】
このテクスチャブレンド回路１０００Ａが、図１２のテクスチャブレンド回路１０００と異なる点は、入力選択回路１００３Ａおよび入力選択回路１００４Ａの選択する色にある。
すなわち、入力選択回路１００３Ａは、図示しない制御系からの指示に従って、テクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と、テクスチャ色ＴＸＣのＡ成分（Ａｔ，Ａｔ，Ａｔ）と、シェーディング色ＳＨＤＣ（Ｒｆ，Ｇｆ，Ｂｆ）と、シェーディング色ＳＨＤＣ（Ａｆ，Ａｆ，Ａｆ）の４つの色に加えて、テクスチャ環境色ＴＸＥＣを含む５つのうちの１色を選択して乗算器１００６に出力する。
また、入力選択回路１００４Ａは、図示しない制御系からの指示に従って、テクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）と、シェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）と（０，０，０）の３つの色に加えて、シェーディング色ＳＨＤＣのＡ成分Ａｆを含む４つのうちの１色を選択して加算器１００７に出力する。
【０１７８】
また、図２０は、本発明を適用したテクスチャブレンド方法のＡ成分の処理を実現するテクスチャブレンド回路の他の例を示す図である。
【０１７９】
この図２０のテクスチャブレンド回路２０００Ａが、図１３のテクスチャブレンド回路２０００と異なる点は、加算器２００３を追加した点と、入力選択回路２００２Ａの選択する色にある。
すなわち、加算器２００３は、テクスチャ色ＴＸＣのＡ成分Ａｔとシェーディング色ＳＨＤＣのＡ成分Ａｆとを加算して、入力選択回路２００２Ａに出力する。
入力選択回路２００２Ａは、図示しない制御系からの指示に従って、乗算器２００１の乗算結果のＡ成分とテクスチャ色ＴＸＣのＡ成分Ａｔ、シエーディング色ＳＨＤＣのＡ成分Ａｆの３つの色に加えて、加算器２００３の出力ＡｔＡｆを含む４つのうちの１色を選択してＡ成分Ａｖとして出力する。
【０１８０】
このような構成を有する図１９および図２０のテクスチャブレンド回路を用いることにより、図２１に示す５種類のテクスチャブレンド機能が追加される。
具体的には、「ＡＤＤ」、「ＨＩＬＩＧＨＴ」、「ＣＯＮＳＴＡＮＴ  ＣＯＬＯＲ  ＢＬＥＮＤ」、「ＦＲＡＧＭＥＮＴＡＬＰＨＡ  ＢＬＥＮＤ」および「ＷＥＩＧＨＴＥＤ  ＡＤＤ」の５種類のテクスチャブレンド機能である。
入力選択回路に対して総当りの場合を考えると更にテクスチャブレンド機能は追加されるが、テクスチャをまったく使わない組み合わせなど無意味な組み合わせがあるため、無駄に回路規模を大きくしないような配慮が必要である。
【０１８１】
本実施形態に係る図１２の回路構成によってもたらされるテクスチャブレンド機能は、図２１の中では、「ＷＥＩＧＨＴＥＤ  ＡＤＤ」と「ＦＲＡＧＭＥＮＴＡＬＰＨＡ  ＢＬＥＮＤ」として表現している。
【０１８２】
「ＷＥＩＧＨＴＥＤ  ＡＤＤ」は、図１２のテクスチャブレンド回路において、入力選択回路１００１ではテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）を選択して出力し、入力選択回路１００２は（０，０，０）を選択して出力し、入力選択回路１００３はシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）を選択して出力し、入力選択回路１００４はシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）を選択して出力する。
【０１８３】
図１３のテクスチャブレンド回路においては、テクスチャ画像がＲＧＢ成分のときには入力選択回路２００２でシェーディング色ＳＨＤＣのＡ成分Ａｆを選択して出力し、テクスチャ画像がＲＧＢＡ４成分のときには入力選択回路２００２では乗算器２００１の乗算結果を選択して出力することで実行できる。
【０１８４】
「ＦＲＡＧＭＥＮＴ  ＡＬＰＨＡ  ＢＬＥＮＤ」は、図１２のテクスチャブレンド回路において、入力選択回路１００１はテクスチャ色ＴＸＣのＲＧＢ成分（Ｒｔ，Ｇｔ，Ｂｔ）を選択して出力し、入力選択回路１００２はシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）を選択して出力し、入力選択回路１００３はシェーディング色ＳＨＤＣのＡ成分（Ａｆ，Ａｆ，Ａｆ）を選択して出力し、入力選択回路１００４はシェーディング色ＳＨＤＣのＲＧＢ成分（Ｒｆ，Ｇｆ，Ｂｆ）を選択して出力する。
【０１８５】
図１３のテクスチャブレンド回路においては、テクスチャ画像がＲＧＢ成分のときには入力選択回路２００２でシェーディング色ＳＨＤＣのＡ成分Ａｆを選択して出力し、テクスチャ画像がＲＧＢＡ４成分のときには入力選択回路２００２では乗算器２００１の乗算結果を選択して出力することで実行できる。
【０１８６】
図１９、図２０は、演算器数をあまり増加させずに演算器入力の選択可能にするだけで、様々なテクスチャブレンド方法を行うことを可能にした例であり、ハードウェア規模の増大を抑えながら多くの機能を提供できる回路構成となっている。
【０１８７】
【発明の効果】
以上説明したように、本発明によれば、画像データの各画素に対してテクスチャ画像から得た色情報を、各画素に与えられる複数の要素のデータ、たとえば単一ワード内に格納された４要素のデータのうちの１要素によって変調することができ、変調したテクスチャ色と残りの３要素のデータを合成することが可能となる。
この結果、画像データの各画素の鏡面反射成分ならびに拡散反射成分をそれぞれＲＧＢ３成分として別個に算出した後、合成することができる。
しかも、本発明は既存のグラフィックスプロセッサが備えるテクスチャブレンド回路中の乗算器回路に対し、上記の輝度１成分を入力可能に変更するのみで実現できるため、ほとんどハードウエア量の増量なしで実装することができる。
【０１８８】
本発明は、以上の性質を備えているため、物体色の鏡面反射成分と拡散反射成分とを別個に扱って表示画像のリアリティを向上させるにあたって、描画速度を劣化させずに、しかも、グラフィックスプロセッサなどのハードウエア規模をほとんど増大させることなく、ディフューズマッピングを行った場合と同等の拡散反射成分と、ＲＧＢ３成分を持つ鏡面反射成分との合成により、リアリティの高い表示画像の生成を行うことができる。
また、描画速度を劣化させずに、しかも、グラフィックスプロセッサなどのハードウエア規模をほとんど増大させることなく、グロスマッピングを行った場合と同等の鏡面反射成分と、ＲＧＢ３成分をもつ拡散反射成分との合成により、リアリティの高い表示画像の生成を行うことができる。
さらに、１枚のテクスチャマッピングを処理できるグラフィックスプロセッサの回路規模に比して２倍よりも小さな回路規模で、ディフューズマッピングとグロスマッピングを同時に処理できるグラフィックスプロセッサを構成することが可能となる。
【０１８９】
また、本発明によれば、画像データの各画素に対して与えられる単一ワード内の４要素のデータのうちの１要素を混合率として、テクスチャ色と残りの３要素のデータの混合を行うことができる。
この混合率は図１のＣＰＵ１０１で容易に制御できるため、テクスチャ画像中のＡ値の変更を行うことなく、テクスチャ色とシェーディング色の混合ができる。テクスチャ画像が動画像の場合や刻々と混合率が変化する場合には、テクスチャ画像のＡ値を変更することは難しく、本発明を用いた混合率の変化によるメリットは大きい。
【図面の簡単な説明】
【図１】光源からの光線が物体上で反射する様子をモデル化した図であって、物体表面での反射モデルを説明するための図である。
【図２】「ＯｐｅｎＧＬ」で定義されているテクスチャブレンド方法を示す図である。
【図３】「ＯｐｅｎＧＬ」で定義されたテクスチャブレンド方法のＲＧＢ成分の処理を実現する回路の一例を示す図である。
【図４】「ＯｐｅｎＧＬ」で定義されたテクスチャブレンド方法のＡ成分の処理を実現する回路の一例を示す図である。
【図５】ディフューズマッピングとグロスマッピングを用いた陰影付け処理を説明する図である。
【図６】「ＯｐｅｎＧＬ」準拠のテクスチャブレンド回路を用いた場合にグロスマッピング処理とディフューズマッピング処理を同時処理することができる回路を説明するための図である。
【図７】鏡面反射成分とディフューズマップによる拡散反射成分の合成処理を実現する回路の一例を示す図である。
【図８】特開平１０−３２６３５１号公報に記載された発明を適用したテクスチャブレンド回路の一例（ＲＧＢ成分）を示す図である。
【図９】特開平１０−３２６３５１号公報に記載された発明を適用したテクスチャブレンド回路の一例（Ａ成分）を示す図である。
【図１０】本発明に係る画像生成装置が適用される、コンピュータグラフィックス処理を行って表示画像生成を行う画像生成システムの一実施形態を示すブロック図である。
【図１１】図１０の画像生成システムにおけるグラフィックスプロセッサの具体的な構成例を示すブロック図である。
【図１２】本発明を適用したテクスチャブレンド方法のＲＧＢ成分の処理を実現する回路の一例を示す図である。
【図１３】本発明を適用したテクスチャブレンド方法のＡ成分の処理を実現する回路の一例を示す図である。
【図１４】本第１の実施形態に係るディフューズマッピング処理を行う手順について説明するためのフローチャートである。
【図１５】本第２の実施形態に係るグロマッピング処理を行う手順について説明するためのフローチャートである。
【図１６】本第３の実施形態に係るディフューズマッピングとグロスマッピングを同時に処理するグラフィックスプロセッサの構成例を示すブロック図である。
【図１７】本第３の実施形態のディフューズマッピング処理とグロスマッピング処理を同時並列的に行う行う手順について説明するためのフローチャートである。
【図１８】本第４の実施形態のシェーディング色とテクスチャ色の合成処理を行う手順について説明するためのフローチャートである。
【図１９】本発明を適用したテクスチャブレンド方法のＲＧＢ成分の処理を実現する回路の他の例を示す図である。
【図２０】本発明を適用したテクスチャブレンド方法のＡ成分の処理を実現する回路の他の例を示す図である。
【図２１】図１９，図２０を使用することにより新たに付け加わった処理を含むテクスチャブレンド処理を示す図である。
【符号の説明】
１００…画像生成システム、１０１…ＣＰＵ、１０２…メインメモリ、１０３…ビデオメモリ、１０４，１０４Ａ…グラフィックスプロセッサ、１０５…メインバス、１０６…インターフェース回路、１０７…入力デバイス、１０８…オーディオプロセッサ、２０１…テクスチャマッピング回路、２０２…内挿回路、２０３…テクスチャブレンド回路、３０１…第１のテクスチャマッピング回路、３０２…内挿回路（ＤＤＡ）、３０３…第１のテクスチャブレンド回路、３０４…第２のテクスチャマッピング回路、３０５…第２のテクスチャブレンド回路、１０００，１０００Ａ…テクスチャブレンド回路、１０００〜１００４，１００３Ａ，１００４Ａ…入力選択回路（ＭＵＸ）、１００５…加算器、１００６…乗算器、１００７…加算器１００７、２０００…テクスチャブレンド回路、２００１…乗算器、２００２，２０００Ａ…入力選択回路（ＭＵＸ）、２００３…加算器。
【図１】
0003780954.tif 000008
【図２】
0003780954.tif 000009
【図３】
0003780954.tif 000010
【図４】
0003780954.tif 000011
【図５】
0003780954.tif 000012
【図６】
0003780954.tif 000013
【図７】
0003780954.tif 000014
【図８】
0003780954.tif 000015
【図９】
0003780954.tif 000016
【図１０】
0003780954.tif 000017
【図１１】
0003780954.tif 000018
【図１２】
0003780954.tif 000019
【図１３】
0003780954.tif 000020
【図１４】
0003780954.tif 000021
【図１５】
0003780954.tif 000022
【図１６】
0003780954.tif 000023
【図１７】
0003780954.tif 000024
【図１８】
0003780954.tif 000025
【図１９】
0003780954.tif 000026
【図２０】
0003780954.tif 000027
【図２１】
0003780954.tif 000028