JP4761541B2 - 画像生成装置 - Google Patents

画像生成装置 Download PDF

Info

Publication number
JP4761541B2
JP4761541B2 JP2006117193A JP2006117193A JP4761541B2 JP 4761541 B2 JP4761541 B2 JP 4761541B2 JP 2006117193 A JP2006117193 A JP 2006117193A JP 2006117193 A JP2006117193 A JP 2006117193A JP 4761541 B2 JP4761541 B2 JP 4761541B2
Authority
JP
Japan
Prior art keywords
vector
inner product
normal
marking direction
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006117193A
Other languages
English (en)
Other versions
JP2007293392A5 (ja
JP2007293392A (ja
Inventor
栄作 大渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Media Professionals Inc
Original Assignee
Digital Media Professionals Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Media Professionals Inc filed Critical Digital Media Professionals Inc
Priority to JP2006117193A priority Critical patent/JP4761541B2/ja
Publication of JP2007293392A publication Critical patent/JP2007293392A/ja
Publication of JP2007293392A5 publication Critical patent/JP2007293392A5/ja
Application granted granted Critical
Publication of JP4761541B2 publication Critical patent/JP4761541B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Slot Machines And Peripheral Devices (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Image Generation (AREA)
  • Instructional Devices (AREA)
  • Pinball Game Machines (AREA)

Description

本発明は,コンピュータグラフィックス用異方性反射画像生成装置及び,コンピュータなどに関する。特に,本発明は,表面に一定の反射方向性を持つような物体(例えば,CDの裏面や,表面にけがき状の細かな傷を有するような金属物体)の物体表面における光の散乱を考慮した輝度計算などを効果的に行うリアルタイム3Dコンピュータグラフィックス用の異方性反射画像生成装置及びコンピュータに関する。
近年,コンピュータグラフィックスシステム(画像生成装置)は,アーケード版ゲーム機やデスクトップ型コンピュータのような据え置き型の装置のみならず,携帯電話,携帯可能なゲーム機などにも搭載され,使用されている。
特に,携帯式のデバイスに搭載される画像生成装置は,従来の据え置き型の装置に用いられたものに比べ,物理的なサイズが小さいことや,消費電力が小さいことなどが要求されるとともに,そのような制約のもとで効果的なかつ高品質な画像を生成することが期待される。
また,従来のコンピュータグラフィックスによる,表面物体における光の散乱を考慮した輝度計算を演算するための手法として,BRDFや異方性反射を用いる方法などが挙げられ,これらを用いることで高品質な画像を生成することができる(例えば,C. Schlick. An Inexpensive BRDF Model for Physically-Based Rendering. Computer Graphics Forum, 13(3):233-246, 1994.(下記非特許文献1)参照)。
このような要求のもとに,特許公開2002−32790号公報では,光源情報と法線情報に基づきオブジェクトの各構成点での反射ベクトルを求め,反射ベクトルの方向を異方性反射の方向に変化させて第2の反射ベクトルを求め,第2の反射ベクトルと視線情報に基づきオブジェクトのシェーディング演算を行い,反射ベクトルRをUVN座標系に座標変換してRUVNを求め,UVN座標系においてRUVNの方向を変化させて第2の反射ベクトルRUVN2を求め,RUVN2をワールド座標系に戻してシェーディング演算を行う。RUVNのU,V軸成分をスケーリングしてRUVNの方向を変化させ,オブジェクトが自由曲面で表される場合,自由曲面 の各構成点での接線ベクトルの方向にU,V軸を設定し,RUVN2から求められたテクスチャ座標に基づきスペキュラ表現テクスチャをオブジェクトにマッピングする画像処理装置が開示されている。
特許公開2002−32790号公報の方法では,光源演算のためにテクスチャマッピングベースの手法を用いており,前処理として,このテクスチャを生成する必要があるとともに,描画対象物体に対して,事前に演算を行いUV座標を付加する必要があり,リアルタイムに変形するオブジェクトへの適応が難しい。
また,特許公開2000−322597号公報(特許文献2)では,視点の位置座標等から異方性放射面上の頂点における入射ベクトルを算出し,入射ベクトルに対する複数の異方性反射ベクトルを算出し,各反射ベクトルの反射色と反射率を算出し,各反射ベクトルの反射色を合成し,合成反射色を求める画像処理装置が開示されている。
特許公開2000−322597号公報の方法では,異方性反射ベクトルを表面上に反射・屈折効果で周りの風景等が写りこむ効果を実現するための手法であり,シェーディング効果に対する方法を開示しているわけではない。また,異方性反射ベクトルの演算アプローチについても,単純に反射ベクトルを求める演算のみの記述であり本来の方法のように,ケガキの方向を考慮した演算を行っているわけではない。
また,特許公開2000−75780号公報(特許文献3)では,二次元スカラ場の各画素位置における繊維潜り角と仮想的な光源からの光の入射角度 dirLとに基づいた角度θに対する当該画素位置における異方性反射の反射光強度の関係を定義する。そして,その関係に基づいて,入射角度dirLのときの前記二次元スカラ場の各画素位置での異方性反射の反射光強度を求めて照り画像を作成し,その照り画像と下絵画像とを合成して表示する処理を,入射角度 dirLを順次変更しながら行うシミュレーション方法が開示されている。
特許公開2000−75780号公報の方法では,異方性反射と称し,表面のでこぼこをレンダリングするために,法線を表面の特性に合わせて変化させることで,でこぼこの表現を行う手法で,本技術分野のように,表面の微小な傷を表すベクトルを法線とは別に持つことで,けがき状の傷を表現するアプローチと別ものである。また,この手法自体はバンプマッピングとして,一般に知られており,新規性がない。
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.(非特許文献2)では,異方性反射のハードウェア実装について言及されており,異方性反射光源モデルで必要となる内積演算を専用ハードウェアで行っており,その結果をRAMの入力として,テーブル参照することで,異方性反射モデルの演算を実現する手法が開示されている。
非特許文献2の手法では,異方性反射で必要となる内積演算を専用で持っており,回路規模としては,膨大な規模となり,携帯機器向け等のように省電力,物理的サイズが小さな環境には向かない。
特許公開2002−32790 特許公開2000−322597 特許公開2000−75780 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.
本発明は,上記のような課題に鑑みてなされたものであり,高速に陰影・ケガキ効果などを演算することができるコンピュータグラフィックス用の異方性反射シェーディング画像生成装置及び,コンピュータなどを提供することを目的とする。
本発明は,一般的によく使われるような処理に対しては,高速な動作を行いかつ,異方性反射等の高度な光源処理に対しては,複数クロックサイクル使用することで,高機能,通常使用時の高性能,ハードウェア規模削減による低消費電力を実現するための画像処理装置を提供することを上記とは別の目的とする。
本発明は,基本的には,特定ピクセルに対する単一光源または複数光源の複数シェーディングモデルを適用したシェーディング結果を得るにあたって,パラメータによる再構成可能な構造を持ったハードウェアを複数クロックサイクルでの演算を行うことで,高性能・高機能・低消費電力といった面に対して最適化することができ,コンピュータグラフィックス用のシェーディング画像データを生成することができるという知見に基づくものである。
すなわち,本発明の第1の側面に係る画像処理装置は,ポリゴンにおける頂点データが入力され,入力された前記頂点データを元にポリゴンの内挿補間を行い,ポリゴン内部における各ピクセルにおける位置,色,視点ベクトル及び光源ベクトルを補間演算し,補間されたパラメータ(16,17)を得る頂点データ補間手段(11)と;前記補間されたパラメータ(16)を用いて法線ベクトル及びケガキ方向ベクトル(18)を求める演算を行う法線・ケガキ方向ベクトル演算手段(12)と; 前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに,前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り,前記法線ベクトル,前記ケガキ方向ベクトル,前記視点ベクトル及び前記光源ベクトルを用いて,COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)と;前記法線ベクトル,前記ケガキ方向ベクトル,前記COS_PHI,前記ジオメトリックファクタ,前記視点ベクトル前記光源ベクトルを受け取り,それらを用いて内積演算を行う内積演算手段(14)と; 内積演算手段にて演算された結果を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う内積結果演算手段(15)と;を具備する画像生成装置に関する。
本発明の第1の側面に係る画像処理装置の好ましい態様は,入力としてクオータニオンによって,法線ベクトル及び,ケガキ方向ベクトルを同時に入力することができる法線・ケガキ方向ベクトル演算手段(12)を具備するので,ピクセル単位での高度な輝度演算を行うことができる上,入力データ量を減らすことができる。
上記のように,ピクセル単位での高度な光源演算のためには,従来技術ではテクスチャ手段を用い,処理をおこなうのが技術的常識である。しかしながら,本発明の画像処理装置のように,各ベクトル情報を直接入力することで,テクスチャに対するメモリアクセスが削減され,その結果,消費電力も削減できることとなる。
また,法線・ケガキ方向ベクトル演算手段(12),COS_PHI・ジオメトリックファクタ演算手段(13),及び内積演算手段(14)の好ましい態様は,複数クロックサイクルでの演算処理を行うことができる構造を具備し,頻繁に使用される機能に対しては高速処理が可能な上,高品質・高機能なシェーディング演算処理も可能となっている。さらに,複数クロックサイクルで演算処理を行うので,ハードウェアコストを抑えることができることとなる。特に,同じ回路を複数サイクルに用いて,各サイクルにおける演算結果を適宜記憶し,別のサイクルで使用される値などを選択しつつその回路を再利用することで,ハードウェアコストや物理的スペースなどを抑えつつ,多数の演算(内積演算など)に対応させることができることとなる。
上記のように,高品質・高機能なシェーディング演算処理をおこなう際,従来技術のように,技術常識ではサイズの大きなハードウェア実装が必要となる。しかしながら,本発明の第1の側面に係る画像処理装置の好ましい態様では,複数クロックサイクルでの処理により,ハードウェア資源の再利用を行うことができるため,より小さいハードウェア実装で十分な効果を発揮することができ,その結果,消費電力も削減できることとなる。
本発明によれば,各種ベクトル情報を用いてシェーディング演算処理をおこなうため,動的にオブジェクトの形状を変化させても,性能劣化が発生しない上,テクスチャ手段をシェーディング処理のために用いる必要がないため,メモリアクセスが削減され,その結果消費電力も削減できることとなる。
本発明によれば,頻繁に使われるシェーディング処理に対しては,高速での動作を,高品質・高機能なシェーディング処理に対しても,より小さいハードウェア実装での機能実現が可能となり,その結果消費電力も削減できることとなる。
[本発明にて実現するシェーディングモデル概要]
図1は,本発明で使用しているベクトルパラメータを説明するための図である。空間(1)に球状物体(2)があり,視点位置(3)及び光源位置(4)が図1のように定義されている場合,点(ピクセル)(5)における各ベクトルは,法線ベクトルN(6),視線ベクトルV(7),光源ベクトルL(8),ケガキ方向ベクトルT(9),バイノーマルベクトルBN(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)である。
[画像生成装置の基本構成]
図2は,本発明における画像処理装置の基本構成を示す。図2に示されるとおり,本発明の画像処理装置は,図示しないポリゴンにおける頂点データが入力され,入力された前記頂点データを元にポリゴンの内挿補間を行い,ポリゴン内部における各ピクセルにおける位置,色,視点ベクトル及び光源ベクトルを補間演算し,補間されたパラメータ(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種類のように,シェーディング結果は複数種類からなることが好ましい。なお,光源は,平行光源,点光源,又はスポット光源のいずれであってもよい。また,複数の光源におけるそれぞれの光源の関係も任意のものがあげられる。
[画像生成装置の基本動作]
以下,図2を用いて本発明の画像生成装置が画像データを得る基本動作を説明する。法線・ケガキ方向ベクトル演算手段(12)が,頂点データ補間手段(11)からクオータニオン形式の法線ベクトル及びケガキ方向ベクトル情報(16)を受取る。なお,この際,法線・ケガキ方向ベクトル演算手段(12)は,テクスチャ手段(22)から,バンプベクトルBx,By及びBzに関する情報(23)を受取ってもよい。法線・ケガキ方向ベクトル演算手段(12)は,受取った情報を用いて,法線ベクトルとケガキ方向ベクトルを求める演算処理を行い,例えばベクトル形式の法線ベクトルとケガキ方向ベクトル(18)を得る。COS_PHI・ジオメトリックファクタ演算手段(13)は,法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトル(18)を受け取るとともに,頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)(これはクオータニオン形式ではなく通常のベクトル形式であってもよい。)を受け取り,前記法線ベクトル,前記ケガキ方向ベクトル,前記視点ベクトル及び前記光源ベクトルを用いて,COS_PHI及びジオメトリックファクタを求める。なお,視点ベクトル及び光源ベクトルは,通常は,頂点データ補間手段(11)によって内挿補間された値でもよいし,ユーザから入力された値であっても,予め定めた値でもよく,公知の方法により取得すればよい。内積演算手段(14)は,法線・ケガキ方向ベクトル演算手段(12)から,法線ベクトル(N)とケガキ方向ベクトル(T)とを受取るとともに,COS_PHI・ジオメトリックファクタ演算手段(13)から,前記COS_PHI,前記ジオメトリックファクタ,前記視点ベクトル,及び前記光源ベクトルなど,COS_PHI・ジオメトリックファクタ演算手段(13)からの出力(19)を受け取り,それらを用いて内積演算を行う。なお,前記視点ベクトル前記光源ベクトルは,頂点データ補間手段(11)から受け取ってもよい。また,法線ベクトル(N)とケガキ方向ベクトル(T)は,COS_PHI・ジオメトリックファクタ演算手段(13)から受取ってもよい。さらに,内積演算手段(14)は,例えば,プログラマブルロジック回路などを用いて,入力情報に応じて任意の要素を選択して内積演算を行えるようにされていてもよい。内積演算手段(14)がどのような内積演算を行うかはユーザからの入力により調整可能とされているものが好ましい。内積結果演算手段(15)は,前記内積演算手段(14)にて演算された結果(20)を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う。そして,その結果(21)を出力する。このようにして,スペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方が求められ,出力されることとなる。スペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方は,特にリアルタイムな3次元コンピュータグラフィックスに用いられることとなる。
[グラフィックデバイス]
図3は,本発明のある実施態様に係るグラフィクスデバイスを示すブロック図である。図3に示されるとおり,この実施態様に係るグラフィクスデバイスは,頂点データ(31)などが入力され,幾何演算などを行うためのジオメトリエンジン(幾何演算回路,幾何演算装置,又は幾何演算部など)(32)と,頂点データ補間を行うための頂点データ補間手段(頂点データ補間回路,頂点データ補間装置,頂点データ補間部など)(33)と,シェーディング演算を行うためのシェーディング手段(シェーディング回路,シェーディング装置,シェーディング部など)(35)と,テクスチャ合成を行うためのテクスチャ手段(テクスチャ合成回路,テクスチャ合成装置,テクスチャ合成部など)(34)と,テクスチャなどを格納するためのテクスチャメモリ(39)と,カラーブレンド手段(37)を具備し,各要素はシステムバスやバス(38)などにより連結されている。
[グラフィックデバイスの基本動作]
以下,グラフィックデバイスの基本動作について説明する。ジオメトリエンジン(32)は,システムバス(38)に接続され,頂点データ(31)を入力データとして受け取る。ジオメトリエンジン(32)は,例えば,頂点データに対して幾何変換などを行い,透視変換とビューポートマッピングを行った後に,変換した頂点データを頂点データ補間手段(33)に出力する。頂点データ補間手段(33,11)は,入力された頂点データから構成される多角形(通常三角形)の内部に対して,付随する各パラメータを補間して,シェーディング手段(35),テクスチャ手段(34)にそれぞれ出力する。
テクスチャ手段(34)は,頂点データ補間手段(33)から入力されるu,v座標からテクスチャメモリ(39)へのアクセスアドレスを算出し,対応するデータをテクスチャメモリ(39)から受け取る。テクスチャメモリ(39)から入力されるデータは,たとえば,カラーデータ,バンプマッピング用のデータ,又はタンジェントベクトルのデータのうちいずれか1つ又は2つ以上である。テクスチャ手段(34)は,テクスチャメモリ(39)から入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであるか判断し,入力されたデータがバンプマッピング用またはタンジェントベクトルのデータであった場合は,シェーディング手段(35)にデータを出力する。一方,テクスチャメモリ(39)から入力されたデータがカラーデータであった場合は,カラーブレンド手段(37)にデータを出力する。
シェーディング手段(35)は,頂点データ補間手段(33)から入力された補間データとテクスチャ手段(34)から入力されたバンプマッピング用データ,又はタンジェントベクトルデータから光源単位に画素ごとの輝度演算を行い,その結果をカラーブレンド手段(37)に出力する。その後は,たとえば,上記した画像形成装置の動作に従って,シェーディング用などの色情報が得られる。
[シェーディング手段]
次のシェーディング手段の各部に関して説明する。図2は,シェーディング手段の各部の基本構成を含む。頂点データ補間手段(11)から入力されたベクトルデータ(17)や,クオータニオンデータに基づいて変換されたベクトルデータ(16)などは,各モジュールを通り,内積結果演算手段(15)を経て,演算結果(21)が出力される。一方,テクスチャ手段(22)からは,Bx,By,及びBz(23)が入力され,この入力されたベクトル情報は,法線ベクトル又はケガキ方向ベクトルに対して座標変換を行うことで,表面のでこぼこを表現するバンプマッピングやさまざまなケガキ方向表現を行うために用いられる。
[法線・ケガキ方向ベクトル演算手段]
図4は,法線・ケガキ方向ベクトル演算手段(12)の基本構成を示す概念図である。図4に示されるように,図4に示される法線・ケガキ方向ベクトル演算手段は,各クオータニオンなどの情報が入力され,入力された情報を乗算するための複数個の第1の乗算手段(乗算器群など;41)と,前記第1の乗算手段から出力される乗算値から所定のものを選択して出力するための第1の選択手段(マルチプレクサや,プログラマブルロジックデバイスなど。本明細書における選択手段は,加算機能や乗算機能などを有するものであることが好ましい。;42)と,前記第1の選択手段から出力された出力値が入力され,入力された値を加算するための第1の加算手段(加算器群など;43)と,前記加算手段のうちいずれかからの出力が入力され入力された値を乗算するための第2の乗算手段と,前記第1の加算手段からの出力値及び前記第2の乗算手段からの出力値が入力され,入力された値を選択して出力するための第2の選択手段(マルチプレクサや,プログラマブルロジックデバイスなど;46)と,前記第2の選択手段から出力された出力値を一時的に記憶するための第1の記憶手段(バッファ,RAMなど;47)と,前記第1の記憶手段に記憶された値のうちいずれかが入力され,入力された値を乗算するための第3の乗算手段(乗算器群など)と,前記第3の乗算手段からの出力値が入力され,入力された値を加算するための第2の加算手段(加算器群など)と,前記第2の加算器群からの出力及び前記第3の乗算手段からの出力値が入力され,入力された値を加算するための第3の加算手段(加算器群など)と,前記第1の記憶手段に記憶された値のうちいずれかが入力され,入力値の逆数を求めるための逆数演算手段(逆数テーブルなど;48)と,前記第3の加算手段からの出力値と前記逆数演算手段からの出力値とが入力され,入力値を乗算するための第4の乗算手段(乗算器など)と,前記第4の乗算手段の出力値を一時的に記憶する第2の記憶手段(バッファ,RAMなど;51)とを具備する。なお,前記第4の乗算手段と前記第2の記憶手段の間に情報選択手段(カウンタなど;40)を設けて,不要な情報を捨て,必要な情報のみ前記第2の記憶手段が記憶するようにしてもよい。なお,特に図示しないが,所望の値を得るため,適宜逆数演算手段や,加算(減算)手段,乗算(除算)手段,などを組合わせて用いればよい。
頂点データ補間手段(11)から入力されたクオータニオン形式のベクトル情報(16)に関して,通常の法線ベクトル,ケガキ方向ベクトルから演算を行うので,これらのベクトル情報は,クオータニオン形式で頂点データ補間手段(11)に入力されるか,頂点データ補間手段(11)によりクオータニオン形式に変換されればよい。
クオータニオン形式のベクトル情報(16)は,頂点データ補間手段(11)の入力前に法線ベクトル及び,ケガキ方向ベクトルから演算すればよい。入力データは,あらかじめジオメトリエンジン(図3の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を求める手段とを具備する演算手段により求めることができる。具体的には,乗算器及び加算器(除算器)を用いることで求めることができる。
上記演算の結果,得られた各パラメータを以下のようにr11〜r33として定義し,このパラメータに対して下記式(I)を適用し,この式(I)を解くことで,クオータニオン形式の入力パラメータq0,q1,q2,q3,を求めることができる。すなわち,r11 = Tx,r12=BNx,r13= Nx,r21 = Ty,r22=BNy,r23= Ny,r31 = Tz,r32=BNz,r33= Nzとする。
Figure 0004761541
法線・ケガキ方向ベクトル演算手段(12)では,下記式に示される演算を行うことで,法線ベクトル・ケガキ方向ベクトル(18)を演算し,出力する。なお,図4には示されないが,下記の演算を行うに当り,q0 2(図では,q00とされている。以下同様。),q1 2,q2 2及びq3 2を加算する手段(1〜3個の加算器など)と,求められた(q0 2+q1 2+q2 2+q3 2)の逆数を得るための逆数演算手段(逆数テーブルなど)を具備し,第1の選択手段(42)に入力されてもよい。演算の例は,NP = (q0 2+q1 2+q2 2+q3 2), Tx = (q0 2+q1 2-q2 2-q3 2) /NP,Ty = (2q1q2+2q0q3) / NP,Tz = (2q1q3-2q0q2) / NP,BNx = (2q1q2-2q0q3) / NP,BNy = (q0 2-q1 2+q2 2-q3 2) / NP,BNz = (2q2q3+2q0q1) / NP,Nx = (2q1q3+2q0q2) / NP,Ny = (2q2q3-2q0q1) / NP,及びNz = (q0 2-q1 2-q2 2+q3 2) / NPである。
また,法線・ケガキ方向ベクトル演算手段(12)では,法線ベクトル・ケガキ方向ベクトルなどを演算した後,内部レジスタ(47)に結果を格納する。そして,テクスチャ手段から取得したバンプベクトル(23)を用い,下記式(II)の演算式を実装した演算部(49)にて,演算を行うことで,バンプベクトル(23)にて変換が行われた法線ベクトル・ケガキ方向ベクトル(18)を演算する。下記式(II)の演算式を実装した演算部(49)は,たとえば,乗算器などの乗算手段と,各種情報を記憶するテーブルなどの記憶手段と,情報の入出力を行う入出力部などの入出力手段を具備するものにより構成できる。
Figure 0004761541
また,法線・ケガキ方向ベクトル演算手段(12)では,法線ベクトル・ケガキ方向ベクトルを演算するに当たって,クオータニオン演算のための乗算器(41)にて乗算演算した後,セレクタ(42)に中間結果を保存する。その後,クオータニオン演算部(44)及び(45)にて,乗算器及び加減算器(43)を用いて,各ベクトルの成分の演算を行う。そして,セレクタ(46)を通して,レジスタ(47)に結果を格納する。その後,乗算器,加減算器及び,逆数演算器(48)を用いて,上記バンプベクトルによる法線ベクトルまたは,ケガキ方向ベクトルの変換処理を演算部(49)にて行う。そして,演算結果をセレクタ(50)を通して,レジスタ(51)に格納する。
前項の例は,基本的には,バンプベクトルによる変換は法線ベクトルまたは,ケガキ方向ベクトルのどちらかに適用するための構造を採用している。しかしながら,複数クロックサイクルを用いて,どちらにも適用できる構造にしてもよいし,このときに入力バンプベクトルを1組だけではなく2組入力してもよいし,同じ演算部(49)を2つ以上具備することで,複数ベクトルに対してバンプ変換処理を行う実装にしてもよい。
また,法線・ケガキ方向ベクトル演算手段(12)では,複数クロックサイクルによる演算処理を行うことで,回路の共通化を図ることができる。これにより,ハードウェアサイズを小さくすることができる。以下では,この複数クロックサイクルによる演算処理に関して説明する。
図5及び図6を用いて2クロックサイクルで,法線ベクトル及び,ケガキ方向ベクトルの演算処理を行い,かつ,テクスチャ手段(22)からの入力であるバンプベクトル(23)使用して,法線ベクトルに対してこのバンプベクトルを求める様子を示す。図5は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,法線ベクトルにバンプベクトルを適用した場合のサイクル1での動きを示す図である。図6は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,法線ベクトルにバンプベクトルを適用した場合のサイクル2での動きを示す図である。図5中,太線で示している部分は,はじめのサイクルで動く部分であり,この図にあるとおり,Nx,Ny,Nz,Ty,Tz,NPのパラメータに関する演算が行われている。また,次のサイクルで動いている部分は図6の太線部分で示されている。このサイクルでは,Tx,BNx,Bny,Bnz及び,バンプベクトルを用いた法線ベクトルによる式(II)による変換処理がおこなわれている。
次に,図7及び図8を用いて,2クロックサイクルで,法線ベクトル及び,ケガキ方向ベクトルの演算処理かつ,テクスチャ手段(22)からの入力であるバンプベクトル(23)使用して,ケガキ方向ベクトルに対してこのバンプベクトルを適用する様子を示す。図7は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル1での動きを示す図である。また,図8は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル2での動きを示す図である。図7の太線で示している部分が,はじめのサイクルで動く部分である。図7に示されるとおり,Nx,Ny,Nz,Ty,Tz,及びNPのパラメータに関する演算が行われる。また,次のサイクルで動いている部分を図8の太線部分で示す。図8に示されるとおり,このサイクルでは,Tx,BNx,Bny,Bnz及び,バンプベクトルを用いたケガキ方向ベクトルによる式(II)による変換処理がおこなわれている。
上記例では,2クロックサイクルにて,演算を行っている。しかしながら,たとえば,演算器を倍にすることで,1クロックサイクルの演算可能にしてもいいし,逆にさらに3クロックサイクル以上の演算とすることで,ハードウェア部分の共通化を図り,ハードウェアサイズを小さくする実装を行っても良い。
[COS_PHI・ジオメトリックファクタ演算手段]
図9は,COS_PHI・ジオメトリックファクタ演算手段の基本構成例を示すブロック図である。図9に示されるように,COS_PHI・ジオメトリックファクタ演算手段は,たとえば,入力されるデータ(例えば,L,N,T,V;17,18)を選択するセレクタなどの選択手段(61),前記選択手段により選択された値が入力され,入力された値の内積を求める第1の内積演算器などの第1の内積演算手段(62)と;前記選択手段により選択された値が入力され,入力された値の内積を求める第2の内積演算器などの第2の内積演算手段(62)と;前記第1の内積演算手段(62)からの出力(DP0)及び前記第2の内積演算手段(62)からの出力(DP1)が入力され,入力値を加算する第1の加算器又は加減算器などの第1の加減算手段(64)と;前記前記第1の内積演算手段(62)からの出力(DP0),前記第2の内積演算手段(62)からの出力(DP1),前記第1の加減算手段(64)からの出力などを一時的に格納するための中間パラメータ一時格納レジスタなどの記憶手段(65-69)と;前記記憶手段(67)値を掛け合わせ2乗値などを得るための乗算器などの第1の乗算手段(70),前記乗算手段の出力と前記記憶手段に記憶されるある値とを受取り,前記乗算手段の出力値から前記記憶手段に記憶されるある値を減算するための加減算器などの第2の加減算手段(71)と;前記第2の加減算手段(71)の出力を受取り,第2の加減算手段(71)の出力値の逆数平方根を得るための逆数平方根テーブルなどの逆数平方根演算手段(72)と;前記逆数平方根演算手段(72)からの出力と前記記憶手段に記憶されるある値とを受取り,それらの値を乗算するための乗算器などの第2の乗算手段(73)と;前記記憶手段に記憶されたある値を受取り,前記ある値の逆数を求めるための逆数テーブルなどの逆数演算手段(74)と,前記逆数演算手段(74)からの出力と前記記憶手段に記憶されたある値とを受取り,それらを乗算するための乗算器などの第3の乗算手段(75)とを具備する。そして,各要素は,バスなどで連結され,適宜情報の授受ができるようにされている。さらに,第2の乗算手段(73)の出力は,COS_PHI(図ではCos_Phiとされている。)などとしてバス(76)から出力される。また,第3の乗算手段(75)の出力は,ジオメトリックファクタ(LN_LV)などとしてバス(77)から出力される。さらに,前記記憶手段に格納されたある値(LN値など)は,バス(78)から出力されるようにされていてもよい。
このCOS_PHI・ジオメトリックファクタ演算手段(13)では下記式(III)を適用してCOS_PHI(76)を求める。また,N_LV = (L・N)/|L+V|2にしたがってジオメトリックファクタLN_LV(77)を求める。さらに,及び,LN = L・Nに従って,LN(78)の演算を行う。
Figure 0004761541
ただし,本発明の好ましい態様では,COS_PHIを求める回路など実装するに当たり,COS_PHIを式(IV)のように近似して求めることで,ハードウェア量を減らす工夫を行うことができる。もちろん,本発明は,式(III)を求めるように実装してもよい。
Figure 0004761541
図10は,内積演算手段の基本構造例を示すブロック図である。図10に示される内積演算手段(62,63)は,たとえば,COS_PHI・ジオメトリックファクタ演算手段(13)が具備するものであってもよいし,他の内積演算手段として機能するものであってもよい。この内積演算手段の例は,各種情報が入手される乗算器などの乗算手段(81-83)と,加算器などの加算手段(84,85)とを具備する。図10に示される例では,3つの乗算器及び,2つの加算器を具備し,2組の3次元ベクトルの内積演算を行うことができるものである。すなわち,この内積演算手段では,入力された値(ベクトル値など)を適宜乗算する他,乗算した値を適宜加算することで,内積値を求めるのみならず,内積値の加算値をも求めることができる。どの値の内積値を求め,どの値を加算するかは,あらかじめ固定されていてもよいし,ユーザからの入力を受取って適宜変更できるようにされていてもよい。また,入力値は,セレクタ等で選択され適宜乗算器(81〜83)に入力されるようにしてもよい。
COS_PHI・ジオメトリックファクタ演算手段(13)にて,LN(=L・N)を求めるためには,頂点データ補間手段(11)から入力された光源ベクトルL及び,法線・ケガキ方向ベクトル演算手段(12)から入力された法線ベクトルNをセレクタ(61)にて選択し,内積演算器(62,63)にて内積演算を行い中間パラメータ一時格納レジスタ(65)に格納すればよい。
各図に示されるように,前記COS_PHI・ジオメトリックファクタ演算手段は,前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル(N)及び前記ケガキ方向ベクトル(T)を受け取るとともに,前記頂点データ補間手段(11)から前記視点ベクトル(V)及び前記光源ベクトル(L)を受け取り,前記LとNとを用いて内積演算手段により(L・N)を求め,前記LとVとを用いて加算手段により|L+V|を求め,前記|L+V|を用いて乗算手段により|L+V|2を求め,|L+V|2を用いて逆数演算手段により1/|L+V|2を求め,(L・N)と1/|L+V|2とを用いて乗算手段により(L・N)/|L+V|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・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル1での動きを示す図である。図12は,COS_PHI・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル2での動きを示す図である。図13は,COS_PHI・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル3での動きを示す図である。
はじめのクロックサイクルでは,図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)に格納する。
次のクロックサイクルでは,図13の太線で示すように,頂点データ補間手段(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の内積演算部には,セレクタで選択されたLが入力され,第2の内積演算部には,セレクタで選択されたVが入力される。第1の内積演算部及び第2の内積演算部からのL及びVは,第1の加算器に入力され,L+Vが求められて,この値が第1のメモリに格納される。次に,第1の内積演算部には,セレクタで選択されたLとTとが入力され,L・Tが求められる。一方,第2の内積演算部には,セレクタで選択されたVとTとが入力され,V・Tが求められる。第1の内積演算部及び第2の内積演算部で求められたL・N及びV・Nは,第1の加算器に入力され,L・N+V・Nが求められて,この値が第2のメモリに格納される。これでサイクル2が終わる。次に,例えば,第1の内積演算部には,セレクタで選択されたLとNとが入力され,L・Nが求められる。一方,第2の内積演算部には,セレクタで選択されたVとNとが入力され,V・Nが求められる。第1の内積演算部及び第2の内積演算部で求められたL・N及びV・Nは,第1の加算器に入力され,L・N+V・Nが求められて,この値が第3のメモリに格納される。第3のメモリに格納されたL・N+V・Nは,乗算器により乗算され|L・N+V・N|2の値が求められる。一方,第1のメモリに格納されるL+Vの値も乗算器により乗算され,|L+V|2の値が求められる。これらの2乗値は,加減算器に入力され,|L+V|2−|L・N+V・N|2が求められる。この求められた値をXとすると,Xは,逆平方根演算器に入力されX-1/2が求められる。一方,第2のメモリに格納されたL・N+V・Nと前記X-1/2とが乗算器に入力され乗算される。このようにして式(IV)所定のCOS_PHIが求められる。
[内積演算手段]
図14は,内積演算手段の基本構造例を示すブロック図である。図14に示されるとおり,内積演算手段は,たとえば,入力されたデータを選択するセレクタ(81)などの第1の選択手段,前記セレクタ(81)で選択された値が入力され,入力された値の内積値を求める内積演算器(62〜62)などの内積演算手段,前記内積演算器で求められた値と一時的に記憶するためのRAM(82a〜82c)などの第1の記憶手段,前記RAMに格納された出力結果を選択するためのセレクタ(83)などの第2の選択手段及び,前記第2の選択手段で選択された,内積演算結果を格納するレジスタ(84〜90)などの第2の記憶手段により実装されている。
図14に示される内積演算手段(14)のデータの流れの例を以下に示す。法線・ケガキ方向ベクトル演算手段(12)及び,COS_PHI・ジオメトリックファクタ演算手段(13)からベクトルデータ(18及び19)を受け取り,これらデータを内部セレクタ(81)にて選択し,内積演算器(62)へ選択して入力する。セレクタは,例えば,ポインティングデバイスなどの入力に従うか,又は予め定められたベクトルの組み合せを選択する。内積演算器(62)は,セレクタにて選択されたベクトルの組み合わせに対する内積演算を行い,内積演算結果をRAM(82a〜82c)に入力し,この出力をセレクタ(83)によってRAM(82a〜82c)出力の格納先をレジスタ(84〜90)から選択し,各レジスタ(84〜90)は,入力された結果を格納する。
図14に示される内積演算手段(14)では,3組の内積演算器・RAMが実装されているが,この数は,3つでなくてもよいし,それ以上(たとえば,4〜10個)・以下(1個又は2個)でもよい。またRAMを実装せず,この部分を特定関数のハードウェア実装または,ハードウェアとソフトウェアによる実装にしてもよいし,RAM自体を実装せず,そのまま内積結果を,内積演算結果を格納するレジスタ(84〜90)に格納するようにしてもよい。ハードウェアとソフトウェアによる実装による場合は,たとえば,ハードウェアに含まれる制御部がソフトウェアである制御プログラムなどを読み出し,その制御プログラムに従って,各種記憶装置などから所定の情報を読み出し,また入力された値を用いて演算処理を行えばよい。
また,内積演算手段(14)では,セレクタ(81及び83)によって選択される値をユーザからの入力にしたがって設定することで,内積対象のベクトル組を選択でき,格納先レジスタ(84〜90)を選択できるようにされていてもよい。
また,内積演算手段(14)では,複数クロックサイクルを使うことで,3つ以上の内積演算を行うことができる。この様子を図15〜図17に示した。図15は,内積演算手段において,複数クロックサイクル実行時,サイクル1での動きを示す図である。図16は,内積演算手段において,複数クロックサイクル実行時,サイクル2での動きを示す図である。図17は,内積演算手段において,複数クロックサイクル実行時,サイクル3での動きを示す図である。
まずはじめのクロックサイクルでは,図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ベクトルを同時に入力することができ,かつ,バンプベクトルによる変換操作を同時に演算するような,機能させるためのコンピュータグラフィックス用のプログラムがあげられる。そして,このプログラムにより得られる各手段は,上記したと同様の機能を有するものとすればよいので,ここでは上記の記載を準用することとする。また,一部ソフトウェア,一部ハードウェアによって実装されてもよい。例えば,内積演算等の演算はハードウェアで実装しているがその他のセレクタ等の部分を,ソフト制御によって実装することもよい。
[記録媒体]
本発明は,上記のプログラムを格納した,コンピュータにより読み取ることができる記録媒体をも提供できる。このような記録媒体としては,CD−ROM,DVD,ハードディスク又はコンピュータ内のメモリなどがあげられる。そして,コンピュータの入力部に所定の情報が入力さると,制御部の指令を受けてプログラムが読み取され,制御部の指令を受けた演算部が,読み出されたプログラムを用いて,入力されたデータや,記憶部に記憶されるデータなどを読み出し,例えば記憶部のメモリを作業領域として利用し,所定の演算を行う。演算結果は,例えばメモリに一時的に記憶された後,出力部から出力される。これらのデータは,例えばバスを通じて,伝達されればよい。このようにして,ハードウェア資源とプログラムとが協働した処理が行われる。
[コンピュータの構成]
図20は,本発明のある実施態様(コンピュータ)を示すブロック図である。この実施態様は,コンピュータグラフィックスによるコンピュータ(グラフィック用コンピュータなど)に関する。図13に示されるとおり,このコンピュータ101は,中央演算装置(CPU)102,ジオメトリ演算回路103などのジオメトリ演算部,レンダラー104などの描画部,テクスチャ生成回路105などのテクスチャ生成部,照光処理回路107などの照光処理部,表示回路108などの表示情報作成部,フレームバッファ109,及びモニター110を具備する。これらの要素は,バスなどにより接続され,相互にデータを伝達できる。そのほか,図示しないメインメモリや,各種テーブル,ワーク領域となるワークメモリ111,テクスチャを格納するテクスチャメモリ112などを具備する記憶部などを有しても良い。各部を構成するハードウェアは,例えばバスなどを介して連結されている。なお,記憶部は,VRAMなどのRAMや,CR−ROM,DVD,ハードディスクなどにより構成されても良い。
中央演算装置(CPU)102は,画像を生成するためのプログラムなどを制御するための装置である。ワークメモリ111は,CPU102で使用するデータ及びディスプレイリストなどを記憶してもよい。そして,CPU102は,メインメモリに記憶されたプログラムなどを読み出して,所定の処理を行ってもよい。ただし,ハードウェア処理のみにより所定の処理を行っても良い。CPU102は,たとえばワークメモリ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は,入力された表示画像情報にしたがって,コンピュータグラフィックス画像を表示するための装置である。
本発明のコンピュータは,照光処理回路などの照光処理部に,本発明の画像生成装置を具備するので,シェーディング画像などを効果的に生成できる。
[コンピュータの動作]
以下,コンピュータを用いて画像を生成する動作例を説明する。CPU102は,ワークメモリ111から,ポリゴンデータを読出し,ポリゴンデータをジオメトリ演算回路103へ出力する。ジオメトリ演算回路103は,入力されたポリゴンデータに対して,視点を原点とする視点座標系のデータに座標変換するなどの処理を行う。ジオメトリ演算回路103は,処理したポリゴンデータを,レンダラー104へ出力する。レンダラー104は,ポリゴン単位のデータをピクセル単位のデータに変換する。レンダラー104は,ピクセル単位のデータをテクスチャ生成回路105へ出力する。テクスチャ生成回路105は,テクスチャメモリ112に記憶されるテクスチャデータに基づき,ピクセル単位のテクスチャカラーを生成する。テクスチャ生成回路105は,テクスチャカラー情報を有するピクセル単位のデータを,照光処理回路107へ出力する。照光処理回路107は,テクスチャカラー情報を有するポリゴンに対し,ピクセル単位で法線ベクトル,重心座標などを利用して陰影付けを行う。照光処理回路107は,陰影付けした画像データを,表示回路108へ出力する。表示回路108は,照光処理回路107から入力された画像データをフレームバッファ109に書き込み,またフレームバッファ109に書き込まれた画像データを読み出し,表示画像情報を得る。表示回路108は,表示画像情報をモニター110へ出力する。モニター110は,入力された表示画像情報にしたがって,コンピュータグラフィックス画像を表示する。
本発明のコンピュータは,照光処理回路などの照光処理部に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。
[ゲーム機の構成]
図21は,本発明のある実施形態(ゲーム機)のブロック図である。このブロック図で表される実施形態は,特に携帯用,家庭用又は業務用のゲーム機として好適に利用されうる。そこで,以下では,ゲーム機として説明する。なお,同図に示されるゲーム機は,少なくとも処理部200を含めばよく(又は処理部200と記憶部270,又は処理部200と記憶部270と情報記憶媒体280を含んでもよく),それ以外のブロック(例えば操作部260,表示部290,音出力部292,携帯型情報記憶装置294,通信部296)については,任意の構成要素とすることができる。
処理部200は,システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。処理部200の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
操作部260は,プレーヤが操作データを入力するためのものである。操作部260は,の機能は,例えば,レバー,ボタン,外枠,及びハードウェアを備えたコントローラにより実現できる。なお,特に携帯用ゲーム機の場合は,操作部260は,ゲーム機本体と一体として形成されても良い。コントローラからの処理情報は,シリアルインターフェース(I/F)やバスを介してメインプロセッサなどに伝えられる。
記憶部270は,処理部200や通信部296などのワーク領域となるものである。また,プログラムや各種テーブルなどを格納しても良い。記憶部270は,例えば,メインメモリ272,フレームバッファ274,及びテクスチャ記憶部276を含んでもよく,そのほか各種テーブルなどを記憶しても良い。記憶部270の機能は,ROMやRAMなどのハードウェアにより実現できる。 RAMとして,VRAM,DRAM又はSRAMなどがあげられ,用途に応じて適宜選択すればよい。フレームバッファ274を構成するVRAMなどは,各種プロセッサの作業領域として用いられる。
情報記憶媒体(コンピュータにより使用可能な記憶媒体)280は,プログラムやデータなどの情報を格納するものである。情報記憶媒体280は,いわゆるゲームカセットなどとして販売されうる。そして,情報記憶媒体280の機能は,光ディスク(CD,DVD),光磁気ディスク(MO),磁気ディスク,ハードディスク,磁気テープ,又はメモリ(ROM)などのハードウェアにより実現できる。処理部200は,この情報記憶媒体280に格納される情報に基づいて種々の処理を行う。情報記憶媒体280には,本発明(本実施形態)の手段(特に処理部200に含まれるブロック)を実行するための情報(プログラム又はプログラム及びデータ)が格納される。なお,上記記憶部にプログラムやデータなどの情報を格納した場合は,情報記憶媒体280は必ずしも必要ない。情報記憶媒体280に格納される情報の一部又は全部は,例えば,システムへの電源投入時等に記憶部270に転送されることになる。また,情報記憶媒体280に記憶される情報として,所定の処理を行うためのプログラムコード,画像データ,音データ,表示物の形状データ,テーブルデータ,リストデータ,本発明の処理を指示するための情報,その指示に従って処理を行うための情報等の少なくとも2つを含むものがあげられる。
表示部290は,本実施形態により生成された画像を出力するものであり,その機能は,CRT(ブラウン管),LCD(液晶),OEL(有機電界発光素子),PDP(プラズマディスプレイパネル)又はHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
音出力部292は,音を出力するものである。音出力部292の機能は,スピーカなどのハードウェアにより実現できる。音出力は,例えばバスを介してメインプロセッサなどと接続されたサウンドプロセッサにより,音処理が施され,スピーカなどの音出力部から出力される。
携帯型情報記憶装置294は,プレーヤの個人データやセーブデータなどが記憶されるものである。この携帯型情報記憶装置294としては,メモリカードや携帯型ゲーム装置などがあげられる。携帯型情報記憶装置294の機能は,メモリカード,フラッシュメモリ,ハードディスク,USBメモリなど公知の記憶手段により達成できる。
通信部296は,外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行う任意のものである。通信部296の機能は,各種プロセッサ,又は通信用ASICなどのハードウェアや,プログラムなどにより実現できる。
ゲーム機を実行するためのプログラム又はデータは,ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部296を介して情報記憶媒体280に配信するようにしてもよい。
処理部200は,ゲーム処理部220,画像処理部230,及び音処理部250を含むものがあげられる。具体的には,メインプロセッサ,コプロセッサ,ジオメトリプロセッサ,描画プロセッサ,データ処理プロセッサ,四則演算回路又は汎用演算回路などがあげられる。これらは適宜バスなどにより連結され,信号の授受が可能とされる。また,圧縮された情報を伸張するためのデータ伸張プロセッサを備えても良い。
ここでゲーム処理部220は,コイン(代価)の受け付け処理,各種モードの設定処理,ゲームの進行処理,選択画面の設定処理,オブジェクトの位置や回転角度(X,Y又はZ軸回り回転角度)を求める処理,オブジェクトを動作させる処理(モーション処理),視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理,マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理,ヒットチェック処理,ゲーム結果(成果,成績)を演算する処理,複数のプレーヤが共通のゲーム空間でプレイするための処理,又はゲームオーバー処理などの種々のゲーム処理を,操作部260からの操作データや,携帯型情報記憶装置294からの個人データ,保存データや,ゲームプログラムなどに基づいて行う。
画像処理部230は,ゲーム処理部220からの指示等にしたがって,各種の画像処理を行うものである。また,音処理部250は,ゲーム処理部220からの指示等にしたがって,各種の音処理を行う。
ゲーム処理部220,画像処理部230,音処理部250の機能は,その全てをハードウェアにより実現してもよいし,その全てをプログラムにより実現してもよい。又は,ハードウェアとプログラムの両方により実現してもよい。画像処理部230は,ジオメトリ演算部232(3次元座標演算部),描画部240(レンダリング部)を含むものがあげられる。
ジオメトリ演算部232は,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,記憶部270のメインメモリ272に格納されて,保存される。
描画部240は,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部276に記憶されるテクスチャなどに基づいて,オブジェクトをフレームバッファ274に描画する。
描画部240は,例えば,テクスチャマッピング部242,シェーディング処理部244を含むものがあげられる。具体的には,描画プロセッサにより実装できる。描画プロセッサは,テクスチャ記憶部,各種テーブル,フレームバッファ,VRAMなどとバスなどを介して接続され,更にディスプレイと接続される。
テクスチャマッピング部242は,環境テクスチャをテクスチャ記憶部276から読み出し,読み出された環境テクスチャを,オブジェクトに対してマッピングする。
シェーディング処理部244は,オブジェクトに対するシェーディング処理を行う。例えば,ジオメトリ処理部232が光源計算を行い,シェーディング処理用の光源の情報や,照明モデルや,オブジェクトの各頂点の法線ベクトルなどに基づいて,オブジェクトの各頂点の輝度(RGB)を求める。シェーディング処理部244は,この各頂点の輝度に基づいて,プリミティブ面(ポリゴン,曲面)の各ドットの輝度を例えば,ホンシェーディングや,グーローシェーディングなどにより求める。
ジオメトリ演算部232は,法線ベクトル処理部234を含むものがあげられる。法線ベクトル処理部234は,オブジェクトの各頂点の法線ベクトル(広義にはオブジェクトの面の法線ベクトル)を,ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行ってもよい。
本発明のゲーム機は,たとえば,シェーディング処理部244に,本発明の画像生成装置を具備する。
[ゲーム機の基本動作]
システムの電源がONになると,情報記憶媒体280に格納される情報の一部又は全部は,例えば,記憶部270に転送される。そして,ゲーム処理用のプログラムが,例えばメインメモリ272に格納され,様々なデータが,テクスチャ記憶部276や,図示しないテーブルなどに格納される。
操作部260からの操作情報は,例えば,図示しないシリアルインターフェースやバスを介して,処理部200へ伝えられ,音処理や,様々な画像処理が行われる。音処理部250により処理された音情報は,バスを介して音出力部292へ伝えられ,音として放出される。また,メモリカードなどの携帯型情報記憶装置194に記憶されたセーブ情報なども,図示しないシリアルインターフェースやバスを介して,処理部200へ伝えられ所定のデータが記憶部170から読み出される。
画像処理部230が,ゲーム処理部220からの指示等にしたがって,各種の画像処理を行う。具体的には,ジオメトリ演算部232が,座標変換,クリッピング処理,透視変換,又は光源計算などの種々のジオメトリ演算(3次元座標演算)を行う。そして,ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標,頂点テクスチャ座標,又は輝度データ等)は,例えば,記憶部270のメインメモリ272に格納されて,保存される。次に,描画部240が,ジオメトリ演算後(透視変換後)のオブジェクトデータと,テクスチャ記憶部276に記憶されるテクスチャなどとに基づいて,オブジェクトをフレームバッファ274に描画する。
フレームバッファ274に格納された情報は,バスを介して表示部290へ伝えられ,描画されることとなる。このようにして,コンピュータグラフィックを有するゲーム機として機能する。
本発明のゲーム機は,たとえば,シェーディング処理部244に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。
[携帯電話機の構成]
図22は,本発明のある実施形態(コンピュータグラフィック機能つき携帯電話機)のブロック図である。このブロック図で表される実施形態は,特に3次元コンピュータグラフィック機能つき携帯電話機,特にゲーム機能付携帯電話や,ナビゲーション機能付形態電話として好適に利用されうる。
図22に示されるように,この携帯電話は,制御部221と,制御部221のためのプログラムや画像データなどが格納され,制御部や通信部などのワーク領域となるメモリ部222と,無線通信を行うための無線通信機能部223と,静止画や動画を撮影してデジタル信号に変換するCCDカメラなどの任意要素である撮像部224と,画像や文字を表示するためのLCDなどの表示部225と,テンキーや各種機能キーなどを含む操作部226と,音声通話のためのマイクなどの音声入力部227と,レシーバやスピーカなど音を出力するための音声出力部228と,当該携帯電話端末を動作させるための電池229と,電池229を安定化し各機能部へ分配する電源部230を含む。
制御部201は,携帯電話システム全体の制御,システム内の各ブロックへの命令の指示,ゲーム処理,画像処理,音処理などの各種の処理を行うものである。制御部221の機能は,各種プロセッサ(CPU,DSP等),又はASIC(ゲートアレイ等)などのハードウェアや,所与のプログラム(ゲームプログラム)により実現できる。
より具体的には,制御部は,図示しない画像処理部を具備し,画像処理部は,ジオメトリ演算回路などのジオメトリ演算部と,描画部(レンダラー)とを具備する。さらに,テクスチャ生成回路,照光処理回路,又は表示回路などを具備してもよい。更には,先に説明したコンピュータやゲーム機における描画処理回路を適宜具備すればよい。
本発明の携帯電話は,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備する。
[携帯電話機の動作例]
まず,音声による通信動作について説明する。例えば音声入力部227に入力された音声は,インターフェイスによりデジタル情報に変換され,制御部221によって,所定の処理が施され,無線通信機能部223から無線信号として出力される。また,相手の音情報を受信する場合は,無線通信機能部223が無線信号を受信し,所定の変換処理が施された後,制御部221の制御を受けて,音声出力部228から出力される。
次に,画像を処理するための動作や処理は,基本的には先に説明したコンピュータやゲーム機における動作や処理と同様である。操作部224から,図示しないインターフェイスやバスを介して処理情報が入力されると,例えば,制御部221中の画像処理部の指令に基づき,ジオメトリプロセッサなどが,RAMなどの作業領域,各種テーブルなどを適宜利用し,ジオメトリ演算を行う。さらに,制御部221のレンダラーは,制御部221中の画像処理部の指令に基づき,レンダリング処理を行う。カリング処理やクリッピング処理,アンチエイリアス処理などが適宜施された画像情報は,描画プロセッサにより所定の描画処理を施され,フレームバッファに記憶され,表示部に画像として表示される。このようにして,3次元コンピュータグラフィックスが表示される。
本発明の携帯電話は,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができるので,高速に陰影などを演算することができる。携帯電話におけるコンピュータグラフィックス,特に3次元コンピュータグラフィックス,のレベルはそれほど高くはないので,本発明のようなシェーディング技術は要求されていないが,あえて本発明の画像生成装置を盛り込むことで,陰影の美しい画像を効果的に表示できることとなる。
[カーナビの構成]
図23は,本発明のある実施形態(ナビゲーションシステム)のブロック図である。このブロック図で表される実施形態は,特に3次元コンピュータグラフィック機能つきカーナビゲーションとして好適に利用されうる。図16に示されるように,このナビゲーションシステムは,GPS部241と,任意要素としての自律測位部242と,地図記憶部243と,制御部244と,表示部245と,任意要素としてのマップマッチング部246とを含むものがあげられる。
GPS部241は,GPS受信機を備え,複数のGPS衛星からの電波を同時に受信して車両の測位データを得るGPS部である。GPS部241は,GPS受信機において受信したデータから車両の絶対位置を得るものであるが,この測位データには車両の位置情報の他に車両の進行方向情報,仰角情報が含まれている。
自律測位部242は,自律型センサを備え,自律型センサの出力データから車両の移動距離,移動方位を算出する自律測位部である。自律型センサとしては,車輪の回転数に応じた信号を検出する車輪側センサ,車両の加速度を検出する加速度センサ,車両の角速度を検出するジャイロセンサなどが含まれる。この例では,ジャイロセンサとして,さらに車両のピッチ動作方向における姿勢角度(以下「ピッチ角」と称する)も検出できる3次元ジャイロセンサが使用されており,したがって,自律測位部242から出力される測位データには車両のピッチ角が含まれている。
地図記憶部243は,2次元地図情報,3次元道路情報,及び3次元建物情報を有するデジタル地図データが記憶された地図記憶部である。地図記憶部243を構成する記憶媒体として,CD−ROM,ハードディスクがあげられる。地図データは,データ量が大きいと読み込み時間を要するため,好ましくは複数のブロックに分割されて記憶される。また,道路情報とは,交差点や屈曲点などの主要な地点(ノード)を示す情報を有したものであってもよく,ノード情報はその地点における座標データなどを備え,道路は各ノードを結ぶ直線(リンク)として近似されてもよい。このシステムでの3次元道路情報とは,ノード情報が3次元の座標データを備えていることを意味している。
制御部244は,GPS部241または自律測位部242から得られた車両の位置情報に基づいて,地図記憶部243から車両の位置が該当する所定領域の地図データを読み出すなど所定の制御を行うためのものである。
表示部245は,測位制御部244により読み出された地図データを表示するためのものである。
マップマッチング部246は,車両の測位データおよび地図データの3次元道路情報を基に,車両の位置を道路上に補正するためのものである。
本発明のカーナビは,たとえば,制御部に幾何演算部と描画部とを具備し,描画部(レンダラー)に,本発明の画像生成装置を具備する。
[カーナビの動作例]
GPS部241が,複数のGPS衛星からの電波を同時に受信し車両の測位データを得る。自律測位部242は,自律型センサの出力データから車両の移動距離,移動方位を算出する。制御部244は,GPS部241または自律測位部242から得られたデータに所定の処理を施して車両の位置情報を得る。そして,車両の位置情報に基づいて,地図記憶部243から車両の位置に関連する所定領域の地図データを読み出す。また,図示しない操作部からの操作情報を受けて表示モードを変え,表示モードに応じた地図データを読み出す。また,制御部244は,位置情報に基づいて,所定の描画処理を行い建物の立体画像,地図の立体画像,車の立体画像などを表示する。さらに,Z値に基づいて,カリング処理などを行う。表示部245が,制御部244により読み出された地図データを表示する。
本発明のカーナビは,たとえば,描画部(レンダラー)に,本発明の画像生成装置を具備するので,特定のピクセル以外のピクセルへの入射光を考慮しなくとも,輝度計算などを効果的に行うことができる。これにより,本発明のカーナビは,高速に陰影などを演算することができる。カーナビにおけるコンピュータグラフィックス,特に3次元コンピュータグラフィックス,のレベルはそれほど高くはないので,本発明のようなシェーディング技術は要求されていないが,あえて本発明の画像生成装置を盛り込むことで,陰影の美しい画像を効果的に表示できることとなる。
図24は,パチスロ機の主制御回路361を示すブロック図である。図24に示されるとおり,主制御回路361はマイクロコンピュータ(以下,「マイコン」という。)363を主な構成要素とし,これに乱数サンブリングのための回路を加えて構成されている。マイコン363は,予め設定されたプログラムに従って制御動作を行うメインCPU(中央演算処理装置)364と,プログラム(画像演出プログラムなどを含む)や各種のテーブルデータなどを格納しているROM365およびバックアップ機能付き制御RAM(以下,単にRAMと称する)366とを含んで構成されている。
メインCPU364には,基準クロックパルスを発生するクロックパルス発生回路367および分周器368と,一定範囲の乱数を発生する乱数発生器369および発生した乱数の1つを特定するサンプリング回路370とが接続されている。さらに,メインCPU364には,後述する周辺装置(アクチュエータ)との間で信号を授受するI/Oポート371が接続されている。
ここで,R0M365は,入賞確率テーブル,図柄テーブル,入賞シンボル組合せテーブル,シーケンスプログラム,告知演出テーブルおよび演出画像プログラムを格納するように記憶部が区分され,さらに,スタートレバー328を操作(スタート操作)する毎に行われる乱数サンプリングの判定に用いられる確率抽選テーブル,停止ボタンの操作に応じてリールの停止態様を決定するための停止テーブル等が格納されている。
マイコン363からの制御信号により動作が制御される主要なアクチュエータとしては,各リール305,306,307を回転駆動するステッピングモータ345L,345C,345R,各種ランプ(賭数表示ランプ319〜321,スタートランプ329,WINランプ330,インサートランプ332),各種表示部(クレジット表示ランプ323,遊技状態表示ランプ324〜327,ボーナスカウント表示ランプ318,配当枚数表示ランプ322),およびメダルを収納するホッパー372がある。これらはそれぞれモータ駆動回路373,各ランプ駆動回路374,各表示部駆動回路375およびホッパー駆動回路376によって駆動される。これら駆動回路373〜376は,マイコン363のI/Oポート371を介してメインCPU364に接続されている。
また,マイコン363が制御信号を生成するために必要な入力信号を発生する主な入力信号発生手段としては,メダル投入口から投入されたメダルを検出する投入メダルセンサ331S,スタートレバーの操作を検出するスタートスイッチ328S,前述したBETスイッチ33,およびクレジットメダル精算スイッチ334がある。さらに,フォトセンサからの出力パルス信号を受けて各リール305,306,307の回転位置を検出するリール位置検出回路377がある。なお,フォトセンサは各リール305〜307の駆動機構に含まれており,同図では図示されていない。
さらに,上記の入力信号発生手段としては,停止ボタン335〜337が押されたときに対応するリールを停止させる信号を発生するリール停止信号回路378と,ホッパー372から払い出されるメダル数を計数するメダル検出部372Sと,図示しない払出完了信号発生回路とがある。
また,I/Oポート371には副制御回路381が接続されている。図25は,パチスロ機の副制御回路を示すブロック図である。
副制御回路381は,主制御回路361からの制御指令(コマンド)に基づいて表示装置350の表示制御およびスピーカ382L,382Rからの音の出力制御を実行する。この副制御回路381は,好ましくは,主制御回路361を構成する基板とは別の基板上に構成され,サブマイクロコンピュータ83を主たる構成要素とし,表示装置350の表示制御手段としての画像制御回路391,スピーカ382L,382Rからの出力音を制御する音源IC388,増幅器としてのパワーアンプ389で構成されている。
サブマイクロコンピュータ383は,主制御回路61から送信された制御指令に従って制御動作を行うサブCPU384と,記憶手段としてのプログラムROM385およびワークRAM386とを含む。この例では,副制御回路381は,クロックパルス発生回路,分周器,乱数発生器及びサンプリング回路を備えていないが,サブCPU384の動作プログラム上で乱数サンプリングを実行するように構成されている。
プログラムROM385は,サブCPU84で実行する制御プログラムを格納する。ワークRAM386は,上記制御プログラムをサブCPU384で実行するときの一時記憶手段として構成される。
画像制御回路391は,画像制御CPU392,画像制御プログラムROM394,画像制御ワークRAM393,画像制御IC398,画像ROM396,ビデオRAM397で構成される。
ここで,画像制御CPU392は,サブマイクロコンピュータ383で設定されたパラメータに基づき,画像制御プログラムROM394内に格納する画像制御プログラムに沿って表示装置350での表示内容を決定する。画像制御プログラムROM394は,表示装置350での表示に関する画像制御プログラムや各種選択テーブルを格納する。画像制御ワークRAM393は,上記画像制御プログラムを画像制御CPU392で実行するときの一時記憶手段として構成される。画像制御IC398は,画像制御CPU392で決定された表示内容に応じた画像を形成し,表示装置350に出力する。画像ROM396は,画像を形成するためのドットデータを格納する。ビデオRAM397は,画像制御IC398で画像を形成するときの一時記憶手段として構成される。
なお,主制御回路361からの出力はINポート387を介してサブCPU384に入力され,サブCPU384からの出力はOUTポート390およびINポート395を介して画像制御CPU392に入力される。
次に,本実施の形態のパチスロ機の動作について説明する。遊技者がメダル投入口にメダルを投入すると,投入メダルセンサ331Sから検知信号がメインCPU364へ送られ,メインCPU364はメダルの投入を検知し,賭数に応じた賭数表示ランプ319〜321が点灯する。遊技者がスタートレバー328を押すと,スタートスイッチ328Sから操作信号がメインCPU364へ伝えられ,メインCPU364はスタートレバー328の操作を検知し,I/Oポート371を介してモータ駆動部373へスタート信号を送り,リール305,306,307を一斉に回転させる。
また,スタートスイッチ328Sがスタートレバーの操作を検出すると,メインCPU364は乱数発生器369より発生された乱数値をサンプリング回路370により取り込み,取り込んだ乱数値とROM365に格納された判定値とを比較して,当選,落選を決定する内部抽選を行う。その抽選結果はRAM366の所定領域に格納されるが,内部当選すると,当選の種類に応じたフラグがRAM366の所定領域に立てられる。ここで,当該ゲームで立てられたフラグは当該ゲームが終了すると消滅するのが基本であるが,内部当選確率が低いBBやRBに限って,立てられたフラグが対応する図柄が揃って入賞するまで複数ゲームにわたって持ち越される場合がある。
さらに,スタートスイッチ328Sがスタートレバーの操作を検出すると,メインCPU364はROM365から複数ゲームにわたって表示装置350に演出画像を表示するための演出指示コマンドを読み出し,これをI/Oポート371を介して副制御回路381に送出する。なお,メインCPU364は副制御回路381に送出する演出指示コマンドをRAM366の所定領域に保持しておく。
副制御回路381はメインCPU364から入力された演出指示コマンドに従った演出内容の画像を表示装置350に表示し,内部当選の契機となるスタートレバー328の有効な操作毎に入力される演出指示コマンドに従って画像を表示させる。
次にメインCPU364は,RAM366上の内部抽選結果をチェックして,内部抽選の判定結果に対応する停止テーブルを選択決定し,それぞれに対応する停止テーブルをROM365からRAM366上に読み出す。
その後,遊技者が,停止ボタン335,336,337のいずれかを操作すると,リール停止信号回路378から操作信号がメインCPU364へ伝えられ,メインCPU364はリール位置検出回路377からの各リール305,306,307の位置とRAM366上の停止テーブルに基づいてリール305,306,307を停止させる制御を行う。
これにより,内部抽選で当選していない限り,遊技者はどのようなタイミングで停止ボタン335,336,337を操作しても,当選図柄が揃わないように各リール305,306,307の停止制御が行われる。一方,内部抽選で当選し且つ,内部当選結果に対応する図柄が揃えられる停止テーブルが選択されている場合,遊技者の停止ボタン335,336,337の操作タイミング如何によっては内部当選に対応した図柄が揃う停止制御が存在することになる。
すなわち,内部抽選結果が当選の場合には,メインCPU364は引き込み停止制御に基づくストップ信号をモータ駆動部373へ送り,操作された停止ボタン335,336,337に対応するリール305,306,307を停止させるが,このとき,このリール305,306,307上の入賞に係るシンボルが有効な停止ライン上で停止するようなリール停止制御を行う。
内部抽選結果が外れの場合,メインCPU364は,停止ボタン335,336,337の操作にて,入賞に係るシンボルが有効な停止ライン上で止まらないように,操作された停止ボタン335,336,337に対応するリール305,306,307を停止させる。
本発明のパチスロ機は,たとえば,副制御回路381に含まれる画像制御プログラムや画像制御CPUとして,本発明の画像生成装置を具備するので,回路素子などを共有することで,ハードウェア規模を縮減でき,ベクタ・2D・3D画像処理部を一元化することにより,システムが複雑になる事態を防止できる。これにより,無駄なハードウェア・制御処理を少なくすることができる。前記したとおり,開発・製造コスト,消費電力を低減することができるため,パチスロ機などにおいても好適に利用される。
本発明の画像生成装置は,特に3次元のコンピュータグラフィックを生成することができるのでコンピュータなどの分野で利用されうる。また,ゲーム機,携帯電話,ナビゲーション装置などの分野でも好適に利用されうる。
本発明の画像生成装置は,コンピュータグラフィックス処理分野にて応用が可能であり,デジタルAV・携帯電話・携帯AV機器・携帯ゲーム機のようなディスプレイを持ったデジタル機器に適用可能である。
図1は,本発明で使用しているベクトルパラメータに関する図である。 図2は,グラフィック装置における本発明の位置づけを示すブロック図である。 図3は,本発明の基本ブロック図である。 図4は,法線・ケガキ方向ベクトル演算手段ブロック図である。 図5は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,法線ベクトルにバンプベクトルを適用した場合のサイクル1での動きを示す図である。 図6は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,法線ベクトルにバンプベクトルを適用した場合のサイクル2での動きを示す図である。 図7は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル1での動きを示す図である。 図8は,法線・ケガキ方向ベクトル演算手段複数クロックサイクル実行時,ケガキ方向ベクトルにバンプベクトルを適用した場合のサイクル2での動きを示す図である。 図9は,COS_PHI・ジオメトリックファクタ演算手段ブロック図である。 図10は,内積演算手段の基本構造例を示すブロック図である。 図11は,COS_PHI・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル1での動きを示す図である。 図12は,COS_PHI・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル2での動きを示す図である。 図13は,COS_PHI・ジオメトリックファクタ演算手段において,複数クロックサイクル実行時,サイクル3での動きを示す図である。 図14は,内積演算手段の基本構造例を示すブロック図である。 図15は,内積演算手段において,複数クロックサイクル実行時,サイクル1での動きを示す図である。 図16は,内積演算手段において,複数クロックサイクル実行時,サイクル2での動きを示す図である。 図17は,内積演算手段において,複数クロックサイクル実行時,サイクル3での動きを示す図である。 図18は,内積結果演算手段の基本構造例を示すブロック図である。 図19は,カラーブレンド手段の基本構成例を示すブロック図である。 図20は,本発明のある実施態様(コンピュータ)を示すブロック図である。 図21は,本発明のある実施形態(ゲーム機)のブロック図である。 図22は,本発明のある実施形態(コンピュータグラフィック機能つき携帯電話機)のブロック図である。 図23は,本発明のある実施形態(ナビゲーションシステム)のブロック図である。 図24は,パチスロ機の主制御回路を示すブロック図である。 図25は,パチスロ機の副制御回路を示すブロック図である。
符号の説明
11 頂点データ補間手段12 法線・ケガキ方向ベクトル演算手段
13 COS_PHI・ジオメトリックファクタ演算手段
14 内積演算手段
15 内積結果演算手段
16 補間されたパラメータ(クオータニオン形式)
17 視点ベクトル及び光源ベクトル
18 法線ベクトル及びケガキ方向ベクトル
19 COS_PHI・ジオメトリックファクタ演算手段からの出力
20 内積演算手段にて演算された結果
21 スペキュラ成分カラー及びディフューズ成分カラー(内積結果演算手段の出力)
22 テクスチャ手段
23 バンプベクトル
24 チップ

Claims (17)

  1. ポリゴンにおける頂点データが入力され,入力された前記頂点データを元にポリゴンの内挿補間を行い,ポリゴン内部における各ピクセルにおける位置,色,視点ベクトル及び光源ベクトルを補間演算し,補間されたパラメータ(16),視点ベクトル及び光源ベクトル(17)を得る頂点データ補間手段(11)と;
    前記補間されたパラメータ(16)を用いて法線ベクトル及びケガキ方向ベクトル(18)を求める演算を行う法線・ケガキ方向ベクトル演算手段(12)と;
    前記法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに,前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り,前記法線ベクトル,前記ケガキ方向ベクトル,前記視点ベクトル及び前記光源ベクトルを用いて,COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)と;
    前記法線ベクトル,前記ケガキ方向ベクトル,前記COS_PHI,前記ジオメトリックファクタ,前記視点ベクトル前記光源ベクトルを受け取り,それらを用いて内積演算を行う内積演算手段(14)と;
    前記内積演算手段にて演算された結果を用いてスペキュラ成分カラー及びディフューズ成分カラーのいずれか又は両方の演算を行う内積結果演算手段(15)と;
    を具備し,
    前記COS_PHIは,光源ベクトルと視点ベクトルの間の方向を示すベクトルをケガキ方向ベクトル面に投影を行ったベクトルと,ケガキ方向ベクトルとのなす角度を示すパラメータである
    画像生成装置。
  2. 前記法線・ケガキ方向ベクトル演算手段(12)に入力される補間されたパラメータ(16)は,クオータニオン形式の情報を含む請求項1に記載の画像生成装置。
  3. 前記法線・ケガキ方向ベクトル演算手段(12)は,入力された法線ベクトル及び,ケガキ方向ベクトルに対して,バンプマップ及びタンジェントマップを行う手段を具備する,請求項1に記載の画像生成装置。
  4. 前記法線・ケガキ方向ベクトル演算手段(12)にされる補間されたパラメータ(16)は,クオータニオン形式の情報を含み,前記法線・ケガキ方向ベクトル演算手段内にて,入力された法線ベクトル及びケガキ方向ベクトルに対して,バンプ及びタンジェントマップをおこなう手段を具備する,請求項1に記載の画像生成装置。
  5. 前記法線・ケガキ方向ベクトル演算手段(12)は,複数クロックサイクルで演算することでハードウェアの共有化を行うための手段を具備する,請求項1に記載の画像生成装置。
  6. 更に,前記法線・ケガキ方向ベクトル演算手段(12)から前記法線ベクトル及び前記ケガキ方向ベクトルを受け取るとともに,前記頂点データ補間手段(11)から前記視点ベクトル及び前記光源ベクトル(17)を受け取り,前記法線ベクトル,前記ケガキ方向ベクトル,前記視点ベクトル及び前記光源ベクトルを用いて,COS_PHI及びジオメトリックファクタを演算するCOS_PHI・ジオメトリックファクタ演算手段(13)を含み;
    前記内積演算手段(14)は,前記法線ベクトル,前記ケガキ方向ベクトル,前記COS_PHI,前記ジオメトリックファクタ,及び前記視点ベクトル前記光源ベクトルを受け取り,それらを用いて内積演算を行う,請求項1に記載の画像生成装置。
  7. 前記COS_PHI・ジオメトリックファクタ演算手段は,複数クロックサイクルで演算することでハードウェアの共有化を行うことができる手段を具備する,請求項6に記載の画像生成装置。
  8. 前記内積演算手段は,複数クロックサイクルで演算することでハードウェアの共有化を行うことができる手段を具備する,請求項1に記載の画像生成装置。
  9. 前記内積演算手段は,内積する対象のベクトルの組を任意に選択するための手段を具備する,請求項1に記載の画像生成装置
  10. 前記内積演算手段内にて,内積する対象のベクトルの組を任意に選択するための手段,及び,ルックアップテーブルベースでの分布関数を参照するための手段を具備する,請求項1に記載の画像生成装置
  11. 前記COS_PHI・ジオメトリックファクタ演算手段は,前記法線・ケガキ方向ベクトル演算手段(18)から前記法線ベクトル(N)及び前記ケガキ方向ベクトル(T)を受け取るとともに,前記頂点データ補間手段(11)から前記視点ベクトル(V)及び前記光源ベクトル(L7)を受け取り,前記LとNとを用いて内積演算手段により(L・N)を求め,前記LとVとを用いて加算手段により|L+V|を求め,前記|L+V|を用いて乗算手段により|L+V|2を求め,|L+V|2を用いて逆数演算手段により1/|L+V|2を求め,(L・N)と1/|L+V|2とを用いて乗算手段により(L・N)/|L+V|2を求め,この値をジオメトリックファクタとして求めるジオメトリックファクタ演算手段を具備する請求項1に記載の画像生成装置。
  12. 前記内積結果演算手段内にて,1つのスペキュラ成分と,2つのスペキュラ成分の乗算の結果に対する加算の機構を具備する,請求項1に記載の画像生成装置
  13. 請求項1に記載の画像生成装置を具備するコンピュータ。
  14. 請求項1に記載の画像生成装置を具備するゲーム機。
  15. 請求項1に記載の画像生成装置を具備する携帯電話。
  16. 請求項1に記載の画像生成装置を具備するナビゲーションシステム。
  17. 請求項1に記載の画像生成装置を具備するスロットマシーン。
JP2006117193A 2006-04-20 2006-04-20 画像生成装置 Active JP4761541B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006117193A JP4761541B2 (ja) 2006-04-20 2006-04-20 画像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006117193A JP4761541B2 (ja) 2006-04-20 2006-04-20 画像生成装置

Publications (3)

Publication Number Publication Date
JP2007293392A JP2007293392A (ja) 2007-11-08
JP2007293392A5 JP2007293392A5 (ja) 2009-03-26
JP4761541B2 true JP4761541B2 (ja) 2011-08-31

Family

ID=38763998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006117193A Active JP4761541B2 (ja) 2006-04-20 2006-04-20 画像生成装置

Country Status (1)

Country Link
JP (1) JP4761541B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690645B2 (en) 2012-12-04 2017-06-27 Hewlett Packard Enterprise Development Lp Determining suspected root causes of anomalous network behavior
KR101557703B1 (ko) 2014-03-25 2015-10-06 맥스온소프트(주) 지구 평면도에서 밤낮의 변화를 실시간으로 시각화하는 방법 및 이를 위한 그래픽 처리장치
CN106708041B (zh) * 2016-12-12 2020-12-29 西安Tcl软件开发有限公司 智能音箱、智能音箱定向移动方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242264A (ja) * 1992-03-02 1993-09-21 Daikin Ind Ltd 図形描画方法およびその装置
WO2004079663A1 (ja) * 2003-03-06 2004-09-16 Digital Media Professionals Inc. 光反射強度計算回路

Also Published As

Publication number Publication date
JP2007293392A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
Kontkanen et al. Ambient occlusion fields
US6903741B2 (en) Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US8803879B1 (en) Omnidirectional shadow texture mapping
US6639595B1 (en) Achromatic lighting in a graphics system and method
US7176919B2 (en) Recirculating shade tree blender for a graphics system
US6664958B1 (en) Z-texturing
US8223149B2 (en) Cone-culled soft shadows
US10762694B1 (en) Shadows for inserted content
US7158133B2 (en) System and method for shadow rendering
US11164367B2 (en) Illumination effects from luminous inserted content
US20090284524A1 (en) Optimized Graphical Calculation Performance by Removing Divide Requirements
JP4761541B2 (ja) 画像生成装置
JP2009110362A (ja) 画像生成装置および画像生成プログラム
JP4832152B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP2004073241A (ja) ゲームシステム、プログラム及び情報記憶媒体
JP5253118B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
WO2007034822A1 (ja) 画像生成装置
JP4787662B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP4787661B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
JP4785605B2 (ja) ガス状物体を2次元のディスプレイに表示するための3次元コンピュータグラフィックス装置に用いられるシステム
US7724255B2 (en) Program, information storage medium, and image generation system
JP5535729B2 (ja) 3次元コンピュータグラフィックス描画システム
JP5007991B2 (ja) 細分割曲面描画用レンダリング装置
WO2007013492A1 (ja) 多層反射シェーディング画像生成方法及びコンピュータ
Simion et al. Practical gpu and voxel-based indirect illumination for real time computer games

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110601

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4761541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250