(57)【要約】【課題】  レース布のような半透明物体が揺れて、面の一部で視点方向と成す角度が変化し、透明度が動的に変化する場合の背景を含めた映像表現を、実時間で描画可能にする技術。【解決手段】  面法線と視線ベクトルとの内積値をアドレスとするＲＡＭテーブルを用意し、それぞれの半透明物体モデルによって異なる透過率の変化をこれに記憶する手段と、光源と面法線が成す角度が９０°を超える面においても、透過光を想定した輝度を与え、これによって背面の透過効果を考慮して得た面輝度と背景輝度とを、前記テーブルの透過率で線形に合成して表示する手段をもつ半透明物体表示回路。【選択図】「図１」
2005174274.tif 000002
【特許請求の範囲】
【請求項１】
半透明性をもつ面定義物体のポリゴンレンダリング回路に関し、多角形面のそれぞれの頂点には、透過率と共に、視線ベクトルと面法線をそれぞれ定義し、これら透過率、視線ベクトルおよび面法線をそれぞれ多角形面内で線形に補間する手段と、補間値から、乗算器および加算器を用いて視点方向と面法線とが成す角度を求め、この角度をパラメータとする関数によって、前記透過率および多角形面の輝度をそれぞれ変化させる手段をもつ半透明物体表示回路。
【請求項２】
請求項１の関数において、視点方向と面法線とがなす内積値をアドレスとするメモリーを設け、前記メモリーには、ポリゴン面の透過率として予め定義された透過率をスケーリングする値を記憶した透明物体表示回路。
【請求項３】
請求項１の回路において、ポリゴンのそれぞれの頂点には、面法線、視線ベクトル、透過率および光源入射ベクトルを定義し、面法線と光源入射角とのなす角度を用いて光源入射方向とは背面となるポリゴン面にも輝度分布を行う手段をもつ半透明物体表示回路
【発明の詳細な説明】
【技術分野】
【００１】  この発明は半透明物体の厚み効果をコンピュータグラフィックスで表現すためのレンダリング技術に関し、仮想現実システムの実時間可視化回路としてＬＳＩに適用する。
【背景技術】
【００２】  半透明物体のコンピュータグラフィックス描画には、物体の透過率をテキスチャーパターンとともに定義し、これをポリゴン内部にマッピングする手法や、ポリゴンの頂点毎に透過率を設定し、これをポリゴン内部で線形に補間する手法等があり、これら手法で得られた画素毎の透過率を使用してポリゴンの色とその背景となる物体の色とを合成する。この合成によって画素毎に透明度を変化させることが可能となる。しかし、布のような物体では、動き揺らぐことによって視点方向から見た布の面法線は平行から直交状態まで変化する。視点方向と面法線が直交関係となる場合は、布は重なりや厚みを持った状態となり、透明感は減少する。一方、レースカーテンのような場合では、メッシュ間の透けた空間（面積）は視点方向から見て、面法線が平行となる場合には最大となり最も透過率が高く、この面が視点方向と直交する場合には透けた空間はゼロとなり不透明となる。このような物体では透過率は視点から見たメッシュ空間の大きさに比例する。前記した従来の透過率定義法では視点と面の方向に関係する透明感の変化を表現することができない。この結果、現実とは異なる映像となる。
一方、半透明物体やレース布では、しばしば用いられるフォンモデル等の光反射推論法は適応できない。これは光源入射角と面法線とが成す角度が９０度を越える面においては拡散成分、鏡面反射成分ともにゼロとなるからである。環境光による輝度バイアスは可能であるが、このモデル法を半透明物体に適用すると自然とは大きな表示効果上の違和感が生じる。半透明物体では通過する光による反対面の照射を考慮する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００３】  揺らぎ等によって半透明物体が、視点方向と直交する状態にある場合、透過率が低下する。この効果を映像として得るためには、視点方向と面法線とが成す角度に対応して透過率を動的に変化させる必要がある。本発明は半透明物体面と視点との位置関係を用いて透過率のスケール値を生成することにより不透明感効果を得る手法である。一方、光源入射面に対し背面となる面での透過光照射による輝度の生成についても本発明では光反射範囲を拡大したモデルを定義して解決する。
【課題を解決するための手段】
【００４】  本発明ではポリゴンのそれぞれの頂点に透過率、面法線および視線ベクトルを定義する。ポリゴンの内挿補間によって、ポリゴン内部の前記法線と視線ベクトルを求め、これら２つのベクトルの成す角度を求める。面法線と視点ベクトルとの成す方向余弦ｃｏｓθは（１）式から得られる。（１）式において（Ｎｘ，Ｎｙ，Ｎｚ）と（Ｅｘ，Ｅｙ，Ｅｚ）はそれぞれ法線と視点方向の単位ベクトルとなる。
頂点に定義された透過率をαとすると、視点と面法線の成す角を考慮した透過率ｔは（２）式で与えられる。ここでｋおよびｎは物体の透過率およびメッシュ空き面積に関わる係数と指数値である。（２）式のｔ関数はｃｏｓθの１変数のみであり、各式を直接、乗算器と加減算器で構成可能である。またｃｏｓθをアドレスとするＲＡＭテーブルを用いても得ることができる。ポリゴン自身の色Ｐと、背景の色Ｂとの合成は（３）式により得られる。（１）から（３）式のそれぞれを回路化することで物体面と視点方向との関係に依存した透過率の変化を実時間で表現することができる。
ｃｏｓθ＝Ｎｘ・Ｅｘ＋Ｎｙ・Ｅｙ＋Ｎｚ・Ｅｚ        （１）
ｔ＝α×（１−ｋ・ｓｉｎ２ｎθ）                    （２）
Ｉｐ＝（１−ｔ）・Ｐ＋ｔ・Ｂ                        （３）【００５】  コンピュータグラフィックスでは（４）式で定義されるフォン推論モデルが光反射表現にしばしば応用される。
Ｉ＝Ｋｄ・（Ｎ・Ｌ）＋Ｋｓ・｛２Ｎ（Ｎ・Ｌ）−Ｌ｝Ｖ      （４）
（４）式でＮ、ＬおよびＶはそれぞれ面法線、光源入射ベクトルおよび視線ベクトルである。ＫｄおよびＫｓは拡散反射および鏡面反射係数である。ここでＮとＬとの内積ｃｏｓθの範囲は０≦θ≦９０°で与えられておりＮとＬとのなす角が９０°を超えると拡散反射および鏡面反射成分ともゼロとなる。不透明物体の場合にはこの設定が有効であるが、半透明物体では光源方向と相反する面には、光源側の面を通過した光が背面を照らすことにより、不透明物体とは異なる反射モデルが必要となる。本発明では背面を照らす効果を得る手段として（５）式を設定する。
2005174274.tif 000003
ここでＫｄ１≦Ｋｄ０およびＫｓ１≦Ｋｓ０とする。拡散Ｋｄ１および鏡面Ｋｓ１反射係数は透明度に依存する。以上から本発明では物体の幾何学的な厚みを計算しなくとも、面の法線と視点角を用いて半透明物体の厚み効果を出すことができる。
【発明の効果】
【００６】  本発明により、レースや半透明の布のような物体が揺れて寄り合っている部分の透明度が変化するときの現実感のある映像を実時間で描画することができる。
【発明を実施するための最良の形態】
【００７】  本発明の回路はコンピュータグラフィックスのレンダラーとしてＬＳＩ内に実装される。
【実施例】
【００８】  以下本発明の実施例を説明する。図１は本発明の半透明物体表示回路を示す。図１において半透明物体の面の法線、視線ベクトルおよび光源入射ベクトルをそれぞれＮ、Ｖ、およびＬとする。これらベクトルは多角形（通常３角形）の頂点毎にそれぞれ定義され、多角形内部での値を、これらの頂点データを用いて線形補間方式で得る。こうして得られた多角形内の任意の点の輝度を求めるにあたって、面法線と視線ベクトルは、内積回路１において、ぞれぞれが成す方向余弦（Ｎ・Ｖ）求める。この方向余弦ｃｏｓθは視点と面の向きが直交するときゼロとなり、平行で最大値１．０となる。ｃｏｓθはＲＡＭテーブル２に与えられ、その出力は、半透明物体に定義された素材そのものの透過率αを乗算器５ａによりスケーリングする。すなわち乗算器５ａの出力は、視点と物体面の傾きの関係に影響された透過率となる。一方、面法線Ｎと光源入射角ベクトルＬは、ベクトル内積回路３にてそれらの方向余弦（Ｎ・Ｌ）を求めた後、鏡面反射角回路４にて、Ｒ＝２Ｎ（Ｎ・Ｌ）−Ｌの関係式によって反射ベクトルＲを求め、これを視線ベクトルＶとの内積をとる。内積回路３および鏡面反射回路４から、乗算器５ｂおよび５ｃに与えられるものはそれぞれ半透明物体上での拡散反射成分と鏡面反射成分となる。面法線と光源入射ベクトルとの内積を行う内積回路３では、その角度が９０°を超える場合の符号も出力する。例えば光源との成す角が±９０°以内であれば０、以上であれば１とする。この信号をマルチプレクサ６ａおよび６ｂに与え、拡散反射係数Ｋｄ０、Ｋｄ１および鏡面反射係数Ｋｓ０、Ｋｓ１を選択する。Ｋｄ０およびＫｓ０は±９０°以内、Ｋｄ１およびＫｓ１は以上となる。それぞれの反射成分に係数が乗算器５ｂおよび５ｃにて掛け合わされた後、加算器７ａにて加算される。実際の回路では拡散反射成分には、さらに光源の色、テクスチャー色、拡散反射係数が、また鏡面反射成分には光源色、鏡面反射色、鏡面反射係数がそれぞれ掛け合わされるが、これら回路は本発明の新規課題とは異なるので省略する。【００９】  本発明では拡散および鏡面反射成分の合成値Ｃｓは、さらに前記５ａで得られた透過率を用いて、背景色Ｃｂと線形合成を行う。この合成は透過率をαｓ、透過率合成値をＩとすると、
Ｉ＝Ｃｓ×αｓ＋Ｃｂ×（１−αｓ）
で与えられる。Ｃｓとαｓとの乗算は乗算器５ｄ、（１−αｓ）の減算は減算器８、またＣｂ×（１−αｓ）の乗算は乗算器にて行い、これらが加算器７ｂにて加算されて背景色との透過率を考慮した合成値を得る。【０１０】  図２には本発明のＲＡＭテーブルに記憶される透過率を示す。横軸をＮとＶが成す角度を示し、縦軸を透過率スケール値Ｉとする。図１の内積回路１で求めた方向余弦ｃｏｓθは９０°を超えると１となるような符号付きの値とすると、図２において９０°以上での値はＲＡＭテーブルのアドレスの上位に記憶されることになる。半透明物体の透過率が、レース布のような平面的な隙間空間で決定される場合には、例えば前記【００４】項の（２）式によって得られた値をあらかじめ計算しておき、これを記憶する。物体によってそれぞれ透過率の数式モデルは、例えば曲線ａおよびｂのように異なるためテーブルはＲＡＭとし、物体が異なる毎にテーブル内容を入れ替える。図２において９０°を境に曲線が異なるのは、９０°以上では透過光による輝度によって照らされた光源方向とは反対面の減衰した輝度であり、この面に対する透過率であるため、光源面とは対称とはならない。また図１においてマルチプレクサ６ａおよび６ｂの入力係数Ｋｄ０、Ｋｄ１、Ｋｓ０、Ｋｓ１は、光源方向の面と、その反対面とでそれぞれ切り替わるが、一般的には光源と反対面の係数は、正面に比べて低い値が設定される。
【産業上の利用可能性】
【０１１】  本発明の回路は実時間と現実感を同時に得るため、コンピュータグラフィックスＬＳＩに実装される。
【図面の簡単な説明】
【０１２】
【図１】「本発明の半透明物体表示回路を示す。」
【図２】「本発明のＲＡＭテーブルに記憶される透過率値の特性を示す。」
【符号の説明】
図１
１  面法線・視線ベクトル内積回路
２  ＲＡＭテーブル
３  面法線・光源入射ベクトル内積回路
４  鏡面反射回路
５ａ，５ｂ，５ｃ  乗算器
６ａ，６ｂ  マルチプレクサ
７ａ，７ｂ  加算器
８  減算器
図２
ａ，ｂ  透過率曲線
【図１】
2005174274.tif 000004
【図２】
2005174274.tif 000005