JP3294149B2 - 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 - Google Patents

立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置

Info

Publication number
JP3294149B2
JP3294149B2 JP10634097A JP10634097A JP3294149B2 JP 3294149 B2 JP3294149 B2 JP 3294149B2 JP 10634097 A JP10634097 A JP 10634097A JP 10634097 A JP10634097 A JP 10634097A JP 3294149 B2 JP3294149 B2 JP 3294149B2
Authority
JP
Japan
Prior art keywords
dimensional
value
texture
image
data
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
JP10634097A
Other languages
English (en)
Other versions
JPH10302079A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP10634097A priority Critical patent/JP3294149B2/ja
Priority to US09/064,036 priority patent/US6078334A/en
Publication of JPH10302079A publication Critical patent/JPH10302079A/ja
Application granted granted Critical
Publication of JP3294149B2 publication Critical patent/JP3294149B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックスに用いられるテクスチャを立体化する処理装
置に係り、特に表示物体の表面の凹凸感を画像表現でき
る立体テクスチャマッピング処理装置及びそれを用いた
3次元画像生成装置に関する。
【0002】
【従来の技術】現在、コンピュータグラフィックス(C
G)が様々な分野において用いられている。CGの中で
もよりリアルな映像を作り出すために、3次元のデータ
から映像を作り出す、3次元グラフィックスと呼ばれる
技術がある。3次元グラフィックスは、ポリゴンと呼ば
れる多角形平面を無数に組み合わせて3次元の物体をつ
くり出す方法が一般的である。
【0003】しかし、この手法では、細かいバンプのあ
る物体の映像をCGによって形成するために大量のポリ
ゴンを必要とする。ポリゴンの量が多くなると処理デー
タが多くなるため、レンダリングの速度が低下するとい
う問題が発生する。また、細かいバンプなどのモデリン
グは非常に難しい。
【0004】そこで、疑似的に細かいバンプを表現する
ための手法として、テクスチャマッピング技術やバンプ
マッピング技術が使われている。表面に模様のある物体
を表現するためのテクスチャマッピング技術は、写真な
どの実写の画像をポリゴンの上に張りつけて、より現実
的な画像を生成するものである。テクスチャマッピング
には、様々な手法があるが、一般的には2次元平面の画
像を3次元物体の表面にマッピングすることにより実現
する。従って、画像の陰影によって表面の小さな凸凹を
表現したテクスチャをマッピングし、疑似的に細かいバ
ンプを表現する。
【0005】また、細かいバンプのある物体を表現する
ためのバンプマッピング技術は、物体の表面に法線ベク
トルをマッピングすることにより凸凹を与える方法であ
る。これをシェーディング時に、陰影に変えることで疑
似的に凸凹を表現する。この方法では、陰影の位置が固
定されているテクスチャマッピングよりも現実的に凸凹
を表現することができる。
【0006】
【発明が解決しようとする課題】しかし、一般的なテク
スチャマッピングの技術は、単眼立体視における錯視を
利用したものにすぎない。つまり、一つの固定された視
点から見た画像にすぎないので、両眼立体視時や、表示
物体や視点が移動する運動視差による立体視が起こった
ときは、それに合わせて画像が変化せず、また凸凹によ
る陰影の位置が変化せず、平板的な表現となってしま
う。
【0007】一方、バンプマッピングの技術は、陰影に
変えることで疑似的に凸凹を表現しているにすぎず、ポ
リゴン内部の凸凹によるテクスチャの歪みまでは表現で
きない。
【0008】そこで、処理時間が短く、しかも運動視差
による立体視においてもテクスチャにより凸凹を表現す
ることができる手段が、特開平6−348860号公報
や特開平7−254072号公報に開示されている。こ
の手段により、各方向から見たテクスチャをあらかじめ
記憶しておき、状況に応じて最適なテクスチャを選択
し、場合によっては遠近の歪みを除去したり、補間処理
によって自然に近い画像を得ることができる。しかし、
この手段では、視線方向が限られていない場合、各方向
から見たテクスチャをあらかじめ記憶しておく必要があ
り、大量のテクスチャデ−タを記憶しておく必要があ
る。
【0009】また、例えば、旗がはためくように、ポリ
ゴン内部の凸凹に応じて、ポリゴンのエッジが変化する
ような場合には、上記の各手段を適用しても、ポリゴン
自体は変化せず、自然な画像は得られない。この場合
は、旗の凸凹に応じて、さらに多数のポリゴンに分割し
て、各々のポリゴンに対して、テクスチャマッピングや
バンプマッピングを適用する必要がある。そのため、デ
ータ処理量が増加し、処理時間が増加してしまう。
【0010】本発明は、上記課題に鑑みてなされたもの
であり、ポリゴン内部の細かなバンプに合わせ、マッピ
ングされるテクスチャを疑似的に歪ませ立体化でき、少
ないポリゴンで画像生成処理が達成できる立体テクスチ
ャマッピング処理装置及びそれを用いた3次元画像生成
装置を提供することを目的とする。
【0011】
【課題を解決するための手段】請求項1の発明は、テク
スチャを立体化表示するために、テクスチャデータの各
ピクセルを視線方向から投影面に投影した場合、ポリゴ
ン面に対応した位置とバンプを考慮した投影位置とのず
を表す立体値を求める立体値発生手段と、視線方向か
ら見た場合の2次元画像を、前記立体値に応じてピクセ
ルをポリゴン面に対応した位置からバンプを考慮した投
影位置へ移動表示させて疑似的に立体化する立体化手段
と、を備えることを特徴とする立体テクスチャマッピン
グ処理装置である。
【0012】請求項2の発明は、前記立体値発生手段
は、前記立体値を、視線ベクトル、面の法線ベクトル、
バンプデータ、奥行き値を含む画像データから算出する
ことを特徴とする請求項1記載の立体テクスチャマッピ
ング処理装置である。
【0013】請求項3の発明は、前記立体値発生手段
は、前記立体値をパラメータによって任意に変化可能と
したことを特徴とする請求項1又は2記載の立体テクス
チャマッピング処理装置である。
【0014】請求項4の発明は、前記立体値発生手段
は、前記立体値をインデックステーブルによって任意に
変化可能としたことを特徴とする請求項1又は2記載の
立体テクスチャマッピング処理装置である。
【0015】請求項5の発明は、前記立体化手段は、前
記立体値に応じてピクセルを移動したときに、該ピクセ
ルの移動方向とは逆方向に隣接するピクセルを前記移動
ピクセルに伴って移動することを特徴とする請求項1記
載の立体テクスチャマッピング処理装置である。
【0016】請求項6の発明は、前記立体化手段は、前
記立体値がポリゴン面の高さを表す量ととらえ、前記立
体値と視線方向から見た面の傾きに応じてピクセルを移
動し配置したことを特徴とする請求項1記載の立体テク
スチャマッピング処理装置である。
【0017】請求項7の発明は、ピクセルの輝度値を前
記立体値に応じて変化させることで、立体化されたテク
スチャにバンプマッピングによる陰影を付加することを
特徴とする請求項1、5又は6記載の立体テクスチャマ
ッピング処理装置である。
【0018】請求項8の発明は、テクスチャマッピング
により3次元グラフィックの画像データを生成する画像
生成手段と、前記画像生成手段で生成された画像データ
を格納するフレームメモリと、テクスチャのデータが保
存されているテクスチャメモリと、テクスチャを立体化
表示するために、前記画像生成手段からの座標データと
テクスチャデータにより、各ピクセルを視線方向から投
影面に投影した場合、ポリゴン面に対応した位置とバン
プを考慮した投影位置とのずれを表す立体値を求める立
体値発生手段と、視線方向から見た場合の2次元画像
を、前記立件値に応じて前記フレームメモリ上にある
クセルをポリゴン面に対応した位置からバンプを考慮し
た投影位置へ移動表示させて疑似的に立体化する立体化
手段と、前記立体化手段で生成された画像データを表示
する表示装置と、を備えたことを特徴とする3次元画像
生成装置である。
【0019】請求項9の発明は、テクスチャマッピング
により3次元グラフィックの画像データを生成する画像
生成手段と、テクスチャのデータが保存されているテク
スチャメモリと、テクスチャを立体化表示するために、
前記画像生成手段からの座標データとテクスチャデータ
により、各ピクセルを視線方向から投影面に投影した場
合、ポリゴン面に対応した位置とバンプを考慮した投影
位置とのずれを表す立体値を求める立体値発生手段と、
視線方向から見た場合の2次元画像を、前記立体値に応
じて前記画像生成手段から出力されたピクセルをポリゴ
ン面に対応した位置からバンプを考慮した投影位置へ移
動表示させて疑似的に立体化する立体化手段と、前記立
体化手段で生成された画像データを格納するフレームメ
モリと、前記フレームメモリで生成された画像データを
表示する表示装置と、を備えたことを特徴とする3次元
画像生成装置である。
【0020】請求項10の発明は、テクスチャマッピン
グにより3次元グラフィックの画像データを生成する画
像生成手段と、テクスチャのデータが保存されているテ
クスチャメモリと、テクスチャを立体化表示するため
に、前記画像生成手段からの座標データとテクスチャデ
ータにより、各ピクセルを視線方向から投影面に投影し
た場合、ポリゴン面に対応した位置とバンプを考慮した
投影位置とのずれを表す立体値を求める立体値発生手段
と、視線方向から見た場合の2次元画像を、前記立体値
に応じて前記画像生成手段から出力されたピクセルを
リゴン面に対応した位置からバンプを考慮した投影位置
へ移動表示させて疑似的に立体化する立体化手段と、前
記立体化手段で生成された画像データを表示する表示装
置と、を備えたことを特徴とする3次元画像生成装置で
ある。
【0021】請求項1〜10の発明においては、立体値
発生手段により、立体値を求め、立体化手段により、該
立体値に応じて、テクスチャデータのピクセルを移動表
示して疑似的に立体化する。たとえ視点や表示物体が移
動しても、それに応じてテクスチャが立体化されるの
で、自然な画像を得ることができる。テクスチャ自体を
立体化するので、ポリゴンを凸凹に合わせて設ける必要
がなく、ポリゴンが最小の数で表示させることができ、
処理時間を短くすることができる。
【0022】請求項2の発明においては、前記立体値
を、視線ベクトル、面の法線ベクトル、バンプデータ、
奥行き値を含む画像データから算出するので、使用者が
設定しなくとも自動で演算が可能となる。
【0023】また、請求項3及び4の発明においては、
前記立体値を任意に変化可能とする。例えばレジスタ等
にパラメータやインデックステーブルを格納して、必要
に応じて取り出して、立体値発生手段において立体値を
変化させる。凸凹の大きさを変えるときに、いちいちテ
クスチャを張り替える必要がなくなる。
【0024】また、請求項5の発明においては、前記立
体化手段が、前記立体値に応じてピクセルを移動し、該
ピクセルの移動方向とは逆方向に隣接するピクセルを前
記移動ピクセルに伴って移動する。従って、テクスチャ
をマッピングしたポリゴンの辺も歪ませることが可能で
ある。例えば、はためく旗の端辺が波うつような効果を
得ることができる。このように凸凹に応じてポリゴン自
体の形状も変化させることができるので、少ないポリゴ
ンで処理が可能となる。
【0025】また、請求項6の発明においては、立体値
と面の傾きを考慮して、立体化手段において立体化す
る。つまり立体値と面の傾きに応じてピクセルを移動し
配置したので、内部の多数のバンプを一枚のポリゴンで
表現可能となり、処理時間を短縮できる。
【0026】請求項7の発明においては、立体化された
テクスチャにバンプマッピングによる陰影を付加するの
で、より自然な画像を得ることができる。
【0027】請求項8の発明においては、フレームメモ
リにテクスチャを張り付けた画像データを格納し、その
画像データを立体化処理する。隠面消去等の処理が終了
したデータを立体化処理することができ、処理データ量
が少なくてすむ。
【0028】請求項9の発明においては、立体化処理し
た画像データをフレームメモリに格納してから表示す
る。従って、立体化処理したのちの凸凹による本質的な
隠面処理が可能である。
【0029】請求項10の発明においては、フレームメ
モリを必要としないので、コストを安くすることができ
る。
【0030】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら説明する。 <3次元画像生成装置の第1実施形態>図1は本発明に
係る3次元画像生成装置の第1実施形態を示すブロック
図である。3次元画像生成装置は、3次元画像生成部1
と、フレームメモリ2と、テクスチャメモリ3と、レジ
スタ4と、立体値発生回路5と、立体化回路6と、表示
装置7とからなる。
【0031】3次元画像生成部1は、画像データを基に
して、幾何変換あるいは投影変換等を行い、さらに、テ
クスチャメモリ3からテクスチャデータをポリゴンに付
して3次元画像のグラフィックデータを生成する。この
グラフィックデータをフレーム画としてのピクセルデー
タとしてフレームメモリ2に書き込む。立体値発生回路
5は、3次元画像生成部4から与えられる座標データ
と、テクスチャメモリ6に記憶されているバンプデータ
やレジスタに記憶されているパラメ−タによりテクスチ
ャを凸凹させるための立体値を演算する。この立体値に
基づいて、フレームメモリ2のデータを立体化回路6に
より立体化し、表示装置7に表示する。
【0032】ところで、立体値はテクスチャを擬似的に
歪ませて視差を発生させる目的で算出される値であり、
基本的には視線ベクトルデータ、ポリゴン面の法線ベク
トルデータ、奥行きの値であるZ値とテクスチャのバン
プデータから算出される。しかし、特殊な効果を狙いそ
れら以外のデータから算出することもできる。その算出
方法の例を次に説明する。
【0033】(1)第1の立体値算出方法 ワールド座標系において、幾何学的に考えると、面のバ
ンプとは、テクスチャのマッピングされている面からバ
ンプ値分だけドットが垂直方向に浮きだしている(ある
いは窪んでいる)と考えることができる。これを図示し
たのが図2である。
【0034】図2に示すように、面上の注視点への視線
ベクトルをP、面の法線ベクトルをnとし、バンプの大
きさをαとする。投影面にポリゴンを視線方向から投影
した場合に、テクスチャはポリゴン面に存在するので、
投影面にはポリゴン面に対応した位置に投影される。し
かし、ドットがバンプ値分だけ垂直方向に浮きだしてい
ると考えると、その投影位置はポリゴン面にドットが存
在するとした場合の位置からずれる。この視線方向から
見たドットのずれδwは、 δw=αsinθ=α|P×n| となる。
【0035】さらに、視点からの距離がドットのずれに
影響するので同次座標値wから、スクリーン座標系での
ドットのずれδが算出できる。すなわち、視線方向から
見たドットのずれδwを、同次座標値wによって、ワー
ルド座標系からスクリーン座標系に座標値を変換し、そ
の値δを立体値とする。その式は以下のようになる。 δ=αw|P×n|
【0036】また、同次座標値wのかわりに、Zバッフ
ァーの内容である奥行き値Zの逆数を使って近似するこ
ともできる。 δ=α|P×n|/Z この値を立体値とすると、面のバンプを忠実に再現した
画像を生成することができる。
【0037】(2)第2の立体値算出方法 立体値は、必ずしも上記のように幾何学的な演算でスク
リーン座標系でのドットのずれδを正確に求める必要性
はない。視線ベクトル、法線ベクトル、同次座標値w、
バンプの大きさαから任意の演算、または操作で求めて
も構わない。例えば、以下のような値に立体値を設定す
ることも考えられる。 δ=α δ=w δ=αw2|P×n| これらの式を利用することにより、立体テクスチャによ
る色々な特殊効果を期待することもできる。
【0038】また、乱数を利用することも考えられる。
いま、−1から1の乱数を発生する回路の出力をran
dとすると、 δ=A・rand・w(A:任意定数) などが考えられる。画面全体に乱数によるブレが発生す
るため、ぼかしたような効果を得ることができる。
【0039】(3)第3の立体値算出方法 第1または第2の算出方法により算出された立体値は、
画像データによる演算であり、画像データが同一であれ
ばいつでも同じ画像を得られる。逆に考えれば、画像デ
ータを変更しなければ、得られる画像はいつも同じもの
になる。このため、画像中の立体テクスチャのバンプの
大きさだけを変化させたい時には、テクスチャのバンプ
の大きさαの値を変更しなくてはならない。つまり、別
のテクスチャを用意しておき、テクスチャを貼替える必
要がある。これでは、テクスチャメモリを余分に使用し
てしまう。
【0040】そこで、次の算出方法を適用する。この方
法では、画像データ以外に外部パラメータtを用意して
いる。これを以下の様に立体値の演算に用いるのであ
る。 δ=αtw|P×n| ここで、tは0≦t≦1とする。これにより、バンプの
大きさを変えるだけの変化であれば、外部パラメータt
を変化させるだけで済む。これにより、立体テクスチャ
がうねる様な映像を簡単に生成することができる。もち
ろん、外部パラメータによる演算パターンは上記の式以
外のものでもよい。例えば、 δ=αt δ=αw|P×n|・sin(2π(t/T)) などが考えられる。ここで、Tはtとは別の外部パラメ
ータである。この外部パラメータはレジスタ4に格納さ
れ、立体値発生回路5に与えられる。
【0041】(4)第4の立体値算出方法 第3の算出方法と同様に画像データを変更せずに、バン
プの大きさを変える方法として、インデックスを使う方
法も考えられる。例えば、αをインデックスとしてテー
ブルを参照し、実際のバンプの大きさを求める方法があ
る。 δ=table(α)w|P×n| ここで、table(α)はバンプテーブルのα番目のテー
ブルの値である。
【0042】これにより、外部からtable(α)の内容
を書き換えることにより、バンプの大きさを変えること
ができる。ただし、この方法は第3の算出方法と異な
り、あるαのバンプの大きさだけを変化させることがで
きることに特徴がある。第3の方法では、立体テクスチ
ャの全体がうねる様な効果を実現したが、この方法では
さらに、立体テクスチャの一部がうねる様な効果を実現
することが可能になる。もちろん、テーブルによる演算
パターンは上記の式以外のものでもよい。例えば、 δ=α|P×n|table(w) δ=table(α) などが考えられる。このテーブルはレジスタ4に格納さ
れる。
【0043】次に、立体化回路6における立体化の方法
について説明する。 (1)第1の立体化方法 第1の立体化方法では、立体値をドットの摂動であると
解釈し、摂動の発生を行なう。摂動とはドットの微小な
左右への揺れのことであり、この揺れの大きさが立体値
に相当すると解釈している。スクリーン座標系におい
て、ドットが左右に揺れるとは、テクスチャがマッピン
グされている面が盛り上がったり、へこんだりすること
を意味する。例えば、図3(A)に示すような旗が、
(B)に示すようにはためいた場合である。同図(A)
に示すように、旗を形成するポリゴンで(B)の映像を
作り出すには、摂動により立体テクスチャが歪むと同時
に、ポリゴンの端辺も歪むようにしなければならない。
次に、この摂動処理について詳しく説明する。
【0044】図4は、ラインバッファを利用した摂動処
理の説明図である。図4において、マス目はピクセルを
表し、上に書かれた数字はそのピクセルの立体値を表
す。また、マス目の内部の文字はピクセルデ−タを表し
ている。さらに、マス目の下の文字はピクセルの位置
(アドレス)を示している。また、図4は、(A)に立
体化処理を施した結果が(B)になることを表してい
る。図4において、(A)のd1の位置の立体値が2な
ので、このドットはb2の位置に摂動される。また、こ
れに付随してc2〜d2の位置にはe1のドットのピクセ
ルデータがコピーされる。つまり、摂動されたドットは
摂動方向とは逆方向のとなりのドットのデータをひきず
って摂動する形になる。
【0045】これにより、ドットの摂動により周りの画
像が引っ張られた様な表示にすることができる。この方
法により、図3(A)に示すような旗がはためいた場合
に、同図(B)のように摂動により立体テクスチャの端
が歪む効果を得ることができる。これは、背景の輝度が
立体テクスチャの貼られたポリゴンに引っ張られるため
に実現される効果である。そのため、立体値が1である
ピクセルは左に1ドットずらして表示し、また、立体値
が−1であるピクセルは右に1ドットずらす。同様に、
立体値が2であれば左に2ドットずらし、−2であれば
右に2ドットずらす。以上のようにドットを摂動させる
処理を行なう。
【0046】図5は、この方法を実現する立体化回路を
示すブロック図である。この立体化回路6は、シーケン
サ10、PA,PB値処理回路11、ラインバッファ書
き込み回路12、比較回路13、輝度値選択回路14、
フレームメモリ読み出し回路15、ラインバッファ1
6、ラッチ回路18〜20、実立体値算出回路17、か
ら構成される。
【0047】ここで、PAは読み込み処理時にフレーム
メモリ2の右端のピクセルから何ドット目のデータを指
し示すかを表すポインタであり、PBは書き込み処理時
にラインバッファ16の右端から何ドット目のピクセル
データを指し示すかを表すポインタである。PA,PB
の値は0から始まる。フレームメモリ2からの読み込み
はPAの指すアドレスから行なわれ、ラインバッファ1
6への書き込みはPBの指すアドレスに行なわれる。ま
た、立体値δはPAの指すピクセルの立体値を、Iはそ
の輝度値を表し、さらにBIはPAの指すピクセルの右
隣にあるピクセルの輝度を表す。また、ラインバッファ
16への書き込みは、PBの指すアドレスの元の実立体
値が書き込む実立体値よりその絶対値が小さい場合に行
なわれる。
【0048】実立体値は実際に摂動した値を示す値で、
例えば図4(A)のe1の位置の輝度が,(B)のc2
2の位置に摂動した場合、c2の実立体値は2、d2
実立体値は1、e2の実立体値は0、f2の実立体値は−
1となる。ラインバッファ16への書き込み判定はこの
実立体値を使って行なわれる。
【0049】シーケンサ10は、後述する比較回路13
が行うPA−PBと立体値δの比較結果により、PA,
PB値処理回路11、ラインバッファ書き込み回路1
2、フレームメモリ読み出し回路15を制御する信号を
発生する。
【0050】PA,PB値処理回路11は、PA,PB
値の出力および演算を行なう回路であり、シーケンサ1
0の信号の指示により、以下の演算をそれぞれ行なう回
路である。 (C1)PA=PA+1 (C2)PB=PB+1 (C3)PB=PA−δ これらの演算は、それぞれPA加算信号、PB加算信
号、PB減算信号がアクティブになった場合行なわれ
る。また、PA−PB値は絶えず演算され、当該回路か
ら出力されている。
【0051】ラインバッファ書き込み回路12は、P
A,PB値処理回路11の出力であるPB値から書き込
むべきラインバッファ16のアドレスを算出し、該当ア
ドレスに輝度選択回路14からの輝度値と、実立体値演
算回路17からの実立体値をラインバッファ16に書き
込む回路である。書き込みはシーケンサ10のラインバ
ッファ書き込み信号がアクティブの場合に行なわれる。
また、ラインバッファ16の書き込みには条件があり、
(W1)ラインバッファ16の該当アドレスの元の実立
体値と書き込む実立体値の絶対値を比較し、書き込む方
の値が大きい場合と、(W2)ラインバッファ16の該
当アドレスの元の実立体値が初期値である場合に輝度値
Oと実立体値δOの書き込みが行なわれる。
【0053】比較回路13はPA,PB値処理回路11
の出力であるPA−PB値とラッチ回路18のδ値を比
較し、比較結果(>,=,<)をシーケンサ10に通知
する。
【0054】輝度選択回路14はラインバッファ16に
書き込む値を選択する回路で、シーケンサ10からの選
択信号によって、Iを出力するか、BIを出力するかを
決定する。ここでは、選択信号がアクティブであるとI
を、ネガティブであるとBIを出力する。
【0055】実立体値算出回路17は、ラインバッファ
16に書き込まれるドットの実際の摂動大きさである実
立体値を算出する回路である。PA,PB値処理回路1
1から出力されたPA−PB値とシーケンサ10からの
選択信号を入力とし、選択信号がアクティブであるとP
A−PBを、ネガティブであるとPA−PB+1を実立
体値として出力する。
【0056】フレームメモリ読みだし回路15は、P
A,PB値処理回路11の出力であるPA値と3次元画
像生成部1からのライン番号Yから読み出すべきフレー
ムメモリ2のアドレスを算出し、該当アドレスから輝度
値Iを読み出し、立体値発生回路5から立体値δを読み
出す回路である。同時に、旧輝度値をBIに保存する。
これらの値はラッチ回路18〜20に保存される。
【0057】ラインバッファ16は、実立体値δOと輝
度値IOを保存するためのバッファである。このライン
バッファ16はダブルバッファ構成になっており、表示
装置からの水平同期信号により、表と裏が切り変わる。
表のバッファの内容は表示装置から読み出され表示装置
に表示される。裏のバッファは立体化回路6の処理に使
用される。
【0058】次に立体化回路6の動作を説明する。この
立体化回路6の摂動処理のフローチャートを図6に示
す。このフローチャートは、例として1ライン毎に処理
する場合を示したものである。このフローチャートによ
る処理は一つの例を示したものであり、図4のような摂
動を生成する方法は、ここに示した方法以外にも容易に
考えられることは、ハードウェアの性質からも明白であ
る。例えば、処理のパイプライン化や並列化などが考え
られる。また、前後のラインのデータとの相関をとり2
次元の摂動を実現する方法なども考えられる。
【0059】まず、初期化段階ではPA=0,PB=
0,ラッチδ=0,ラッチI=0となっており、ライン
バッファ16の立体値は全て初期値でクリアされている
(ステップN1)。この初期化は初期化信号によって毎
ライン毎に行なわれる。
【0060】図7は、フレームメモリ2とラインバッフ
ァ16のデータの摂動処理例を示す説明図であり、これ
に基づいて摂動処理を説明する。初期化が行われた状態
で、PAはa1の位置を、PBはa2の位置を示してい
る。また、(A)はフレームメモリ2の内容に相当し、
(B)はラインバッファ16の内容に相当する。はじ
め、シーケンサ10はフレームメモリ読みだし信号をア
クティブとし、フレームメモリ2から輝度値Iをラッチ
回路19に、立体値発生回路5から立体値δをラッチ回
路18に読み出す(ステップN2)。a1の位置のピク
セルの輝度値はaであり、立体値は0であるので、この
時点でδ=0,I=aとなる。PBのアドレス位置がa
2であるので、ライン幅以内であるので(ステップN
3)、ステップN4に進み、比較回路13によりPA−
PBとδが比較される。
【0061】ここで、比較回路13の比較結果により、
シーケンサ10は以下の動作を行なう。 (T1)比較結果が「PA−PB=δ」のとき、選択信
号はIを選択し、ラインバッファ16への書き込み信号
をアクティブにする。書き込み終了後に、PB加算信号
をアクティブ、PA加算信号をアクティブにする。演算
終了後に、フレームメモリ読みだし信号をアクティブに
し、比較結果待ちとする。 (T2)比較結果が「PA−PB<δ」のとき、選択信
号はIを選択、PB減算信号をアクティブにする。PB
減算終了後に、ラインバッファ16への書き込み信号ア
クティブにする。書き込み終了後に、PA加算信号をア
クティブにし、PB加算信号をアクティブにする。演算
終了後に、フレームメモリ読みだし信号をアクティブに
し、比較結果待ちとする。 (T3)比較結果が「PA−PB>δ」かつδ≧0のと
き、選択信号はIを選択し、ラインバッファ16への書
き込み信号をアクティブにする。書き込み終了後に、P
B加算信号をアクティブにする。演算終了後に、比較結
果待ちとする。 (T4)比較結果が「PA−PB>δ」かつδ<0のと
き、選択信号はBIを選択し、ラインバッファ16への
書き込み信号をアクティブとする。書き込み終了後に、
PB加算信号をアクティブにする。演算終了後に、比較
結果待ちとする。ただし、ここでのアクティブは、以後
ずっとアクティブになるという意味ではなく、一時的に
アクティブになるという意味で使っている。
【0062】いま、PA=0,PB=0なので、PA−
PB=0。またδ=0なので、比較結果は「PA−PB
=δ」となり、ステップN5に進み、シーケンサ10は
T1の動作を行う。すなわち、シーケンサ10は選択信
号をアクティブとして、輝度選択回路12はIO=a
を、実立体値算出回路17はδO=PA−PB=0を出
力する。ラインバッファ書き込み回路12は、PBの指
すアドレスa2のデータを読みだし、書き込み判定を行
なう。いま、ラインバッファ16の実立体値が初期値な
ので、条件(W2)であり、ラインバッファ書き込み回
路12は、ラインバッファ16のPBの指すアドレスa
2に輝度値a、実立体値0を書き込む(ステップN
5)。そののち、シーケンサ10はPB加算信号とPA
加算信号をアクティブにして、PA,PB値処理回路1
1はPB=PB+1とPA=PA+1の演算を行なう
(ステップN6)。その後、シーケンサ10はフレーム
メモリ読み出し信号をアクティブにして、フレームメモ
リ読み出し回路15は、フレームメモリ2と立体値発生
回路5から新しい輝度値と立体値を読みだす(ステップ
N2)。この時点で、PAはb1の位置を、PBはb2
位置を指し、a1の位置のピクセルの立体化は終了した
ことになる(図7のB0)。
【0063】この処理が繰り返され、PA=3、PB=
3となった場合を次に示す。このとき、PAはd1の位
置を、PBはd2の位置を指す。また、ラッチの値はI
=c,δ=0,BI=bとなっている。シーケンサ10
がフレームメモリ読みだし信号により、輝度値Iと立体
値δを読みだし、同時に輝度値ラッチの値をBIとす
る。この時点では、I=d,δ=2,BI=cとなる。
(図7のB1)
【0064】次に比較回路13によりPA−PBとδが
比較される。いま、PA=3,PB=3なので、PA−
PB=0。またδ=2なので、比較結果は「PA−PB
<δ」となり(ステップN4)、シーケンサ10はT2
の動作を行う。すなわち、シーケンサ10は、PB減算
信号をアクティブにして、PA,PB値処理回路11に
おいて、PB=PA−δ=1の演算が行なわれる(ステ
ップN7)。次に、シーケンサ10は、ラインバッファ
書き込み信号をアクティブにし、ラインバッファ書き込
み回路12によりラインバッファ16に書き込みが行な
われる。このとき、δO=PA−PB=2となり、IO
dとなる。また、ラインバッファ16の実立体値は0な
ので、条件(W1)により、ラインバッファ16のPB
の指すアドレスb2に輝度値d、立体値2を書き込む。
そののち、PB加算信号とPA加算信号をアクティブに
して、PA,PB値処理回路11においてPB=PB+
1とPA=PA+1を行なう(ステップN6)。この時
点で、PAはe1の位置を、PBはc2の位置を示す。
(図7のB2)
【0065】続けて説明をしてゆくと、フレームメモリ
読みだし信号により、新しい輝度値と立体値を読みだ
し、I=e,δ=0,BI=dとなる(ステップN
2)。そして比較回路13によりPA−PBとδが比較
される(ステップN4)。いま、PA=4,PB=2な
ので、PA−PB=2。またδ=0なので、比較結果は
「PA−PB>δ」となる。さらに、δ≧0なので(ス
テップN9)、シーケンサ10はT3の動作を行なう。
まず、ラインバッファ書き込みが行なわれるが、このと
き、δO=PA−PB=2となり、IO=eとなる。ま
た、ラインバッファ16の実立体値は0なので、条件
(W1)により、ラインバッファ書き込み回路12は、
ラインバッファ16のPBの指すアドレスc2に輝度値
e、立体値2を書き込む。そののち、シーケンサ10は
PB加算信号をアクティブにして、PA,PB値処理回
路11で、PB=PB+1を行なう(ステップN1
1)。
【0066】この時点で、PAはe1の位置を、PBは
2の位置を示す。PBはライン幅以内であるので(ス
テップN3)、ステップN4に進み、比較回路13の比
較結果による処理を行なう。いま、PA=4,PB=3
なので、PA−PB=1。またδ=0なので、比較結果
は「PA−PB>δ」となる。
【0067】さらに、δ≧0なので(ステップN9)、
シーケンサ10はT3の動作を行なう。まず、ラインバ
ッファ書き込み回路12によるラインバッファ16への
書き込みが行なわれる。このとき、δO=PA−PB=
1、IO=eとなる。また、ラインバッファ16の実立
体値は0なので、条件(W1)により、ラインバッファ
16のPBの指すアドレスd2に輝度値e、立体値1を
書き込む。そののち、ステップN11に進み、シーケン
サ10がPB加算信号をアクティブにして、PA,PB
値処理回路11によりPB=PB+1を行なう(図7の
B3)。
【0068】以下、同様に処理はPBが1ラインのドッ
ト数に達するまで続けられて行く。(図7のB5)この
ようにして、この実施例では摂動処理による立体化回路
6を実現している。
【0069】(2)第2の立体化方法 この立体化方法では立体値をドットの高さによる変動値
であると解釈し、高さの発生を行なう。つまり、立体値
は立体テクスチャの高さによる位置のずれ分であると解
釈し、立体値は、立体テクスチャの高さにより、その射
影が左右にどの程度のドット分だけ発生するかを示す値
と解釈される。このとき、立体値が正であれば左方向へ
のピクセルの影が発生し、また、負であれば右方向への
ピクセルの影が発生する。
【0070】ただし、この方法では面の傾きが問題とな
る。視線方向から見た面の傾きにより、射影の発生する
ピクセル立体値が異なるためである。視線から見て右側
が奥に傾いている面で、右に変動する立体値を持つピク
セルは凸ドットであり、右方向の射影を落すが、左に変
動する立体値を持つピクセルは凹ドットであり、右のド
ットの輝度が見えるようになる。また、逆に視線から見
て左側が奥に傾いている面では、右に変動する立体値を
もつピクセルは凹ドットであり、左のドットの輝度が見
えるようになり、左に変動する立体値をもつピクセルは
凸ドットであり、左方向に射影を落すように立体化する
必要がある。
【0071】そのため、この方法では各ピクセル毎に、
当該ピクセルの生成源となった面の傾きを知る必要があ
り、そのための回路を付加する必要がある。しかし、こ
の値はまた、立体値発生回路5により生成できる値であ
り、立体値の一種であるともいえる。そこで、この方法
では、明示的に面の傾きを演算する回路を付加すること
はせず、それは立体値発生回路5により行なわれるもの
とする。さらに、面の傾き値Sは立体値の一種であると
して、立体値と同様に立体値として立体値発生回路5か
ら得られるものとし、話しを進めることとする。ただ
し、説明上は立体値δと面の傾き値Sと区別することと
する。
【0072】この高さ処理の例を図8に示す。図8は同
心円の立体テクスチャをポリゴンに貼ったもので、中心
に近い円は立体値がより大きくなっている場合の例を示
している。(A)の表現では、立体感が乏しく、平面的
である。これを本実施形態で表現すると(B)のように
なり、高さ処理により立体的なテクスチャを実現するこ
とが可能となる。
【0073】図9は、ラインバッファ16を用いた高さ
処理の説明図である。図9において、マス目はピクセル
を表し、上に書かれた数字はそのピクセルの立体値を表
す。また、マス目の内部の値はピクセルの輝度を表して
いる。図9は、ライン(A)に立体化処理を施した結果
が、面の傾きSを全てのピクセルで右の場合は(B右)
に、面の傾きが全てのピクセルで左の場合は(B左)と
なることを表している。
【0074】図9において、面の傾きが全て右の場合
は、(A)のd1の位置の立体値が2なので、このドッ
トはb2〜d2の位置に射影される。また、i1,j1の様
に立体値が同じになる場合は、i1の射影にj1の射影が
重なり、j1の射影が多く残るようになる。これは、i1
とj1の立体値が正であり、i1の射影がj1の射影に重
なるためである。これにより、ドットの高さによりドッ
トの射影が長く見えるような効果を生むことができるの
で、あたかもテクスチャが立体であるかのように表現す
ることができる。
【0075】図10に本発明に係る第2立体化方法を実
現する立体化回路を示すブロック図である。この立体化
回路6は、シーケンサ25、PA,PB値処理回路1
1、ラインバッファ書き込み回路23、比較回路13、
輝度値選択回路14、フレームメモリ読み出し回路1
5、ラインバッファ16、ラッチ回路18〜22、実立
体値算出回路24、から構成される。この立体化回路
は、第1立体化方法を実現する立体化回路6とほぼ同じ
であり、同一部分には同一符号を付し、説明は省略す
る。
【0076】シーケンサ25はフローチャートの分岐動
作を実行するシーケンサであり、比較回路13の比較結
果により、PA,PB値処理回路11、ラインバッファ
書き込み回路23、フレームメモリ読み出し回路26を
制御する信号を発生する。シーケンサ25は比較結果に
より以下の動作を行なう。 (T11)比較結果が「PA−PB=δ」のとき、輝度
選択信号はIを選択、ラインバッファ16への書き込み
信号アクティブにする。書き込み終了後に、PB加算信
号をアクティブ、PA加算信号をアクティブにする。演
算終了後に、フレームメモリ読みだし信号をアクティブ
にし、比較結果待ちとする。 (T12)比較結果が「PA−PB<δ」のとき、選択
信号はIを選択、PB減算信号をアクティブにする。P
B減算終了後に、ラインバッファ16への書き込み信号
アクティブにする。書き込み終了後に、PA加算信号を
アクティブ、PB加算信号をアクティブにする。演算終
了後に、フレームメモリ読みだし信号をアクティブに
し、比較結果待ちとする。 (T13)比較結果が「PA−PB>δ」かつS=0
(面の傾きは右奥)のとき、選択信号はBIを選択、ラ
インバッファ16への書き込み信号アクティブとする。
書き込み終了後に、PB加算信号をアクティブにし、演
算終了後に、比較結果待ちとする。 (T14)比較結果が「PA−PB>δ」かつS=1
(面の傾きは左奥)のとき、選択信号はIを選択、ライ
ンバッファ16への書き込み信号アクティブにする。書
き込み終了後に、PB加算信号をアクティブにする。演
算終了後に、比較結果待ちとする。ただし、ここでのア
クティブは、以後ずっとアクティブになるという意味で
はなく、一時的にアクティブになるという意味で使って
いる。
【0077】ラインバッファ書き込み回路23は、P
A,PB値処理回路11の出力であるPB値から書き込
むべきラインバッファ16のアドレスを算出し、該当ア
ドレスに輝度選択回路14からの輝度値と、実立体値演
算回路24からの実立体値をラインバッファ16に書き
込む回路である。ラインバッファ16の書き込みには条
件があり、(W11)ラインバッファ16の該当アドレ
スの元の実立体値と書き込む実立体値を比較し、書き込
む方の値が大きい場合と、(W12)ラインバッファ1
6の該当アドレスの元の実立体値が初期値である場合に
輝度値IOと実立体値δOの書き込みが行なわれる。
【0078】実立体値算出回路24は、ラインバッファ
16に書き込まれるドットの疑似的な高さである実立体
値を算出する回路である。PA−PB値と選択信号とS
値、BS値を入力とし、(J1)選択信号がアクティブ
である場合、S=0ならPA−PBを、S=1なら−
(PA−PB)を、(J2)選択信号がネガティブであ
る場合、SB=0ならPA−PB+1を、BS=1なら
−(PA−PB+1)を、実立体値として出力する。
【0079】フレームメモリ読みだし回路26は、P
A,PB値処理回路11の出力であるPA値と3次元画
像生成部1からのライン番号Yから読み出すべきフレー
ムメモリ2のアドレスを算出し、該当アドレスから立体
値δと輝度値Iと面の傾き値Sを読み出す回路である。
同時に、旧輝度値をBIに旧面の傾き値をBSに保存す
る。これらの値はラッチ回路18〜22に保存される。
【0080】図11は、本立体化回路6の高さ処理を示
すフローチャートである。高さ処理によりドットの位置
が変動することを、高さ変動とし以下に説明する。
【0081】フローチャートは、1ライン毎に処理する
場合の例を示したものである。このフローチャートによ
る処理は一つの例を示したものであり、図9のような高
さ変動を生成する方法は、ここに示した方法以外にも容
易に考えられることは、ハードウェアの性質からも明白
である。例えば、処理のパイプライン化や並列化などが
考えられる。また、ライン毎の処理ではなく、前後のラ
インを含めて高さ処理することも可能である。
【0082】また、ラインバッファ16の書き込みは、
PBの指すアドレスの元の実立体値が書き込む実立体値
より小さい場合に行なわれる。実立体値は疑似的な高さ
を示す値で、例えば図9の(B右)でeの位置の輝度が
2〜d2の位置に高さ変動した場合、b2の実立体値は
3、c2の実立体値は2、d2の実立体値は1となる。
【0083】図11は、高さ処理を示すフローチャート
である。まず、初期化段階ではPA=0,PB=0,ラ
ッチδ=0,ラッチI=0,ラッチS=0となってお
り、ラインバッファの立体値は全て初期値でクリアされ
ている(ステップN21)。この初期化は初期化信号に
よって毎ライン毎に行なわれる。
【0084】図12は、フレームメモリ2とラインバッ
ファ16のデータの高さ処理例を示す説明図であり、こ
れに基づいて高さ処理を説明する。この状態でPAはa
1の位置を、PBはa1の位置を示している。また、
(A)はフレームメモリ2の内容に相当し、(B右)ま
たは(B左)はラインバッファ16の内容に相当する。
この説明では、(B右)が生成されて行く様子を説明す
る。そのため面の傾きは絶えずS=0となる。
【0085】始め、シーケンサ25はフレーム読みだし
信号をアクティブとし、フレームメモリ2と立体値発生
装置5から立体値δ、輝度値I、面の傾き値Sをラッチ
回路18,21,22に読み出す。始めの輝度値はaで
あり、立体値は0、面の傾きは0であるので、いまはI
=a,δ=0,S=0となる(ステップN22)。
【0086】PBのアドレス位置がa2であるので、ラ
イン幅以内であるので(ステップN23)、ステップN
24に進み、比較回路13によりPA−PBとδが比較
される。いま、PA=0,PB=0なので、PA−PB
=0。かつ、δ=0なので、比較結果は「PA−PB=
δ」となる。よって、シーケンサ25は(T11)の動
作を行なう。選択信号がアクティブなので、輝度選択回
路14はIO=aを、実立体値算出回路24はδO=PA
−PB=0を出力する。ラインバッファ書き込み回路2
3は、PBの指すアドレスa2のデータを読みだし、書
き込み判定を行なう。いま、ラインバッファ16の実立
体値が初期値なので、条件(W12)により、ラインバ
ッファ16のPBの指すアドレスa2に輝度値a、実立
体値0を書き込む。そののち、シーケンサ25はPB加
算信号とPA加算信号をアクティブにし、PB=PB+
1とPA=PA+1を行なう。その後、シーケンサ25
はフレームメモリ読み出し信号をアクティブにして、フ
レームメモリ読みだし信号により、新しい輝度値と立体
値を読みだす(ステップN22)。この時点で、PAは
1の位置を指し、PBはb2の位置を指し、aの位置の
ピクセルの立体化は終了したことになる(図12のB
0)。
【0087】この処理が繰り返され、PA=3、PB=
3となった場合を次に示す。このとき、PAはd1の位
置を、PBはd2の位置を指す。また、ラッチ回路18
〜22の値はI=c,δ=0,BI=b,S=0,BS
=0となっている。シーケンサ25がフレームメモリ読
みだし信号により、輝度値I、立体値δ、面の傾きSを
読みだし、同時に輝度値ラッチの値をBIとする(ステ
ップN22)。面の傾きラッチの値をBSとする。この
時点では、I=d,δ=2,BI=c,S=0,BS=
0となる。(図12のB1)
【0088】次に比較回路13によりPA−PBとδが
比較される。いま、PA=3,PB=3なので、PA−
PB=0。またδ=2なので、比較結果は「PA−PB
<δ」となる。シーケンサ25は(T12)の動作を行
なう。まず、シーケンサ25はPB減算信号をアクティ
ブにし、PB=PA−δ=1の演算が行なわれる。次
に、シーケンサ25は、ラインバッファ書き込み信号を
アクティブにし、ラインバッファ書き込み回路23によ
りラインバッファ16に書き込みが行なわれる。このと
き、δO=PA−PB=2となり、IO=dとなる。ま
た、ラインバッファ16の実立体値は0なので、条件
(W1)により、ラインバッファ16のPBの指すアド
レスb2に輝度値d、立体値2を書き込む。そののち、
シーケンサ25はPB加算信号とPA加算信号にアクテ
ィブにし、PA,PB値処理回路11がPB=PB+1
とPA=PA+1の演算を行なう(ステップN26)。
【0089】この時点で、PAはe1の位置を、PBは
2の位置を示す(図12のB2)。続けて説明をして
ゆくと、次に、シーケンサ25はフレームメモリ読みだ
し信号をアクティブにし、新しい輝度値と立体値を読み
だし、I=e,δ=0,BI=d,S=0,BS=0と
なる(ステップN22)。
【0090】そして比較回路13によりPA−PBとδ
が比較される(ステップN24)。いま、PA=4,P
B=2なので、PA−PB=2。またδ=0なので、比
較結果は「PA−PB>δ」となる。さらに、δ=0な
ので(ステップN29)、シーケンサ25は(S13)
の動作を行なう。まず、ラインバッファ書き込みが行な
われるが、このとき、δO=PA−PB=2となり、IO
=BI=dとなる。また、ラインバッファ16の実立体
値は0なので、条件(W1)により、ラインバッファ1
6のPBの指すアドレスc2に輝度値d、立体値2を書
き込む(ステップN30)。そののち、シーケンサ25
がPB加算信号をアクティブにし、PA,PB値処理回
路11がPB=PB+1の演算を行なう(ステップN3
1)。この時点で、PAはe1の位置を、PBはd2の位
置を示す。
【0091】つぎに、シーケンサ25は、そのまま比較
結果による処理を行なう。いま、PA=4,PB=3な
ので、PA−PB=1。またδ=0なので、比較結果は
「PA−PB>δ」となる。さらに、δ=0なので(ス
テップN29)、シーケンサ25は(T13)の動作を
行なう。まず、ラインバッファ書き込みが行なわれる。
このとき、δO=PA−PB=1、IO=BS=dとな
る。また、ラインバッファ16の実立体値は0なので、
条件(W1)により、ラインバッファ16のPBの指す
アドレスd2に輝度値d、立体値1を書き込む。そのの
ち、PB加算信号により、PB=PB+1を行なう。
(図12のB3) 以下、同様に処理はPBが1ライン
のドット数に達するまで続けられて行く(図12のB
5)。このようにして、この実施例では高さ処理による
立体化回路6を実現している。
【0092】高さ処理では、さらに陰影を付加すること
により、より立体的な映像を得ることができる。陰影を
付加する例を以下に示す。面の傾きが右奥(S=0)の
場合、高さ処理結果は図12(B5)のようになる。陰
影は、この結果のラインバッファ16のデータから簡単
に生成することができる。
【0093】図12(B5)の実立体値データを図の右
から順に参照して行き、実立体値が小さくなった場合
に、その位置に相当する輝度を変化させる(多くの場合
は暗くする)ことにより陰影は付加できる。面の傾きが
左奥(S=1)の場合も同様に実立体値データを左から
参照して行き、実立体値が小さくなった場合に、その位
置に相当する輝度を変化させることにより実現できる。
【0094】図13に、この陰影付加部のブロック図を
示す。この陰影付加部38は、ラッチ回路31〜33、
比較回路34、輝度値処理回路35、ラインバッファ読
み出し回路36、PC値処理回路37から構成される。
ラインバッファ16からデータを読み出して、ラッチ回
路31は立体値δを保持し、ラッチ回路32は前回の立
体値Bδを保持し、ラッチ回路33は輝度値Iを保持す
る。比較回路34は、δとBδを比較する。輝度値処理
回路35は、輝度値Iから適当な値に変化させる。PC
値処理回路37は、PC+1の演算を行い、次のアドレ
スにポインタを設定する。PCはラインバッファ16端
から何ドット目のピクセルデータを指し示すかを表すポ
インタである。ラインバッファ読み出し回路36は、ラ
インバッファにおけるPC値のアドレスに格納されてい
るデータを読み出す。
【0095】図14は、高さ処理時の陰影を付加する処
理のフローチャートである。図中でPCはラインバッフ
ァの右端から何ドット目のピクセルデータを指し示すか
を表すポインタであり、0から始める値を持つ。まず、
ポインタPCを0に設定する(ステップN41)。シー
ケンサ25はラインバッファ読み出し回路36にPCの
示す実立体値データをラインバッファ16から読み出さ
せ、ラッチ回路31に立体値δとして保存する(ステッ
プN42)。同時に、このδをラッチ回路32にBδと
して保存する(ステップN43)。さらに、PCの示す
実立体値データをラインバッファ16から取得し、ラッ
チ回路31にδとして保存する(ステップN44)。比
較回路34により、δとBδを比較する(ステップN4
5)。この場合は、δ=BδなのでステップN47に進
み、シーケンサ25は、PC値処理回路37にPC+1
の演算をさせて、ポインタPCを進める。PCがライン
バッファ16の大きさを越えたか否かをステップN48
において判定し、そうであれば処理を終了する。そうで
なければ、ステップN43に戻り同様の処理を行う。比
較回路34で、δ<Bδであれば(ステップN45)、
シーケンサ25はラインバッファ読み出し回路36にラ
インバッファ16から輝度データを読み出させ、ラッチ
回路33に保持させる。輝度値処理回路35に適度な輝
度に変化させ(ステップN46)、ラインバッファ書き
込み回路23を介して、PCの位置にデータを書き込
む。その後は、上記したようにステップN47,N48
と処理を進める。δ>Bδの場合は、δ=Bδと同じ処
理を行う。
【0096】<3次元画像形成装置の第2実施形態>図
15は、3次元画像生成装置の第2実施形態を示すブロ
ック図である。この画像形成装置は、前述の画像形成装
置とほぼ同じ構成である。異なる点は、立体化回路6を
3次元画像生成部1とフレームメモリ2の間に配置した
点であり、フレームメモリ2への書き込時に立体化を行
なうものである。
【0097】図1の画像形成装置との違いを述べてお
く。本画像形成装置は隠面消去されてしまう可能性のあ
るデータも立体化処理するため、全体の処理量が多くな
る欠点を持ち、レンダリング処理速度が低下する。しか
し、本画像形成装置の全てが劣る訳ではない。図1の画
像形成装置では、立体化処理したのちの凸凹による本質
的な隠面処理が不可能であるが、本画像形成装置では可
能であるという長所もある。
【0098】<3次元画像生成装置の第3実施形態>図
16は、3次元画像生成装置の第3実施形態を示すブロ
ック図である。本画像形成装置は、フレームメモリ2を
用いない3次元画像生成部1を用いた場合の構成を表し
たものである。前述の画像形成装置においては、フレー
ムメモリ2からの読み出しを、必ず左のピクセルから右
のピクセルに順に行なっている。そのため、フレームメ
モリ2が存在しなくとも、この順序で3次元画像生成部
1からピクセルデータを得られれば、処理可能である
し、そのうえ、この様なピクセルデータの出力順は非常
に一般的なものである。
【0099】ところで、上記説明では、フレームメモリ
2をラインバッファであるとして想定しているが、これ
は、説明を簡単にするためのものであり、実際に立体化
回路の入力部にラインバッファを設ける必要性はない。
例えば、説明上のラインバッファは、図1の画像形成装
置では、3次元画像生成部1の出力するポリゴン毎のピ
クセルデータ列を表し、図15の画像形成装置では、フ
レームメモリ2から順に読み出したピクセルデータ列を
表し、また図16の画像形成装置では、3次元画像生成
部1の出力する1ライン毎のピクセルデータ列を表して
いる。
【0100】
【発明の効果】請求項1〜10の発明によれば、立体値
発生手段により、立体値を求め、立体化手段により、該
立体値に応じて、テクスチャデータのピクセルを移動表
示して疑似的に立体化するので、たとえ視点や表示物体
が移動しても、それに応じてテクスチャが立体化され、
自然な画像を得ることができる。テクスチャ自体を立体
化するので、ポリゴンを凹凸に合わせて設ける必要がな
く、ポリゴンが最小の数で表示させることができ、処理
時間を短くすることができる。
【0101】更に上記効果に加えて、請求項2の発明に
よれば、前記立体値を、視線ベクトル、面の法線ベクト
ル、バンプデータ、奥行き値を含む画像データから算出
するので、使用者が設定しなくとも自動で演算が可能と
なる。
【0102】請求項3及び4の発明によれば、前記立体
値を任意に変化可能としたので、凹凸の大きさを変える
ときに、いちいちテクスチャを張り替える必要がなく、
操作が簡易化されるとともに、テクスチャメモリを余分
に使う必要がなくなる。
【0103】請求項5の発明によれば、前記立体化手段
は、前記立体値に応じてピクセルを移動し、該ピクセル
の移動方向とは逆方向に隣接するピクセルを前記移動ピ
クセルに伴って移動するので、テクスチャをマッピング
したポリゴンの辺も歪ませることが可能で、例えば、は
ためく旗の端辺が波うつような効果を得ることができ
る。このように凹凸に応じてポリゴン自体の形状も変化
させることができるので、少ないポリゴンで処理が可能
となる。
【0104】請求項6の発明によれば、前記立体化手段
は、前記立体値に応じてピクセルを移動し配置したの
で、内部の多数のバンプを一枚のポリゴンで表現可能
で、処理時間を短縮できる。
【0105】請求項7の発明によれば、立体化されたテ
クスチャにバンプマッピングによる陰影を付加するの
で、より自然な画像を得ることができる。
【0106】請求項8の発明によれば、フレームメモリ
にテクスチャを張り付けた画像データを格納し、その画
像データを立体化処理するので、隠面消去等の処理が終
了したデータを立体化処理することができ、処理データ
量が少なくてすむ効果を有する。
【0107】請求項9の発明によれば、立体化処理した
画像データをフレームメモリに格納してから表示するの
で、立体化処理したのちの凸凹による本質的な隠面処理
が可能である。
【0108】請求項10の発明によれば、フレームメモ
リを必要としないので、コストを安くすることができ
る。
【図面の簡単な説明】
【図1】本発明に係るテクスチャ立体化装置を用いた3
次元画像生成装置の第1実施形態を示すブロック図であ
る。
【図2】立体値の幾何学的演算の説明図である。
【図3】摂動処理による効果を示す説明図である。
【図4】メモリを利用した摂動処理の概略を示す説明図
である。
【図5】摂動処理を実現する立体化回路のブロック図で
ある。
【図6】摂動処理を示すフローチャートである。
【図7】メモリを利用した摂動処理の具体例を示す説明
図である。
【図8】高さ処理による効果を示す説明図である。
【図9】メモリを利用した高さ処理の概略を示す説明図
である。
【図10】高さ処理を実現する立体化回路のブロック図
である。
【図11】高さ処理を示すフローチャートである。
【図12】メモリを利用した高さ処理の具体例を示す説
明図である。
【図13】陰影付加部のブロック図である。
【図14】高さ処理時の陰影を付加する処理を示すフロ
ーチャートである。
【図15】本発明に係るテクスチャ立体化装置を用いた
3次元画像生成装置の第2実施形態を示すブロック図で
ある。
【図16】本発明に係るテクスチャ立体化装置を用いた
3次元画像生成装置の第3実施形態を示すブロック図で
ある。
【符号の説明】
1 3次元画像生成部 2 フレームメモリ 3 テクスチャメモリ 4 レジスタ 5 立体値発生回路 6 立体化回路 7 表示装置
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−271877(JP,A) 特開 平4−106672(JP,A) 特開 平5−143711(JP,A) 特開 平6−343141(JP,A) 特開 平7−57118(JP,A) 特開 平7−254072(JP,A) 特開 平8−305894(JP,A) 特開 平9−114994(JP,A) 特開 昭63−213079(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 300 JICSTファイル(JOIS)

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 テクスチャを立体化表示するために、テ
    クスチャデータの各ピクセルを視線方向から投影面に投
    影した場合、ポリゴン面に対応した位置とバンプを考慮
    した投影位置とのずれを表す立体値を求める立体値発生
    手段と、 視線方向から見た場合の2次元画像を、前記立体値に応
    じてピクセルをポリゴン面に対応した位置からバンプを
    考慮した投影位置へ移動表示させて疑似的に立体化する
    立体化手段と、 を備えることを特徴とする立体テクスチャマッピング処
    理装置。
  2. 【請求項2】 前記立体値発生手段は、前記立体値を、
    視線ベクトル、面の法線ベクトル、バンプデータ、奥行
    き値を含む画像データから算出することを特徴とする請
    求項1記載の立体テクスチャマッピング処理装置。
  3. 【請求項3】 前記立体値発生手段は、前記立体値にパ
    ラメータを掛け合わせることよって任意に変化可能とし
    たことを特徴とする請求項1又は2記載の立体テクスチ
    ャマッピング処理装置。
  4. 【請求項4】 前記立体値発生手段は、前記立体値をイ
    ンデックステーブルによって任意に変化可能としたこと
    を特徴とする請求項1又は2記載の立体テクスチャマッ
    ピング処理装置。
  5. 【請求項5】 前記立体化手段は、前記立体値に応じて
    ピクセルを移動したときに、該ピクセルの移動方向とは
    逆方向に隣接するピクセルを前記移動ピクセルに伴って
    移動することを特徴とする請求項1記載の立体テクスチ
    ャマッピング処理装置。
  6. 【請求項6】 前記立体化手段は、前記立体値がポリゴ
    ン面の高さを表す量ととらえ、前記立体値と視線方向か
    ら見た面の傾きに応じてピクセルを移動し配置したこと
    を特徴とする請求項1記載の立体テクスチャマッピング
    処理装置。
  7. 【請求項7】 ピクセルの輝度値を前記立体値に応じて
    変化させることで、立体化されたテクスチャにバンプマ
    ッピングによる陰影を付加することを特徴とする請求項
    1、5又は6記載の立体テクスチャマッピング処理装
    置。
  8. 【請求項8】 テクスチャマッピングにより3次元グラ
    フィックの画像データを生成する画像生成手段と、 前記画像生成手段で生成された画像データを格納するフ
    レームメモリと、 テクスチャのデータが保存されているテクスチャメモリ
    と、 テクスチャを立体化表示するために、前記画像生成手段
    からの座標データとテクスチャデータにより、各ピクセ
    ルを視線方向から投影面に投影した場合、ポリゴン面に
    対応した位置とバンプを考慮した投影位置とのずれを表
    す立体値を求める立体値発生手段と、 視線方向から見た場合の2次元画像を、前記立件値に応
    じて前記フレームメモリ上にあるピクセルをポリゴン面
    に対応した位置からバンプを考慮した投影位置へ移動表
    示させて疑似的に立体化する立体化手段と、 前記立体化手段で生成された画像データを表示する表示
    装置と、 を備えたことを特徴とする3次元画像生成装置。
  9. 【請求項9】 テクスチャマッピングにより3次元グラ
    フィックの画像データを生成する画像生成手段と、 テクスチャのデータが保存されているテクスチャメモリ
    と、 テクスチャを立体化表示するために、前記画像生成手段
    からの座標データとテクスチャデータにより、各ピクセ
    ルを視線方向から投影面に投影した場合、ポリゴン面に
    対応した位置とバンプを考慮した投影位置とのずれを表
    す立体値を求める立体値発生手段と、 視線方向から見た場合の2次元画像を、前記立体値に応
    じて前記画像生成手段から出力されたピクセルをポリゴ
    ン面に対応した位置からバンプを考慮した投影位置へ移
    動表示させて疑似的に立体化する立体化手段と、 前記立体化手段で生成された画像データを格納するフレ
    ームメモリと、 前記フレームメモリで生成された画像データを表示する
    表示装置と、 を備えたことを特徴とする3次元画像生成装置。
  10. 【請求項10】 テクスチャマッピングにより3次元グ
    ラフィックの画像データを生成する画像生成手段と、 テクスチャのデータが保存されているテクスチャメモリ
    と、 テクスチャを立体化表示するために、前記画像生成手段
    からの座標データとテクスチャデータにより、各ピクセ
    ルを視線方向から投影面に投影した場合、ポリ ゴン面に
    対応した位置とバンプを考慮した投影位置とのずれを表
    す立体値を求める立体値発生手段と、 視線方向から見た場合の2次元画像を、前記立体値に応
    じて前記画像生成手段から出力されたピクセルをポリゴ
    ン面に対応した位置からバンプを考慮した投影位置へ移
    動表示させて疑似的に立体化する立体化手段と、 前記立体化手段で生成された画像データを表示する表示
    装置と、 を備えたことを特徴とする3次元画像生成装置。
JP10634097A 1997-04-23 1997-04-23 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 Expired - Fee Related JP3294149B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10634097A JP3294149B2 (ja) 1997-04-23 1997-04-23 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
US09/064,036 US6078334A (en) 1997-04-23 1998-04-22 3-D texture mapping processor and 3-D image rendering system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10634097A JP3294149B2 (ja) 1997-04-23 1997-04-23 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置

Publications (2)

Publication Number Publication Date
JPH10302079A JPH10302079A (ja) 1998-11-13
JP3294149B2 true JP3294149B2 (ja) 2002-06-24

Family

ID=14431122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10634097A Expired - Fee Related JP3294149B2 (ja) 1997-04-23 1997-04-23 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置

Country Status (2)

Country Link
US (1) US6078334A (ja)
JP (1) JP3294149B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7338743B2 (ja) 2015-12-25 2023-09-05 株式会社リコー 診断装置、診断方法、プログラムおよび診断システム

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999026201A1 (en) * 1997-11-14 1999-05-27 Koninklijke Philips Electronics N.V. Computer graphics bump mapping method and device
US6762768B2 (en) * 1998-06-01 2004-07-13 Ati Technologies, Inc. Method and apparatus for rendering an object using texture variant information
WO2000004482A2 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Multi-processor graphics accelerator
US6741245B1 (en) * 1999-04-23 2004-05-25 Mitsubishi Electric Research Laboratories, Inc. Method for decorating a virtual model
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6456291B1 (en) * 1999-12-09 2002-09-24 Ati International Srl Method and apparatus for multi-pass texture mapping
JP3625172B2 (ja) * 2000-04-26 2005-03-02 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録されたコンピュータ読み取り可能な記録媒体およびビデオゲーム装置
JP4443012B2 (ja) 2000-07-27 2010-03-31 株式会社バンダイナムコゲームス 画像生成装置、方法および記録媒体
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7415401B2 (en) * 2000-08-31 2008-08-19 Exxonmobil Upstream Research Company Method for constructing 3-D geologic models by combining multiple frequency passbands
WO2002023484A1 (fr) * 2000-09-13 2002-03-21 Center For Advanced Science And Technology Incubation, Ltd. Procede de mappage de texture et dispositif de rendu d'image
US6828980B1 (en) 2000-10-02 2004-12-07 Nvidia Corporation System, method and computer program product for z-texture mapping
US6731298B1 (en) 2000-10-02 2004-05-04 Nvidia Corporation System, method and article of manufacture for z-texture mapping
GB0105103D0 (en) 2001-03-01 2001-04-18 Superscape Ltd Texturing method and Apparatus
US9081681B1 (en) * 2003-12-19 2015-07-14 Nvidia Corporation Method and system for implementing compressed normal maps
JP4436732B2 (ja) 2004-08-20 2010-03-24 株式会社島精機製作所 マッピング装置とマッピング方法及びそのプログラム
US8078656B1 (en) 2004-11-16 2011-12-13 Nvidia Corporation Data decompression with extra precision
US7961195B1 (en) 2004-11-16 2011-06-14 Nvidia Corporation Two component texture map compression
US7928988B1 (en) 2004-11-19 2011-04-19 Nvidia Corporation Method and system for texture block swapping memory management
US7916149B1 (en) * 2005-01-04 2011-03-29 Nvidia Corporation Block linear memory ordering of texture data
KR100738500B1 (ko) * 2006-02-20 2007-07-12 한국과학기술원 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법
US8594441B1 (en) 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
US8724895B2 (en) * 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
JP5009847B2 (ja) * 2008-03-28 2012-08-22 富士フイルム株式会社 立体画像生成装置および方法並びにプログラム
US8373718B2 (en) * 2008-12-10 2013-02-12 Nvidia Corporation Method and system for color enhancement with color volume adjustment and variable shift along luminance axis
US8610732B2 (en) * 2008-12-11 2013-12-17 Nvidia Corporation System and method for video memory usage for general system application
US8355541B2 (en) * 2009-07-14 2013-01-15 Empire Technology Development Llc Texture sensing
JP5875120B2 (ja) * 2010-07-30 2016-03-02 学校法人 芝浦工業大学 他視点閉曲面画素値補正装置、他視点閉曲面画素値補正方法、利用者位置情報出力装置、利用者位置情報出力方法
US9727667B2 (en) 2013-06-10 2017-08-08 Honeywell International Inc. Generating a three dimensional building management system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5557711A (en) * 1990-10-17 1996-09-17 Hewlett-Packard Company Apparatus and method for volume rendering
JP2883514B2 (ja) * 1993-06-10 1999-04-19 株式会社ナムコ 画像合成装置およびこれを用いたゲーム装置
US5761601A (en) * 1993-08-09 1998-06-02 Nemirofsky; Frank R. Video distribution of advertisements to businesses
JP3704734B2 (ja) * 1994-01-26 2005-10-12 株式会社日立製作所 テクスチャマッピング方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7338743B2 (ja) 2015-12-25 2023-09-05 株式会社リコー 診断装置、診断方法、プログラムおよび診断システム

Also Published As

Publication number Publication date
JPH10302079A (ja) 1998-11-13
US6078334A (en) 2000-06-20

Similar Documents

Publication Publication Date Title
JP3294149B2 (ja) 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置
US10083538B2 (en) Variable resolution virtual reality display system
JP3972784B2 (ja) 画像処理装置およびその方法
WO2017206325A1 (zh) 全局光照的计算方法及装置
US10593096B2 (en) Graphics processing employing cube map texturing
Welsh Parallax mapping with offset limiting: A per-pixel approximation of uneven surfaces
RU2427918C2 (ru) Метафора двумерного редактирования для трехмерной графики
US8072456B2 (en) System and method for image-based rendering with object proxies
US6590574B1 (en) Method, system, and computer program product for simulating camera depth-of-field effects in a digital image
US7133052B1 (en) Morph map based simulated real-time rendering
KR100489572B1 (ko) 화상 처리 방법
JP2004199301A (ja) 画像加工装置
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
CN110335335A (zh) 用于球面投影的均匀密度立方体贴图渲染
KR100848687B1 (ko) 3차원 그래픽 처리 장치 및 그것의 동작 방법
JP4060375B2 (ja) スポットライト特性形成方法及びこれを用いた画像処理装置
JP4717624B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4714919B2 (ja) レンダリング装置及び記録媒体並びにプログラム
JP2001283254A (ja) 3次元グラフィックス描画装置およびその方法
JP3867071B2 (ja) 画像処理装置、画像処理方法
Okuya et al. Reproduction of perspective in cel animation 2D composition for real-time 3D rendering
JP2010086264A (ja) 画像処理装置および画像処理プログラム
JP2000057372A (ja) 画像処理装置、画像処理方法及び記憶媒体
JP2002352264A (ja) 模様画像作成方法および装置
JP2002230579A (ja) 画像作成方法および装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080405

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees