JP2009163469A - 大局照明回路 - Google Patents
大局照明回路 Download PDFInfo
- Publication number
- JP2009163469A JP2009163469A JP2007341995A JP2007341995A JP2009163469A JP 2009163469 A JP2009163469 A JP 2009163469A JP 2007341995 A JP2007341995 A JP 2007341995A JP 2007341995 A JP2007341995 A JP 2007341995A JP 2009163469 A JP2009163469 A JP 2009163469A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- grid
- polygon
- luminance
- ambient light
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
【課題】多角形内部の環境光のレンダリング段階の計算量を減らし描画の高速化を図る。
【解決手段】描画空間を複数のグリッドで空間分割し、それぞれのグリッドがもつ頂点での環境光による輝度を予め決定し、前記グリッド頂点輝度とグリッドの中心座標を記憶するバッファをグリッド毎に設ける手段と、物体の多角形頂点毎の環境光を得る手段として多角形頂点を含む近接するグリッドを検索して、選択されたグリッドの頂点それぞれの輝度と中心座標値を前記バッファから読み出し、グリッド頂点輝度、グリッド座標値および多角形頂点座標値のそれぞれを用いて、多角形頂点における環境光を決定する手段と、またグリッド頂点と多角形頂点との位置関係に基づく輝度補間を行う、それぞれの手段によって環境光を頂点データの一つとし、この多角形頂点列を視野変換およびレンダリング回路に加え頂点データを内挿補間して多角形内部の環境光を求める。
【選択図】図1
【解決手段】描画空間を複数のグリッドで空間分割し、それぞれのグリッドがもつ頂点での環境光による輝度を予め決定し、前記グリッド頂点輝度とグリッドの中心座標を記憶するバッファをグリッド毎に設ける手段と、物体の多角形頂点毎の環境光を得る手段として多角形頂点を含む近接するグリッドを検索して、選択されたグリッドの頂点それぞれの輝度と中心座標値を前記バッファから読み出し、グリッド頂点輝度、グリッド座標値および多角形頂点座標値のそれぞれを用いて、多角形頂点における環境光を決定する手段と、またグリッド頂点と多角形頂点との位置関係に基づく輝度補間を行う、それぞれの手段によって環境光を頂点データの一つとし、この多角形頂点列を視野変換およびレンダリング回路に加え頂点データを内挿補間して多角形内部の環境光を求める。
【選択図】図1
Description
本発明は、コンピュータグラフィックス描画技術に関し、環境光による周辺物体への照明効果をレンダリングするためのアルゴリズムと、そのアルゴリズムを実装する回路構成および装置分野に属する。
推論的照明モデル(例えばPhongモデル)では、環境光が物体に及ぼす輝度は一定値と見なし物体の幾何学的配置によって変化する環境光の影響は考慮されていない。一方、近年の実時間レンダリングでは、リアリティーの高い映像を表現する上で物理的な照明モデルが重視され、環境条件を反映する大局照明の必要もでている。環境光の効果を正確に表現する従来技術には、ラジオ・シティー法やホトンマッピング法が知られているが、これらアルゴリズムは実時間性を得ることが困難である。一つの手段として特願2005−267621では環境空間を立方体(環境キューブ)で囲み、立方体の6面それぞれに面周辺の輝度をマッピングすると共に、立方体のそれぞれの面に輝度参照点を設け、物体のレンダリング(内挿補間)毎に、これら参照点を仮想的な光源と見なしてレンダリング点の輝度を決定する方法が提案された。この方法はラジオ・シティーよりは高速処理が可能であるもののレンダリング点毎に複数の参照点との輝度計算が必要であり、参照点数に反比例して内挿補間速度の低下が生じた。
本発明は、特願2005−267621のレンダリング毎に前記参照点輝度を基に計算するのではなく、物体を定義する多角形頂点に、環境光による輝度をレンダリング処理以前に予め決定しておき、これをレンダリング段階で単純に線形補間だけをして多角形内部の環境光を求めるものであり、画素毎の計算処理量を減らし描画の高速化を図ることを課題としている。
本発明は描画空間を直方体と見なし、この空間をnxmxp(n、m、pは任意の数)個のボリュームに分割してグリッド空間化し、グリッドがもつ輝度を求める。グリッド空間の輝度は、グリッドの頂点(格子点)8点に定義し、これら点での輝度は例えばレイトレースあるいはラジオ・シティー法で求める。この8点の頂点輝度(以下これをグリッド輝度という)計算自体は既知の技術を用いることが可能であり、本発明の範囲としない。グリッド空間のサイズnxmxpは環境空間の輝度分布が空間内で局所的に多様に変化する場合は値を大きく(グリッドサイズを小さく)し、余り変化のない空間では粗く設定する。すなわちnxmxpの大きさはそれら状況に応じて精細度を制御するものである。
グリッド頂点の輝度は環境内に配置される様々な物体の位置や形状によって変化する。本発明では予め、前記したラジオ・シティー法等によってグリッド8頂点における光源や周辺物体から反射する照射輝度をレンダリング処理の前に求め、これらをグリッド数分のバッファを設け、ここにグリッド輝度およびグリッド座標値(グリッド中心点)を記憶する。
一方、物体のレンダリングは通常、物体を多角形頂点列で定義し、それぞれの頂点には3次元座標値、面法線、テキスチャマッピング座標値等が設定される。これらはワールド座標から視野変換を経てレンダリング回路に与えられ、レンダリング回路では多角形内部を、頂点定義データを基に内挿補間して、補間値を基にそれぞれの内挿点(画素)の輝度を決定する。特願2005−267621では、レンダリング段階の内挿補間点(画素単位)毎に、環境キューブ上に設定された複数の参照点輝度を仮想光源として、この光源が内挿点に及ぼす輝度を求めた。この結果、参照点が環境キューブ面あたり、例えば16点の参照点があれば、画素当たり16x6面分の仮想光源となり、この光源数分の輝度を計算する必要があった。本発明では内挿補間段階で何らかのベクトル計算等を含む演算を用いて輝度を決定するのではなく、レンダリングを始める以前に多角形頂点には環境光を設定し、これを頂点データとしてレンダリング段階で直接内挿補間する。よって内挿補間段階では補間処理以外の計算処理は無い。
視野変換以前の段階で、多角形頂点に定義する環境光を計算するには、多角形頂点を含むグリッドのグリッド輝度から環境光を求めればよい。しかし、グリッド8頂点の平均値を多角形頂点における環境光とするには、頂点の一部が物体の内部点であったり、グリッドサイズが大きな場合には大きな誤差を生じる可能性がある。本発明では、この誤差を最小化するために、頂点を含むグリッドと、そのグリッドに隣接する複数のグリッドの中で多角形頂点がもつ面法線と面接線(面法線と直交し頂点を通過する面)がなす半球空間に含まれるグリッドをそれぞれ選択し、このグリッドに対してのみ輝度計算の対象とする。前記半球空間とする理由は多角形頂点の背後となるグリッドがもつ輝度は頂点輝度に関与しないものとし、計算負荷を軽減するためである。
前記半球空間に含まれるグリッドの選択においては、半球空間の半径をどの程度に設定するかによって選択されるグリッド数が左右される。本発明では、半径はグリッド分割に依存して最適化する。
一方、多角形頂点を含むグリッドがもつグリッド頂点の一部が多角形の内部あるいは外部のそれぞれに位置する可能性がある。本発明ではグリッド頂点が多角形内部であれば、グリッド頂点輝度計算の段階において、その点の輝度はゼロあるいは内部であることを示すフラグをセットする。グリッド当たりの平均的輝度を決定する際にグリッド頂点のうち、このフラグが立っている頂点数は平均化計算(母数)には加えない。よって8頂点のうち、例えば3頂点が物体で内部であれば、グリッド輝度はそれぞれの外部頂点の輝度の合計値を5で除算した値とする。
さらに本発明では、複数のグリッドが選択された場合、それぞれのグリッド輝度から多角形頂点を照射する輝度は異なるものとして、グリッド輝度と中心座標値を記憶した前記バッファから、グリッド輝度と中心座標値を読み出し、グリッド輝度を平均化した輝度と、グリッド中心点と多角形頂点とを結ぶ方向をグリッド輝度からの照射方向として、多角形頂点の面法線と、グリッドからの照射ベクトルとの内積を求め、さらに内積値にグリッドの平均化輝度を乗算したものを、そのグリッドからの輝度とする。
一方、グリッドサイズが大きな場合にはグリッド頂点のそれぞれの輝度と多角形頂点との位置からグリッド内での3次元内挿補間を行う。これは(1)式で与えられる。
D1=(1.0−A)*I0+A*I1
D2=(1.0−A)*I2+A*I3
D3=(1.0−A)*I4+A*I5
D4=(1.0−A)*I6+A*I7 (1)
E1=(1.0−B)*D1+B*D2
E2=(1.0−B)*D3+B*D4
F =(1.0−C)*E1+C*E2
ここでA,B,Cはグリッド原点(左下手前の頂点)から多角形頂点位置までの横幅、奥行、高さとし、I0−I7はそれぞれのグリッド8頂点の輝度を示す。Fが多角形頂点における輝度となる。グリッド幅は1とする。
D1=(1.0−A)*I0+A*I1
D2=(1.0−A)*I2+A*I3
D3=(1.0−A)*I4+A*I5
D4=(1.0−A)*I6+A*I7 (1)
E1=(1.0−B)*D1+B*D2
E2=(1.0−B)*D3+B*D4
F =(1.0−C)*E1+C*E2
ここでA,B,Cはグリッド原点(左下手前の頂点)から多角形頂点位置までの横幅、奥行、高さとし、I0−I7はそれぞれのグリッド8頂点の輝度を示す。Fが多角形頂点における輝度となる。グリッド幅は1とする。
前記[005]から[011]に記載のそれぞれの手段は、すべてレンダリングされる前段階において、実行されるものであり、レンダリング段階では、多角形頂点に設定された前記プロセスを経て求められた輝度(環境光)を頂点間で内挿補間するだけである。
環境空間をグリッド化し、それぞれのグリッド輝度を予め求める方式では、空間内の物体全てが静止し視点の変更だけであれば、グリッド輝度の再計算は必要がない。一方、動く物体が存在する場合、環境光に影響を与える。この場合、通常では再びグリッド頂点輝度を計算し、更新しなくてはならない。本発明では大局照明においてこの影響を受ける対象となるグリッドは、動く物体周辺と仮定し、動体周辺のグリッドを選択してそれぞれの輝度を再計算する。もし、動く物体が光源を横切り、空間全体の照明に影響を与えるような場合は、影計算がレンダリング段階で並行して行われており、シャドウ効果等の多機能による処理によってその影響は小さいものと見なす。
以上から本発明は、環境光による大局照明に関して、描画空間をグリッドに空間分割してグリッド頂点それぞれにおける周辺光を求め、これをグリッド毎にバッファに記憶した後、描画する物体多角形の頂点がどのグリッドに属するのかを検索し、該当するグリッドの頂点輝度から平均化あるいは頂点補間して求められるグリッド輝度をそれぞれの多角形頂点に及ぼす環境光とし、これを多角形頂点データに付加してレンダリング段階で内挿補間し、内挿点毎の環境光とするものである。この結果、レンダリング段階では、環境マッピングのような特別の反射ベクトルや環境キューブマッピングを用いた計算はなく高速処理が可能となる。
本発明により、より自然に近い現実感のある光反射効果のある映像の描画が実時間で可能となる。
本発明の技術は高速演算処理機能をもつGPUへのプログラム組込やプログラマブル論理回路等への実装あるいはIP(Intelligent Property)の形態で実施され、コンピュータグラフィックスプロセッサに応用される。
本発明の大局照明回路を図1に示す。図1において、描画空間をnxmxp個のグリッドに空間分割し、それぞれのグリッド(立方体)がもつ8つの頂点における環境光を予め求めておき、このnxmxp組のグリッド頂点環境光とグリッドの中心点座標値を、それぞれグリッド頂点輝度および座標値バッファ10に記憶する。すなわちバッファ10はグリッド数nxmxpワードで構成し、ワードあたり8組の輝度RGBと中心座標(x、y、z)を記憶する。グリッド頂点が物体内部の点になる場合RGBをゼロあるいはフラグを設定することで、これが立っている場合はグリッド頂点8点によるグリッド輝度の平均化には加えない。描画される物体の多角形は頂点列としてバッファ12に記憶されており、頂点データは頂点毎に3次元座標値、法線、テキスチャパターン座標値などで構成されている。通常では、この頂点データ列が逐次読みだされ視野変換回路に加わる。本発明では多角形頂点列バッファ12から、頂点の座標値Vおよび法線Nを1組として読みだし、同時に、前記[007]の手段により、グリッド頂点輝度および座標値バッファ10から、対象となるグリッドの中心座標値Gと8つの頂点輝度I0−7を読み出し、多角形頂点輝度計算回路11において前記[009]から[011]のそれぞれの手段を用いて、多角形頂点の輝度を決定する。よって多角形頂点輝度計算回路11がハードウエアで構成される場合は、主に平均化回路、内積回路を構成する乗除算器と加減算器およびバッファ10のアドレス制御回路からなる。組み込みソフトウエアで行われる場合は、バッファ10も12もGPUのデータメモリとなり、演算処理はGPUの演算器を使用する。
多角形頂点における環境光Ivが決定されると、これが多角形頂点データPに付加される頂点データとして環境光付加頂点バッファ14において、多角形頂点Pと共に記憶される。多角形頂点列バッファ12にある頂点データは3次元座標値V以外に、1例として法線Nやテキスチャマッピング座標値Tなどがある。本発明では環境光Ivが他の頂点データと共に多角形頂点に定義され所定の頂点数になると、頂点列をレンダリング用多角形頂点列回路13で整理した後、視野変換回路15に送る。回路13は頂点列をパイプラインやストリップ化するためのレジスタからなる。
多角形頂点列を視野変換した後は、頂点データはレンダリング回路16に与えられ、多角形の内挿補間を行う。環境光もまた頂点データから線形補間して多角形内部の画素毎に求める。この環境光は所定のシェーディングモデルに基づく内挿点の拡散反射および鏡面反射成分に加算する環境光輝度となる。
以上から明らかなように本発明ではレンダリング段階において、環境光計算のための処理は、視野変換前に予め頂点に付加された環境光を直接内挿補間するのみであり、このためレンダリングの速度は殆ど大局照明のための影響を受けることはなく高速描画が可能となる。
本発明のプロセスをIP(Intelligent Property)として、あるいはグラフィックスプロセッサLSIチップに実装することによって映像製作、CGゲーム等のシステムにおいて実時間描画を可能とする。
10 グリッド頂点輝度および座標値バッファ
11 多角形頂点輝度計算回路
12 多角形頂点列バッファ
13 レンダリング用多角形頂点列回路
14 環境光付加頂点バッファ
15 視野変換回路
16 レンダリング回路
11 多角形頂点輝度計算回路
12 多角形頂点列バッファ
13 レンダリング用多角形頂点列回路
14 環境光付加頂点バッファ
15 視野変換回路
16 レンダリング回路
Claims (4)
- 表示物体上の環境光を決定するコンピュータグラッフィクスの大局照明に関し、描画空間を複数のグリッドに空間分割してグリッドそれぞれの頂点の環境光を決定すると共に、前記環境光と前記グリッドの座標値を記憶するバッファを設ける手段と、多角形列で表現される物体のそれぞれの多角形頂点での環境光を決定する手段として、前記多角形頂点を含む近接するグリッドを選択し、これらグリッドの頂点輝度と座標値を前記バッファから読み出すと共に、多角形頂点座標値および法線とをそれぞれ用いて多角形頂点における環境光を決定する手段と、前記それぞれの手段によって得た環境光を頂点データの一つに定義した多角形頂点列を、視野変換およびレンダリング回路に加え頂点データを内挿補間し、多角形内部の環境光を求める大局照明回路。
- 請求項1の回路において、描画空間のグリッド分割数は、環境光の変位が局所的に大きな場合は多く、変位が小さな場合は少数とする手段と、グリッド輝度から多角形頂点の環境光を決定する手段として、グリッドサイズが所定の値より小さく複数のグリッドを用いて多角形頂点を決定する場合は、グリッドそれぞれの8頂点の輝度を平均化した値を当該グリッドの輝度とする手段と、グリッド頂点の一部が物体の内部点である場合は、その頂点を除く頂点数で平均化する手段と、それぞれのグリッドの中心点から多角形頂点への照射ベクトルを求め、このベクトルと、多角形頂点における面法線との内積値と前記平均化したグリッド輝度を乗算した値をグリッド毎に加算することで、当該グリッドからの多角形頂点における環境光とする、それぞれの手段からなる大局照明回路。
- 請求項1および2の回路において、分割グリッド数が少なくグリッドサイズが大きな場合は、グリッドそれぞれの頂点と多角形頂点との位置関係と、前記グリッドのそれぞれの頂点がもつ輝度を用い、グリッド内で前記輝度を内挿補間して前記多角形頂点での輝度を決定する大局照明回路。
- 請求項1および3に記載の大局照明回路を用いたコンピュータグラフィックス画像装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341995A JP2009163469A (ja) | 2007-12-29 | 2007-12-29 | 大局照明回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007341995A JP2009163469A (ja) | 2007-12-29 | 2007-12-29 | 大局照明回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009163469A true JP2009163469A (ja) | 2009-07-23 |
Family
ID=40966025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007341995A Pending JP2009163469A (ja) | 2007-12-29 | 2007-12-29 | 大局照明回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009163469A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016135252A (ja) * | 2015-01-23 | 2016-07-28 | 東芝メディカルシステムズ株式会社 | 医用画像処理装置及び医用画像診断装置 |
CN107633544A (zh) * | 2016-07-14 | 2018-01-26 | 网易(杭州)网络有限公司 | 环境光遮蔽的处理方法及装置 |
-
2007
- 2007-12-29 JP JP2007341995A patent/JP2009163469A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016135252A (ja) * | 2015-01-23 | 2016-07-28 | 東芝メディカルシステムズ株式会社 | 医用画像処理装置及び医用画像診断装置 |
CN107633544A (zh) * | 2016-07-14 | 2018-01-26 | 网易(杭州)网络有限公司 | 环境光遮蔽的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733691B2 (en) | Fragment shaders perform vertex shader computations | |
CN111311723B (zh) | 像素点识别及光照渲染方法、装置、电子设备和存储介质 | |
US20210383599A1 (en) | Graphics processing using directional representations of lighting at probe positions within a scene | |
US11494970B2 (en) | Importance sampling for determining a light map | |
US9589386B2 (en) | System and method for display of a repeating texture stored in a texture atlas | |
US20140362100A1 (en) | Scheme for compressing vertex shader output parameters | |
US20070257911A1 (en) | Cone-culled soft shadows | |
US6791544B1 (en) | Shadow rendering system and method | |
JP2015515059A (ja) | シーンにおける不透明度レベルを推定する方法とそれに対応する装置 | |
KR20080055581A (ko) | 3D 오브젝트의 셀프 셰도우(self-shadow)를만들기 위해 데이터를 미리-저장할 수 있는 장치, 방법,응용프로그램 및 컴퓨터 판독가능한 매체 | |
US8698799B2 (en) | Method and apparatus for rendering graphics using soft occlusion | |
CN114375464A (zh) | 使用边界体积表示对虚拟空间中的动态单元进行光线追踪 | |
JP2011138445A (ja) | 透明物体表示回路 | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
JP2009163469A (ja) | 大局照明回路 | |
JP2007141196A (ja) | ポリゴン・シルエットライン・アンチエイリアス回路 | |
JP5423276B2 (ja) | 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP2008152742A (ja) | ポリゴン輝度参照点決定回路 | |
JP2007052758A (ja) | 環境光マッピング回路 | |
JP2006195938A (ja) | グレアレンダリング回路 |