(57)【特許請求の範囲】
【請求項１】
ポリゴンにおける頂点データが入力され，入力された前記頂点データを元にポリゴンの内挿補間を行い，ポリゴン内部における各ピクセルにおける位置，色，視点ベクトル及び光源ベクトルを補間演算し，補間されたパラメータ(16)，視点ベクトル及び光源ベクトル(17)を得る頂点データ補間手段(11)と;
前記補間されたパラメータ(16)を用いて法線ベクトル及びケガキ方向ベクトル(18)を求める演算を行う法線・ケガキ方向ベクトル演算手段(12)と;
前記法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り，前記法線ベクトル，前記ケガキ方向ベクトル，前記視点ベクトル及び前記光源ベクトルを用いて，COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)と;
前記法線ベクトル，前記ケガキ方向ベクトル，前記COS_PHI，前記ジオメトリックファクタ，前記視点ベクトル前記光源ベクトルを受け取り，それらを用いて内積演算を行う内積演算手段(14)と;
前記内積演算手段にて演算された結果を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う内積結果演算手段(15)と;
を具備し，
前記COS_PHIは，光源ベクトルと視点ベクトルの間の方向を示すベクトルをケガキ方向ベクトル面に投影を行ったベクトルと，ケガキ方向ベクトルとのなす角度を示すパラメータである
画像生成装置。
【請求項２】
前記法線・ケガキ方向ベクトル演算手段(12)に入力される補間されたパラメータ(16)は，クオータニオン形式の情報を含む請求項1に記載の画像生成装置。
【請求項３】
前記法線・ケガキ方向ベクトル演算手段(12)は，入力された法線ベクトル及び，ケガキ方向ベクトルに対して，バンプマップ及びタンジェントマップを行う手段を具備する，請求項1に記載の画像生成装置。
【請求項４】
前記法線・ケガキ方向ベクトル演算手段(12)にされる補間されたパラメータ(16)は，クオータニオン形式の情報を含み，前記法線・ケガキ方向ベクトル演算手段内にて，入力された法線ベクトル及びケガキ方向ベクトルに対して，バンプ及びタンジェントマップをおこなう手段を具備する，請求項1に記載の画像生成装置。
【請求項５】
前記法線・ケガキ方向ベクトル演算手段(12)は，複数クロックサイクルで演算することでハードウェアの共有化を行うための手段を具備する，請求項1に記載の画像生成装置。
【請求項６】
更に，前記法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り，前記法線ベクトル，前記ケガキ方向ベクトル，前記視点ベクトル及び前記光源ベクトルを用いて，COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)を含み;
前記内積演算手段(14)は，前記法線ベクトル，前記ケガキ方向ベクトル，前記COS_PHI，前記ジオメトリックファクタ，及び前記視点ベクトル前記光源ベクトルを受け取り，それらを用いて内積演算を行う，請求項１に記載の画像生成装置。
【請求項７】
前記COS_PHI・ジオメトリックファクタ演算手段は，複数クロックサイクルで演算することでハードウェアの共有化を行うことができる手段を具備する，請求項6に記載の画像生成装置。
【請求項８】
前記内積演算手段は，複数クロックサイクルで演算することでハードウェアの共有化を行うことができる手段を具備する，請求項1に記載の画像生成装置。
【請求項９】
前記内積演算手段は，内積する対象のベクトルの組を任意に選択するための手段を具備する，請求項1に記載の画像生成装置
【請求項１０】
前記内積演算手段内にて，内積する対象のベクトルの組を任意に選択するための手段，及び，ルックアップテーブルベースでの分布関数を参照するための手段を具備する，請求項1に記載の画像生成装置
【請求項１１】
前記COS_PHI・ジオメトリックファクタ演算手段は，前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル（Ｎ）及び前記ケガキ方向ベクトル（Ｔ）を受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル（Ｖ）及び前記光源ベクトル(Ｌ7)を受け取り，前記ＬとＮとを用いて内積演算手段により（Ｌ・Ｎ）を求め，前記ＬとＶとを用いて加算手段により｜Ｌ＋Ｖ｜を求め，前記｜Ｌ＋Ｖ｜を用いて乗算手段により｜Ｌ＋Ｖ｜2を求め，｜Ｌ＋Ｖ｜2を用いて逆数演算手段により１／｜Ｌ＋Ｖ｜2を求め，（Ｌ・Ｎ）と１／｜Ｌ＋Ｖ｜2とを用いて乗算手段により（Ｌ・Ｎ）／｜Ｌ＋Ｖ｜2を求め，この値をジオメトリックファクタとして求めるジオメトリックファクタ演算手段を具備する請求項1に記載の画像生成装置。
【請求項１２】
前記内積結果演算手段内にて，1つのスペキュラ成分と，2つのスペキュラ成分の乗算の結果に対する加算の機構を具備する，請求項1に記載の画像生成装置。
【請求項１３】
請求項１に記載の画像生成装置を具備するコンピュータ。
【請求項１４】
請求項１に記載の画像生成装置を具備するゲーム機。
【請求項１５】
請求項１に記載の画像生成装置を具備する携帯電話。
【請求項１６】
請求項１に記載の画像生成装置を具備するナビゲーションシステム。
【請求項１７】
請求項１に記載の画像生成装置を具備するスロットマシーン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，コンピュータグラフィックス用異方性反射画像生成装置及び，コンピュータなどに関する。特に，本発明は，表面に一定の反射方向性を持つような物体（例えば，CDの裏面や，表面にけがき状の細かな傷を有するような金属物体）の物体表面における光の散乱を考慮した輝度計算などを効果的に行うリアルタイム３Ｄコンピュータグラフィックス用の異方性反射画像生成装置及びコンピュータに関する。
【背景技術】
【０００２】
近年，コンピュータグラフィックスシステム（画像生成装置）は，アーケード版ゲーム機やデスクトップ型コンピュータのような据え置き型の装置のみならず，携帯電話，携帯可能なゲーム機などにも搭載され，使用されている。
【０００３】
特に，携帯式のデバイスに搭載される画像生成装置は，従来の据え置き型の装置に用いられたものに比べ，物理的なサイズが小さいことや，消費電力が小さいことなどが要求されるとともに，そのような制約のもとで効果的なかつ高品質な画像を生成することが期待される。
【０００４】
また，従来のコンピュータグラフィックスによる，表面物体における光の散乱を考慮した輝度計算を演算するための手法として，BRDFや異方性反射を用いる方法などが挙げられ，これらを用いることで高品質な画像を生成することができる(例えば，C. Schlick. An Inexpensive BRDF Model for Physically-Based Rendering. Computer Graphics Forum, 13(3):233-246, 1994.（下記非特許文献1）参照)。
【０００５】
このような要求のもとに，特許公開２００２−３２７９０号公報では，光源情報と法線情報に基づきオブジェクトの各構成点での反射ベクトルを求め，反射ベクトルの方向を異方性反射の方向に変化させて第２の反射ベクトルを求め，第２の反射ベクトルと視線情報に基づきオブジェクトのシェーディング演算を行い，反射ベクトルＲをＵＶＮ座標系に座標変換してＲＵＶＮを求め，ＵＶＮ座標系においてＲＵＶＮの方向を変化させて第２の反射ベクトルＲＵＶＮ２を求め，ＲＵＶＮ２をワールド座標系に戻してシェーディング演算を行う。ＲＵＶＮのＵ，Ｖ軸成分をスケーリングしてＲＵＶＮの方向を変化させ，オブジェクトが自由曲面で表される場合，自由曲面 の各構成点での接線ベクトルの方向にＵ，Ｖ軸を設定し，ＲＵＶＮ２から求められたテクスチャ座標に基づきスペキュラ表現テクスチャをオブジェクトにマッピングする画像処理装置が開示されている。
【０００６】
特許公開２００２−３２７９０号公報の方法では，光源演算のためにテクスチャマッピングベースの手法を用いており，前処理として，このテクスチャを生成する必要があるとともに，描画対象物体に対して，事前に演算を行いUV座標を付加する必要があり，リアルタイムに変形するオブジェクトへの適応が難しい。
【０００７】
また，特許公開２０００−３２２５９７号公報（特許文献２）では，視点の位置座標等から異方性放射面上の頂点における入射ベクトルを算出し，入射ベクトルに対する複数の異方性反射ベクトルを算出し，各反射ベクトルの反射色と反射率を算出し，各反射ベクトルの反射色を合成し，合成反射色を求める画像処理装置が開示されている。
【０００８】
特許公開２０００−３２２５９７号公報の方法では，異方性反射ベクトルを表面上に反射・屈折効果で周りの風景等が写りこむ効果を実現するための手法であり，シェーディング効果に対する方法を開示しているわけではない。また，異方性反射ベクトルの演算アプローチについても，単純に反射ベクトルを求める演算のみの記述であり本来の方法のように，ケガキの方向を考慮した演算を行っているわけではない。
【０００９】
また，特許公開２０００−７５７８０号公報（特許文献３）では，二次元スカラ場の各画素位置における繊維潜り角と仮想的な光源からの光の入射角度 dirＬとに基づいた角度θに対する当該画素位置における異方性反射の反射光強度の関係を定義する。そして，その関係に基づいて，入射角度dirＬのときの前記二次元スカラ場の各画素位置での異方性反射の反射光強度を求めて照り画像を作成し，その照り画像と下絵画像とを合成して表示する処理を，入射角度 dirＬを順次変更しながら行うシミュレーション方法が開示されている。
【００１０】
特許公開２０００−７５７８０号公報の方法では，異方性反射と称し，表面のでこぼこをレンダリングするために，法線を表面の特性に合わせて変化させることで，でこぼこの表現を行う手法で，本技術分野のように，表面の微小な傷を表すベクトルを法線とは別に持つことで，けがき状の傷を表現するアプローチと別ものである。また，この手法自体はバンプマッピングとして，一般に知られており，新規性がない。
【００１１】
Ohbuchi, E. and Unno, H., "A Real-Time Configurable Shader Based on Lookup Tables," Cyber Worlds 2002 (CW2002), IEEE Computer Society Press, pp.507-514, November 2002.（非特許文献２）では，異方性反射のハードウェア実装について言及されており，異方性反射光源モデルで必要となる内積演算を専用ハードウェアで行っており，その結果をRAMの入力として，テーブル参照することで，異方性反射モデルの演算を実現する手法が開示されている。
【００１２】
非特許文献２の手法では，異方性反射で必要となる内積演算を専用で持っており，回路規模としては，膨大な規模となり，携帯機器向け等のように省電力，物理的サイズが小さな環境には向かない。
【００１３】
【特許文献１】特許公開２００２−３２７９０
【特許文献２】特許公開２０００−３２２５９７
【特許文献３】特許公開２０００−７５７８０
【非特許文献１】C. Schlick. An Inexpensive BRDF Model for Physically-Based Rendering. Computer Graphics Forum, 13(3):233-246, 1994.
【非特許文献２】Ohbuchi, E. and Unno, H., "A Real-Time Configurable Shader Based on Lookup Tables," Cyber Worlds 2002 (CW2002), IEEE Computer Society Press, pp.507-514, November 2002.
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は，上記のような課題に鑑みてなされたものであり，高速に陰影・ケガキ効果などを演算することができるコンピュータグラフィックス用の異方性反射シェーディング画像生成装置及び，コンピュータなどを提供することを目的とする。
【００１５】
本発明は，一般的によく使われるような処理に対しては，高速な動作を行いかつ，異方性反射等の高度な光源処理に対しては，複数クロックサイクル使用することで，高機能，通常使用時の高性能，ハードウェア規模削減による低消費電力を実現するための画像処理装置を提供することを上記とは別の目的とする。
【課題を解決するための手段】
【００１６】
本発明は，基本的には，特定ピクセルに対する単一光源または複数光源の複数シェーディングモデルを適用したシェーディング結果を得るにあたって，パラメータによる再構成可能な構造を持ったハードウェアを複数クロックサイクルでの演算を行うことで，高性能・高機能・低消費電力といった面に対して最適化することができ，コンピュータグラフィックス用のシェーディング画像データを生成することができるという知見に基づくものである。
【００１７】
すなわち，本発明の第１の側面に係る画像処理装置は，ポリゴンにおける頂点データが入力され，入力された前記頂点データを元にポリゴンの内挿補間を行い，ポリゴン内部における各ピクセルにおける位置，色，視点ベクトル及び光源ベクトルを補間演算し，補間されたパラメータ(16，17)を得る頂点データ補間手段(11)と;前記補間されたパラメータ(16)を用いて法線ベクトル及びケガキ方向ベクトル(18)を求める演算を行う法線・ケガキ方向ベクトル演算手段(12)と; 前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り，前記法線ベクトル，前記ケガキ方向ベクトル，前記視点ベクトル及び前記光源ベクトルを用いて，COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)と;前記法線ベクトル，前記ケガキ方向ベクトル，前記COS_PHI，前記ジオメトリックファクタ，前記視点ベクトル前記光源ベクトルを受け取り，それらを用いて内積演算を行う内積演算手段(14)と;  内積演算手段にて演算された結果を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う内積結果演算手段(15)と;を具備する画像生成装置に関する。
【００１８】
本発明の第１の側面に係る画像処理装置の好ましい態様は，入力としてクオータニオンによって，法線ベクトル及び，ケガキ方向ベクトルを同時に入力することができる法線・ケガキ方向ベクトル演算手段(12)を具備するので，ピクセル単位での高度な輝度演算を行うことができる上，入力データ量を減らすことができる。
【００１９】
上記のように，ピクセル単位での高度な光源演算のためには，従来技術ではテクスチャ手段を用い，処理をおこなうのが技術的常識である。しかしながら，本発明の画像処理装置のように，各ベクトル情報を直接入力することで，テクスチャに対するメモリアクセスが削減され，その結果，消費電力も削減できることとなる。
【００２０】
また，法線・ケガキ方向ベクトル演算手段(12)，COS_PHI・ジオメトリックファクタ演算手段(13)，及び内積演算手段(14)の好ましい態様は，複数クロックサイクルでの演算処理を行うことができる構造を具備し，頻繁に使用される機能に対しては高速処理が可能な上，高品質・高機能なシェーディング演算処理も可能となっている。さらに，複数クロックサイクルで演算処理を行うので，ハードウェアコストを抑えることができることとなる。特に，同じ回路を複数サイクルに用いて，各サイクルにおける演算結果を適宜記憶し，別のサイクルで使用される値などを選択しつつその回路を再利用することで，ハードウェアコストや物理的スペースなどを抑えつつ，多数の演算（内積演算など）に対応させることができることとなる。
【００２１】
上記のように，高品質・高機能なシェーディング演算処理をおこなう際，従来技術のように，技術常識ではサイズの大きなハードウェア実装が必要となる。しかしながら，本発明の第１の側面に係る画像処理装置の好ましい態様では，複数クロックサイクルでの処理により，ハードウェア資源の再利用を行うことができるため，より小さいハードウェア実装で十分な効果を発揮することができ，その結果，消費電力も削減できることとなる。
【発明の効果】
【００２２】
本発明によれば，各種ベクトル情報を用いてシェーディング演算処理をおこなうため，動的にオブジェクトの形状を変化させても，性能劣化が発生しない上，テクスチャ手段をシェーディング処理のために用いる必要がないため，メモリアクセスが削減され，その結果消費電力も削減できることとなる。
【００２３】
本発明によれば，頻繁に使われるシェーディング処理に対しては，高速での動作を，高品質・高機能なシェーディング処理に対しても，より小さいハードウェア実装での機能実現が可能となり，その結果消費電力も削減できることとなる。
【発明を実施するための最良の形態】
【００２４】
[本発明にて実現するシェーディングモデル概要] 
図１は，本発明で使用しているベクトルパラメータを説明するための図である。空間（１）に球状物体（２）があり，視点位置（３）及び光源位置（４）が図１のように定義されている場合，点（ピクセル）（５）における各ベクトルは，法線ベクトルＮ（６），視線ベクトルＶ（７），光源ベクトルＬ（８），ケガキ方向ベクトルＴ（９），バイノーマルベクトルＢＮ(10)のように定義される。
【００２５】
これらのベクトルを用いて，さまざまなシェーディングモデルを定義することができる。例えば，フォンシェーディングモデルの場合，輝度演算方法を次のように定義できる。すなわち，スペキュラ成分輝度 =Table( N・H)である。ここで、Tableは，RGB共通のRAMテーブルであり，物体ごとの特性が情報として格納される。また，クックトーランスモデルの場合，以下のように定義できる。すなわち，スペキュラ成分輝度 = RGBTable(V・H) * Table(N・H) * (L・N )/ |VH|2 である。ここで，RGBTableはRGB色ごとに分かれたRAMテーブルから得られた値である。さらに，サブサーフェイススキャタリングの場合，次のように定義できる。すなわち，スペキュラ成分輝度 = RGBTable(L・N)*Table(N・V)である。
【００２６】
[画像生成装置の基本構成] 
図２は，本発明における画像処理装置の基本構成を示す。図２に示されるとおり，本発明の画像処理装置は，図示しないポリゴンにおける頂点データが入力され，入力された前記頂点データを元にポリゴンの内挿補間を行い，ポリゴン内部における各ピクセルにおける位置，色，視点ベクトル及び光源ベクトルを補間演算し，補間されたパラメータ(16，17)を得る頂点データ補間手段(11)と;前記補間されたパラメータ(16)を用いて法線ベクトル及びケガキ方向ベクトル(18)を求める演算を行う法線・ケガキ方向ベクトル演算手段(12)と; 前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り，前記法線ベクトル，前記ケガキ方向ベクトル，前記視点ベクトル及び前記光源ベクトルを用いて，COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)と; 前記法線ベクトル，前記ケガキ方向ベクトル，前記COS_PHI，前記ジオメトリックファクタ，前記視点ベクトル前記光源ベクトルを受け取り，それらを用いて内積演算を行う内積演算手段(14)と; 内積演算手段にて演算された結果を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う内積結果演算手段(15)と; を具備する。なお，図2中，24は，チップを示す。ただし，チップ(24)は，図2に示される頂点データ補間手段(11)，又はテクスチャ手段(22)のいずれか又は両方を含むものであってもよい。
【００２７】
なお，本明細書において，「シェーディング結果」とは，たとえば，各光源からの拡散反射（ディフューズ），鏡面反射（スペキュラ），間接光（アンビエント）などの輝度演算結果など，光源ごとの輝度演算結果を意味する。たとえば，第1の光源からのディフューズ，第1の光源からのスペキュラ，第2の光源からのディフューズ，及び第2の光源からのスペキュラの4種類のように，シェーディング結果は複数種類からなることが好ましい。なお，光源は，平行光源，点光源，又はスポット光源のいずれであってもよい。また，複数の光源におけるそれぞれの光源の関係も任意のものがあげられる。
【００２８】
[画像生成装置の基本動作]
以下，図２を用いて本発明の画像生成装置が画像データを得る基本動作を説明する。法線・ケガキ方向ベクトル演算手段(12)が，頂点データ補間手段(11)からクオータニオン形式の法線ベクトル及びケガキ方向ベクトル情報(16)を受取る。なお，この際，法線・ケガキ方向ベクトル演算手段(12)は，テクスチャ手段(22)から，バンプベクトルＢｘ，Ｂｙ及びＢｚに関する情報(23)を受取ってもよい。法線・ケガキ方向ベクトル演算手段(12)は，受取った情報を用いて，法線ベクトルとケガキ方向ベクトルを求める演算処理を行い，例えばベクトル形式の法線ベクトルとケガキ方向ベクトル(18)を得る。COS_PHI・ジオメトリックファクタ演算手段(13)は，法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトル(18)を受け取るとともに，頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)（これはクオータニオン形式ではなく通常のベクトル形式であってもよい。）を受け取り，前記法線ベクトル，前記ケガキ方向ベクトル，前記視点ベクトル及び前記光源ベクトルを用いて，COS_PHI及びジオメトリックファクタを求める。なお，視点ベクトル及び光源ベクトルは，通常は，頂点データ補間手段(11)によって内挿補間された値でもよいし，ユーザから入力された値であっても，予め定めた値でもよく，公知の方法により取得すればよい。内積演算手段(14)は，法線・ケガキ方向ベクトル演算手段(12)から，法線ベクトル（Ｎ）とケガキ方向ベクトル（Ｔ）とを受取るとともに，COS_PHI・ジオメトリックファクタ演算手段(13)から，前記COS_PHI，前記ジオメトリックファクタ，前記視点ベクトル，及び前記光源ベクトルなど，COS_PHI・ジオメトリックファクタ演算手段(13)からの出力(19)を受け取り，それらを用いて内積演算を行う。なお，前記視点ベクトル前記光源ベクトルは，頂点データ補間手段(11)から受け取ってもよい。また，法線ベクトル（Ｎ）とケガキ方向ベクトル（Ｔ）は，COS_PHI・ジオメトリックファクタ演算手段(13)から受取ってもよい。さらに，内積演算手段(14)は，例えば，プログラマブルロジック回路などを用いて，入力情報に応じて任意の要素を選択して内積演算を行えるようにされていてもよい。内積演算手段(14)がどのような内積演算を行うかはユーザからの入力により調整可能とされているものが好ましい。内積結果演算手段(15)は，前記内積演算手段(14)にて演算された結果(20)を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う。そして，その結果(21)を出力する。このようにして，スペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方が求められ，出力されることとなる。スペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方は，特にリアルタイムな３次元コンピュータグラフィックスに用いられることとなる。
【００２９】
[グラフィックデバイス]
図３は，本発明のある実施態様に係るグラフィクスデバイスを示すブロック図である。図３に示されるとおり，この実施態様に係るグラフィクスデバイスは，頂点データ（３１）などが入力され，幾何演算などを行うためのジオメトリエンジン（幾何演算回路，幾何演算装置，又は幾何演算部など）（３２）と，頂点データ補間を行うための頂点データ補間手段（頂点データ補間回路，頂点データ補間装置，頂点データ補間部など）（３３）と，シェーディング演算を行うためのシェーディング手段（シェーディング回路，シェーディング装置，シェーディング部など）（３５）と，テクスチャ合成を行うためのテクスチャ手段（テクスチャ合成回路，テクスチャ合成装置，テクスチャ合成部など）（３４）と，テクスチャなどを格納するためのテクスチャメモリ（３９）と，カラーブレンド手段（３７）を具備し，各要素はシステムバスやバス（３８）などにより連結されている。
【００３０】
[グラフィックデバイスの基本動作]
以下，グラフィックデバイスの基本動作について説明する。ジオメトリエンジン（３２）は，システムバス（３８）に接続され，頂点データ（３１）を入力データとして受け取る。ジオメトリエンジン（３２）は，例えば，頂点データに対して幾何変換などを行い，透視変換とビューポートマッピングを行った後に，変換した頂点データを頂点データ補間手段（３３）に出力する。頂点データ補間手段（33,11）は，入力された頂点データから構成される多角形（通常三角形）の内部に対して，付随する各パラメータを補間して，シェーディング手段（３５），テクスチャ手段（３４）にそれぞれ出力する。
【００３１】
テクスチャ手段（３４）は，頂点データ補間手段（３３）から入力されるu,v座標からテクスチャメモリ（３９）へのアクセスアドレスを算出し，対応するデータをテクスチャメモリ（３９）から受け取る。テクスチャメモリ（３９）から入力されるデータは，たとえば，カラーデータ，バンプマッピング用のデータ，又はタンジェントベクトルのデータのうちいずれか1つ又は2つ以上である。テクスチャ手段（３４）は，テクスチャメモリ（３９）から入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであるか判断し，入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであった場合は，シェーディング手段（３５）にデータを出力する。一方，テクスチャメモリ（３９）から入力されたデータがカラーデータであった場合は，カラーブレンド手段（３７）にデータを出力する。
【００３２】
シェーディング手段（３５）は，頂点データ補間手段（３３）から入力された補間データとテクスチャ手段（３４）から入力されたバンプマッピング用データ，又はタンジェントベクトルデータから光源単位に画素ごとの輝度演算を行い，その結果をカラーブレンド手段（３７）に出力する。その後は，たとえば，上記した画像形成装置の動作に従って，シェーディング用などの色情報が得られる。
【００３３】
[シェーディング手段]
次のシェーディング手段の各部に関して説明する。図２は，シェーディング手段の各部の基本構成を含む。頂点データ補間手段(11)から入力されたベクトルデータ(17)や，クオータニオンデータに基づいて変換されたベクトルデータ(16)などは，各モジュールを通り，内積結果演算手段(15)を経て，演算結果(21)が出力される。一方，テクスチャ手段(22)からは，Bx,By,及びBz(23)が入力され，この入力されたベクトル情報は，法線ベクトル又はケガキ方向ベクトルに対して座標変換を行うことで，表面のでこぼこを表現するバンプマッピングやさまざまなケガキ方向表現を行うために用いられる。
【００３４】
[法線・ケガキ方向ベクトル演算手段]
図４は，法線・ケガキ方向ベクトル演算手段(12)の基本構成を示す概念図である。図４に示されるように，図４に示される法線・ケガキ方向ベクトル演算手段は，各クオータニオンなどの情報が入力され，入力された情報を乗算するための複数個の第１の乗算手段（乗算器群など；41）と，前記第１の乗算手段から出力される乗算値から所定のものを選択して出力するための第1の選択手段（マルチプレクサや，プログラマブルロジックデバイスなど。本明細書における選択手段は，加算機能や乗算機能などを有するものであることが好ましい。；42）と，前記第１の選択手段から出力された出力値が入力され，入力された値を加算するための第1の加算手段（加算器群など；43）と，前記加算手段のうちいずれかからの出力が入力され入力された値を乗算するための第2の乗算手段と，前記第1の加算手段からの出力値及び前記第２の乗算手段からの出力値が入力され，入力された値を選択して出力するための第２の選択手段（マルチプレクサや，プログラマブルロジックデバイスなど；46）と，前記第２の選択手段から出力された出力値を一時的に記憶するための第1の記憶手段（バッファ，ＲＡＭなど；47）と，前記第1の記憶手段に記憶された値のうちいずれかが入力され，入力された値を乗算するための第３の乗算手段（乗算器群など）と，前記第３の乗算手段からの出力値が入力され，入力された値を加算するための第２の加算手段（加算器群など）と，前記第２の加算器群からの出力及び前記第3の乗算手段からの出力値が入力され，入力された値を加算するための第３の加算手段（加算器群など）と，前記第1の記憶手段に記憶された値のうちいずれかが入力され，入力値の逆数を求めるための逆数演算手段（逆数テーブルなど；48）と，前記第３の加算手段からの出力値と前記逆数演算手段からの出力値とが入力され，入力値を乗算するための第４の乗算手段（乗算器など）と，前記第４の乗算手段の出力値を一時的に記憶する第２の記憶手段（バッファ，ＲＡＭなど；51）とを具備する。なお，前記第４の乗算手段と前記第２の記憶手段の間に情報選択手段（カウンタなど；４０）を設けて，不要な情報を捨て，必要な情報のみ前記第２の記憶手段が記憶するようにしてもよい。なお，特に図示しないが，所望の値を得るため，適宜逆数演算手段や，加算（減算）手段，乗算（除算）手段，などを組合わせて用いればよい。
【００３５】
頂点データ補間手段(11)から入力されたクオータニオン形式のベクトル情報(16)に関して，通常の法線ベクトル，ケガキ方向ベクトルから演算を行うので，これらのベクトル情報は，クオータニオン形式で頂点データ補間手段(11)に入力されるか，頂点データ補間手段(11)によりクオータニオン形式に変換されればよい。
【００３６】
クオータニオン形式のベクトル情報(16)は，頂点データ補間手段(11)の入力前に法線ベクトル及び，ケガキ方向ベクトルから演算すればよい。入力データは，あらかじめジオメトリエンジン（図３の32）に対する入力データとして準備をしておいてもよい。また，入力データは，ジオメトリエンジン（32）にて演算を行ってもよい。具体的には，入力データは，以下のような演算を行って求めればよい。
【００３７】
まず，入力データを求めるために，ジオメトリエンジン（32）又は頂点データ補間手段(11,33)が，法線ベクトル Nx, Ny, Nz及び，ケガキ方向ベクトルTx, Ty, Tzを受け取る。そして，バイノーマルベクトルを求める外積演算を行い，バイノーマルベクトルBNx, BNy, BNzを求める。具体的には，BNx = NyTz - NzTz，BNy = NzTx - NxTz，及びBNz = NxTy - NyTxとして求めればよい。これは，法線ベクトル Nx, Ny, Nz及び，ケガキ方向ベクトルTx, Ty, Tzを入力として受け取り，NyTz，NzTz，NzTx，NxTz，NxTy及びNyTxを求める手段と，NyTz，NzTz，NzTx，NxTz，NxTy及びNyTxから，NyTz-NzTz，NzTx-NxTz，及びNxTy-NyTxを求める手段とを具備する演算手段により求めることができる。具体的には，乗算器及び加算器（除算器）を用いることで求めることができる。
【００３８】
上記演算の結果，得られた各パラメータを以下のようにｒ11〜ｒ33として定義し，このパラメータに対して下記式（Ｉ）を適用し，この式（Ｉ）を解くことで，クオータニオン形式の入力パラメータq0,q1,q2,q3，を求めることができる。すなわち，r11 = Tx，r12=BNx，r13= Nx，r21 = Ty，r22=BNy，r23= Ny，r31 = Tz，r32=BNz，r33= Nzとする。
【００３９】
【数１】
0004761541.tif 000002
【００４０】
法線・ケガキ方向ベクトル演算手段(12)では，下記式に示される演算を行うことで，法線ベクトル・ケガキ方向ベクトル(18)を演算し，出力する。なお，図４には示されないが，下記の演算を行うに当り，q02（図では，q00とされている。以下同様。），q12，q22及びq32を加算する手段（１〜３個の加算器など）と，求められた(q02+q12+q22+q32)の逆数を得るための逆数演算手段（逆数テーブルなど）を具備し，第１の選択手段(42)に入力されてもよい。演算の例は，NP = (q02+q12+q22+q32)， Tx = (q02+q12-q22-q32) /NP，Ty = (2q1q2+2q0q3) / NP，Tz = (2q1q3-2q0q2) / NP，BNx = (2q1q2-2q0q3) / NP，BNy = (q02-q12+q22-q32) / NP，BNz = (2q2q3+2q0q1) / NP，Nx = (2q1q3+2q0q2) / NP，Ny = (2q2q3-2q0q1) / NP，及びNz = (q02-q12-q22+q32) / NPである。
【００４１】
また，法線・ケガキ方向ベクトル演算手段(12)では，法線ベクトル・ケガキ方向ベクトルなどを演算した後，内部レジスタ(47)に結果を格納する。そして，テクスチャ手段から取得したバンプベクトル(23)を用い，下記式（II）の演算式を実装した演算部(49)にて，演算を行うことで，バンプベクトル(23)にて変換が行われた法線ベクトル・ケガキ方向ベクトル(18)を演算する。下記式（II）の演算式を実装した演算部(49)は，たとえば，乗算器などの乗算手段と，各種情報を記憶するテーブルなどの記憶手段と，情報の入出力を行う入出力部などの入出力手段を具備するものにより構成できる。
【００４２】
【数２】
0004761541.tif 000003
【００４３】
また，法線・ケガキ方向ベクトル演算手段(12)では，法線ベクトル・ケガキ方向ベクトルを演算するに当たって，クオータニオン演算のための乗算器(41)にて乗算演算した後，セレクタ(42)に中間結果を保存する。その後，クオータニオン演算部(44)及び(45)にて，乗算器及び加減算器(43)を用いて，各ベクトルの成分の演算を行う。そして，セレクタ(46)を通して，レジスタ(47)に結果を格納する。その後，乗算器，加減算器及び，逆数演算器(48)を用いて，上記バンプベクトルによる法線ベクトルまたは，ケガキ方向ベクトルの変換処理を演算部(49)にて行う。そして，演算結果をセレクタ(50)を通して，レジスタ(51)に格納する。
【００４４】
前項の例は，基本的には，バンプベクトルによる変換は法線ベクトルまたは，ケガキ方向ベクトルのどちらかに適用するための構造を採用している。しかしながら，複数クロックサイクルを用いて，どちらにも適用できる構造にしてもよいし，このときに入力バンプベクトルを1組だけではなく2組入力してもよいし，同じ演算部(49)を２つ以上具備することで，複数ベクトルに対してバンプ変換処理を行う実装にしてもよい。
【００４５】
また，法線・ケガキ方向ベクトル演算手段(12)では，複数クロックサイクルによる演算処理を行うことで，回路の共通化を図ることができる。これにより，ハードウェアサイズを小さくすることができる。以下では，この複数クロックサイクルによる演算処理に関して説明する。
【００４６】
図５及び図６を用いて２クロックサイクルで，法線ベクトル及び，ケガキ方向ベクトルの演算処理を行い，かつ，テクスチャ手段(22)からの入力であるバンプベクトル(23)使用して，法線ベクトルに対してこのバンプベクトルを求める様子を示す。図５は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，法線ベクトルにバンプベクトルを適用した場合のサイクル１での動きを示す図である。図６は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，法線ベクトルにバンプベクトルを適用した場合のサイクル２での動きを示す図である。図５中，太線で示している部分は，はじめのサイクルで動く部分であり，この図にあるとおり，Nx,Ny,Nz,Ty,Tz,NPのパラメータに関する演算が行われている。また，次のサイクルで動いている部分は図６の太線部分で示されている。このサイクルでは，Tx,BNx,Bny,Bnz及び，バンプベクトルを用いた法線ベクトルによる式(II)による変換処理がおこなわれている。
【００４７】
次に，図７及び図８を用いて，２クロックサイクルで，法線ベクトル及び，ケガキ方向ベクトルの演算処理かつ，テクスチャ手段(22)からの入力であるバンプベクトル(23)使用して，ケガキ方向ベクトルに対してこのバンプベクトルを適用する様子を示す。図７は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル１での動きを示す図である。また，図８は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル２での動きを示す図である。図７の太線で示している部分が，はじめのサイクルで動く部分である。図７に示されるとおり，Nx,Ny,Nz,Ty,Tz,及びNPのパラメータに関する演算が行われる。また，次のサイクルで動いている部分を図８の太線部分で示す。図８に示されるとおり，このサイクルでは，Tx,BNx,Bny,Bnz及び，バンプベクトルを用いたケガキ方向ベクトルによる式（ＩＩ）による変換処理がおこなわれている。
【００４８】
上記例では，２クロックサイクルにて，演算を行っている。しかしながら，たとえば，演算器を倍にすることで，1クロックサイクルの演算可能にしてもいいし，逆にさらに３クロックサイクル以上の演算とすることで，ハードウェア部分の共通化を図り，ハードウェアサイズを小さくする実装を行っても良い。
【００４９】
[COS_PHI・ジオメトリックファクタ演算手段]
図９は，COS_PHI・ジオメトリックファクタ演算手段の基本構成例を示すブロック図である。図９に示されるように，COS_PHI・ジオメトリックファクタ演算手段は，たとえば，入力されるデータ（例えば，Ｌ，Ｎ，Ｔ，Ｖ；17,18）を選択するセレクタなどの選択手段(61)，前記選択手段により選択された値が入力され，入力された値の内積を求める第１の内積演算器などの第１の内積演算手段(62)と；前記選択手段により選択された値が入力され，入力された値の内積を求める第２の内積演算器などの第２の内積演算手段(62)と；前記第1の内積演算手段(62)からの出力（ＤＰ０）及び前記第２の内積演算手段(62)からの出力（ＤＰ１）が入力され，入力値を加算する第1の加算器又は加減算器などの第１の加減算手段(64)と；前記前記第1の内積演算手段(62)からの出力（ＤＰ０），前記第２の内積演算手段(62)からの出力（ＤＰ１），前記第１の加減算手段(64)からの出力などを一時的に格納するための中間パラメータ一時格納レジスタなどの記憶手段(65-69)と；前記記憶手段(67)値を掛け合わせ２乗値などを得るための乗算器などの第1の乗算手段(70)，前記乗算手段の出力と前記記憶手段に記憶されるある値とを受取り，前記乗算手段の出力値から前記記憶手段に記憶されるある値を減算するための加減算器などの第２の加減算手段(71)と；前記第２の加減算手段(71)の出力を受取り，第２の加減算手段(71)の出力値の逆数平方根を得るための逆数平方根テーブルなどの逆数平方根演算手段(72)と；前記逆数平方根演算手段（72）からの出力と前記記憶手段に記憶されるある値とを受取り，それらの値を乗算するための乗算器などの第２の乗算手段(73)と；前記記憶手段に記憶されたある値を受取り，前記ある値の逆数を求めるための逆数テーブルなどの逆数演算手段(74)と，前記逆数演算手段(74)からの出力と前記記憶手段に記憶されたある値とを受取り，それらを乗算するための乗算器などの第３の乗算手段(75)とを具備する。そして，各要素は，バスなどで連結され，適宜情報の授受ができるようにされている。さらに，第２の乗算手段(73)の出力は，COS_PHI（図ではCos_Phiとされている。）などとしてバス(76)から出力される。また，第３の乗算手段(75)の出力は，ジオメトリックファクタ（ＬＮ＿ＬＶ）などとしてバス(77)から出力される。さらに，前記記憶手段に格納されたある値（ＬＮ値など）は，バス(78)から出力されるようにされていてもよい。
【００５０】
このCOS_PHI・ジオメトリックファクタ演算手段(13)では下記式(III)を適用してCOS_PHI(76)を求める。また，N_LV = (L・N)/|L+V|2にしたがってジオメトリックファクタLN_LV(77)を求める。さらに，及び，LN = L・Nに従って，LN(78)の演算を行う。
【００５１】
【数３】
0004761541.tif 000004
【００５２】
ただし，本発明の好ましい態様では，COS_PHIを求める回路など実装するに当たり，COS_PHIを式(IV)のように近似して求めることで，ハードウェア量を減らす工夫を行うことができる。もちろん，本発明は，式(III)を求めるように実装してもよい。
【００５３】
【数４】
0004761541.tif 000005
【００５４】
図10は，内積演算手段の基本構造例を示すブロック図である。図10に示される内積演算手段（62,63）は，たとえば，COS_PHI・ジオメトリックファクタ演算手段(13)が具備するものであってもよいし，他の内積演算手段として機能するものであってもよい。この内積演算手段の例は，各種情報が入手される乗算器などの乗算手段（81-83）と，加算器などの加算手段（84,85）とを具備する。図10に示される例では，３つの乗算器及び，２つの加算器を具備し，2組の3次元ベクトルの内積演算を行うことができるものである。すなわち，この内積演算手段では，入力された値（ベクトル値など）を適宜乗算する他，乗算した値を適宜加算することで，内積値を求めるのみならず，内積値の加算値をも求めることができる。どの値の内積値を求め，どの値を加算するかは，あらかじめ固定されていてもよいし，ユーザからの入力を受取って適宜変更できるようにされていてもよい。また，入力値は，セレクタ等で選択され適宜乗算器（81〜83）に入力されるようにしてもよい。
【００５５】
COS_PHI・ジオメトリックファクタ演算手段(13)にて，LN（＝Ｌ・Ｎ）を求めるためには，頂点データ補間手段(11)から入力された光源ベクトルL及び，法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行い中間パラメータ一時格納レジスタ(65)に格納すればよい。
【００５６】
各図に示されるように，前記COS_PHI・ジオメトリックファクタ演算手段は，前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル（Ｎ）及び前記ケガキ方向ベクトル（Ｔ）を受け取るとともに，前記頂点データ補間手段(11)から前記視点ベクトル（Ｖ）及び前記光源ベクトル(Ｌ)を受け取り，前記ＬとＮとを用いて内積演算手段により（Ｌ・Ｎ）を求め，前記ＬとＶとを用いて加算手段により｜Ｌ＋Ｖ｜を求め，前記｜Ｌ＋Ｖ｜を用いて乗算手段により｜Ｌ＋Ｖ｜2を求め，｜Ｌ＋Ｖ｜2を用いて逆数演算手段により１／｜Ｌ＋Ｖ｜2を求め，（Ｌ・Ｎ）と１／｜Ｌ＋Ｖ｜2とを用いて乗算手段により（Ｌ・Ｎ）／｜Ｌ＋Ｖ｜2を求め，この値をジオメトリックファクタとして求めるジオメトリックファクタ演算手段を具備する。すなわち，COS_PHI・ジオメトリックファクタ演算手段(13)にて，LN_LVを求めるためには，頂点データ補間手段(11)から入力された光源ベクトルL及び，法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行い，中間パラメータ一時格納レジスタ(65)に格納する。そして，この演算と同時に，セレクタ(61)内部で，頂点データ補間手段(11)から入力された光源ベクトルL及び，視点ベクトルVの各成分の加算演算を行い，内積演算器(62,63)にて内積演算を行い，中間パラメータ一時格納レジスタ(66)に格納する。その後，中間パラメータ一時格納レジスタ(66)のデータに対して逆数演算器(74)を用いて逆数を求め，求めた逆数と中間パラメータ一時格納レジスタ(65)に格納された値とを乗算器(74)に入力し，これらを乗算することにより，LN_LVを求めることができる。
【００５７】
COS_PHI・ジオメトリックファクタ演算手段(13)にて，COS_PHIを求めるためには，この実装では，3クロックサイクルにて実現することができる。この構造を図11〜図13に示す。図11は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル１での動きを示す図である。図12は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル２での動きを示す図である。図13は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル３での動きを示す図である。
【００５８】
はじめのクロックサイクルでは，図11の太線で示すように，頂点データ補間手段(11)から入力された光源ベクトルL及び，法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行う。得られた内積値を中間パラメータ一時格納レジスタ(65)に格納う。この演算と並行して，頂点データ補間手段(11)から入力された視線ベクトルV及び，法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行い，この結果とLN内積結果を加算器(64)にて加算し，この結果を中間パラメータ一時格納レジスタ(67)に格納する。
【００５９】
次のクロックサイクルでは，図12の太線で示すように，頂点データ補間手段(11)から入力された光源ベクトルL及び，法線・ケガキ方向ベクトル演算手段(12)から入力されたケガキ方向ベクトルTをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行い中間パラメータ一時格納レジスタ(65)に格納し，この演算と並行して，頂点データ補間手段(11)から入力された視線ベクトルV及び，法線・ケガキ方向ベクトル演算手段(12)から入力されたケガキ方向ベクトルTをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行う。加算器(64)にて，これらの値を加算した後，中間パラメータ一時格納レジスタ(68)に格納する。
【００６０】
次のクロックサイクルでは，図１３の太線で示すように，頂点データ補間手段(11)から入力された光源ベクトルL及び，法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し，内積演算器(62,63)にて内積演算を行う。得られた値を中間パラメータ一時格納レジスタ(65)に格納し，この演算と並行して，セレクタ(61)内部で頂点データ補間手段(11)から入力された光源ベクトルL及び，視点ベクトルVの各成分の加算演算を行い，内積演算器(62,63)にて内積演算を行い，中間パラメータ一時格納レジスタ(66)及び中間パラメータ一時格納レジスタ(69)に格納する。その後，中間パラメータ一時格納レジスタ(66)のデータを逆数演算器(74)に入力し，逆数値を求める。一方，前記逆数値と中間パラメータ一時格納レジスタ(65)に格納される値とを乗算器(75)に入力し，乗算値を求める。これにより，バスなど(72)からLN_LVの値が出力される。この演算と並列して，中間パラメータ一時格納レジスタ(67,68,及び69)に格納された中間パラメータに対して，乗算(70)，減算(71)，逆数平方根演算(72)，さらに乗算(73)を行うことで式(IV)で示される近似的なCOS_PHIを求めることができ，この演算結果がバスなど(76)から出力される。
【００６１】
上記した，本実装では，3クロックサイクルを用いた実装について示している。しかしながら，演算器の数を増やして，1クロックサイクルのように，より少ないクロックサイクルでの実装でもよい。また，逆に3クロックサイクルより大きいクロックサイクルでの処理をおこなうことで，よりハードウェアの共有化を図り，小さいハードウェアサイズで実現してもよい。なお，COS_PHIを求めるためには，第1及び第2の内積演算手段に入力される値を選択するための選択手段と，第1及び第2の内席演算回路などの第1及び第2の内積演算手段と，前記第1及び第2の内積演算手段からの出力を加算するための加算手段と，前記加算手段の加算結果を記憶するための第1の記憶手段と，前記加算手段の加算結果を記憶するための第2の記憶手段と，前記第1又は第2の内積演算手段からの出力を記憶する第3の記憶手段と，前記第1の記憶手段に格納される値同士を乗算するための第1の乗算手段と，前記第1の乗算手段からの出力と，前記第3の記憶手段に格納される値とを受取り，減算を行うための加減算器などの加減算手段と，前記加減算手段からの出力を受取り逆平方根（平方根の逆数）を求めるための逆平方根テーブルなどの逆平方根演算手段と，前記逆平方根演算手段からの出力と前記第2の記憶手段に格納された値とを受取りそれらを乗算するための第2の乗算手段と，前記第2の乗算手段の乗算結果を出力するための出力部などの出力手段と，により実現されうる。また，第1及び第2の内積演算手段に入力される値を選択するための選択手段と，第1及び第2の内席演算回路などの第1及び第2の内積演算手段と，前記第1及び第2の内積演算手段からの出力を加算するための加算手段と，前記加算手段の加算結果を記憶するための第1の記憶手段と，前記加算手段の加算結果を記憶するための第2の記憶手段と，前記第1又は第2の内積演算手段からの出力を記憶する第3の記憶手段と，前記第1の記憶手段に格納される値同士を乗算するための第1の乗算手段と，前記第3の記憶手段に格納される値同士を乗算するための第2の乗算手段と，前記第1の乗算手段からの出力と，前記第2の乗算手段からの出力とを受取り，減算を行うための加減算器などの加減算手段と，前記加減算手段からの出力を受取り逆平方根（平方根の逆数）を求めるための逆平方根テーブルなどの逆平方根演算手段と，前記逆平方根演算手段からの出力と前記第2の記憶手段に格納された値とを受取りそれらを乗算するための第3の乗算手段と，前記第3の乗算手段の乗算結果を出力するための出力部などの出力手段と，により実現されうる。なお，第1及び第2の乗算器は，それぞれ第1及び第3の記憶手段の前におかれており，それぞれ2乗にされた値が格納されていてもよい。具体的には，例えば，第1の内積演算部には，セレクタで選択されたＬが入力され，第2の内積演算部には，セレクタで選択されたＶが入力される。第1の内積演算部及び第2の内積演算部からのＬ及びＶは，第1の加算器に入力され，Ｌ＋Ｖが求められて，この値が第1のメモリに格納される。次に，第1の内積演算部には，セレクタで選択されたＬとＴとが入力され，Ｌ・Ｔが求められる。一方，第2の内積演算部には，セレクタで選択されたＶとＴとが入力され，Ｖ・Ｔが求められる。第1の内積演算部及び第2の内積演算部で求め��れたＬ・Ｎ及びＶ・Ｎは，第1の加算器に入力され，Ｌ・Ｎ＋Ｖ・Ｎが求められて，この値が第2のメモリに格納される。これでサイクル2が終わる。次に，例えば，第1の内積演算部には，セレクタで選択されたＬとＮとが入力され，Ｌ・Ｎが求められる。一方，第2の内積演算部には，セレクタで選択されたＶとＮとが入力され，Ｖ・Ｎが求められる。第1の内積演算部及び第2の内積演算部で求められたＬ・Ｎ及びＶ・Ｎは，第1の加算器に入力され，Ｌ・Ｎ＋Ｖ・Ｎが求められて，この値が第3のメモリに格納される。第3のメモリに格納されたＬ・Ｎ＋Ｖ・Ｎは，乗算器により乗算され｜Ｌ・Ｎ＋Ｖ・Ｎ｜2の値が求められる。一方，第1のメモリに格納されるＬ＋Ｖの値も乗算器により乗算され，｜Ｌ＋Ｖ｜2の値が求められる。これらの２乗値は，加減算器に入力され，｜Ｌ＋Ｖ｜2−｜Ｌ・Ｎ＋Ｖ・Ｎ｜2が求められる。この求められた値をＸとすると，Ｘは，逆平方根演算器に入力されＸ-1/2が求められる。一方，第２のメモリに格納されたＬ・Ｎ＋Ｖ・Ｎと前記Ｘ-1/2とが乗算器に入力され乗算される。このようにして式(IV)所定のCOS_PHIが求められる。
【００６２】
[内積演算手段]
図14は，内積演算手段の基本構造例を示すブロック図である。図14に示されるとおり，内積演算手段は，たとえば，入力されたデータを選択するセレクタ(81)などの第１の選択手段，前記セレクタ(81)で選択された値が入力され，入力された値の内積値を求める内積演算器(62〜62)などの内積演算手段，前記内積演算器で求められた値と一時的に記憶するためのRAM(82a〜82c)などの第１の記憶手段，前記RAMに格納された出力結果を選択するためのセレクタ(83)などの第２の選択手段及び，前記第２の選択手段で選択された，内積演算結果を格納するレジスタ(84〜90)などの第２の記憶手段により実装されている。
【００６３】
図14に示される内積演算手段(14)のデータの流れの例を以下に示す。法線・ケガキ方向ベクトル演算手段(12)及び，COS_PHI・ジオメトリックファクタ演算手段(13)からベクトルデータ(18及び19)を受け取り，これらデータを内部セレクタ(81)にて選択し，内積演算器(62)へ選択して入力する。セレクタは，例えば，ポインティングデバイスなどの入力に従うか，又は予め定められたベクトルの組み合せを選択する。内積演算器(62)は，セレクタにて選択されたベクトルの組み合わせに対する内積演算を行い，内積演算結果をRAM(82a〜82c)に入力し，この出力をセレクタ(83)によってRAM(82a〜82c)出力の格納先をレジスタ(84〜90)から選択し，各レジスタ(84〜90)は，入力された結果を格納する。
【００６４】
図14に示される内積演算手段(14)では，３組の内積演算器・RAMが実装されているが，この数は，３つでなくてもよいし，それ以上（たとえば，4〜10個）・以下（１個又は２個）でもよい。またRAMを実装せず，この部分を特定関数のハードウェア実装または，ハードウェアとソフトウェアによる実装にしてもよいし，RAM自体を実装せず，そのまま内積結果を，内積演算結果を格納するレジスタ(84〜90)に格納するようにしてもよい。ハードウェアとソフトウェアによる実装による場合は，たとえば，ハードウェアに含まれる制御部がソフトウェアである制御プログラムなどを読み出し，その制御プログラムに従って，各種記憶装置などから所定の情報を読み出し，また入力された値を用いて演算処理を行えばよい。
【００６５】
また，内積演算手段(14)では，セレクタ(81及び83)によって選択される値をユーザからの入力にしたがって設定することで，内積対象のベクトル組を選択でき，格納先レジスタ(84〜90)を選択できるようにされていてもよい。
【００６６】
また，内積演算手段(14)では，複数クロックサイクルを使うことで，3つ以上の内積演算を行うことができる。この様子を図15〜図17に示した。図15は，内積演算手段において，複数クロックサイクル実行時，サイクル１での動きを示す図である。図16は，内積演算手段において，複数クロックサイクル実行時，サイクル２での動きを示す図である。図17は，内積演算手段において，複数クロックサイクル実行時，サイクル３での動きを示す図である。
【００６７】
まずはじめのクロックサイクルでは,図15に示されるようにRr(86),Rg（87）,及びRb（88）に関して演算を行い，格納している。なお，ここで，Rr(86),Rg（87）,及びRb（88）は，それぞれRed成分, Green成分, Blue成分の反射特性演算結果を格納するための記憶手段(RAM, バッファ)を意味する。以下，図15に従って，Rr(86),Rg（87）,及びRb（88）を得る作業を説明する。まず、各色成分に対する内積演算(62)対象の入力ベクトル組をMUX(81)にて選択を行う。そして、内積演算(62)にて内積演算を行い、この結果を内積値を元にあらかじめ演算された物質反射特性値(スペキュラ成分値)があらかじめ収められている、RAM(82a, 82b, 82c)に入力する。そして、描画対象ピクセルにおける、スペキュラ成分値を各色成分ごとにMUX(83)にて選択した後、Rr(86), Rg(87), Rb(88)の記憶手段(RAM, バッファ)に格納する。
【００６８】
次のクロックサイクルでは，図16に示されるようにDP0（84）,DP1（85）に関して演算を行い，格納している。なお，ここで，DP0（84）,DP1（85）は, 2種類の反射特性演算結果を格納するための記憶手段(RAM, バッファ)を意味する。以下，図16に従って，DP0（84）,DP1（85）を得る動作を説明する。まず、2種類の内積演算(62)対象の入力ベクトル組をMUX(81)にて選択を行う。そして，内積演算(62)にて内積演算を行い、この結果を内積値を元にあらかじめ演算された、物質反射特性値(スペキュラ成分値)があらかじめ収められている、RAM(82a, 82b)に入力する。そして、描画対象ピクセルにおける、スペキュラ成分値を各種類ごとにMUX(83)にて選択後、DP0(84), DP1(85)の記憶手段(RAM, バッファ)らに格納する。
【００６９】
次のクロックサイクルでは，図17のようにSpot（89）,FR（90）に関して演算を行い格納している。なお，ここで，Spot（89）,FR（90）は，それぞれスポットライト輝度成分、フレネル輝度成分を格納するための記憶手段(RAM, バッファ)を意味する。以下，図17に従って，Spot（89）,FR（90）を得る動作を説明する。まず、スポットライト及び, フレネル成分の内積演算(62)対象の入力ベクトル組をMUX(81)にて選択を行う。そして，内積演算(62)にて内積演算を行い、この結果を内積値を元にあらかじめ演算された、スポットライトの特性値・物質特性値があらかじめ収められている、RAM(82a, 82b)に入力する。描画対象ピクセルにおける、各成分の輝度を各種類ごとにMUX(83)にて選択した後、Spot（89）,FR（90）記憶手段(RAM, バッファ)らに格納される。
【００７０】
上記実装は，例であり，どのサイクルでどのパラメータを入力し，どこに格納するかは，ユーザによって定めることができるようにしてもよいし，ハードウェアとして固定としてもよい。
【００７１】
[内積結果演算手段]
図18は，内積結果演算手段の基本構造例を示すブロック図である。図18に示されるように，内積結果演算手段は，内積演算手段(14)から入力された内積演算結果，及び，システムバスなどのバスから各係数が入力される入力部分，乗算器(92a〜92g)などの乗算手段，加算器(93)などの加算手段を具備する。そして，スペキュラ成分カラー及びディフューズ成分カラーが出力される。
【００７２】
スペキュラ成分カラーを演算するために，内積演算手段(14)から入力されたDP0(84)，DP1(85)に対して，それぞれジオメトリックファクタLN_LVの乗算について，システムバスなどのバス経由で設定された設定によって，乗算を行うか，1.0の固定値を乗算するかをセレクタ(94)にて選択でき，乗算されたDP0に対しては，システムバスなどのバス経由にて設定された設定によってDP0係数(95)の乗算を行うことができ，また，乗算されたDP1に対しては，システムバスなどのバス経由にて設定された設定によってDP1係数(96)及び，内積演算手段から入力されたRr(86)，Rg(87)，Rb(88)との乗算を行う。なお，DP0係数(95)は，スペキュラ輝度D0に対する係数を意味し，ユーザにより設定することができる。また，DP1係数(96)は，スペキュラ輝度D1に対する係数を意味し，同様にユーザにより設定がすることができるようにしてもいいし, あらかじめハードウェアとして演算器とともに実装してもいい。これら演算されたDP0及び，DP1について，加算器(93)にて加算が行われ，最後に内積演算手段(14)から入力されたSpot(89)が乗算器(92f)で乗算され，スペキュラ成分カラーが出力される。
【００７３】
ディフューズ成分カラーを演算するために，内積演算手段(14)から入力されたSpot(89)及び，COS_PHI・ジオメトリックファクタ演算手段(13)から入力されるLNが乗算器(92g)にて乗算され，ディフューズ成分カラーが出力される。
【００７４】
本実装例では，ジオメトリックファクタの選択(94)を行う事ができる。一方，この部分をジオメトリックファクタ以外，例えば，内部演算手段(14)からの出力結果や，補間されたベクトル・値を選択可能なようにしてもよいし，なくてもよい。
【００７５】
また，本実装例では，スペキュラ成分カラーを演算するために，3つの内積演算手段(14)からの内積が入力できる実装となっている。しかしながら，それ以上または，それ以下の数の内積が入力可能とされてもよいし，この数及び構成は，入力により適宜調整可能とされていてもよい。このような調整は，例えば，プログラマブルロジック回路を適宜用いることで調整できる。
【００７６】
[カラーブレンド手段]
図19は，カラーブレンド手段の基本構成例を示すブロック図である。図19に示されるとおり，カラーブレンド手段は，入出力部などの入出力手段の他，乗算器などの加算手段及び，加算器などの加算手段を具備する。
【００７７】
最終RGBカラーを出力するために，入力として，システムバスなどのバス経由で，例えばユーザ設定によるスペキュラ係数，及びディフューズ係数をシェーディング手段(35)の出力であるスペキュラ成分カラー，及びディフューズ成分カラーと乗算を行う。さらに，ディフューズ成分に対しては，テクスチャ手段(34)からの出力であるテクスチャカラーを乗算し，最後にスペキュラ成分及び，ディフューズ成分の加算を行うことで最終RGBカラーを求めることができる。図19に示されるカラーブレンド手段の例では，スペキュラ係数とスペキュラ成分カラー値とが，第1の乗算器に入力され，入力値が乗算される。第1の乗算器の出力値は，加算器に入力される。一方，ディフューズ係数とディフューズ成分カラーとは，第2の乗算器に入力され，入力値が乗算される。第2の乗算器の出力及びテクスチャカラーは，第3の乗算器に入力され，入力値が乗算される。第3の乗算器の出力は，前記加算器に入力される。加算器は，入力された値を加算し，出力する。このようにして，最終RGBカラーを得ることができる。
【００７８】
[プログラム]
本発明の画像生成装置は，基本的にはハードウェアにより実装されるが，ソフトウェアにより実装されてもよい。例えば，ベクトルを入力するにあたり，クオータニオン形式での入力を行うことで，N,Tベクトルを同時に入力することができ，かつ，バンプベクトルによる変換操作を同時に演算するような，機能させるためのコンピュータグラフィックス用のプログラムがあげられる。そして，このプログラムにより得られる各手段は，上記したと同様の機能を有するものとすればよいので，ここでは上記の記載を準用することとする。また，一部ソフトウェア，一部ハードウェアによって実装されてもよい。例えば，内積演算等の演算はハードウェアで実装しているがその他のセレクタ等の部分を，ソフト制御によって実装することもよい。
【００７９】
[記録媒体]
本発明は，上記のプログラムを格納した，コンピュータにより読み取ることができる記録媒体をも提供できる。このような記録媒体としては，ＣＤ−ＲＯＭ，ＤＶＤ，ハードディスク又はコンピュータ内のメモリなどがあげられる。そして，コンピュータの入力部に所定の情報が入力さると，制御部の指令を受けてプログラムが読み取され，制御部の指令を受けた演算部が，読み出されたプログラムを用いて，入力されたデータや，記憶部に記憶されるデータなどを読み出し，例えば記憶部のメモリを作業領域として利用し，所定の演算を行う。演算結果は，例えばメモリに一時的に記憶された後，出力部から出力される。これらのデータは，例えばバスを通じて，伝達されればよい。このようにして，ハードウェア資源とプログラムとが協働した処理が行われる。
【００８０】
[コンピュータの構成]
図２０は，本発明のある実施態様（コンピュータ）を示すブロック図である。この実施態様は，コンピュータグラフィックスによるコンピュータ（グラフィック用コンピュータなど）に関する。図13に示されるとおり，このコンピュータ101は，中央演算装置（ＣＰＵ）102，ジオメトリ演算回路103などのジオメトリ演算部，レンダラー104などの描画部，テクスチャ生成回路105などのテクスチャ生成部，照光処理回路107などの照光処理部，表示回路108などの表示情報作成部，フレームバッファ109，及びモニター110を具備する。これらの要素は，バスなどにより接続され，相互にデータを伝達できる。そのほか，図示しないメインメモリや，各種テーブル，ワーク領域となるワークメモリ111，テクスチャを格納するテクスチャメモリ112などを具備する記憶部などを有しても良い。各部を構成するハードウェアは，例えばバスなどを介して連結されている。なお，記憶部は，ＶＲＡＭなどのＲＡＭや，ＣＲ−ＲＯＭ，ＤＶＤ，ハードディスクなどにより構成されても良い。
【００８１】
中央演算装置（ＣＰＵ）102は，画像を生成するためのプログラムなどを制御するための装置である。ワークメモリ111は，ＣＰＵ102で使用するデータ及びディスプレイリストなどを記憶してもよい。そして，ＣＰＵ102は，メインメモリに記憶されたプログラムなどを読み出して，所定の処理を行ってもよい。ただし，ハードウェア処理のみにより所定の処理を行っても良い。ＣＰＵ102は，たとえばワークメモリ111から，ワールド座標の3次元オブジェクトデータとしてのポリゴンデータを読出し，ポリゴンデータをジオメトリ演算回路103へ出力する。具体的には，メインプロセッサ，コプロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などを適宜有するものがあげられる。これらはバスなどにより連結され，信号の授受が可能とされる。また，圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
【００８２】
ジオメトリ演算回路103は，入力されたポリゴンデータに対して，視点を原点とする視点座標系のデータに座標変換などを行うための回路である。ジオメトリ演算回路103は，処理したポリゴンデータを，レンダラー104へ出力する。具体的なジオメトリ演算回路として，前記メインプロセッサとバスなどで連結された，ジオメトリプロセッサ，コプロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
【００８３】
レンダラー104は，ポリゴン単位のデータをピクセル単位のデータに変換するための回路又は装置である。レンダラー104は，ピクセル単位のデータをテクスチャ生成回路105へ出力する。具体的なレンダラー104として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
【００８４】
テクスチャ生成回路105は，テクスチャメモリ112に記憶されるテクスチャデータに基づき，ピクセル単位のテクスチャカラーを生成するための回路である。テクスチャ生成回路105は，テクスチャカラー情報を有するピクセル単位のデータを，照光処理回路107へ出力する。具体的なテクスチャ生成回路105として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
【００８５】
照光処理回路107は，テクスチャカラー情報を有するポリゴンに対し，ピクセル単位で法線ベクトル，重心座標などを利用して陰影付けなどを行うための回路である。照光処理回路107は，陰影付けした画像データを，表示回路108へ出力する。具体的な照光処理回路107として，前記メインプロセッサとバスなどで連結されたデータ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。そして，メモリに格納されたテーブルなどから適宜光に関する情報を読み出して陰影付けを行えばよい。
【００８６】
表示回路108は，照光処理回路107から入力された画像データをフレームバッファ109に書き込み，またフレームバッファ109に書き込まれた画像データを読み出し，制御して表示画像情報を得るための回路である。表示回路108は，表示画像情報をモニター110へ出力する。具体的な表示回路として，前記メインプロセッサとバスなどで連結された描画プロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。
【００８７】
モニター110は，入力された表示画像情報にしたがって，コンピュータグラフィックス画像を表示するための装置である。
【００８８】
本発明のコンピュータは，照光処理回路などの照光処理部に，本発明の画像生成装置を具備するので，シェーディング画像などを効果的に生成できる。
【００８９】
[コンピュータの動作]
以下，コンピュータを用いて画像を生成する動作例を説明する。ＣＰＵ102は，ワークメモリ111から，ポリゴンデータを読出し，ポリゴンデータをジオメトリ演算回路103へ出力する。ジオメトリ演算回路103は，入力されたポリゴンデータに対して，視点を原点とする視点座標系のデータに座標変換するなどの処理を行う。ジオメトリ演算回路103は，処理したポリゴンデータを，レンダラー104へ出力する。レンダラー104は，ポリゴン単位のデータをピクセル単位のデータに変換する。レンダラー104は，ピクセル単位のデータをテクスチャ生成回路105へ出力する。テクスチャ生成回路105は，テクスチャメモリ112に記憶されるテクスチャデータに基づき，ピクセル単位のテクスチャカラーを生成する。テクスチャ生成回路105は，テクスチャカラー情報を有するピクセル単位のデータを，照光処理回路107へ出力する。照光処理回路107は，テクスチャカラー情報を有するポリゴンに対し，ピクセル単位で法線ベクトル，重心座標などを利用して陰影付けを行う。照光処理回路107は，陰影付けした画像データを，表示回路108へ出力する。表示回路108は，照光処理回路107から入力された画像データをフレームバッファ109に書き込み，またフレームバッファ109に書き込まれた画像データを読み出し，表示画像情報を得る。表示回路108は，表示画像情報をモニター110へ出力する。モニター110は，入力された表示画像情報にしたがって，コンピュータグラフィックス画像を表示する。
【００９０】
本発明のコンピュータは，照光処理回路などの照光処理部に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。
【００９１】
[ゲーム機の構成]
図２１は，本発明のある実施形態（ゲーム機）のブロック図である。このブロック図で表される実施形態は，特に携帯用，家庭用又は業務用のゲーム機として好適に利用されうる。そこで，以下では，ゲーム機として説明する。なお，同図に示されるゲーム機は，少なくとも処理部200を含めばよく（又は処理部200と記憶部270，又は処理部200と記憶部270と情報記憶媒体280を含んでもよく），それ以外のブロック（例えば操作部260，表示部290，音出力部292，携帯型情報記憶装置294，通信部296）については，任意の構成要素とすることができる。
【００９２】
処理部200は，システム全体の制御，システム内の各ブロックへの命令の指示，ゲーム処理，画像処理，音処理などの各種の処理を行うものである。処理部200の機能は，各種プロセッサ（ＣＰＵ，ＤＳＰ等），又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや，所与のプログラム（ゲームプログラム）により実現できる。
【００９３】
操作部260は，プレーヤが操作データを入力するためのものである。操作部260は，の機能は，例えば，レバー，ボタン，外枠，及びハードウェアを備えたコントローラにより実現できる。なお，特に携帯用ゲーム機の場合は，操作部260は，ゲーム機本体と一体として形成されても良い。コントローラからの処理情報は，シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。
【００９４】
記憶部270は，処理部200や通信部296などのワーク領域となるものである。また，プログラムや各種テーブルなどを格納しても良い。記憶部270は，例えば，メインメモリ272，フレームバッファ274，及びテクスチャ記憶部276を含んでもよく，そのほか各種テーブルなどを記憶しても良い。記憶部270の機能は，ＲＯＭやＲＡＭなどのハードウェアにより実現できる。 ＲＡＭとして，ＶＲＡＭ，ＤＲＡＭ又はＳＲＡＭなどがあげられ，用途に応じて適宜選択すればよい。フレームバッファ274を構成するＶＲＡＭなどは，各種プロセッサの作業領域として用いられる。
【００９５】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）280は，プログラムやデータなどの情報を格納するものである。情報記憶媒体280は，いわゆるゲームカセットなどとして販売されうる。そして，情報記憶媒体280の機能は，光ディスク（ＣＤ，ＤＶＤ），光磁気ディスク（ＭＯ），磁気ディスク，ハードディスク，磁気テープ，又はメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部200は，この情報記憶媒体280に格納される情報に基づいて種々の処理を行う。情報記憶媒体280には，本発明（本実施形態）の手段（特に処理部200に含まれるブロック）を実行するための情報（プログラム又はプログラム及びデータ）が格納される。なお，上記記憶部にプログラムやデータなどの情報を格納した場合は，情報記憶媒体280は必ずしも必要ない。情報記憶媒体280に格納される情報の一部又は全部は，例えば，システムへの電源投入時等に記憶部270に転送されることになる。また，情報記憶媒体280に記憶される情報として，所定の処理を行うためのプログラムコード，画像データ，音データ，表示物の形状データ，テーブルデータ，リストデータ，本発明の処理を指示するための情報，その指示に従って処理を行うための情報等の少なくとも2つを含むものがあげられる。
【００９６】
表示部290は，本実施形態により生成された画像を出力するものであり，その機能は，ＣＲＴ（ブラウン管），ＬＣＤ（液晶），ＯＥＬ（有機電界発光素子），ＰＤＰ（プラズマディスプレイパネル）又はＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００９７】
音出力部292は，音を出力するものである。音出力部292の機能は，スピーカなどのハードウェアにより実現できる。音出力は，例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより，音処理が施され，スピーカなどの音出力部から出力される。
【００９８】
携帯型情報記憶装置294は，プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置294としては，メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置294の機能は，メモリカード，フラッシュメモリ，ハードディスク，ＵＳＢメモリなど公知の記憶手段により達成できる。
【００９９】
通信部296は，外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行う任意のものである。通信部296の機能は，各種プロセッサ，又は通信用ＡＳＩＣなどのハードウェアや，プログラムなどにより実現できる。
【０１００】
ゲーム機を実行するためのプログラム又はデータは，ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部296を介して情報記憶媒体280に配信するようにしてもよい。
【０１０１】
処理部200は，ゲーム処理部220，画像処理部230，及び音処理部250を含むものがあげられる。具体的には，メインプロセッサ，コプロセッサ，ジオメトリプロセッサ，描画プロセッサ，データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され，信号の授受が可能とされる。また，圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
【０１０２】
ここでゲーム処理部220は，コイン（代価）の受け付け処理，各種モードの設定処理，ゲームの進行処理，選択画面の設定処理，オブジェクトの位置や回転角度（Ｘ，Ｙ又はＺ軸回り回転角度）を求める処理，オブジェクトを動作させる処理（モーション処理），視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理，マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理，ヒットチェック処理，ゲーム結果（成果，成績）を演算する処理，複数のプレーヤが共通のゲーム空間でプレイするための処理，又はゲームオーバー処理などの種々のゲーム処理を，操作部260からの操作データや，携帯型情報記憶装置294からの個人データ，保存データや，ゲームプログラムなどに基づいて行う。
【０１０３】
画像処理部230は，ゲーム処理部220からの指示等にしたがって，各種の画像処理を行うものである。また，音処理部250は，ゲーム処理部220からの指示等にしたがって，各種の音処理を行う。
【０１０４】
ゲーム処理部220，画像処理部230，音処理部250の機能は，その全てをハードウェアにより実現してもよいし，その全てをプログラムにより実現してもよい。又は，ハードウェアとプログラムの両方により実現してもよい。画像処理部230は，ジオメトリ演算部232（3次元座標演算部），描画部240（レンダリング部）を含むものがあげられる。
【０１０５】
ジオメトリ演算部232は，座標変換，クリッピング処理，透視変換，又は光源計算などの種々のジオメトリ演算（3次元座標演算）を行う。そして，ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標，頂点テクスチャ座標，又は輝度データ等）は，例えば，記憶部270のメインメモリ272に格納されて，保存される。
【０１０６】
描画部240は，ジオメトリ演算後（透視変換後）のオブジェクトデータと，テクスチャ記憶部276に記憶されるテクスチャなどに基づいて，オブジェクトをフレームバッファ274に描画する。
【０１０７】
描画部240は，例えば，テクスチャマッピング部242，シェーディング処理部244を含むものがあげられる。具体的には，描画プロセッサにより実装できる。描画プロセッサは，テクスチャ記憶部，各種テーブル，フレームバッファ，ＶＲＡＭなどとバスなどを介して接続され，更にディスプレイと接続される。
【０１０８】
テクスチャマッピング部242は，環境テクスチャをテクスチャ記憶部276から読み出し，読み出された環境テクスチャを，オブジェクトに対してマッピングする。
【０１０９】
シェーディング処理部244は，オブジェクトに対するシェーディング処理を行う。例えば，ジオメトリ処理部232が光源計算を行い，シェーディング処理用の光源の情報や，照明モデルや，オブジェクトの各頂点の法線ベクトルなどに基づいて，オブジェクトの各頂点の輝度（ＲＧＢ）を求める。シェーディング処理部244は，この各頂点の輝度に基づいて，プリミティブ面（ポリゴン，曲面）の各ドットの輝度を例えば，ホンシェーディングや，グーローシェーディングなどにより求める。
【０１１０】
ジオメトリ演算部232は，法線ベクトル処理部234を含むものがあげられる。法線ベクトル処理部234は，オブジェクトの各頂点の法線ベクトル（広義にはオブジェクトの面の法線ベクトル）を，ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。
【０１１１】
本発明のゲーム機は，たとえば，シェーディング処理部244に，本発明の画像生成装置を具備する。
【０１１２】
[ゲーム機の基本動作]
システムの電源がＯＮになると，情報記憶媒体280に格納される情報の一部又は全部は，例えば，記憶部270に転送される。そして，ゲーム処理用のプログラムが，例えばメインメモリ272に格納され，様々なデータが，テクスチャ記憶部276や，図示しないテーブルなどに格納される。
【０１１３】
操作部260からの操作情報は，例えば，図示しないシリアルインターフェースやバスを介して，処理部200へ伝えられ，音処理や，様々な画像処理が行われる。音処理部250により処理された音情報は，バスを介して音出力部292へ伝えられ，音として放出される。また，メモリカードなどの携帯型情報記憶装置194に記憶されたセーブ情報なども，図示しないシリアルインターフェースやバスを介して，処理部200へ伝えられ所定のデータが記憶部170から読み出される。
【０１１４】
画像処理部230が，ゲーム処理部220からの指示等にしたがって，各種の画像処理を行う。具体的には，ジオメトリ演算部232が，座標変換，クリッピング処理，透視変換，又は光源計算などの種々のジオメトリ演算（3次元座標演算）を行う。そして，ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標，頂点テクスチャ座標，又は輝度データ等）は，例えば，記憶部270のメインメモリ272に格納されて，保存される。次に，描画部240が，ジオメトリ演算後（透視変換後）のオブジェクトデータと，テクスチャ記憶部276に記憶されるテクスチャなどとに基づいて，オブジェクトをフレームバッファ274に描画する。
【０１１５】
フレームバッファ274に格納された情報は，バスを介して表示部290へ伝えられ，描画されることとなる。このようにして，コンピュータグラフィックを有するゲーム機として機能する。
【０１１６】
本発明のゲーム機は，たとえば，シェーディング処理部244に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。
【０１１７】
[携帯電話機の構成]
図２２は，本発明のある実施形態（コンピュータグラフィック機能つき携帯電話機）のブロック図である。このブロック図で表される実施形態は，特に3次元コンピュータグラフィック機能つき携帯電話機，特にゲーム機能付携帯電話や，ナビゲーション機能付形態電話として好適に利用されうる。
【０１１８】
図２２に示されるように，この携帯電話は，制御部221と，制御部221のためのプログラムや画像データなどが格納され，制御部や通信部などのワーク領域となるメモリ部222と，無線通信を行うための無線通信機能部223と，静止画や動画を撮影してデジタル信号に変換するＣＣＤカメラなどの任意要素である撮像部224と，画像や文字を表示するためのＬＣＤなどの表示部225と，テンキーや各種機能キーなどを含む操作部226と，音声通話のためのマイクなどの音声入力部227と，レシーバやスピーカなど音を出力するための音声出力部228と，当該携帯電話端末を動作させるための電池229と，電池229を安定化し各機能部へ分配する電源部230を含む。
【０１１９】
制御部201は，携帯電話システム全体の制御，システム内の各ブロックへの命令の指示，ゲーム処理，画像処理，音処理などの各種の処理を行うものである。制御部221の機能は，各種プロセッサ（ＣＰＵ，ＤＳＰ等），又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや，所与のプログラム（ゲームプログラム）により実現できる。
【０１２０】
より具体的には，制御部は，図示しない画像処理部を具備し，画像処理部は，ジオメトリ演算回路などのジオメトリ演算部と，描画部（レンダラー）とを具備する。さらに，テクスチャ生成回路，照光処理回路，又は表示回路などを具備してもよい。更には，先に説明したコンピュータやゲーム機における描画処理回路を適宜具備すればよい。
【０１２１】
本発明の携帯電話は，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備する。
【０１２２】
[携帯電話機の動作例]
まず，音声による通信動作について説明する。例えば音声入力部227に入力された音声は，インターフェイスによりデジタル情報に変換され，制御部221によって，所定の処理が施され，無線通信機能部223から無線信号として出力される。また，相手の音情報を受信する場合は，無線通信機能部223が無線信号を受信し，所定の変換処理が施された後，制御部221の制御を受けて，音声出力部228から出力される。
【０１２３】
次に，画像を処理するための動作や処理は，基本的には先に説明したコンピュータやゲーム機における動作や処理と同様である。操作部224から，図示しないインターフェイスやバスを介して処理情報が入力されると，例えば，制御部221中の画像処理部の指令に基づき，ジオメトリプロセッサなどが，ＲＡＭなどの作業領域，各種テーブルなどを適宜利用し，ジオメトリ演算を行う。さらに,制御部221のレンダラーは，制御部221中の画像処理部の指令に基づき，レンダリング処理を行う。カリング処理やクリッピング処理，アンチエイリアス処理などが適宜施された画像情報は，描画プロセッサにより所定の描画処理を施され，フレームバッファに記憶され，表示部に画像として表示される。このようにして，3次元コンピュータグラフィックスが表示される。
【０１２４】
本発明の携帯電話は，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができるので，高速に陰影などを演算することができる。携帯電話におけるコンピュータグラフィックス，特に3次元コンピュータグラフィックス，のレベルはそれほど高くはないので，本発明のようなシェーディング技術は要求されていないが，あえて本発明の画像生成装置を盛り込むことで，陰影の美しい画像を効果的に表示できることとなる。
【０１２５】
[カーナビの構成]
図２３は，本発明のある実施形態（ナビゲーションシステム）のブロック図である。このブロック図で表される実施形態は，特に3次元コンピュータグラフィック機能つきカーナビゲーションとして好適に利用されうる。図16に示されるように，このナビゲーションシステムは，ＧＰＳ部241と，任意要素としての自律測位部242と，地図記憶部243と，制御部244と，表示部245と，任意要素としてのマップマッチング部246とを含むものがあげられる。
【０１２６】
ＧＰＳ部241は，ＧＰＳ受信機を備え，複数のＧＰＳ衛星からの電波を同時に受信して車両の測位データを得るＧＰＳ部である。ＧＰＳ部241は，ＧＰＳ受信機において受信したデータから車両の絶対位置を得るものであるが，この測位データには車両の位置情報の他に車両の進行方向情報，仰角情報が含まれている。
【０１２７】
自律測位部242は，自律型センサを備え，自律型センサの出力データから車両の移動距離，移動方位を算出する自律測位部である。自律型センサとしては，車輪の回転数に応じた信号を検出する車輪側センサ，車両の加速度を検出する加速度センサ，車両の角速度を検出するジャイロセンサなどが含まれる。この例では，ジャイロセンサとして，さらに車両のピッチ動作方向における姿勢角度（以下「ピッチ角」と称する）も検出できる3次元ジャイロセンサが使用されており，したがって，自律測位部242から出力される測位データには車両のピッチ角が含まれている。
【０１２８】
地図記憶部243は，2次元地図情報，3次元道路情報，及び3次元建物情報を有するデジタル地図データが記憶された地図記憶部である。地図記憶部243を構成する記憶媒体として，ＣＤ−ＲＯＭ，ハードディスクがあげられる。地図データは，データ量が大きいと読み込み時間を要するため，好ましくは複数のブロックに分割されて記憶される。また，道路情報とは，交差点や屈曲点などの主要な地点（ノード）を示す情報を有したものであってもよく，ノード情報はその地点における座標データなどを備え，道路は各ノードを結ぶ直線（リンク）として近似されてもよい。このシステムでの3次元道路情報とは，ノード情報が3次元の座標データを備えていることを意味している。
【０１２９】
制御部244は，ＧＰＳ部241または自律測位部242から得られた車両の位置情報に基づいて，地図記憶部243から車両の位置が該当する所定領域の地図データを読み出すなど所定の制御を行うためのものである。
【０１３０】
表示部245は，測位制御部244により読み出された地図データを表示するためのものである。
【０１３１】
マップマッチング部246は，車両の測位データおよび地図データの3次元道路情報を基に，車両の位置を道路上に補正するためのものである。
【０１３２】
本発明のカーナビは，たとえば，制御部に幾何演算部と描画部とを具備し，描画部（レンダラー）に，本発明の画像生成装置を具備する。
【０１３３】
[カーナビの動作例]
ＧＰＳ部241が，複数のＧＰＳ衛星からの電波を同時に受信し車両の測位データを得る。自律測位部242は，自律型センサの出力データから車両の移動距離，移動方位を算出する。制御部244は，ＧＰＳ部241または自律測位部242から得られたデータに所定の処理を施して車両の位置情報を得る。そして，車両の位置情報に基づいて，地図記憶部243から車両の位置に関連する所定領域の地図データを読み出す。また，図示しない操作部からの操作情報を受けて表示モードを変え，表示モードに応じた地図データを読み出す。また，制御部244は，位置情報に基づいて，所定の描画処理を行い建物の立体画像，地図の立体画像，車の立体画像などを表示する。さらに，Ｚ値に基づいて，カリング処理などを行う。表示部245が，制御部244により読み出された地図データを表示する。
【０１３４】
本発明のカーナビは，たとえば，描画部（レンダラー）に，本発明の画像生成装置を具備するので，特定のピクセル以外のピクセルへの入射光を考慮しなくとも，輝度計算などを効果的に行うことができる。これにより，本発明のカーナビは，高速に陰影などを演算することができる。カーナビにおけるコンピュータグラフィックス，特に3次元コンピュータグラフィックス，のレベルはそれほど高くはないので，本発明のようなシェーディング技術は要求されていないが，あえて本発明の画像生成装置を盛り込むことで，陰影の美しい画像を効果的に表示できることとなる。
【０１３５】
図２４は，パチスロ機の主制御回路３６１を示すブロック図である。図２４に示されるとおり，主制御回路３６１はマイクロコンピュータ（以下，「マイコン」という。）３６３を主な構成要素とし，これに乱数サンブリングのための回路を加えて構成されている。マイコン３６３は，予め設定されたプログラムに従って制御動作を行うメインＣＰＵ（中央演算処理装置）３６４と，プログラム（画像演出プログラムなどを含む）や各種のテーブルデータなどを格納しているＲＯＭ３６５およびバックアップ機能付き制御ＲＡＭ（以下，単にＲＡＭと称する）３６６とを含んで構成されている。
【０１３６】
メインＣＰＵ３６４には，基準クロックパルスを発生するクロックパルス発生回路３６７および分周器３６８と，一定範囲の乱数を発生する乱数発生器３６９および発生した乱数の１つを特定するサンプリング回路３７０とが接続されている。さらに，メインＣＰＵ３６４には，後述する周辺装置（アクチュエータ）との間で信号を授受するＩ／Ｏポート３７１が接続されている。
【０１３７】
ここで，Ｒ０Ｍ３６５は，入賞確率テーブル，図柄テーブル，入賞シンボル組合せテーブル，シーケンスプログラム，告知演出テーブルおよび演出画像プログラムを格納するように記憶部が区分され，さらに，スタートレバー３２８を操作（スタート操作）する毎に行われる乱数サンプリングの判定に用いられる確率抽選テーブル，停止ボタンの操作に応じてリールの停止態様を決定するための停止テーブル等が格納されている。
【０１３８】
マイコン３６３からの制御信号により動作が制御される主要なアクチュエータとしては，各リール３０５，３０６，３０７を回転駆動するステッピングモータ３４５Ｌ，３４５Ｃ，３４５Ｒ，各種ランプ（賭数表示ランプ３１９〜３２１，スタートランプ３２９，ＷＩＮランプ３３０，インサートランプ３３２），各種表示部（クレジット表示ランプ３２３，遊技状態表示ランプ３２４〜３２７，ボーナスカウント表示ランプ３１８，配当枚数表示ランプ３２２），およびメダルを収納するホッパー３７２がある。これらはそれぞれモータ駆動回路３７３，各ランプ駆動回路３７４，各表示部駆動回路３７５およびホッパー駆動回路３７６によって駆動される。これら駆動回路３７３〜３７６は，マイコン３６３のＩ／Ｏポート３７１を介してメインＣＰＵ３６４に接続されている。
【０１３９】
また，マイコン３６３が制御信号を生成するために必要な入力信号を発生する主な入力信号発生手段としては，メダル投入口から投入されたメダルを検出する投入メダルセンサ３３１Ｓ，スタートレバーの操作を検出するスタートスイッチ３２８Ｓ，前述したＢＥＴスイッチ３３，およびクレジットメダル精算スイッチ３３４がある。さらに，フォトセンサからの出力パルス信号を受けて各リール３０５，３０６，３０７の回転位置を検出するリール位置検出回路３７７がある。なお，フォトセンサは各リール３０５〜３０７の駆動機構に含まれており，同図では図示されていない。
【０１４０】
さらに，上記の入力信号発生手段としては，停止ボタン３３５〜３３７が押されたときに対応するリールを停止させる信号を発生するリール停止信号回路３７８と，ホッパー３７２から払い出されるメダル数を計数するメダル検出部３７２Ｓと，図示しない払出完了信号発生回路とがある。
【０１４１】
また，Ｉ／Ｏポート３７１には副制御回路３８１が接続されている。図25は，パチスロ機の副制御回路を示すブロック図である。
【０１４２】
副制御回路３８１は，主制御回路３６１からの制御指令（コマンド）に基づいて表示装置３５０の表示制御およびスピーカ３８２Ｌ，３８２Ｒからの音の出力制御を実行する。この副制御回路３８１は，好ましくは，主制御回路３６１を構成する基板とは別の基板上に構成され，サブマイクロコンピュータ８３を主たる構成要素とし，表示装置３５０の表示制御手段としての画像制御回路３９１，スピーカ３８２Ｌ，３８２Ｒからの出力音を制御する音源ＩＣ３８８，増幅器としてのパワーアンプ３８９で構成されている。
【０１４３】
サブマイクロコンピュータ３８３は，主制御回路６１から送信された制御指令に従って制御動作を行うサブＣＰＵ３８４と，記憶手段としてのプログラムＲＯＭ３８５およびワークＲＡＭ３８６とを含む。この例では，副制御回路３８１は，クロックパルス発生回路，分周器，乱数発生器及びサンプリング回路を備えていないが，サブＣＰＵ３８４の動作プログラム上で乱数サンプリングを実行するように構成されている。
【０１４４】
プログラムＲＯＭ３８５は，サブＣＰＵ８４で実行する制御プログラムを格納する。ワークＲＡＭ３８６は，上記制御プログラムをサブＣＰＵ３８４で実行するときの一時記憶手段として構成される。
【０１４５】
画像制御回路３９１は，画像制御ＣＰＵ３９２，画像制御プログラムＲＯＭ３９４，画像制御ワークＲＡＭ３９３，画像制御ＩＣ３９８，画像ＲＯＭ３９６，ビデオＲＡＭ３９７で構成される。
【０１４６】
ここで，画像制御ＣＰＵ３９２は，サブマイクロコンピュータ３８３で設定されたパラメータに基づき，画像制御プログラムＲＯＭ３９４内に格納する画像制御プログラムに沿って表示装置３５０での表示内容を決定する。画像制御プログラムＲＯＭ３９４は，表示装置３５０での表示に関する画像制御プログラムや各種選択テーブルを格納する。画像制御ワークＲＡＭ３９３は，上記画像制御プログラムを画像制御ＣＰＵ３９２で実行するときの一時記憶手段として構成される。画像制御ＩＣ３９８は，画像制御ＣＰＵ３９２で決定された表示内容に応じた画像を形成し，表示装置３５０に出力する。画像ＲＯＭ３９６は，画像を形成するためのドットデータを格納する。ビデオＲＡＭ３９７は，画像制御ＩＣ３９８で画像を形成するときの一時記憶手段として構成される。
【０１４７】
なお，主制御回路３６１からの出力はＩＮポート３８７を介してサブＣＰＵ３８４に入力され，サブＣＰＵ３８４からの出力はＯＵＴポート３９０およびＩＮポート３９５を介して画像制御ＣＰＵ３９２に入力される。
【０１４８】
次に，本実施の形態のパチスロ機の動作について説明する。遊技者がメダル投入口にメダルを投入すると，投入メダルセンサ３３１Ｓから検知信号がメインＣＰＵ３６４へ送られ，メインＣＰＵ３６４はメダルの投入を検知し，賭数に応じた賭数表示ランプ３１９〜３２１が点灯する。遊技者がスタートレバー３２８を押すと，スタートスイッチ３２８Ｓから操作信号がメインＣＰＵ３６４へ伝えられ，メインＣＰＵ３６４はスタートレバー３２８の操作を検知し，Ｉ／Ｏポート３７１を介してモータ駆動部３７３へスタート信号を送り，リール３０５，３０６，３０７を一斉に回転させる。
【０１４９】
また，スタートスイッチ３２８Ｓがスタートレバーの操作を検出すると，メインＣＰＵ３６４は乱数発生器３６９より発生された乱数値をサンプリング回路３７０により取り込み，取り込んだ乱数値とＲＯＭ３６５に格納された判定値とを比較して，当選，落選を決定する内部抽選を行う。その抽選結果はＲＡＭ３６６の所定領域に格納されるが，内部当選すると，当選の種類に応じたフラグがＲＡＭ３６６の所定領域に立てられる。ここで，当該ゲームで立てられたフラグは当該ゲームが終了すると消滅するのが基本であるが，内部当選確率が低いＢＢやＲＢに限って，立てられたフラグが対応する図柄が揃って入賞するまで複数ゲームにわたって持ち越される場合がある。
【０１５０】
さらに，スタートスイッチ３２８Ｓがスタートレバーの操作を検出すると，メインＣＰＵ３６４はＲＯＭ３６５から複数ゲームにわたって表示装置３５０に演出画像を表示するための演出指示コマンドを読み出し，これをＩ／Ｏポート３７１を介して副制御回路３８１に送出する。なお，メインＣＰＵ３６４は副制御回路３８１に送出する演出指示コマンドをＲＡＭ３６６の所定領域に保持しておく。
【０１５１】
副制御回路３８１はメインＣＰＵ３６４から入力された演出指示コマンドに従った演出内容の画像を表示装置３５０に表示し，内部当選の契機となるスタートレバー３２８の有効な操作毎に入力される演出指示コマンドに従って画像を表示させる。
【０１５２】
次にメインＣＰＵ３６４は，ＲＡＭ３６６上の内部抽選結果をチェックして，内部抽選の判定結果に対応する停止テーブルを選択決定し，それぞれに対応する停止テーブルをＲＯＭ３６５からＲＡＭ３６６上に読み出す。
【０１５３】
その後，遊技者が，停止ボタン３３５，３３６，３３７のいずれかを操作すると，リール停止信号回路３７８から操作信号がメインＣＰＵ３６４へ伝えられ，メインＣＰＵ３６４はリール位置検出回路３７７からの各リール３０５，３０６，３０７の位置とＲＡＭ３６６上の停止テーブルに基づいてリール３０５，３０６，３０７を停止させる制御を行う。
【０１５４】
これにより，内部抽選で当選していない限り，遊技者はどのようなタイミングで停止ボタン３３５，３３６，３３７を操作しても，当選図柄が揃わないように各リール３０５，３０６，３０７の停止制御が行われる。一方，内部抽選で当選し且つ，内部当選結果に対応する図柄が揃えられる停止テーブルが選択されている場合，遊技者の停止ボタン３３５，３３６，３３７の操作タイミング如何によっては内部当選に対応した図柄が揃う停止制御が存在することになる。
【０１５５】
すなわち，内部抽選結果が当選の場合には，メインＣＰＵ３６４は引き込み停止制御に基づくストップ信号をモータ駆動部３７３へ送り，操作された停止ボタン３３５，３３６，３３７に対応するリール３０５，３０６，３０７を停止させるが，このとき，このリール３０５，３０６，３０７上の入賞に係るシンボルが有効な停止ライン上で停止するようなリール停止制御を行う。
【０１５６】
内部抽選結果が外れの場合，メインＣＰＵ３６４は，停止ボタン３３５，３３６，３３７の操作にて，入賞に係るシンボルが有効な停止ライン上で止まらないように，操作された停止ボタン３３５，３３６，３３７に対応するリール３０５，３０６，３０７を停止させる。
【０１５７】
本発明のパチスロ機は，たとえば，副制御回路381に含まれる画像制御プログラムや画像制御ＣＰＵとして，本発明の画像生成装置を具備するので，回路素子などを共有することで，ハードウェア規模を縮減でき，ベクタ・２Ｄ・３Ｄ画像処理部を一元化することにより，システムが複雑になる事態を防止できる。これにより，無駄なハードウェア・制御処理を少なくすることができる。前記したとおり，開発・製造コスト，消費電力を低減することができるため，パチスロ機などにおいても好適に利用される。
【産業上の利用可能性】
【０１５８】
本発明の画像生成装置は，特に3次元のコンピュータグラフィックを生成することができるのでコンピュータなどの分野で利用されうる。また，ゲーム機，携帯電話，ナビゲーション装置などの分野でも好適に利用されうる。
【０１５９】
本発明の画像生成装置は，コンピュータグラフィックス処理分野にて応用が可能であり，デジタルＡＶ・携帯電話・携帯ＡＶ機器・携帯ゲーム機のようなディスプレイを持ったデジタル機器に適用可能である。
【図面の簡単な説明】
【０１６０】
【図１】図１は，本発明で使用しているベクトルパラメータに関する図である。
【図２】図２は，グラフィック装置における本発明の位置づけを示すブロック図である。
【図３】図３は，本発明の基本ブロック図である。
【図４】図４は，法線・ケガキ方向ベクトル演算手段ブロック図である。
【図５】図５は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，法線ベクトルにバンプベクトルを適用した場合のサイクル１での動きを示す図である。
【図６】図６は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，法線ベクトルにバンプベクトルを適用した場合のサイクル２での動きを示す図である。
【図７】図７は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル１での動きを示す図である。
【図８】図８は，法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時，ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル２での動きを示す図である。
【図９】図９は，COS_PHI・ジオメトリックファクタ演算手段ブロック図である。
【図１０】図１０は，内積演算手段の基本構造例を示すブロック図である。
【図１１】図１１は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル１での動きを示す図である。
【図１２】図１２は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル２での動きを示す図である。
【図１３】図１３は，COS_PHI・ジオメトリックファクタ演算手段において，複数クロックサイクル実行時，サイクル３での動きを示す図である。
【図１４】図１４は，内積演算手段の基本構造例を示すブロック図である。
【図１５】図１５は，内積演算手段において，複数クロックサイクル実行時，サイクル１での動きを示す図である。
【図１６】図１６は，内積演算手段において，複数クロックサイクル実行時，サイクル２での動きを示す図である。
【図１７】図１７は，内積演算手段において，複数クロックサイクル実行時，サイクル３での動きを示す図である。
【図１８】図１８は，内積結果演算手段の基本構造例を示すブロック図である。
【図１９】図１９は，カラーブレンド手段の基本構成例を示すブロック図である。
【図２０】図２０は，本発明のある実施態様（コンピュータ）を示すブロック図である。
【図２１】図２１は，本発明のある実施形態（ゲーム機）のブロック図である。
【図２２】図２２は，本発明のある実施形態（コンピュータグラフィック機能つき携帯電話機）のブロック図である。
【図２３】図２３は，本発明のある実施形態（ナビゲーションシステム）のブロック図である。
【図２４】図２４は，パチスロ機の主制御回路を示すブロック図である。
【図２５】図２５は，パチスロ機の副制御回路を示すブロック図である。
【符号の説明】
【０１６１】
11  頂点データ補間手段12  法線・ケガキ方向ベクトル演算手段
13   COS_PHI・ジオメトリックファクタ演算手段
14  内積演算手段
15  内積結果演算手段
16  補間されたパラメータ（クオータニオン形式）
17  視点ベクトル及び光源ベクトル
18  法線ベクトル及びケガキ方向ベクトル
19   COS_PHI・ジオメトリックファクタ演算手段からの出力
20  内積演算手段にて演算された結果
21  スペキュラ成分カラー及びディフューズ成分カラー（内積結果演算手段の出力）
22  テクスチャ手段
23  バンプベクトル
24  チップ
【図１】
0004761541.tif 000006
【図２】
0004761541.tif 000007
【図３】
0004761541.tif 000008
【図４】
0004761541.tif 000009
【図５】
0004761541.tif 000010
【図６】
0004761541.tif 000011
【図７】
0004761541.tif 000012
【図８】
0004761541.tif 000013
【図９】
0004761541.tif 000014
【図１０】
0004761541.tif 000015
【図１１】
0004761541.tif 000016
【図１２】
0004761541.tif 000017
【図１３】
0004761541.tif 000018
【図１４】
0004761541.tif 000019
【図１５】
0004761541.tif 000020
【図１６】
0004761541.tif 000021
【図１７】
0004761541.tif 000022
【図１８】
0004761541.tif 000023
【図１９】
0004761541.tif 000024
【図２０】
0004761541.tif 000025
【図２１】
0004761541.tif 000026
【図２２】
0004761541.tif 000027
【図２３】
0004761541.tif 000028
【図２４】
0004761541.tif 000029
【図２５】
0004761541.tif 000030