JP2774874B2 - 画像合成装置及び画像合成方法 - Google Patents

画像合成装置及び画像合成方法

Info

Publication number
JP2774874B2
JP2774874B2 JP50611594A JP50611594A JP2774874B2 JP 2774874 B2 JP2774874 B2 JP 2774874B2 JP 50611594 A JP50611594 A JP 50611594A JP 50611594 A JP50611594 A JP 50611594A JP 2774874 B2 JP2774874 B2 JP 2774874B2
Authority
JP
Japan
Prior art keywords
image
information
unit
polygon
dot
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.)
Expired - Fee Related
Application number
JP50611594A
Other languages
English (en)
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.)
Namco Ltd
Original Assignee
Namco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd filed Critical Namco Ltd
Priority to JP50611594A priority Critical patent/JP2774874B2/ja
Application granted granted Critical
Publication of JP2774874B2 publication Critical patent/JP2774874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [技術分野] 本発明は画像合成装置、特に画像情報をリアルタイム
で合成出力することが可能な画像合成装置に関する。
[背景技術] 従来、例えば3次元ゲームあるいは飛行機及び各種乗
物の操縦シュミレータ等に使用される画像合成装置とし
て種々のものが知られている。このような画像合成装置
では、図24に示す3次元物体300に関する画像情報が、
あらかじめ装置に記憶されている。そして、この画像情
報をスクリーン306上に透視変換することにより疑似3
次元画像308をスクリーン306上に画像表示している。プ
レーヤ302が、操作パネル304により回転、並進等の操作
を行うと、装置は、この操作信号に基づいて3次元物体
300に対する回転、並進等の演算処理をリアルタイムに
行う。その後、この回転等の演算処理が施された3次元
画像を、スクリーン306上に透視変換して疑似3次元画
像を表示する。この結果、プレーヤ302は、自身の操作
により3次元物体300をリアルタイムに回転、並進等す
ることが可能となり、仮想的な3次元空間を疑似体験で
きることとなる。
図25には、このような画像合成装置の構成の一例が示
される。なお、以下の説明では、画像合成装置を3次元
ゲームに適用した場合を例にとり説明を進める。
図25に示すように、この画像合成装置は、操作部51
0、ゲーム空間演算部500、画像合成部512、CRT518によ
り構成される。
ゲーム空間演算部500では、操作部510からの操作信
号、中央処理部506に記憶されたゲームプログラムにし
たがって、ゲーム空間の設定が行われる。即ち、3次元
物体300をどの位置に、どの方向で配置するかの演算が
行われる。
画像合成部512は、画像供給部514、画像形成部516を
含んで構成される。そして、画像合成部512では、ゲー
ム空間演算部500によるゲーム空間の設定情報にしたが
って疑似3次元画像の画像合成が行われる。
さて、本画像合成装置では、ゲーム空間を構成する3
次元物体は、3次元のポリゴンに分割された多面体とし
て表現されている。例えば、図24において3次元物体30
0は、3次元のポリゴン(1)〜(6)(ポリゴン
(4)〜(6)は図示せず)に分割された多面体として
表現される。そして、この3次元のポリゴンの各頂点の
座標及び付随データ等(以下、頂点画像情報と呼ぶ)が
3次元画像情報記憶部552に記憶されている。
画像供給部514では、ゲーム空間演算部500の設定情報
にしたがって、この頂点画像情報に対する回転、並進等
の各種の演算及び透視変換等の各種の座標変換が行われ
る。そして、演算処理の終了した頂点画像情報は、所定
の順序に並び換えられた後、画像形成部516に出力され
る。
画像形成部516は、ポリゴン発生回路570とパレット回
路580を含んで構成され、ポリゴン発生回路570は、輪郭
点演算部324、ラインプロセッサ326を含んで構成され
る。画像形成部516では、ポリゴン内部の全ドットを所
定の色データ等で塗りつぶす演算処理が以下の手順で行
われる。
まず、輪郭点演算部324において、図26に示すよう
に、ポリゴンの輪郭線AB、BC,CD、DA等と走査線との交
点である左右輪郭点が演算される。次に、ラインプロセ
ッサ326により、これらの左右輪郭点により囲まれた部
分、例えば図26におけるLQ間、QR間が指定された色デー
タに塗りつぶされる。図26においては、LQ間は赤色及び
QR間の青色の色データに塗りつぶされる。その後、この
塗りつぶされた色データはパレット回路580においてRGB
変換され、CRT518より出力表示されることになる。
さて、このような従来の画像合成装置で、以上述べた
ように一つのポリゴン上のドットは全て同一色にしか塗
りつぶすことができなかった。例えば、図26では、ポリ
ゴン(1)上のドットは赤色のみ、ポリゴン(2)上の
ドットは黄色のみ、ポリゴン(3)上のドットは青色の
みにしか塗りつぶすことかできなかった。従って、形成
された画像は単調であり、リアリティ感に欠けるもので
あった。
逆に、このような単調さを避けるため、複雑な表面を
持つ物体を表示しようとすると、ポリゴンの分割数を大
幅に増加させる必要が生ずる。例えば図27に示すような
カラー情報のテクスチャが施された3次元物体332を、
従来の装置で画像合成する場合には、ポリゴンを、例え
ば(1)〜(80)((41)〜(80)は図示せず)に分割
して演算処理を行わなければならない。即ち、これらの
全てのポリゴンに対して回転、並進、透視変換及び各ポ
リゴンの輪郭線の演算、ポリゴン内部の塗りつぶし等の
演算処理を行わなければならなかった。従って、図24の
ようにテクスチャが施されていない3次元物体300を処
理する場合に比べて、10数倍もの数のポリゴンを処理す
る必要が生じることとなる。ところが、本装置のように
リアルタイムで画像合成を行う装置では、例えば1フィ
ールド(1/60秒)毎に全てのポリゴンに対する処理を行
い、表示画面の描画を終了しなければならない。従っ
て、このようなカラー情報のテクスチャが施された3次
元物体332を描くためには、装置を構成するハードウェ
アの処理スピードを大幅に向上させるか、もしくは、装
置のハードウェアを大規模化して並列演算処理により処
理せざるを得なかった。更に、処理するポリゴン数が増
加すれば、これに伴って、装置内部の記憶装置、データ
処理装置も必然的に大型化する。従って、例えばビデオ
ゲーム機など、コスト上、あるいは設置面積上、制限の
ある画像合成装置では、このように繊細にテクスチャが
施された高品質の疑似3次元画像を描くことは、実質上
不可能となっていた。
ところで、コンピュータグラフィックス等の分野にお
いては、図28に示すテクスチャマッピングと呼ばれる手
法が知られている。つまり、この手法による画像合成装
置では、3次元物体332の画像情報を、多面体334の画像
情報とテクスチャ336、338のテクスチャ情報に分離して
装置に記憶する。そして、画像出力する際に、多面体33
4に、このテクスチャ336、338のテクスチャ情報をはり
付けることによって画像合成を行っている(テクスチャ
マッピングを用いた画像合成の技術として、例えば特開
昭63−80375に開示された従来技術がある)。
しかしながら、高品質のテクスチャマッピング手法
は、グラフィックス・ワークステーションと呼ばれる画
像処理専用コンピュータや、フライトシミュレータ等、
かなり大規模で高価な画像処理装置の分野において実現
されている物である。例えばビデオゲーム機など比較的
廉価な画像合成装置の分野においては、ハードウエアの
超高速化や大規模化が困難であるため、テクスチャマッ
ピングを実現している物は極めて少ない。実現している
はわずかな例を見ても、表示可能な3次元物体の数や大
きさが限定されており、かつ、簡単な近似手法による演
算しか行えないために不正確なマッピングになってい
た。この結果、画像のリアリティを著しく損ねていた。
また、画面が更新される頻度が毎秒数フレーム程度と低
いため、リアルタイム性も不十分であった。
さて、ハードウェアの高速化、小規模化を図るべく、
ハードウェアの演算回数を減少させるには、最も数の多
いデータの演算、即ち、表示画面の各ドットにおける表
示座標、テクスチャ情報、輝度情報等の線形補間演算の
回数を少なくすればよい。このためには、これらのデー
タを間引きして演算し、出力する際にこれを補間するこ
とが1つの有効な手段となる。
しかし、従来のビットマップ方式の画像合成装置で
は、フィールドバッファ部にはカラー情報自体が記憶さ
れていた。このようなカラー情報自体がフィールドバッ
ファ部に記憶される構成により、前記の間引き・補間処
理を行おうとすると、次のような問題が生じる。即ち、
まず、フィールドバッファ部に記憶されるカラー情報
が、カラーコードつまり符号化されたカラー情報である
場合は、補間すること自体が不可能であり、この場合
は、全く論外である。次に、記憶されたカラー情報が、
RGB出力等のカラー情報である場合は、合成された画像
の質が極度に悪化するという事態が生じる。即ち、テク
スチャ情報は表示したい画像に応じて任意に与えられる
ものである。従って、そのデータの並びには、線形性は
おろか、何らの数学的規則性もない。この結果、このよ
うな情報を間引くということは、画像情報自体の欠落を
意味することになる。そして、この欠落した画像情報は
補間によってこれを取り戻すことは不可能である。従っ
て、合成された画質は、データの抜けを生じるなど極度
に悪化することになる。この結果、従来のビットマップ
方式を用いた画像合成装置では、間引き・補間手法によ
るハードウェアの小規模化、処理の高速化を図ることは
実質上不可能であった。
本発明は、以上のような従来の課題に鑑みなされたも
のであり、その目的とするところは、特に間引き・補間
手法を用いることにより、ハードウェアの高速化、小規
模化を図ることができる画像合成装置を提供することに
ある。
[発明の開示] 前記目的を達成するために本発明に係る画像合成装置
は、ポリゴンで構成される3次元画像を所定投影面上に
透視変換して疑似3次元画像を合成する画像合成装置で
あって、 ポリゴンの各頂点に与えられた頂点画像情報より、3
次元画像を構成するポリゴン内部の各ドットの座標及び
この各ドットの座標に対応すべきテクスチャ座標を求め
るプロセッサ部と、 前記各ドットの座標により指定されるアドレス位置
に、前記プロセッサ部により求められた前記テクスチャ
座標を記憶するフィールドバッファ部と、 前記テクスチャ座標により指定されるアドレス位置に
所定のレンダリング情報を記憶するレンダリング情報記
憶部と、 前記フィールドバッファ部から前記テクスチャ座標を
読み出し、このテクスチャ座標に基づいて前記レンダリ
ング情報記憶部からレンダリング情報を読み出して画像
情報を形成する画像情報形成部とを含み、 前記プロセッサ部は、前記各ドットの座標及びこれに
対応するテクスチャ座標を間引いて演算する間引き演算
部を有し、 前記画像情報形成部は、間引かれたドットの両隣のド
ットの前記フィールドバッファ部に記憶されたテクスチ
ャ座標に基づいて、間引かれたドットのテクスチャ座標
を補間処理する補間演算部を有することを特徴とする。
本発明によれば、フィールドバッファ部にはカラー情
報ではなくテクスチャ座標が記憶される。そして、フィ
ールドバッファ部からこのテクスチャ座標を読み出し、
この読み出されたテクスチャ座標によりレンダリング情
報記憶部(テクスチャ情報記憶部)に記憶されているレ
ンダリング情報(テクスチャ情報)を読み出し、画像情
報を形成している。従って、ハードウェアの小規模化、
処理の高速化を図れる間引き・補間処理を画像の質をそ
れほど劣化させることなく実現できる。即ち、プロセッ
サ部において間引き処理を行い、フィールドバッファ部
に間引いたテクスチャ座標を記憶させる。そして、フィ
ールドバッファ部から読み出す際にこれを補間処理すれ
ば、画像の質をそれほど劣化することなく、ハードウェ
アの負担を軽減できる演算手法を実現できることにな
る。
この場合、前記プロセッサ部は、ポリゴンの各頂点に
与えられた頂点画像情報より、前記各ドットの座標に対
応する輝度情報を更に求め、 前記フィールドバッファ部には、前記各ドットの座標
により指定されるアドレス位置に、前記プロセッサ部に
より求められた前記輝度情報が更に記憶され、 前記補間演算部が、間引かれたドットの両隣のドット
の前記フィールドバッファ部に記憶された輝度情報に基
づいて、間引かれたドットの輝度情報についても補間処
理を行ってもよい。
このように構成することで、輝度情報についてもレン
ダリングを行うことができ、グーローシェーディング等
の手法を用いた画像合成が可能となる。そして、この場
合にも、輝度情報について間引き・補間処理を行うこと
ができるため、ハードウェアの小規模化、処理の高速化
を図りながら、高品質の画像の合成が可能となる。
また、前記レンダリング情報記憶部に代えて、前記テ
クスチャ座標に対して所定の関数演算処理を施すことで
レンダリング情報を求める関数演算部を含み、 前記画像情報形成部は、前記フィールドバッファ部か
ら前記テクスチャ座標を読み出し、このテクスチャ座標
に基づいて前記関数演算部によりレンダリング情報を求
め画像情報を形成してもよい。
このように構成することで、テクスチャ座標に基づい
て関数演算部より所望のレンダリング情報を形成するこ
とにより、テクスチャマッピングを用いた高品質な画像
合成が可能となる。また、例えばバンプマッピングと呼
ばれるテクスチャマッピングを比較的小規模の回路構成
により行うこともできる。特に、乱数発生器等を用いる
ことにより従来にない映像効果を作り出すこともでき
る。
また、前記レンダリング情報記憶部に記憶されるレン
ダリング情報のうち少なくとも一種類がカラー情報であ
り、このカラー情報を前記テクスチャ座標により読み出
して画像情報の形成を行うことが望ましい。
また、前記レンダリング情報記憶部に記憶されるレン
ダリング情報のうち少なくとも一種類が表面形状情報で
あり、この表面形状情報を前記テクスチャ座標により読
み出して画像情報の形成を行ってもよい。
このようにテクスチャマッピングを行うレンダリング
情報としてはカラー情報、表面形状情報を用いることが
でき、また、輝度情報、透明度情報、拡散反射率情報等
も用いることができる。例えば表面形状情報として法線
ベクトル、法線ベクトルの偏位(摂動成分)、物体表面
に形成される起伏の高さを用いれば、バンプマッピング
によるテクスチャマッピングを行うこともできる。
また、前記補間演算部は、間引かれたドットの両隣の
ドットのテクスチャ座標を線形補間することにより前記
補間処理を行うことが望ましい。
このように補間処理を線形補間により行うことで、よ
り簡易な構成で補間演算部を形成することが可能とな
る。
また、前記間引き演算部は、ポリゴンの輪郭線上のド
ット又は他のポリゴンとの境界線上のドットについては
間引き処理を行わないことが望ましい。
これにより、間引き・補間処理を行った場合に、ポリ
ゴンの輪郭及び他のポリゴンとの境界がぼやけることを
効果的に防止することができる。
また、前記フィールドバッファ部には、ポリゴンの画
像が描かれないドットは空きドットとして書き込まれ、
また、ポリゴンを識別するためのポリゴン識別番号が更
に書き込まれ、 前記補間演算部は、処理の対象となるドットが空きド
ットであり、そのドットの両隣のドットのポリゴン識別
番号が同一であり且つそのドットの両隣のドットのいず
れも空きドットではないドットについて前記補間処理を
行うことが望ましい。
このように構成することで、空きドット及びポリゴン
識別番号を用いた補間処理が可能となる。即ち、補間演
算部は、処理の対象となるドットが空きドットか否か、
そのドットの両隣のドットのポリゴン識別番号が同一か
否か、両隣のドットが空きドットか否かを判断するだけ
で、補間処理を行うべきドットか否かを判断できること
になる。この結果、非常に簡易な構成で補間演算部を形
成することができ、ハードウェアの小規模化、処理の簡
易化、処理の高速化を図ることができる。
また、前記間引き演算部、補間演算部における間引き
処理、補間処理が画面上で連続した複数ドット毎に行っ
てもよい。
このように間引き率を高めることにより、更にハード
ウェアの小規模化、処理の高速化を図ることが可能とな
る。
また、3次元画像を構成する各ポリゴンに共通の画像
情報であるアトリビュートデータを記憶するアトリビュ
ートデータ記憶部を更に含み、 前記フィールドバッファから読み出された前記ポリゴ
ン識別番号に基づいて前記アトリビュートデータ記憶部
からアトリビュートデータを読み出して画像処理の形成
を行ってもよい。
このようにポリゴンに共通の画像情報であるアトリビ
ュートデータをアトリビュートデータ記憶部に記憶させ
る。そして、このアトリビュートデータを、フィールド
バッファ部に書き込まれたポリゴン識別番号により読み
出すことにより、更に高品質な画像合成を、より簡易な
回路構成で実現できる。例えば、バンプマッピングを法
線ベクトルの偏位により行う場合に、もとの法線ベクト
ルを、このアトリビュートデータにより指定することも
できる。
また本発明は、ポリゴンで構成される3次元画像を所
定投影面上に透視変換して疑似3次元画像を合成するた
めの画像合成方法であって、 ポリゴンの各頂点に与えられた頂点画像情報より、3
次元画像を構成するポリゴン内部の各ドットの座標及び
この各ドットの座標に対応すべきテクスチャ座標を求め
る座標演算ステップと、 前記各ドットの座標により指定されるアドレス位置
に、求められた前記テクスチャ座標を記憶するステップ
と、 前記記憶ステップで記憶されたテクスチャ座標に基づ
いてレンダリング情報を求め、画像情報を形成するステ
ップとを含み、 前記座標演算ステップは、前記各ドットの座標及びこ
れに対応するテクスチャ座標を間引いて演算し、 前記画像情報形成ステップは、間引かれたドットの両
隣のドットのテクスチャ座標に基づいて、間引かれたド
ットのテクスチャ座標の補間処理を行うことを特徴とす
る。
[図面の簡単な説明] 第1図は、本発明にかかる画像合成装置の一例につい
て示すブロック図である。
第2図は輝度の連続性の問題について示す概略説明図
である。
第3図は、本発明にかかる画像装置における画像処理
演算の概要を示すフローチャート図である。
第4図は、本発明にかかる画像装置における画像処理
演算の概要を視覚的に示した概略説明図である。
第5図は本発明にかかる画像合成装置により合成され
た疑似3次元画像の一例である。
第6図は、本発明の実施例の具体的な構成を示すブロ
ック図である。
第7図は、フィールドバッファ部の周辺回路及び周辺
回路との接続について示すブロック図である。
第8図は、フィールドバッファコントローラの内部回
路を示すブロック図である。
第9図は、フィールドバッファ部に対する書き込みシ
ーケンスを示すタイミングチャート図である。
第10図は、テクスチャ記憶平面の構造について説明す
るための概略説明図である。
第11図は、テクスチャ情報記憶部におけるデータの流
れを示す概略説明図である。
第12図は、フィールドバッファ部へのデータ書き込み
後、画像出力するまでのデータの流れを説明するための
ブロック図である。
第13図は、間引き・補間処理を行わない場合の画像合
成装置の一例を示すブロック図である。
第14図は、間引きされたフィールドバッファ上のデー
タの一例を示す概略説明図である。
第15図は、補間処理手法の一例について示す説明する
ための概略説明図である。
第16図は、間引き・補間処理を行った場合の本実施例
の具体的な回路構成を示すブロック図である。
第17図は、フィールドバッファコントローラと補間回
路の具体的な接続関係を示すブロック図である。
第18図は、補間回路の内部回路について示すブロック
図である。
第19図は、補間回路の動作を説明するためのタイミン
グチャート図である。
第20図はバンプマッピングについて示す概略説明図で
ある。
第21図は、摂動バンプマッピングの概念を説明するた
めの概略説明図である。
第22図(A)〜(C)は、テクスチャ情報記憶部を論
理演算回路で構成した場合について説明するための概略
説明図である。
第23図(A)、(B)は、論理演算回路を乱数器を用
いて形成した場合の概略説明図である。
第24図は、従来の画像処理装置の概念について説明す
るための概略説明図である。
第25図は、従来の画像処理装置の一例を示すブロック
図である。
第26図は、スクリーン上に投影された疑似3次元画像
について説明するための概略説明図である。
第27図は、テクスチャがマッピングされた3次元物体
を画像合成する画像装置について説明するための概略説
明図である。
第28図は、テクスチャマッピングの概念について説明
するための概略説明図である。
[発明を実施するための最良の形態] (1)装置全体の説明 実施例の画像合成装置は、図1に示すように、操作部
12、ゲーム空間演算部13、画像合成部1、CRT46を含ん
で構成される。また、画像合成部1は、画像供給部10、
画像形成部28を含んで構成される。なお、以下の説明で
は、本画像合成装置を3次元ゲームに適用した場合を例
にとり説明する。
ゲーム空間演算部13では、中央処理部14内に格納され
たゲームプログラムと、操作部12からの操作信号とによ
りゲーム空間の設定が行われる。具体的には、ゲーム空
間を構成する3次元オブジェクト(例えば、敵飛行機、
山、ビル等)の位置・方向情報、プレーヤの位置・視野
方向情報等により構成されるゲーム空間設定情報が演算
され、画像合成部1内の画像供給部10へと出力される。
画像供給部10では、前記のゲーム空間設定情報にした
がって、所定の演算処理が行われる。具体的には、絶対
座標系から視点座標系への座標変換、クリッピング処
理、透視変換、ソーティング処理等の演算処理が行わ
れ、画像形成部28へとデータが出力される。なお、この
場合、出力されるデータはポリゴン毎に分割されたデー
タとして表現されており、具体的にはポリゴンの各頂点
の位置座標、テクスチャ座標、その他の付随情報等の頂
点画像情報から構成されている。
画像形成部28は、このポリゴンの各頂点ごとに与えら
れた頂点画像情報に基づいてポリゴン内部の画像情報を
演算して、これをCRT46に出力するものである。
さて、本実施例の画像合成装置では、より高品質の画
像をより効率よく画像合成すべく、テクスチャマッピン
グ手法及びグーローシェーディング手法と呼ぶ手法によ
り画像合成を行っている。以下、これらの手法の概念に
ついて簡単に説明する。
図27には、テクスチャマッピング手法の概念について
示される。
図27に示すような3次元オブジェクト332の各面に例
えば格子状、縞状の模様等が施されたものを画像合成す
る場合には、従来は、3次元オブジェクトを、3次元ポ
リゴン(1)〜(80)(3次元ポリゴン(41)〜(80)
については図示せず)に分割し、これらの全てのポリゴ
ンに対して画像処理を行っていた。その理由は、従来の
画像合成装置では、1つのポリゴン内の色の塗りつぶし
は、指定された一つの色でしか行えなかったためであ
る。この結果、複雑な模様等が施された高品質な画像を
合成する場合には、ポリゴン数が非常に増加してしまう
ため、実質的に、このような高品質の画像を合成するこ
とは不可能であった。
そこで、本画像合成装置では、3次元オブジェクト33
2の回転、並進、透視変換等の座標変換及びクリッピン
グ等の処理を、各面を構成する3次元ポリゴンA、B、
Cごとに行い(具体的には各3次元ポリゴンの頂点ご
と)、格子状、縞状の模様については、テクスチャとし
て取り扱い、ポリゴンの処理と分割して処理を行ってい
る。即ち、図1に示すように画像形成部28内にはテクス
チャ情報記憶部(レンダリング情報記憶部)42が設けら
れ、この中には各3次元ポリゴンにはり付けるべきテク
スチャ情報(レンダリング情報)、つまり格子状、縞状
の模様等の画像情報が記憶されている。
そして、このテクスチャ情報を指定するテクスチャ情
報記憶部42のアドレスを、各3次元ポリゴンの各頂点の
テクスチャ座標VT X、VT Yとして与えておく。具体的に
は、図27に示すように、ポリゴンAの各頂点に対して
は、(VT X0、VT Y0)、(VT X1、VT Y1)、(VT X2、V
T Y2)、(VT X3、VT Y3)のテクスチャ座標が設定され
る。
画像形成部28では、この各頂点のテクスチャ座標VT
X、VT Yから、ポリゴン内の全てのドットについてのテ
クスチャ座標TX、TYが求められる。そして、求められ
たテクスチャ座標TX、TYにより、テクスチャ情報記憶
部22から対応するテクスチャ情報が読み出され、図27に
示すような、格子状、縞状等のテクスチャが施された3
次元オブジェクトを画像合成することが可能となる。
以上の手法によれば、データの処理量を大幅に減らす
ことができる。この結果、リアルタイムに高品質な画像
処理を行う画像合成装置に最適な構成となる。
また、本画像合成装置では前記したように図27の3次
元オブジェクト332を3次元ポリゴンの固まりとして表
現している。従って、各3次元ポリゴンの境界における
輝度情報の連続性が問題となる。例えば複数の3次元ポ
リゴンを用いて球を表現しようとする場合、3次元ポリ
ゴン内の全ドットが全て同じ輝度に設定されると、実際
は「丸み」を表現したいのに、各3次元ポリゴンの境界
が「丸み」として表現されない事態が生じる。そこで、
本画像合成装置では、グーローシェーディングと呼ばれ
る手法によりこれを回避している。この手法では、前記
したテクスチャマッピング手法と同様に、3次元ポリゴ
ンの各頂点に図27に示すように各頂点の輝度情報VBRI0
〜VBRI3を与えておき、画像形成部28で最終的に画像表
示する際に、この各頂点の輝度情報VBRI0〜VBRI3より3
次元ポリゴン内の全てのドットについての輝度情報を補
間により求めている。この手法により、図2に示すよう
に、ポリゴンの多面体で表現された3次元オブジェクト
Kを、境界における「丸み」が表現された3次元オブジ
ェクトLとして画像合成することができる。
以上の手法によれば、前記した「丸み」の問題を解決
できると同時に、画像合成装置内で必要とされる演算処
理量を減らすことができる。従って、リアルタイムに高
品質な画像処理を行う画像合成装置に最適な構成とな
る。
(2)画像供給部 画像供給部10では、以下の処理が行われる。即ち、ま
ず処理部15は、ゲーム空間に配置すべき3次元オブジェ
クトの画像情報を3次元画像情報記憶部16より読み出
す。次に、処理部15は、この3次元オブジェクトの画像
情報に位置・方向情報を含ませて座標変換部18に出力す
る。その後、座標変換部18において絶対座標系から視点
座標系へと座標変換が行われる。次にクリッピング処理
部19、透視変換部20、ソーティング処理部22において、
それぞれクリッピング処理、透視変換、ソーティング処
理が行われる。そして、処理が終了したポリゴンの頂点
画像情報は、画像形成部28へと出力される。
さて、ソーティング処理部22では、ポリゴンの頂点画
像情報の出力順序を、所定の優先順位にしたがって並び
換える演算処理が行われている。具体的には、ソーティ
ング処理部22では、表示画面に対してより手前にあるポ
リゴンの頂点画像情報から順に出力されることになる。
従って、画像形成部28での演算処理は、より手前にある
ポリゴンから順に行われることとなる。
(3)画像形成部 画像形成部28は、ソーティング処理部22から所定の順
序にしたがって入力されたポリゴンの頂点画像情報か
ら、3次元ポリゴン内部の全ドットの画像情報を演算す
る機能を有する。以下、画像形成部28の動作の概略につ
いて説明する。
まず、ソーティング処理部22から、ポリゴンの頂点画
像情報、即ち、ポリゴンの各頂点の表示座標、テクスチ
ャ座標、輝度情報等がプロセッサ部30に順次入力され
る。また、ポリゴン内の全てのデータに共通のデータ
は、アトリビュートデータとしてアトリビュートRAM部3
8に入力される。
プロセッサ部30では、この各頂点の表示座標、テクス
チャ座標、輝度情報等から、ポリゴン内の全てのドット
の表示座標、テクスチャ座標TX、TY、輝度情報BRIが
求められる。そして、この求められたテクスチャ座標T
X、TY、輝度情報BRIは前記した表示座標をアドレスと
してフィールドバッファ部40に書き込まれる。
なお、メインプロセッサ32には、処理ドット指示部37
及び終了フラッグ記憶部36が接続されている。この処理
ドット指示部37及び終了フラッグ記憶部36は、既に演算
処理が終了して塗りつぶしてしまったドットの演算処理
を省略するために用いられるものである。これにより、
その後の演算処理の負担を非常に軽減することが可能と
なる。
画像表示する際には、このフィールドバッファ部40か
らテクスチャ座標TX、TYが読み出され、これをアドレ
スとしてテクスチャ記憶部42からテクスチャ情報が読み
出される。そして、この情報とアトリビュートRAM部38
からのアトリビュートデータとから、パレット&ミキサ
回路44にてRGBデータが形成され、CRT46を介して画像出
力されることになる。
図3には、本実施例の画像合成装置の動作を示すフロ
ーチャートが示される。また、図4(A)〜(K)に
は、このフローチャートのフロー1100,1200及び1300で
実行される演算手法が視覚的に示されている。
実施例の画像合成装置では、画像供給部10及びソーテ
ィング処理部22において、図3に示すフロー1000に示す
動作が実行される。そして、ソーティング処理部22から
は、各ポリゴン毎にポリゴンデータが出力される。この
とき、各ポリゴンには予め優先順位が与えられており、
ソーティング処理部22からは、優先順位にしたがって、
各ポリゴンのデータが出力される。このとき出力される
各ポリゴンのポリゴンデータは、各ポリゴンの各頂点の
透視変換表示座標、各頂点のテクスチャ座標を含む。
このときソーティング処理部22から出力される各ポリ
ゴンの各頂点の透視変換表示座標VX,VYはメインプ
ロセッサ32へ入力され、ここでフロー1100に従った演算
が実行される。即ち、左右輪郭点が演算され、左右輪郭
点に囲まれた走査線上における各ドットの透視変換表示
座標X、Yが演算され、ポリゴンを構成する全ての
ドットについての演算が終了するまで上記演算が繰り返
される。そして、このようにして演算された各ドットの
透視変換表示座標X,Yは、フィールドバッファ部40
への書き込みアドレスとして出力される。そして、この
書き込みアドレスで指定されたフィールドバッファ部40
内には、ポリゴン識別番号PNがそのデータの1つとして
書き込まれる。
また、このフロー1100に示す動作と並行して、コプロ
セッサ34により、フロー1200,1300に示す動作が実行さ
れる。
すなわち、ソーティング処理部22からポリゴンの各頂
点のテクスチャ座標VT X,VT Yと、各頂点の透視変換表
示座標VZと後述する各頂点の輝度情報とが入力され
る。
そして、コプロセッサ34では、フロー1200に従って、
各頂点のテクスチャ座標VT X、VT Yから各頂点の透視変
換テクスチャ座標VT X,VT Yが求められる。次に、
このVT X,VT Yから左右輪郭点が演算され、この左
右輪郭点に挾まれる走査線上の各ドット毎の透視変換テ
クスチャ座標TX,TYが演算され、ポリゴンを構成す
る全てのドットについての演算が終了するまで上記演算
が繰り返される。
このような演算と並行して、コプロセッサ34では、フ
ロー1300の演算動作が行われ、ポリゴンの透視変換表示
座標Zの演算が対応する各ドット毎に行われる。
そして、フロー1200のステップ34において、各ドット
毎に求めた透視変換テクスチャ座標TX,TYを、透視
変換表示座標Zを用い、逆透視変換し、テクスチャ座
標TX,TYとして出力する。この様に出力されたテクスチ
ャ座標TX,TYは、前記フロー1100のステップ23で出力さ
れるフィールドバッファ部40の書き込みアドレス位置へ
書き込まれることになる。
このようにして、フィールドバッファ部40には、フロ
ー1100で指定されたアドレス位置、すなわちポリゴンを
構成する各ドットのアドレス位置に、当該アドレスに対
応したテクスチャ座標TX,TYとポリゴン識別番号PNが書
き込まれることになる。
また、このような書き込み動作と並行して、フロー15
00の動作に従い、アトリビュートRAM部38にはソーティ
ング処理部22から出力される各ポリゴンのアトリビュー
トデータが順次記憶される。
このような一連の動作を、ソーティング処理部22から
各ポリゴンのポリゴンデータが出力される毎に繰り返し
て行い、フィールドバッファ部40及びアトリビュートRA
M部38へのデータの書き込みが繰り返して行われる。
このようにして、一画面分のデータの書き込みが終了
すると、次にフィールドバッファ部40,アトリビュートR
AM部38からのデータの読み出しが開始される。但し、本
実施例においては、フィールドバッファ部40及びアトリ
ビュートRAM部38における画像情報の記憶空間は、2画
面分を記憶できるように構成されている。従って、実際
には、この書き込みと読み出しは同時に行われており、
これにより、演算処理時間の効率化が図られている。
まず、フィールドバッファ部40からは、例えばディス
プレイの水平走査に同期して、各ドット毎に書き込まれ
たテクスチャ座標TX,TYが読出しアドレスとしてテクス
チャ情報記憶部42へ向け出力される。そして、これと共
に、ポリゴン識別番号PNが読出しアドレスとして、アト
リビュートRAM部38へ向け出力される。
これにより、テクスチャ情報記憶部42からは、当該ア
ドレスに指定されていカラーコードがパレット&ミキサ
回路44へ向け出力され、さらにアトリビュートRAM部38
からは、ポリゴン識別番号PNに対応したアトリビュート
データがパレット&ミキサ回路44に向け出力される。こ
れにより、パレット&ミキサ回路44では、カラー情報、
例えばRGB出力がCRT46へ出力され、所望の疑似3次元画
像が合成表示されることになる。
図4には、画像形成部28において行われる演算処理の
概要が視覚的に示されている。既に述べたように、画像
形成部28では、ポリゴンの頂点画像情報に基づいて、ポ
リゴン内の全ての画像情報を形成する演算処理が行われ
る。この場合、ポリゴンにはり付けるべきテクスチャ情
報は、テクスチャ情報記憶部42に記憶されており、この
テクスチャ情報を読み出すために、テクスチャ座標TX,
TYが必要となる。そして、図4(F)、(G)、
(H)、(I)には、ポリゴン内の全ての透視変換テク
スチャ座標TX,TYを求める演算処理の様子が視覚的
に示されている。この演算処理はコプロセッサ34におい
て行われる。また、図4(B)、(C)、(D)、
(E)には、テクスチャ情報を表示すべき座標である透
視変換表示座標X、Yを求める演算処理の様子が視
覚的に示されている。この演算処理は、メインプロセッ
サ32において行われる。そして、図4(J)に示すよう
に、演算されれた透視変換テクスチャ座標TX,TY
テクスチャ座標TX,TYに逆透視変換され、この逆透視変
換されたテクスチャ座標TX,TYにより、テクスチャ情報
記憶部42からテクスチャ情報が読み出される。最後に、
図4(K)に示すように、演算されたX、Yの座標
位置に、読み出されたテクスチャ情報を対応づけること
で、画像合成が行われることになる。以下に、図4
(A)〜(K)のそれぞれのステップで行われる演算処
理の概要について説明する。
図4(A)において、多面体48の頂点例えばA、B、
C、Dに対して、テクスチャ座標VTa、VTb、VTc、VTdが
対応づけられている。この頂点テクスチャ座標VTa〜VTd
は、頂点A〜Dにより形成されるポリゴンにはり付ける
テクスチャ情報のアドレスを指定するものである。即
ち、具体的にいえば、テクスチャ情報記憶部42内の記憶
手段に記憶されているテクスチャ情報を読み出すための
アドレスを指定するテクスチャ座標である。
図4(B)、(F)において、この各頂点の表示座標
A〜D、テクスチャ座標VTa〜VTdは、各頂点の透視変換
座標A〜D、透視変換テクスチャ座標VTa〜VTd
に透視変換される。これにより、XY座標系のみならず、
Tx、TY座標系も透視変換されることとなり、各座標系
間の線形性が保たれることとなる。
次に、図4(C)、(G)に示すように、各頂点の透
視変換座標A〜D、及び、透視変換テクスチャ座標
VTa〜VTdにより形成されるポリゴンの輪郭点が線形
補間演算される。即ち、図4(D)、(H)における左
右輪郭点座標L、R、及び、左右輪郭点テクスチャ
座標Tl、Trの線形補間演算が行われる。
次に、図4(D)、(H)に示すように、前記左右輪
郭点座標L、R、及び左右輪郭点テクスチャ座標Tl
、Trにより、これらの左右輪郭点を結ぶ走査線上の
各ドットの座標が線形補間演算される。
上記した、図4(C)、(G)及び(D)、(H)の
演算処理は順次繰り返され、最終的には、図4(E)、
(I)に示すように、ポリゴンを構成する全てのドット
の透視変換表示座標X、Y及び透視変換テクスチャ
座標Tx、TYの線形補間演算が行われる。
次に、図4(J)に示すように、透視変換テクスチャ
座標TX、TYを、テクスチャ座標TX、TYに逆透視
変換し、このテクスチャ座標TX、TYを用いて、前記し
たテクスチャ情報記憶部42からカラーコードが読み出さ
れる。
以上のようにして、読み出されたカラーコードを、透
視変換表示座標X、Yに対応させる。これにより、
図4(K)に示すように、スクリーン上に画像が合成さ
れ、遠近感、直線性が損なわれないテクスチャマッピン
グが可能となる。
図5には、このようにして合成された疑似3次元画像
の一例が示される。図5に示すように例えば家594、遠
くに見える道592、煉瓦道597等において所望のテクスチ
ャマッピングが行われている。これにより、ポリゴンの
表面を単一色で塗りつぶす場合に比べて、非常にリアリ
ティ溢れる画像表示が可能となっている。また、図5に
示すように煉瓦道597において、はり付けられたテクス
チャの遠近感、直線性が損なわれていない。このように
本実施例の画像合成装置によれば、非常に高品質でリア
リティ溢れる疑似3次元画像の合成が可能となる。
なお、図4には、透視変換表示座標Z及び輝度情報
BRIの演算方法については示されていないが、両者の演
算は、図4におけるTX、TYの演算方法とほぼ同様な演
算方法により行われる。このように、輝度情報の補間演
算についても、TX、TYと同様の方法により行うことに
より、前述したように、これらの座標系間の関係を線形
に保つことができ、よりリアリティ溢れる画像を合成す
ることが可能となる。
(4)フィールドバッファ部 図6には、ソーティング処理部22、プロセッサ部30、
アトリビュートRAM部38、フィールドバッファ部40、テ
クスチャ情報記憶部42を含んで構成される本実施例の具
体的な構成が示される。
なお、図6及び後に説明する図7、図12においては、
説明を簡単にするために補間回路180〜186を省略してい
る。
フィールドバッファ部40は、図6に示すように、ビデ
オRAM100、102、104、106と、これらのビデオRAMをコン
トロールするフィールドバッファコントローラ90、92、
94、96を含む。
この、ビデオRAM100〜106により構成されるフィール
ドバッファ空間には、CRTの表示スクリーンの各ドット
に1対1に対応するデータが格納される。本実施例にお
いて、このフィールドバッファ空間に格納されるデータ
は、コプロセッサ34で演算されたテクスチャ座標TX、
TY、輝度情報BRI及びポリゴン識別番号PNであり、書き
込むべきアドレスは、メインプロセッサ32で演算された
表示座標X、Yにより決定される。
なお、ビデオRAMは、マルチポートRAM構成となってお
り、ランダムポート(RAM)、シリアルポート(SAM)に
分かれている。本実施例では、フィールドバッファ空間
へのデータの書き込みは、ランダムアクセスにより行わ
れ、読み出しはドットクロックに同期してシリアルに行
われる。また、フィールドバッファ空間は、書き込み用
のバンク及び読みだし用のバンクの2つのバンクに分割
され、1フィールド(1/60秒)毎に、バンクの切り替え
を行っている。
図7には、このフィールドバッファ部40の周辺回路及
び周辺回路との接続の詳細が示され、図8には、フィー
ルドバッファ部40を構成するフィールドバッファコント
ローラ90〜96の内部回路の一例が示される。また、図9
には、フィールドバッファ部40に対する、データの書き
込みシーケンスが示される。
図7に示されるようにフィールドバッファ部40には、
以下の信号が入力される。即ち、制御回路70からは、透
視変換表示座標X、YがアドレスAI0〜9として、
また、XPFIR、XVW、XHWがフィールドバッファコントロ
ーラ90〜96の制御信号として入力される。また、除算器
82〜86からは、テクスチャ座標TX、TY及びBRIが、フ
ィールドバッファコントローラ92〜96のそれぞれの入力
データDI0〜11として、入力される。この他、フィール
ドバッファ部40には、プログラムレジスタのプログラム
信号、クロック、同期信号等が入力される。
また、図7に示されるように、フィールドバッファ部
40からは、以下の信号が出力される。即ち、制御回路70
等で構成されるプロセッサ部30に対しては、データ書き
込みの禁止を指令するXWAIT信号が出力される。また、
テクスチャ情報記憶部42には、読み込みデータであるテ
クスチャ座標TX、TYが出力される。また、アトリビュ
ートRAM部38には、ポリゴン識別番号PNが、パレット&
ミキサ回路44には、輝度情報BRIが出力される。
フィールドバッファコントローラ90〜96の内部回路
は、図8に示す構成となっている。
ここで、本実施例におけるフィールドバッファコント
ローラは、マスターモード、スレーブモード、拡張モー
ドの3つのモードを備えており、本実施例では、ポリゴ
ン識別番号PNを取り扱うフィールドバッファコントロー
ラ90をマスターモードにて、テクスチャ座標TX、TYを
取り扱うフィールドバッファコントローラ92〜94をスレ
ーブモードにて、輝度情報BRIを取り扱うフィールドバ
ッファコントローラ96を拡張モードとして使用してい
る。これにより、スレーブ・拡張モードで使用されるフ
ィールドバッファコントローラ92〜96は、マスターモー
ドで使用されるフィールドバッファコントローラ90の支
配の下に同期して制御され、大きなフィールドバッファ
空間を同じ回路構成のフィールドバッファコントローラ
90〜96により同時に制御することが可能となる。この場
合、図8に示すように、マスター、スレーブ、拡張の切
り替えは、XMASTER信号を用いてセレクタ116により行わ
れる。即ち、マスターモードの時は、PNカウンタ118に
より発生されるポリゴン識別番号PNが、セレクタ116に
よりセレクトされ、データQueue124に入力される。逆
に、スレーブ・拡張モードの時は、DI0〜11がセレクト
され、データQueue124に入力される。
フィールドバッファコントローラ90〜96に入力された
クロック信号及び外部同期信号は、内部クロック&同期
信号発生回路134に入力され、この回路において内部ク
ロック及び一群の同期信号が発生され、フィールドバッ
ファコントローラ90〜96内の制御信号として用いられ
る。また、プログラム信号は、プログラマブルレジスタ
132に入力され、これにより、コントローラ内の内部パ
ラメータ郡が決定される。
アドレス信号AI0〜9、入力データDI0〜11、制御信号
XPFIR、XVW、XHWは、ラッチ110、112、114により一時ラ
ッチされる。
XPFIRは、PNカウンタ118をカウントアップするために
用いられ、このPNカウンタ118のカウントアップ値によ
り、ポリゴンの識別番号PNが決定される。即ち、XPFIR
は、図9に示すように、新たなポリゴンの処理を開始す
る毎にXPFIR=Lとなるように、メインプロセッサ32の
制御回路70より出力され、XPFIR=LとなるとPNカウン
タ118がカウントアップする。そして、次のフィールド
の処理が開始される前に、PNカウンタ118はリセットさ
れる。これにより、ポリゴンの優先順位が高い順に、
0、1、2、3、4……というようにポリゴン識別番号
PNが、各ポリゴンに設定されることになる。
このように本実施例においては、外部からポリゴン識
別番号PNが入力しなくても、内部において、即ちフィー
ルドバッファコントローラ90において、ポリゴン識別番
号PNを発生させることができる。そして、このポリゴン
識別番号PNを利用することにより、ポリゴンを画像上に
表示するデータのうち、ポリゴンを構成する各ドットに
共通のデータと、共通でないデータを分けて処理するこ
とが可能となり、ハードウェアの高速化、小規模化を図
ることが可能となる。
アドレス信号AI0〜9、入力データDI0〜11は、8段FI
FO120の座標Queue122及びデータQueue124に一旦蓄積さ
れ、その後ビデオRAMに格納される。この場合、アドレ
ス信号AI0〜9を、Xアドレスとして認識するかYアド
レスとして認識するかは、Queueコントローラ126に入力
された制御信号XVW及びXHWにより選択される。即ち、図
9に示すように、XVW=L、XHW=Hの時は、AI0〜9
は、Yアドレスとして認識され、XVW=H、XHW=Lの時
は、AI0〜9は、Xアドレスとして認識される。更に、X
VW、XHWは、入力データDI0〜11が有効なデータであるか
どうかの識別信号ともなっている。
シーケンサ130は、8段FIFO120の蓄積されているデー
タをモニターしており、これにより、外部に対してはXW
AIT信号を、8段FIFO120に対しては、読み出し制御信号
を出力して、データ制御を行っている。また、ビデオRA
Mを制御するためのシーケンス信号も、このシーケンス1
30により生成されている。
8段FIFO120に蓄えられたX、YデータはRAMアドレス
発生回路136へTx、TY、BRIデータはレジスタ138へ、そ
れぞれ、ディレイ回路128を介して出力される。そし
て、レジスタ138に蓄えられたデータは、RAMアドレス発
生回路136より発生されたRAMアドレスにしたがって、ビ
デオRAMに書き込まれることとなる。このように8段FIF
O120を設けることにより、前段のプロセッサ部30等の演
算処理を中断させることなくビデオRAM100〜106へのデ
ータの書き込みが可能となる。これにより処理の効率を
高めることができる。もし、プロセッサ部30のデータ出
力の速度の変動が大きい場合は、このFIFOの段数を更に
増やせばよいことになる。
また、シーケンサ130からのシーケンス信号も、ディ
レイ回路128を介してRAM制御信号発生回路140及びSAM制
御回路142に出力され、それぞれの回路にて書き込み用
ポートであるRAMの制御信号及び読み込み用ポートであ
るSAMの制御信号が発生されることとなる。
端子146は、入出力切り替え可能な双方向データバス
となっている。そして、シリアルポートSAMの初期化を
行う際には、出力端子に切り替わりSAMクリアコード発
生回路144にて発生されたクリアコードが出力され、メ
モリの初期化が行われる。また、SAMよりデータを読み
込む際には、入力端子に切り替わりSAMに記憶されてい
るデータが入力される。この入力されたデータは、シリ
アル出力D0〜11としてフィールドバッファコントローラ
90〜96から出力されることとなる。即ち、フィールドバ
ッファコントローラ90の出力であるポリゴン識別番号PN
はアトリビュートRAM部38へ、フィールドバッファコン
トローラ92、94の出力であるテクスチャ情報TX、TYは
テクスチャ情報記憶部42へ、フィールドバッファコント
ローラ96の出力である輝度情報BRIはディレイ回路168を
介してパレット&ミキサ回路44へと、それぞれ出力され
ることとなる。
図9には、フィールドバッファ部40に対するデータの
書き込みシーケンスが示される。図9に示されるよう
に、画像データは、XPFIR=Lとなる毎にポリゴン毎に
書き込まれる。また、1枚のポリゴンのデータが1ライ
ンずつ組にして書き込まれるように、アドレスAI0〜9
が、XVW信号及びXHW信号を用いて制御されている。
(5)アトリビュートRAM部 アトリビュートRAM部38は、図6に示すように、アト
リビュートRAM部152及びアトリビュートデータ制御部15
0を有する。
ソーティング処理部22より入力されたパレットナンバ
ーPAL、カラーZ値CZ、ブロック番号BN等のアトリビュ
ートデータは、アトリビュートデータ制御部150に入力
される。ここでパレットナンバーPALは、パレットテー
ブルを指定するためのナンバーであり、カラーZ値CZ
は、奥行き変化による色変化に対応するために用いられ
るものである。またブロック番号BNは、テクスチャ情報
記憶部42内の記憶空間のブロック指定を行うための信号
である。これらのアトリビュートデータはアトリビュー
トデータ制御部150により、アトリビュートRAM152に格
納される。そしてアトリビュートRAM152からの読み込み
は、フィールドバッファ部40から入力されるポリゴン識
別番号PNにしたがって行われ、パレット&ミキサ回路44
にポリゴン毎のデータとして出力されることとなる。
テクスチャ情報記憶部42内の記憶空間のブロック指定
を行うためのブロック番号BNも、このアトリビュート制
御回路150より発生されテクスチャ記憶部42に出力され
る。
(6)テクスチャ情報記憶部(レンダリング情報記憶
部) テクスチャ情報記憶部42は、図6に示すように、キャ
ラクタコード記憶部160及びキャラクタジェネレータ164
を含む。このテクスチャ情報記憶部42には、フィールド
バッファ部40からのテクスチャ座標Tx、TYにより実際
の画面を表示するための例えばカラーコードが記憶され
ており、記憶部のスピードを補うために2段構成となっ
ている。これらの記憶部を構成するものとしては、例え
ばマスクROM、EEPROM、SRAM、DRAM等を用いることがで
きる。特に、RAMを用いて、このRAMに記憶される内容を
例えば1フィールド(1/60秒)毎に書き換えれば、自身
の画像をフィードバックしてまたテクスチャにモニター
する等特有の画像効果を得ることが可能となる。
図10には、このテクスチャ情報記憶部42により構成さ
れるテクスチャ記憶平面の一例が示される。
このテクスチャ記憶平面は、例えば図10に示すような
階層構造となっており、これにより、少ない容量の記憶
部により広いテクスチャ記憶平面を表現することができ
る。即ち、テクスチャ記憶平面は例えば16のブロックに
分割され、各ブロックは、256×256のキャラクタに分割
されている。そして、このキャラクタは16×16のドット
に分割され、各キャラクタには、テクスチャ記憶平面を
構成するための絵柄が記憶されている。そして、この絵
柄を用いてテクスチャ記憶平面が全て埋められることと
なる。
図10に示すように、ポリゴンへのテクスチャリング
は、ポリゴンにはり付けたいテクスチャの各頂点座標を
指定することにより行われる。但し、ブロック間にまた
がるポリゴンの指定をすることはできない。
図11には、テクスチャ情報記憶部42におけるデータの
流れの一例が示される。
本実施例において、テクスチャ情報記憶部42には、そ
れぞれ12ビットのテクスチャX座標TX0〜TX11及び16
ビットのテクスチャY座標TY0〜TY15が、計28ビット
のデータとして入力される。
ここでテクスチャ座標の下位ビットTX0〜TX3及びT
Y0〜TY3は、キャラクタジェネレータ164におけるキャ
ラクタのアドレスを指定するために使用され、テクスチ
ャY座標の上位ビットTY12〜TY15は、テクスチャ記憶
平面でのブロック番号BNを指定するために使用されてい
る。即ち、上位ビットTY12〜TY15によりテクスチャ記
憶平面のブロックが指定され、TX4〜TX11及びTY4〜
TY11によりブロック内のキャラクタのアドレスが指定
される。これにより、キャラクタコードCC0〜CC12がキ
ャラクタコード記憶部160から読み出されることとな
る。一方、下位ビットTX0〜TX3及びTY0〜TY3は、キ
ャラクタ記憶部160をバイパスし、前記キャラクタコー
ドCC0〜CC12と結合して、キャラクタジェネレータ164に
入力される。そして、キャラクタジェネレータ164から
は、最終的な出力である例えば8ビットのカラーコード
が、パレット&ミキサ回路44に出力されることとなる。
(7)パレット&ミキサ回路 パレット&ミキサ回路44は、輝度情報BRI、カラーデ
ータCOL、パレットナンバーPAL及びカラーZ値CZより画
像出力を行うためのRGBデータを合成するための回路で
ある。
画像出力は、フィールドバッファ部40に記憶されるド
ット毎のデータと、アトリビュートRAM部38に記憶され
るポリゴン毎のデータにより、予め設定されているパレ
ットよりRGBデータを引き出すことによって合成され
る。パレットにはRGB各8ビットで、計24ビットの色デ
ータが格納されている。そして、パレットは全部で128
バンクに分割されており、このバンク指定はパレットナ
ンバーPALにより行われる。また、1バンクは、256色の
データを持ち、このバンク内での色指定は、カラーコー
ドCOLにより行われることとなる。
図12には、フィールドバッファ部40及びアトリビュー
トRAM部38へのデータ書き込み後、画像出力するまでの
信号の流れが示されている。即ち、以下のような信号の
流れにしたがって、最終的な画像が出力される。
フィールドバッファ部40から1ドット毎のデータ(P
N、TX、TY、BRI)が出力される。
アトリビュートデータRAM部38から、前記ポリゴン識
別番号PNに対応したポリゴンのデータ(BN、PAL、CZ)
が出力される。
TX、TY、BNがテクスチャ情報記憶部42に入力され、
対応したカラーデータCOLが出力される。この場合、ア
トリビュートRAM部38を経由するBNとタイミングを合わ
せるため、TX、TYはディレイ回路168を介してテクス
チャ情報記憶部42に入力される。
COL、PAL、BRI、CZは、ディレイ回路170、172、174に
よりタイミング合わせが行われ、同時にパレット&ミキ
サ回路44に入力される。そして、PAL、COLよりパレット
のバンクとバンク内のカラーコードが指定され、パレッ
トから1つの色データが選択される。この選択された色
データは、BRI、CZの値により色演算される。その後、
ガンマ補正を経て、D/A変換され、RGBデータとしてパレ
ット&ミキサ回路44から出力され、CRT46へ画像入力さ
れることとなる。
(8)間引き・補間処理 (A)概要 以上のように、本実施例では、フィールドバッファ部
40にはカラー情報自体ではなく、テクスチャ座標が記憶
される。このようにフィールドバッファ部40にテクスチ
ャ座標が記憶されることにより、以下に述べる間引き・
補間手法を用いた画像合成が可能となり、これによりハ
ードウェアの高速化、小規模化を図ることが可能とな
る。
テクスチャ座標等に対する間引き演算は、プロセッサ
部30において行われる。また、図1に示すようにフィー
ルドバッファ部40の出力には、補間回路180、182、18
4、186が設けられている。そして、この補間回路180〜1
86により、補間演算を行い、間引かれた点のテクスチャ
座標等を求め、テクスチャ情報記憶部42からテクスチャ
情報を読み出す。この場合、スクリーン上でのテクスチ
ャ座標は非線形なデータであるが、微小部分ではこのよ
うに線形に補間しても、画質はほとんど悪化させること
がなく、良質な画像を得ることが可能となる。
このように本画像合成装置では、画質を良好なものに
保ちつつ、1つのデータを間引く毎に、最もデータ量の
多い演算の回数を1/2以下にすることができ、ハードウ
ェアの高速化、小規模化を図ることが可能となる。な
お、図13には、間引き・補間処理を行わない場合の画像
合成装置のブロック図が示される。図1と図13を比較す
ればわかるように、本実施例では、補間回路180〜186を
付加する等の非常に簡易な手法で、間引き・補間処理が
可能となる。
次に、間引き・補間演算を行う場合の本実施例の概要
を説明する。
図1に示す画像合成装置において、間引き演算手段
は、プロセッサ部30に含まれている。具体的には、プロ
セッサ部30における走査線上の各ドットの演算を行う際
に、間引いて演算することによりこれを実現している。
この間引き演算動作は、図14に示すように例えば以下の
ルールにしたがって行われる。
まず、データの間引きは、水平方向(X方向)に例え
ば1ドット毎に(例えばXが偶数のドットを)間引き処
理する。但し、以下のドットに対しては間引き処理を行
わない。
ポリゴンの輪郭のドット 他のポリゴンとの境界線のドット 画面左右点のドット 以上のルールに従って、間引かれたフィールドバッフ
ァ上のデータノイメージが図14に示される。同図に示す
ように、上記〜に該当するドットについては、間引
き処理が行われず、それ以外のドットは、1ドット毎に
間引かれている。
なお、ここで空きドットとは、上記ルールに従って、
間引かれたドット及び、ポリゴンの描かれないところ即
ち背景になる部分をいい、例えばTX=TY=FFFhに設定
されている。フィールドバッファは、1画面分のデータ
の書き込み開始時に、全ドットがクリア(全ビット1)
され、前記したFFFhの値が全ドットに設定されることと
なる。
次に補間演算手段について説明する。本実施例におけ
る補間演算手段は、図1に示すように、フィールドバッ
ファ部40の出力に補間回路180、182、184、186を接続す
ることにより実現される。ここで、補間回路180はポリ
ゴン識別番号PNの補間を行うものであり、補間回路18
2、184はテクスチャ座標TX、TYの補間を行うものであ
る。また、補間回路186は輝度情報BRIの補間を行うもの
である。具体的には、これらの補間回路180〜186による
補間動作は、図15に示すように例えば以下のようなルー
ルにしたがって行われる。
即ち、補間処理は次の様なドットに対して行われる。
空きドット、即ちTX=TY=FFFhであり、かつ、 右隣と左隣のドットのポリゴン識別番号が同じであ
り、且つ、右隣と左隣のドットが空きドットでない。
そして、補間処理は上記のような空きドットに対して
以下のような処理を施すことにより行われる。
ポリゴン識別番号PNを両隣のドットのPNと同じ値にす
る。
テクスチャ座標TX、TY及び輝度情報BRIは両隣のド
ットのTX、TY及びBRIの平均値に設定する。
図15には、上記ルールに従って補間処理を行った場合
の一例が示される。図15に示すように、補間処理は、ポ
リゴン識別番号PNが同じであるドットに囲まれた空きド
ットに対して行われる。即ち、図15においては、空きド
ットであり両隣のドットのポリゴン識別番号PNがともに
“0"であるドットに対して補間処理が行われる。これに
対して、空きドットであっても両隣のドットのポリゴン
識別番号PNが異なるドットに対しては補間処理は行われ
ない。このようなドットは間引かれたドットではなく、
ポリゴン間の隙間と判定されるからである。
補間処理を行うべきドットに対しては、図15に示すよ
うに次のような補間処理が行われる。まず、補間回路18
0において、両隣のドットのポリゴン識別番号PNと同じ
値が、空きドットのポリゴン識別番号として設定され
る。即ち、この例ではPN=0に設定される。
また、補間回路182、184において、両隣のドットのテ
クスチャ座標TX、TYの例えば平均値が求められ、この
値が空きドットのテクスチャ座標TX、TYとして設定さ
れる。この例では、TX=150、TY=30の値が設定され
ることとなる。
同様にして、補間回路186にて、両隣のドットの輝度
情報BRIの例えば平均値が求められ、この値が空きドッ
トの輝度情報BRIとして設定される。この例では、BRI=
48の値が設定されることとなる。
次に、間引き・補間演算を行う場合の本実施例の具体
的な構成・動作について詳述する。
(B)間引き演算手段の具体例 本実施例における間引き処理は、図4(D)、(H)
に示される走査線上の各ドットの演算を行う際に行われ
る。そして、これは走査線上の各ドットの演算を行う際
のX*座標のカウントアップ値を変化させることにより
行われる。例えば、間引き率を1/2とする場合には、こ
のカウントアップ値を2とする。また、間引き率を1/3
とする場合には、このカウントアップ値を3とすればよ
い。これにより、走査線上のドットの演算が2ドット
毎、3ドット毎に行われることとなり、間引き演算処理
が可能となる。
なお、本実施例では、走査線上の各ドットの演算を行
う際に、間引きを行っているが、本発明はこれに限られ
るものではない。例えば、この間引き処理を図4
(C)、(G)に示される輪郭点を演算する際に行って
もよい。この場合は、輪郭点を演算する際のY*座標の
カウントアップ値を変化させることで、この間引き率を
変更することができることとなる。
(C)補間演算手段の具体例 既に述べたように、本実施例における補間演算手段
は、フィールドバッファ部40の出力に補間回路180〜186
を設けることにより構成される。図16には、この場合の
ビデオRAM100〜106、フィールドバッファコントローラ9
0〜96、補間回路180〜186の間の接続関係が示される。
また、図17には、PN用のフィールドバッファコントロー
ラ90とPN用の補間回路180の接続関係について示される
(TX用、TY用、BRI用のフィールドバッファコントロ
ーラ92、94、96と補間回路182、184、186との接続関係
も同様の関係になる)。更に、図18には、補間回路180
〜186の内部回路の一例が示される。
図16に示すように、本実施例では、ビデオRAM100〜10
6への書き込み動作は、フィールドバッファコントロー
ラ90〜96により、所定のアドレス信号に基づいてデータ
をランダムに書き込むことにより行われる。一方、ビデ
オRAM100〜106からのデータの読み出し動作は、DS0〜11
端子を介して、ドットクロックに同期してデータをシリ
アルに読み出すことにより行われる。この場合、フィー
ルドバッファコントローラ90の双方向のバッファDS0〜1
1から入力されたデータは、図17に示すように、DO0〜11
出力を介して補間回路180にシリアルに出力される。同
様に、フィールドバッファコントローラ92〜96のDO0〜1
1出力からは、補間回路182〜186に対してデータがシリ
アルに出力されることになる。この場合、補間回路180
〜186は、図18に示すような同じ構成の回路により形成
されている。そして、それぞれの補間回路180〜186間の
制御は、XNULB端子、XNULI端子、XEQ端子により行われ
ることになる。
図18に示す補間回路180〜186の内容回路において、レ
ジスタ192〜214はデータの保持・シフト機能を有する。
また、論理回路220、222、224、226、228はインバー
タ、NOR等の論理演算を行う機能を有する。空きドット
判定回路230は、処理の対象となるドットが空きドット
か否かを判定する回路である。また、ポリゴンナンバ一
致判定回路232は、処理の対象となるドットの両隣のド
ットのポリゴン識別番号PNが一致するか否かを判定する
回路である。また、平均値演算回路234は、補間処理を
行う際に、両隣のドットのテクスチャ座標TX、TY及び
輝度情報BRIの平均値を求めるための回路である。ま
た、マルチプレクサ236は、補間処理を行ったデータを
出力するか、もとのデータを出力するかを選択するため
の回路である。
さて、既に述べたように、本実施例では、ポリゴン識
別番号PNを取り扱うフィールドバッファコントローラ90
はマスターモードにて、テクスチャ座標TX、TYデータ
を取り扱うフィールドバッファコントローラ92、94はス
レーブモードにて、輝度情報BRIを取り扱うフィールド
バッファコントローラ96は拡張モードにて使用されてい
る。そして、補間回路180〜186の双方向バッファである
XNULB、XEQ端子は、それぞれのモードにしたがって、図
16に示すように出力端子あるいは入力端子となる。具体
的には、補間回路180(マスターモード)のXNULB端子は
入力端子に、XEQ端子は出力端子となる。また、補間回
路182、184(スレーブモード)のXNULB端子は出力端子
に、XEQ端子は入力端子になる。また、補間回路186(拡
張モード)のXNULB端子、XEQ端子は共に入力端子とな
る。なお、LNULI端子は全ての補間回路180〜186におい
て入力端子となっている。
ところで、図15に示したように補間処理を行うために
は、補間を行うドットの前後のドットのPN、TX、TY、
BRIの値を参照する必要がある。従って、補間回路180〜
186の間でコミニュケーションを行うための信号が必要
であり、補間制御信号XNULB、XNULI、XEQがその役目を
果たすことになる。
ここで、図18に示すようにXNULB端子216は双方向バッ
ファとなっている。そして、スレーブモードの補間回路
182からは、処理の対象となるドットのTXの値がFFFHか
否かを示す信号XULB信号として出力される(以下、この
信号をXNULB(X)信号と呼ぶ)。同様に補間回路184か
らも、TYの値がFFFHか否かを示す信号がXNUB信号とし
て出力される(以下、この信号をXNULB(Y)信号と呼
ぶ)。TXあるいはTYの値がFFFHか否かは、空きドット
判定回路230により判定される。そして、TX=FFFHの場
合にはXNULB(X)信号が“0"となり、TY=FFFHの場合
はXNULB(Y)信号が“0"となる。XNULB(X)信号、XN
ULB(Y)信号がともに“0"の場合に、そのドットは空
きドットであるということになる。
図16に示すように、補間回路182の出力信号であるXNL
EB(X)信号は、補間回路180のXNULB端子、補間回路18
4、186のXNULI端子に入力される。同様に、補間回路184
の出力信号であるXNULB(Y)信号は、補間回路180、18
2のXNULI端子、補間回路186のXNULB端子に入力される。
従って、図18に示す補間回路180〜186内の論理回路228
には、XNULB端子、XNULI端子を介して、XNULB(X)信
号及びXNULB(Y)信号が入力されることになる。この
結果、XNULB(X)信号、XNULB(Y)信号がともに“0"
の場合、即ち、対象となるドットが空きドットと判定さ
れた場合、論理回路228の出力は“1"となる。そして、
この論理回路228の出力は、レジスタ212、214、論理回
路226等に伝達されることになる。
XEQ端子218も双方向バッファとなっている。そして、
マスターモードの補間回路180からは、処理の対象とな
るドットの両隣のドットのポリゴン識別番号PNが同一か
否かを示す信号がXEQ信号として出力される。具体的に
は、レジスタ192、196に保持されたドットのポリゴン識
別番号PNが、ポリゴンナンバ一致判定回路232に入力さ
れる。そして、一致した場合には、XEQ端子から“0"が
出力されることになる。
スレーブ・拡張モードの補間回路182〜186では、XEQ
端子218は入力端子となっている。そして、図16に示す
ように補間回路180の出力であるXEQ信号が入力される。
これにより、補間回路182〜186に対して、両隣のドット
のポリゴン識別番号が一致するか否かの情報が知らされ
ることになる。即ち、両隣のドットのポリゴン識別番号
PNが一致した場合は、補間回路180のXEQ端子の出力が
“0"となり、この出力が補間回路180〜186内のインバー
タ220に入力される。そして、このインバータ220の出力
が、レジスタ206、論理回路226に入力されることにな
る。
以上より、処理の対象となるドットが空きドットであ
り、そのドットの両隣のドットのポリゴン識別番号PNが
一致し、両隣のドットが空きドットでない場合に、その
ドットは補間されるべきドットであると判断される。こ
れにより図18の論理回路226の出力が“1"となり、マル
チプレクサ236は、レジスタ198の出力ではなく、平均値
演算回路234の出力を選択する。この結果、レジスタ19
6、200に保持されたデータであるPN、TX、TY、BRIの
平均値が計算され、補間データが演算されることにな
る。なお、この場合、両隣のドットのポリゴン識別番号
PNは一致しているため、両隣のドットの平均値を計算す
るということは、両隣のドットと同じPNに設定すること
と等価となる。このように本実施例においては、ポリゴ
ン識別番号PN、テクスチャ座標TX、TY、輝度情報BRI
に対する補間処理を、全て同じ回路構成の補間回路で行
うことが可能となる。
次に、本実施例における補間演算手段の動作について
簡単に説明する。
図19には、ビデオRAMから読み出されたデータが、フ
ィールドバッファコントローラ内で補間処理を受けて出
力されるまでの様子が示されている。
図19に示すように、本実施例では、以下の7つのフェ
ーズ(#0〜#6)によるパイプライン処理で補間処理
を行っている。
#0 SAM読み出しフェーズ SAM読み出し用クロックSCの立ち上がりで、マルチポ
ートビデオRAMから対応するドットのデータが出力され
る。
#1 SAMデータ取り込みフェーズ DS0〜11端子に到達したデータをSCに同期してフィー
ルドバッファコントローラ90〜96、補間回路180〜186内
に取り込む。
#2 空きドット判定フェーズ スレーブモードの補間回路182、184が、TX、TYの値
がFFFhであるかどうかをチェックし、XNULB信号を出力
する。
#3 間引きドット判定フェーズ マスターモードの補間回路180が、両隣のドットのポ
リゴン識別番号PNを比較し、一致したかどうかをXEQ信
号として出力する。
#4、#5 補間処理フェーズ ポリゴン識別番号PN、テクスチャ座標TX、TY、輝度
情報BRIの補間を、両隣の平均値を求めることにより行
う。但し、補間処理を行わないドットに関しては、マル
チプレクサ236にて、何も処理を行わずそのままデータ
を通過させる。
#6 データの出力フェーズ ドットクロックDCKの立ち上がりに同期してデータを
出力する。
なお、図19にて、〜は以下のことを示している。
SCの立ち上がりによりビデオRAMからデータが読み出
される(フェーズ#0) フィールドバッファコントローラ90〜96、補間回路18
0〜186内にデータが取り込まれる(フェーズ#1) データ(C)に対応したXNULBの出力が行われる(フ
ェーズ#2) データ(C)に対応したXEQの出力が行われる(フェ
ーズ#3) 補間処理を受けたデータが出力される (9)テクスチャ情報記憶部を論理演算回路で構成する
場合 テクスチャ情報記憶部は、ROMやRAMのようにテクスチ
ャ情報の数値そのものを記憶するものに限らず、テクス
チャ座標等の入力に対する関数の形で表現することも可
能である。この場合のテクスチャ情報記憶部は、論理演
算回路として構成される。
さて、これまでの説明では、ポリゴンにはり付けるテ
クスチャ情報としてカラー情報を用いた場合について述
べた。しかし、ポリゴンにはり付けることができるテク
スチャ情報としては、これに限らず、あらゆる種類のレ
ンダリング情報を考えることができる。例えばポリゴン
表面の形状の情報をはり付けることも可能である。この
ようなマッピング手法はバンプマッピングと呼ばれてい
る。この手法により、図20に示すように3次元オブジェ
クトMに対して例えばLに示すようにクレータ状のマッ
ピングを施すことが可能となる。
バンプマッピングは摂動マッピングとも呼ばれ、物体
表面形状に対する摂動成分(多くは、法線ベクトルの偏
位)をテクスチャ情報として持つことができる。この摂
動成分からなるテクスチャ情報を、以下バンプと呼ぶ。
また、このバンプテクスチャ情報を読み出すためのテク
スチャ座標をバンプテクスチャ座標BX、BYと呼ぶ。
本実施例では、アトリビュートデータ(ポリゴン毎の
定数)の1種として「ポリゴンの面の法線ベストル」を
もつ。そして、この「ポリゴン面の法線ベクトル」が、
摂動成分によってドット毎に摂動を受ける。これにより
各ドットの法線ベクトルNが求められることになる。こ
の様子が図21に示される。
このようにしてドット毎の法線ベクトルが求まった
ら、この法線ベクトル情報に基づいて、各ドットの輝度
情報BRIを求める。この場合、法線ベクトルから各ドッ
ト毎の輝度情報BRIを求めるための照明モデルが必要と
なる。
本実施例では、この照明モデルとして、単一光源によ
る平行光線と、鏡面反射、拡散反射、周囲光を考える。
この場合、シェーディング関数と呼ばれる半ば理論的に
半ば経験的に得られた次のような式が知られている。
BRI=IaKa+{Il/(Z+K)}×(Kd cosφ+Ks cosnψ) (1) この照明モデルの演算式におけるそれぞれの記号は、 BRI:各ドットの輝度情報 Ia:周囲光の強度〔F〕 Il:入射光の強度〔F〕 Ka:周囲光の拡散反射係数〔O〕 (a:ambient) Kd:拡散反射係数〔O〕 (d:diffuse) Ks:鏡面反射係数〔O〕 (s:specular) K:任意定数(近距離にある物体の輝度を補正)
〔F〕 Z:ドット毎のZ座標値〔場合によってはO〕 φ:光源ベクトルLと法線ベクトルNとの角度 =反射光ベクトルRと法線ベクトルNTとの角度 ψ:反射光ベクトルRと視線ベクトルE=〔0,0,1〕
との角度 n:任意定数(ハイライトの鋭さ)〔O〕 〔F〕:画面(フィールド)毎の定数。
〔O〕:物体(あるいはポリゴン)毎の定数。
という意味である。
即ち、補間演算により求められた各ドットにおける法
線ベクトルNを用いて、(1)式における角度φ、ψが
求められる。また、必要ならば各ドット毎にZ座標も求
められる。また、これ以外の係数はポリゴン毎にアトリ
ビュートデータとして与えられている。従って、これら
のデータ値を(1)式に代入することで、各ドット毎に
輝度情報が求められることになる。
このように、各ドット毎のの輝度情報を求め、この輝
度情報を基に各ドット色情報を求めることにより、図20
に示すように物体の表面にクレータ状の形状が施された
画像等を合成できることになる。
さて、このようなバンプマッピングを用いる場合、テ
クチャ情報記憶部には、物体の表面形状情報、例えば法
線ベクトル情報、あるいは、法線ベクトルの摂動成分が
記憶されることになる。そして、この表面形状情報は、
バンプテクスチャ座標により読み出されることになる。
しかし、本実施例では、これに限らず、バンプテクスチ
ャ座標に対して所定の関数演算を施し、各ドットの表面
形状情報を求めることができる。
例えば図22(A)に示されるようなジグザク形状の関
数は、1次関数の複合体なので、 のように表せる。この関数は、疑似サイン曲線の表面形
状を発生させることができる。これは最も基本的なバン
プのひとつなので用途が広い。これをバンプテクスチャ
座標BxとByの片方あるいは両方に適用して利用すること
ができる。
定数iを2の整数乗とすると、図22(B)に示すよう
な乗算器900、減算器902、補数器904で構成される回路
で実現できる。ここで乗算器900には、Wm〜W0(Wの下
位m+1ビット)及びiが入力される。そして、乗算器
900の出力は下位mビットが切り捨てられ減算器902に入
力される。減算器902の出力は補数器904に入力される。
ここで補数器904のE入力にはWm+1(Wのビットm+
1)が入力されている。
更に、定数jも2つの整数乗とすると、図22(C)の
ようにさらに簡単な回路になる。この回路は、シフタ90
6、デクリメンタ908、補数器910により構成される。シ
フタ906にはWm〜W0(Wの下位m+1ビット)が入力さ
れる。ここで、シフタ906は、以下の演算機能を有す
る。
i<j(m<n)の場合、j−iビットの“0"を下位
に追加(左シフト) i=j(m=n)の場合は、何もしない i>j(m>n)の場合、下位i−jビットを削除す
る(右シフト) (3者のいずれかの状態に固定) シフタ906の出力はデクリメンタ908に入力されるが、
下位mビットについてはバイパスして補数器910に入力
される。補数器910のE入力にはWm+1(Wのビットm
+1)が入力されている。
なお、シフタ906は能動的な回路ではなく、各ビット
の結線の違いをブラックボックス化して表現したものに
過ぎない。バンプの深さ情報BDEPTHがアトリビュートデ
ータに含まれる場合は特に図22(C)の回路で十分であ
る。
なお、簡単で有用性の高い物のひとつに、乱数器があ
る。この乱数器は、テクスチャ座標などの入力に対して
一意に定まる疑似乱数を発生する。この例を図23(A)
に示す。この例では乱数発生回路をユニット化し、乱数
ユニットA〜Dというように多段構成にしている。図23
(B)に示すように、いろいろな乱数ユニット912、91
4、916等を取捨選択して、目的にあうバンプパターンを
見つけることができる。
なお、本発明は上記実施例に限定されるものではな
く、本発明の要旨の範囲内で種々の変形実施が可能であ
る。
例えば、テクスチャ情報記憶手段を構成する記憶装置
としては、EEPROM、SRAM、DRAM、マスクROM等、各種の
記憶装置を使用することができる。
また、テクスチャ情報記憶部に記憶されるテクスチャ
情報(レンダリング情報)としては、カラー情報、表面
形状情報、輝度情報、表面形状情報、透明度情報、拡散
反射率情報等、あらゆる種々のものを用いることができ
る。例えば、透明度情報をレンダリング情報として用い
ることにより、物体の一部分が透明から半透明、半透明
から透明へと変化するおぼろげな物体を表現できる。ま
た拡散反射率情報をレンダリング情報として用いること
により、部分により「つや」の異なる物体を表現するこ
とが可能となる。
また、ポリゴンにテクスチャをはり付けるテクスチャ
マッピングの手法も、本実施例に示した手法に限らず、
あらゆる種類のテクスチャマッピング手法を用いること
ができる。例えば、ある程度の画質の低下を犠牲にし
て、テクスチャを単なる線形補間によりそのままはり付
ける手法を用いてもよい。また、先行技術である(テク
スチャマッピングについて(1)柴本猛、小林誠 情報
処理学会第31回講演論文集(社)情報処理学会 昭和60
年9月9日発行)に記載された手法を用いることもでき
る。この手法では、まず、ポリゴンの各頂点の透視変換
された表示座標を逆透視変換して透視変換前の状態に戻
す。そして、各頂点に対応したテクスチャ座標を手掛か
りに、透視変換前の表示座標をテクスチャ座標に変換す
る「変換マトリクス」を求めておく。次に、ポリゴン上
の全ドットについてそれぞれの表示座標に逆透視変換を
かけ、変換マトリクスによってテクスチャ座標を求め
る。
また、間引き演算手段における間引き率としては1/2
に限らず、画質の許す限り、例えば1/3、1/4等各種の間
引き率を採用することができる。そして、この時、補間
演算手段における補間処理は2ドット毎、あるいは3ド
ット毎等のように複数ドット毎に行われることになる。
なお、この場合の「処理の対象となるドットの両隣のド
ット」とは、処理の対象となる複数のドットうち最も左
に位置するドットの左隣のドット及び最も右に位置する
ドットの右隣のドットをいうことになる。また、この場
合の間引き補間の手段としては、例えば直線補間等を用
いることができる。
また、本発明によりポリゴンにテクスチャマッピング
されるテクスチャの形状としては、このポリゴンと同一
の形状もしくは相似形状のものには限られず、任意の形
状のテクスチャをマッピングすることができる。例え
ば、ポリゴンの形状と全く異なる形状のテクスチャをマ
ッピングすることにより、テクスチャを歪ませるなど特
殊な画像効果を得ることもできる。
また、上記実施例では、演算における「走査線」と
「CRTの走査線」とを特に区別していなかったが、例え
ばビデオRAMのSAM容量等のハードウェア上の制約しだい
では、両走査線が別個のものであって、例えば直交して
いるように場合も考えられる。

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】ポリゴンで構成される3次元画像を所定投
    影面上に透視変換して疑似3次元画像を合成する画像合
    成装置であって、 ポリゴンの各頂点に与えられた頂点画像情報より、3次
    元画像を構成するポリゴン内部の各ドットの座標及びこ
    の各ドットの座標に対応すべきテクスチャ座標を求める
    プロセッサ部と、 前記ドットの座標により指定されるアドレス位置に、前
    記プロセッサ部により求められた前記テクスチャ座標を
    記憶するフィールドバッファ部と、 前記テクスチャ座標により指定されるアドレス位置に所
    定のレンダリング情報を記憶するレンダリング情報記憶
    部と、 前記フィールドバッファ部から前記テクスチャ座標を読
    み出し、このテクスチャ座標に基づいて前記レンダリン
    グ情報記憶部からレンダリング情報を読み出して画像情
    報を形成する画像情報形成部とを含み、 前記プロセッサ部は、前記各ドットの座標及びこれらに
    対応するテクスチャ座標を間引いて演算する間引き演算
    部を有し、 前記画像情報形成部は、間引かれたドットの両隣のドッ
    トの前記フィールドバッファ部に記憶されたテクスチャ
    座標に基づいて、間引かれたドットのテクスチャ座標を
    補間処理する補間演算部を有することを特徴とする画像
    合成装置。
  2. 【請求項2】請求項(1)において、 前記プロセッサ部は、ポリゴンの各頂点に与えられた頂
    点画像情報より、前記各ドットの座標に対応する輝度情
    報を更に求め、 前記フィールドバッファ部には、前記各ドットの座標に
    より指定されるアドレス位置に、前記プロセッサ部によ
    り求められた前記輝度情報が更に記憶され、 前記補間演算部が、間引かれたドットの両隣のドットの
    前記フィールドバッファ部に記憶された輝度情報に基づ
    いて、間引かれたドットの輝度情報についても補間処理
    を行うことを特徴とする画像合成装置。
  3. 【請求項3】請求項(1)において、 前記レンダリング情報記憶部に代えて、前記テクスチャ
    座標に対して所定の関数演算処理を施すことでレンダリ
    ング情報を求める関数演算部を含み、 前記画像情報形成部は、前記フィールドバッファ部から
    前記テクスチャ座標を読み出し、このテクスチャ座標に
    基づいて前記関数演算部によりレンダリング情報を求め
    画像情報を形成することを特徴とする画像合成装置。
  4. 【請求項4】請求項(1)において、 前記レンダリング情報記憶部に記憶されるレンダリング
    情報のうち少なくとも一種類がカラー情報であり、この
    カラー情報を前記テクスチャ座標により読み出して画像
    情報の形成を行うことを特徴とする画像合成装置。
  5. 【請求項5】請求項(1)において、 前記レンダリング情報記憶部に記憶されるレンダリング
    情報のうち少なくとも一種類が表面形状情報であり、こ
    の表面形状情報を前記テクスチャ座標により読み出して
    画像情報の形成を行うことを特徴とする画像合成装置。
  6. 【請求項6】請求項(1)乃至(5)のいずれかにおい
    て、 前記補間演算部は、間引かれたドットの両隣のドットの
    テクスチャ座標を線形補間することにより前記補間処理
    を行うことを特徴とする画像合成装置。
  7. 【請求項7】請求項(1)乃至(6)のいずれかにおい
    て、 前記間引き演算部は、ポリゴンの輪郭線上のドット又は
    他のポリゴンとの境界線上のドットについては間引き処
    理を行わないことを特徴とする画像合成装置。
  8. 【請求項8】請求項(1)乃至(7)のいずれかにおい
    て、 前記フィールドバッファ部には、ポリゴンの画像が描か
    れないドットは空きドットとして書き込まれ、また、ポ
    リゴンを識別するためのポリゴン識別番号が更に書き込
    まれ、 前記補間演算部は、処理の対象となるドットが空きドッ
    トであり、そのドットの両隣のドットのポリゴン識別番
    号が同一であり且つそのドットの両隣のドットのいずれ
    も空きドットではないドットについて前記補間処理を行
    うことを特徴とする画像合成装置。
  9. 【請求項9】請求項(8)において、 3次元画像を構成する各ポリゴンに共通の画像情報であ
    るアトリビュートデータを記憶するアトリビュートデー
    タ記憶部を更に含み、 前記フィールドバッファから読み出された前記ポリゴン
    識別番号に基づいて前記アトリビュートデータ記憶部か
    らアトリビュートデータを読み出して画像情報の形成を
    行うことを特徴とする画像合成装置。
  10. 【請求項10】請求項(1)乃至(9)のいずれかにお
    いて、 前記間引き演算部、補間演算部における間引き処理、補
    間処理が画面上で連続した複数ドット毎に行われること
    を特徴とする画像合成装置。
  11. 【請求項11】ポリゴンで構成される3次元画像を所定
    投影面上に透視変換して疑似3次元画像を合成するため
    の画像合成方法であって、 ポリゴンの各頂点に与えられた頂点画像情報より、3次
    元画像を構成するポリゴン内部の各ドットの座標及びこ
    の各ドットの座標に対応すべきテクスチャ座標を求める
    座標演算ステップと、 前記各ドットの座標により指定されるアドレス位置に、
    求められた前記テクスチャ座標を記憶するステップと、 前記記憶ステップで記憶されたテクスチャ座標に基づい
    てレンダリング情報を求め、画像情報を形成するステッ
    プとを含み、 前記座標演算ステップは、前記各ドットの座標及びこれ
    に対応するテクスチャ座標を間引いて演算し、 前記画像情報形成ステップは、間引かれたドットの両隣
    のドットのテクスチャ座標に基づいて、間引かれたドッ
    トのテクスチャ座標の補間処理を行うことを特徴とする
    画像合成方法。
JP50611594A 1992-08-26 1993-08-26 画像合成装置及び画像合成方法 Expired - Fee Related JP2774874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP50611594A JP2774874B2 (ja) 1992-08-26 1993-08-26 画像合成装置及び画像合成方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4-252139 1992-08-26
JP25213992 1992-08-26
JP50611594A JP2774874B2 (ja) 1992-08-26 1993-08-26 画像合成装置及び画像合成方法

Publications (1)

Publication Number Publication Date
JP2774874B2 true JP2774874B2 (ja) 1998-07-09

Family

ID=26540563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50611594A Expired - Fee Related JP2774874B2 (ja) 1992-08-26 1993-08-26 画像合成装置及び画像合成方法

Country Status (1)

Country Link
JP (1) JP2774874B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429866B1 (en) 1999-04-01 2002-08-06 Mitsubishi Denki Kabushiki Kaisha Three-dimensional graphics drawing apparatus calculating tone of pixel based on tones of pixels at prescribed intervals, method thereof and medium recorded with program therefor
CN112673399A (zh) * 2018-07-11 2021-04-16 交互数字Vc控股公司 对点云的点的纹理进行编码/解码的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6429866B1 (en) 1999-04-01 2002-08-06 Mitsubishi Denki Kabushiki Kaisha Three-dimensional graphics drawing apparatus calculating tone of pixel based on tones of pixels at prescribed intervals, method thereof and medium recorded with program therefor
CN112673399A (zh) * 2018-07-11 2021-04-16 交互数字Vc控股公司 对点云的点的纹理进行编码/解码的方法

Similar Documents

Publication Publication Date Title
US5621867A (en) Image synthesizing system
US5097427A (en) Texture mapping for computer graphics display controller system
US5307450A (en) Z-subdivision for improved texture mapping
US5729672A (en) Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5230039A (en) Texture range controls for improved texture mapping
US6181352B1 (en) Graphics pipeline selectively providing multiple pixels or multiple textures
US5877769A (en) Image processing apparatus and method
US5357599A (en) Method and apparatus for rendering polygons
JP2675339B2 (ja) 色画像情報を決定する方法
US7088362B2 (en) Graphic computing apparatus
JP3759971B2 (ja) 3次元像を陰影付けする方法
US5103217A (en) Electronic image processing
JPH0757117A (ja) テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
WO2000002165A1 (fr) Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees
KR910009102B1 (ko) 화상합성 장치
US5719598A (en) Graphics processor for parallel processing a plurality of fields of view for multiple video displays
JP2883523B2 (ja) 画像合成装置及び画像合成方法
JP2774874B2 (ja) 画像合成装置及び画像合成方法
US6563497B1 (en) Image processing apparatus
US7372461B2 (en) Image processing apparatus and method of same
EP0425573B1 (en) Texture mapping for computer graphics display controller system
JP2888640B2 (ja) 画像合成装置及び画像合成方法
EP0725365A1 (en) Shading three-dimensional images
JPH0668272A (ja) 疑似3次元画像合成装置
Szántó et al. 3D rendering using FPGAs.

Legal Events

Date Code Title Description
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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080424

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080424

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090424

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100424

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100424

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100424

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110424

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110424

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees