JPH0844902A - コンピュータグラフィックスの照度計算方法およびそれに用いる装置 - Google Patents

コンピュータグラフィックスの照度計算方法およびそれに用いる装置

Info

Publication number
JPH0844902A
JPH0844902A JP17628794A JP17628794A JPH0844902A JP H0844902 A JPH0844902 A JP H0844902A JP 17628794 A JP17628794 A JP 17628794A JP 17628794 A JP17628794 A JP 17628794A JP H0844902 A JPH0844902 A JP H0844902A
Authority
JP
Japan
Prior art keywords
illuminance
partial
sky
data
luminance 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.)
Pending
Application number
JP17628794A
Other languages
English (en)
Inventor
Yoshito Sato
義人 佐藤
Yoshiaki Usami
芳明 宇佐美
Munetoshi Unuma
宗利 鵜沼
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP17628794A priority Critical patent/JPH0844902A/ja
Publication of JPH0844902A publication Critical patent/JPH0844902A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】Zバッファ処理装置を用いた天空光の計算にお
いて、大きな範囲の輝度を計算する場合であっても、計
算しうる天空輝度のダイナミックレンジを広げ、既存の
Zバッファ処理装置を適用可能する。 【構成】Zバッファ処理によって用いられる天空輝度デ
ータを部分輝度データに分割して、各部分輝度データに
対応した部分的な照度を合計する。特に、天空輝度デー
タをビット分割して、照度の合成時に、桁を調整して照
度を求める処理をおこなう。また、天空輝度データを値
域に応じて分割して、照度の合成時に、乗算して値を調
整する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータグラフィ
ックスの照度計算方法およびそれに用いる装置に係り、
天景観シミュレーション等の屋外景観をコンピュータグ
ラフィックスで表示する場合において、特に、記憶装置
が小容量であっても、精度良く照度が計算でき、既存の
Zバッファ装置に用いて好適なコンピュータグラフィッ
クスの照度計算方法およびそれに用いる装置に関する。
【0002】
【従来の技術】コンピュータグラフィックスによる景観
シミュレーションでは、物体の表示に用いられる光源
は、太陽光が最も一般的であり、この太陽光を直射光、
すなわち平行光線として物体を表示する手法が用いられ
る。しかし、平行光線のみを光源とする表示手法を用い
る場合、法線が互いに平行となる面は、同じ明るさにな
り、単純な陰影による画像しか生成されない。
【0003】一方、実際には、太陽光は、直射光と塵や
水分等の大気中の微粒子による散乱光からなる。この散
乱光は、太陽方向からのみでなく、天空のあらゆる方向
から届くから、平行光線で完全に影になっていた部分に
も光が届き、物体上に微妙な陰影を作りだす。こうした
散乱光の効果は、自然な画像を作成するうえで無視でき
ない。
【0004】そこで、従来の景観シミュレーションにお
いては、このような散乱光を天空そのものが輝いている
(天空光)として考え、天空を、多数の微小な光源が半
球ドーム状に構成されているものとして光源計算し、直
射光と組み合わせて陰影表示している。
【0005】上記の技術に関するもので、「直方体受光
面を用いた天空光モデル」情報処理学会、グラフィクス
とCADシンポジウム論文集、Volume91,Number7(1991)
の第135頁から第144頁では、高速なZバッファ処
理を利用した照度計算法が提案されている。
【0006】以下、この照度計算方法の概略を図4を用
いて説明しよう。
【0007】図4は、受光直方体とそれに関連する計算
方法の関係を示すための模式図である。
【0008】この照度計算方法では、図4(a)に示さ
れるように、表示物体12上にサンプリング点Pを設け
各サンプリング点Pを中心とした仮想的な直方体形状の
受光直方体8を設定し、その受光直方体8の各面をスク
リーンに見立てる。そして、高速なZバッファ処理装置
を活用して、遮蔽物を透視投影し、スクリーンのピクセ
ルで遮蔽物が投影されていない部分について、ピクセル
の中心方向の天空輝度を求め、その輝度を全て合計する
ことによってサンプリング点における照度を求めてい
る。
【0009】図4(b)は、図4(a)の鳥瞰図を横断
面から見た図である。図4(b)に斜線で示した範囲
は、受光直方体の上面をスクリーンとしたときの投影範
囲を示す。ピクセルBは遮蔽物が投影されるため、その
ピクセルを塗りつぶす処理をする。このように塗りつぶ
し処理をしたピクセルBを見る方向から来るサンプリン
グ点Pへの天空輝度は、0となる。したがって、天空輝
度を計算する場合には、塗りつぶし処理をした点は、考
慮に入れなくて良い。
【0010】一方、ピクセルAは、遮蔽物により投影さ
れないので、塗りつぶし処理はされない。天空輝度を計
算する場合には、このような塗りつぶし処理をしていな
い点からの輝度を合計することになる。
【0011】
【発明が解決しようとする課題】上記従来技術では、予
め方位θと天頂角φを引数として天空輝度データのテー
ブルを用意しておき、ピクセルの中心方向の輝度を求め
る際にサンプリング点から見たピクセルの方位と天頂角
を求め、対応する天空輝度を求めている。これは天空を
スクリーンに透視投影変換することと同じであるから、
球に天空輝度データをマッピングしてスクリーンに透視
投影変換し、その上に遮蔽物を透視投影変換すれば、上
記の手間を省き、Zバッファ処理装置を使用できるので
高速に求めることができる。したがって、上記のような
計算は、Zバッファ処理装置を用いることが一般的であ
る。
【0012】ところで、現在フルカラーのZバッファ処
理装置は、RGB各256階調(8ビット)で約167
0万色を表現することができるものが普通で、この仕様
で通常のCG画像作成には十分とされている。よって、
このようなZバッファ処理装置を用いて、照度を計算す
るためには、天空輝度は各ピクセルにおいてRGB各2
56階調で表現されていなければならないことになる。
【0013】しかしながら、実際の天空では、太陽の位
置付近とその反対側付近では輝度の差が大きく、256
階調ではその両方ともは、表現しきれない。というの
も、晴天時の太陽の輝度はおよそ1.7×109(cd
/m2)であるのに対し、青空の部分は4.5×10
3(cd/m2)程度であり、106程度のダイナミック
レンジ(=(輝度の最大値/輝度の最小値))が必要と
なる。例えば、天空での太陽の輝度を「255」で表し
た場合、青空の部分は、「255/106」となり、計
算機を用いた場合の誤差を考慮して、値をまるめると
「0」となってしまう。したがって、天空の輝度全体を
十分に表現するためには、106は、おおよそ22 0なの
で、RGB各20ビット以上の階調が必要となる。
【0014】よって、上のような既存のZバッファ処理
装置を使う場合には、天空全体から届く光を十分にあら
わすことはできないという問題点があった。
【0015】本発明は、上記問題点を解決されるために
なされたもので、その目的は、Zバッファ処理装置を用
いた天空光の計算において、大きな範囲の輝度を計算す
る場合であっても、計算しうる天空輝度のダイナミック
レンジを広げ、既存のZバッファ処理装置を適用可能に
して高速に処理しうるコンピュータグラフィックスの照
度計算方法およびそれに用いる装置を提供することであ
る。
【0016】
【課題を解決するための手段】上記目的を達成するため
に、本発明のコンピュータグラフィックスの照度計算方
法に係る発明の構成は、天空光から照射された物体の照
度を求め、その結果を用いて画像を表示装置に表示する
コンピュータグラフィックスの照度計算方法であって、
前記物体上に前記天空光から照射された物体の照度をサ
ンプリングするサンプリング点を定め、前記天空光の天
空輝度データおよび前記物体を仮想的な投影面上に前記
サンプリング点から見た透視投影変換を施し、前記天空
光が前記物体によって遮蔽されない部分のピクセルには
前記天空輝度データの値をピクセルの輝度値として保持
し、前記天空光が遮蔽される部分は零をピクセルの輝度
値として保持する可視部画像を求め、その可視部画像か
ら、投影面での照度を求め、その各々の投影面での照度
の合計を前記サンプリング点の照度とするコンピュータ
グラフィックスの照度計算方法において、前記天空光の
天空輝度データを、n個の部分輝度データに分割し、各
部分輝度データごとに前記各ピクセルにピクセルの輝度
値を保持する可視部画像を求め、その可視部画像の保持
するピクセル値から部分的な照度を求め、前記部分的な
照度を合計して、前記投影面での照度とするようにした
ものである。
【0017】より詳しくは、上記のコンピュータグラフ
ィックスの照度計算方法であって、前記天空輝度データ
がtビットで表現される場合において、前記天空光の天
空輝度データを、n個の部分輝度データに分割すること
が、前記天空輝度データをmビットごとに分割し、前記
nがt/mの小数部を切り上げた数でありような分割で
あり、かつ、前記部分的な照度が前記可視部画像の保持
するピクセル値を合計した前記部分輝度データごとの部
分照度であって、その部分照度を合計して、前記投影面
での照度とする際に、k番目の前記部分照度を2のmk
乗倍して合計するようにしたものである。
【0018】さらに詳しくは、予め設定した照度をしき
い値として設定し、前記部分照度を合計して、前記投影
面での照度とする際に、前記分割した部分輝度データで
上位ビットのものに対応する前記部分照度から順に計算
していき、前記予め設定した照度のしきい値以上の値が
得られたら、それ以下のビットの部分輝度データに対応
する部分照度の計算は省略するようにしたものである。
【0019】また別に詳しくは、上記のコンピュータグ
ラフィックスの照度計算方法であって、前記天空輝度デ
ータがtビットで表現される場合において、前記天空光
の天空輝度データを、n個の部分輝度データに分割する
ことが、前記天空輝度データの値域を分割単位ごとに分
割切片に分割し、そのk番目の分割切片に対応した前記
k番目の前記部分輝度データは、天空輝度データと前記
分割切片の始値との偏差を、分割単位で乗じ、2のt乗
で割った値、そのk番目未満の分割切片に対応した前記
部分輝度データは、2のt乗という定数、k+1番目以
上の分割切片に対応した前記部分輝度データは、0とい
う定数であるような分割であり、かつ、前記部分的な照
度が、前記部分輝度データに対応する可視部画像のピク
セルごとの輝度値をたしこんだ照度配列であって、その
部分的な照度を合計して、前記投影面での照度とする際
に、前記照度配列に分割単位をかけ、2のt乗で割って
から、合計するようにしたものである。
【0020】さらに詳しくは、前記天空輝度データを、
定義域が正である単調関数によって、変換したものを用
い、前記照度配列を逆変換してから、前記投影面での照
度を求めるようにしたものである。
【0021】また、上記目的を達成するために、本発明
のコンピュータグラフィックスの照度計算装置に係る発
明の構成は、Zバッファ処理部と、シェーディング処理
部と、積分処理部と、データ部と、合成処理部と、表示
部とこれらを制御する制御部とからなり、天空光から照
射された物体の照度を求め、その結果を用いて画像を表
示装置に表示するコンピュータグラフィックスの照度計
算装置であって、天空輝度データをn個の部分輝度デー
タに分割する分割処理部と、前記Zバッファ処理部が、
前記物体上に照度をサンプリングするサンプリング点を
定め、前記天空光の天空輝度データおよび前記物体を仮
想的な投影面上に前記サンプリング点から見た透視投影
変換を施し、前記天空光が前記物体によって遮蔽されな
い部分のピクセルには前記天空輝度データの値をピクセ
ルの輝度値として保持し、前記天空光が遮蔽される部分
は零をピクセルの輝度値として保持する可視部画像に変
換し、前記合成処理部が、前記可視部画像の保持するピ
クセル値から部分的な照度を求め、前記部分的な照度を
合計することを特徴とするようにしたものである。
【0022】より詳しくは、上記のコンピュータグラフ
ィックスの照度計算装置において、前記分割処理部でお
こなわれる部分輝度データの分割が、上記のいずれかの
コンピュータグラフィックスの照度計算方法によってお
こなわれる分割であるようにしたものである。
【0023】
【作用】本発明では、tビットの天空輝度データ9をc
eil(t/m)のnビットの部分輝度データに分け、
それぞれをZバッファ処理部により透視変換した後、合
計し、tビットのデータを処理する。したがって、天空
輝度の表現したい階調が多いときにであっても、輝度の
精度を落すことなく、Zバッファ処理に既存のZバッフ
ァ処理装置を用いて高速に照度計算することができると
いう作用がある。
【0024】また、輝度データ分割後の照度計算のたし
こみの際に、上位ビットの部分輝度データから下位ビッ
トのデータへ順番に合計し、予め定めたしきい値以上に
なったら計算を終了することにより、照度計算に影響の
少ない部分輝度データの計算を省き、計算回数を少なく
する作用がある。
【0025】さらに、天空輝度データをn個の2のm乗
階調の部分輝度データに分割することにより、Zバッフ
ァ処理装置で計算できる階調を増やすことができる作用
がある。
【0026】さらにまた、天空輝度データを計算する際
に、各階調に関数g(x)による重み付けを施した天空
輝度データを用い、関数g(x)をうまく選択すること
によって、計算しうる天空輝度のダイナミックレンジを
広げることができるという作用がある。
【0027】
【実施例】以下、本発明に係る各実施例を、図1ないし
図9を用いて説明する。 〔実施例1〕以下、本発明に係る一実施例を、図1ない
し図6を用いて説明する。先ず、図1を用いて本発明の
一実施例に係るコンピュータグラフィックスの照度計算
装置の構成の概略とその動作について説明しよう。図1
は、本発明の一実施例に係るコンピュータグラフィック
スの照度計算装置の構成の概略を示すブロック図であ
る。
【0028】図1中、データ線A(細実線)は分割処理
部6と、合成処理部7における天空輝度データの流れ
を、データ線B(太実線)は、従来のCG画像生成処理
のデータの流れを、また、点線は、各部を制御部100
が制御することを示している。
【0029】制御部100は、データ部5から天空輝度
データ(図示はしていない)を分割処理部6へ送り、輝
度の分割処理をおこない、これによって生成される部分
輝度データ(図示はしていない)をZバッファ処理部1
へ送る。この輝度データを、輝度を分割処理して部分輝
度データにする処理は、後に詳述する。
【0030】一方、制御部100はデータ部5から物体
データをZバッファ処理部1へ送る。Zバッファ処理部
1では、部分輝度データ毎に各サンプリング点を視点と
し、受光直方体8の各面を投影面とする投影画像を作
り、その投影画像に関する結果を積分処理部2へ送る。
【0031】積分処理部2では、投影画像を積分処理し
て部分輝度データ毎の照度を求め、計算結果を合成処理
部7へ送る。
【0032】合成処理部7では、部分輝度データ毎の照
度を合成処理し、サンプリング点における照度を求め、
シェーディング処理部3へ送る。この合成処理とは、分
割処理部で分割したものを復元させるもので、これも後
に詳述する。
【0033】シェーディング処理部3では、求めた照度
による物体12のシェーディングを求め、画像を生成す
る。そして、生成した画像を表示装置4により表示す
る。
【0034】次に、図2ないし図6を用いて、本発明の
一実施例に係るコンピュータグラフィックスの照度計算
方法を説明する。図2は、本発明の一実施例に係るコン
ピュータグラフィックスの照度計算方法のフローを示す
PAD(Program Analysis Diagram)である。図3は、
天空輝度の計算のための天空のモデルを説明する鳥瞰図
である。図4は、既に説明したように、受光直方体とそ
れに関連する計算方法の関係を示すための模式図であ
る。図5は、輝度をビット分割する一例をあらわす模式
図である。図6は、可視部画像の合成を説明するための
模式図である。
【0035】以下、図2の順を追いながら、適宜図3な
いし図6を参照しながら説明することにしよう。
【0036】ステップ101:天空輝度データをn個の
部分輝度データに分割する。
【0037】以下では、この部分輝度データを生成する
処理を詳細に説明するものとする。
【0038】図3に示すように、求める場所が方位θ
と、天頂角φによって表現されるものとする。このと
き、以下の説明では、この場所の天空輝度データを方位
θと、天頂角φの関数として、I(θ,φ)と書くもの
とする。
【0039】この例は、モノクロのモデルでも適用可能
であるし、輝度I(θ,φ)をRGB各成分についてご
とに計算れば、カラーのグラフィックモデルにも対応す
る。I(θ,φ)は、2進数であらわすとtビットで表
現されうる整数であるとする。
【0040】すなわち、次の数式(1)が成立する。
【0041】
【数1】
【0042】ここで、ftは、t変数の関数であって、
{0,1}の2進数表現から輝度を得る関数である。
【0043】次に、この輝度データをI(θ,φ)をビ
ット列に分割することを考える。n=ceil(t/
m),k∈{0,1,...,n−1}(ceil(t
/m)は、t/mの小数点以下を切り上げた整数)とす
る。
【0044】そして、I(θ,φ)を、mビット毎に分
割し、k番目の分割(mk桁目からm(k+1)−1桁
目まで)をIk(θ,φ)とする。すなわち、k番目の
部分輝度データを、Ik(θ,φ)=f
m(Cmk+m-1,..,Cmk+i,..,Cmk+1,Cmk)と
するのである。よって、より詳しくは、次の数式(2)
のようにあらわせる。
【0045】
【数2】
【0046】ただし、i>t−1となるときは、Ci
0とする。このように、余分な上位桁には、0をパッド
するわけである。
【0047】ここで、mは、計算のために都合の好い整
数であって、例えば、Zバッファ処理部1がサポートす
るRGB値のビット数とするとすれば良い。
【0048】このビット分割の一例を示せば、図5の如
くである。図5では、t=10、m=4とした場合の例
が示されている。すなわち、I(θ,φ)501は、n
=ceil(t/m)=ceil(10/4)=3個の
部分輝度データ、I0(θ,φ)504、I1(θ,φ)
503、I2(θ,φ)502に分割され、各部分輝度
データは、m=4ビットで表現されている。そして、I
2(θ,φ)502の上位桁には、0がパッドされる。
(なお、実用上は、t=20以上必要であるが、ここで
は、説明を簡単にするためt=10とした。) ステップ102:物体12上の全てのサンプリング点P
について、ステップ103からステップ109の処理を
繰り返しおこなう。
【0049】ステップ103:サンプリング点Pにおい
て、天空の可視範囲を求めるための仮想的な直方体を設
定する。これを、「受光直方体」8と呼ぶ。図4(a)
は、この受光直方体8を図示した斜視図である。受光直
方体8は、サンプリング点Pを中心とし、上面がサンプ
リング点Pにおける物体12の法線に垂直になるように
定める。
【0050】そして、この受光直方体8の上面と、4つ
の側面をそれぞれ投影面として、以下のステップの処理
をおこなう。
【0051】ステップ104:受光直方体8の各投影面
Sについてステップ105からステップ109までの処
理を繰り返しおこなう。また、以下の処理では、図6を
例に採りながら説明するものとする。
【0052】ステップ105:サンプリング点Pを視点
とし、投影面SにZバッファ処理部1を用いて、遮蔽物
を全て透視投影して、遮蔽画像を作成する。
【0053】図6(a)はサンプリング点P、投影面S
と遮蔽物の関係を示している。上で言う遮蔽物とは、図
6では、サンプリング点Pを含まない物体12になって
いる。図6(b)にその結果できる遮蔽画像CP(x,
y)の例が示されている。
【0054】このとき背景となるピクセルのビットを全
て1とし、遮蔽物で塗りつぶされるピクセルのビットは
全て0となるようにしておく。これは、後の処理でビッ
トごとの論理演算をおこなうためである。
【0055】ステップ106:ステップ101で求めた
各部分輝度データIk(θ,φ)についてステップ10
7からステップ109の処理を繰り返しおこなう。すな
わち、計算を部分的に分割するのである。
【0056】ステップ107:サンプリング点Pを中心
とした半径Rの半球にIk(θ,φ)をマッピングし、
サンプリング点Pを視点として投影面SにZバッファ処
理部1を用いて透視投影して、天空画像を作成する。し
たがって、天空画像は、各ピクセル値ごとに輝度を有し
ている。図6(c)にそのようにしてできた天空画像M
k(x,y)の一例が示されている。
【0057】ステップ108:ステップ105で生成し
た遮蔽物のみを透視投影した遮蔽画像CP(x,y)
と、ステップ107で生成した天空画像Mk(x,y)
の各ピクセル値ごとに論理積(AND)をとり、可視部
画像Nk(x,y)を作成する。ステップ105で、遮
蔽物のところのピクセルのビットは、全て0としたの
で、可視部画像Nk(x,y)おいても遮蔽物に遮られ
るピクセル値の輝度値は、全て0になる。
【0058】図6(e)は、一例として図6(b)遮蔽
画像CP(x,y)と図6(d)天空画像Mk(x,y)
を合成してできた可視部画像Nk(x,y)を示したも
のである。
【0059】ステップ109:可視部画像Nk(x,
y)から部分照度Lkを求める。
【0060】可視部画像Nk(x,y)の各ピクセル値
は、サンプリング点Pから見てピクセルの中心方向の部
分輝度Ik(θ,φ)による値を表し、mビットで表現
されている。この可視部画像Nk(x,y)を積分処理
部2へ送り、各ピクセルの輝度値をすべて合計し、結果
をLkとする。すなわち、Lk=ΣxΣyk(x,y)と
する。ここで、ΣxΣyは、全ての(x,y)について和
をとることを意味する。また、桁溢れを考慮し、Lk
tビットのデータとして記憶する。
【0061】ステップ110:各Lk(k=0,
1,...,n−1)(本実施例では、n=ceil
(t/m)であることに留意)を合成処理部に送り、投
影面Sにおける全照度LSを求める。
【0062】すなわち、LS=L0+L1<<m+..+
k<<mk+..+Ln-1<<m(n−1)とする。た
だし、L<<rはLをrビット左へシフト(2r倍)す
ることを示す。これによって、各投影面ごとの照度の合
成ができ、各投影面からの照度LSが求まる。
【0063】その後、各投影面からの照度LSを全て合
計して、サンプリング点Pにおける照度LPを求める。
すなわち、Lp=ΣSSである。ここで、ΣSは、受光直
方体の全ての面Sについて和を取ることを示す。
【0064】ステップ111:前ステップまでの処理で
全てのサンプリング点における照度を求めた後、物体1
2データと各サンプリング点における照度をシェーディ
ング処理部3へ送る。シェーディング処理部3では前ス
テップまでで求めた照度に基づき、各サンプリング点に
おける物体12の色を求め、Zバッファ処理部1により
陰面処理を施し、画像を生成する。』 最終的に、このようにして出来上がった画像は、表示装
置3に送られ、表示される。
【0065】本実施例によれば、tビットの天空輝度デ
ータをceil(t/m)個のmビットの部分輝度デー
タに分け、それぞれをZバッファ処理部1により透視変
換した後、合計し、tビットのデータを処理することに
より、途中で計算する処理系の負担を減らし、Zバッフ
ァ処理装置の容量が小さくとも、そのZバッファ処理装
置を用いて、高速に照度計算できる利点がある。
【0066】〔実施例2〕次に、本発明に係る第二の実
施例を、図7を用いて説明する。図7は、本発明に係る
第二の実施例を適用するのに好適な状況のモデルを示し
た天空の鳥瞰図である。
【0067】この第二の実施例は、第一の実施例のステ
ップ110の計算方法を変形したものである。
【0068】すなわち、第一の実施例のステップ110
において、部分照度を計算する際に、上位の部分輝度デ
ータの計算から始め、順次下位の計算をおこなう。すな
わちLn-1,Ln-2,...,L1,L0の順番で計算す
る。各部分照度を計算が終了した順にLSに足しこんで
行き、LS>Lth(ここで、Lthは照度のしきい値)と
なったら、それ以降の部分照度の計算をおこなわないこ
ととする。
【0069】具体的には、ステップ110において、部
分照度Lkまでを合計した時点で、LS>Lthとなったと
き、Lk-1以下の部分照度は計算を省略する。そのとき
の面Sの照度はLSは、LS=Ln-1<<m(n−1)+
n-2<<m(n−2)+...+Lk<<mk)とな
る。
【0070】例えば、図7に示すように、面701を投
影面としたとき、面701は太陽の方向を向いていて、
(すなわち、天空輝度データの最大値付近を向いてい
て、に遮蔽物が無く太陽が遮蔽されていない状況がある
とする。この場合に、In-1(θ,φ)による部分照度
n-1を計算した時点でサンプリング点Pに対する照度
のほとんどが求まってしまう。この場合、他の部分照度
k(k≦n−2)の影響は、ほとんど無視しても良い
と考えられる。したがって、LSの計算においては、L
n-1のみを加えて、他の項は、無視して計算の回数を削
減しようとするものである。
【0071】一方、遮蔽物によって太陽が隠されていた
り、図7の面702を投影面としたとき(太陽の方向を
向いていないようなとき)には、比較的、下位の部分照
度まで考慮する必要があると考えられる。
【0072】本実施例によれば、照度計算に影響の少な
い部分輝度データLkの計算を省き、計算回数を少なく
できる利点がある。
【0073】〔実施例3〕次に、本発明に係る第三の実
施例を、図8を用いて説明する。
【0074】図8は、本発明に係る第三の実施例の輝度
分割の例を説明するためのある天空輝度データと、これ
を分割した部分輝度データの例をあらわすグラフであ
る。
【0075】第一の実施例は、計算の便宜のために、関
数の定義域をビット分割して、天空輝度データI(θ,
φ)を、n個の部分輝度データIk(θ,φ)に分解す
るものであった。この第三の実施例も同様の思想による
ものであるが、部分輝度データIk(θ,φ)の作り方
が異なる。
【0076】具体的には、第一の実施例のステップ10
1、ステップ109、ステップ110で処理の内容が異
なる。
【0077】すなわち、第一の実施例のステップ101
においては、Ik(θ,φ)を以下のようして作成す
る。
【0078】天空輝度データの最大値をImax、最小値
をIminとする。k∈{0,1,...,n−1}と
し、D=(Imax−Imin)/n,B0=Imin,Bj=B
j-1+D(ただし、j=1,2,...,nのとき)と
する。以下、このDを「分割単位」と呼ぶこととする。
すなわち、I(θ,φ)の最大、最小の範囲を分割単位
Dごとに、n個の各分割切片[Bj-1,Bj](j=1,
2,...,n)に分解する。ここで、nは、天空輝度
データの存在する範囲と計算機の処理能力を勘案した適
当な整数である。
【0079】このとき、任意のI(θ,φ)を取ってき
て固定すると、Bi≦I(θ,φ)≦Bi+1となるような
i(0≦i≦n−1)が存在する。
【0080】そこで、部分輝度データをIk(θ,φ)
を以下の様に定義する。
【0081】
【数3】
【0082】ここで、tは、I(θ,φ)が表現される
ビット数である。
【0083】このとき計算してみると、任意のI(θ,
φ)について、iの如何にかかわらず、以下の数式
(3)が成立していることがわかる。
【0084】
【数4】
【0085】もともと、この数式(3)が成立するよう
に、Ik(θ,φ)を定義したと考えても良い。
【0086】以上のようなIk(θ,φ)を、サンプル
点となったすべてのθ,φについて求める。
【0087】図7は、分割の個数をn=4としたときの
例であり、各グラフは、θを固定して、横軸にφ、縦軸
に輝度をとっている。そして、図7(a)は、天空輝度
データI(θ,φ)、図7(b),(c),(d),
(e)は、それぞれ、I3(θ,φ),I2(θ,φ),
1(θ,φ),I0(θ,φ)のグラフをあらわしてい
る。
【0088】次に、ステップ109においては、以下の
ようにする。
【0089】全ての可視部画像Nk(x,y)(k=
0,1,...,n−1)が制御部100によって全て
積分処理部2に送られた後、照度配列N(x,y)を求
める。すなわち、各ピクセルについて、N(x,y)=
0(x,y)+N1(x,y)+...+Nn-1(x,
y)とする。ただし、Nk(x,y)=0となったらN
k+ 1(x,y),Nk+2(x,y),...,N
n-1(x,y)は、全て0なのでNk(x,y)=0とな
った時点で次のピクセルの計算に移る。
【0090】なお、通常各照度配列N(x,y)は、2
0ビット以上で表現される。
【0091】次に、ステップ110においては、以下の
ようにする。
【0092】上で求めた照度配列N(x,y)を合成処
理部7に送り、次のように合計し、投影面Sにおける全
照度LSを求める。すなわち、次の数式(4)で、LS
求める。
【0093】
【数5】
【0094】本実施例によれば、I(θ,φ)をn個に
分割するので、通常のn倍の階調を持つ天空輝度の場合
であっても、Zバッファ処理にハードウェアを用いて高
速に照度計算をおこないうるという利点がある。
【0095】あるいは、次のようにしてもよい。
【0096】〔実施例4〕次に、本発明に係る第四の実
施例を、図9を用いて説明する。図9は、本発明に係る
第四の実施例において、対数関数を用いて輝度を変換し
た場合、輝度をあらわすグラフと変換後のグラフを対比
して示した図である。
【0097】この第四の実施例は、第三の実施例の変形
である。すなわち、第三の実施例において、輝度データ
9としてI(θ,φ)の代わりにg(I(θ,φ))を
用いる。y=g(x)は負でない実数xに対して負でな
い実数が一意に定まり、x=g~1(y)となる逆関数が
存在する関数とする。
【0098】さらに、ステップ109において、以下の
ようにする。
【0099】積分処理部2では、全ての可視部画像Nk
(x,y)(k=0,1,...,n−1)が制御部1
00によって全て積分処理部2に送られた後、各ピクセ
ルについて、N(x,y)=N0(x,y)+N1(x,
y)+...+Nn-1(x,y)とする。ここで、N
k(x,y)=0となったらNk+1(x,y),N
k+2(x,y),...,Nn-1(x,y)は、全て0な
のでNk(x,y)=0となった時点で次のピクセルの
計算に移るのは実施例3と同様である。
【0100】さらに、LS=ΣxΣyg~1(N(x,
y))として各投影面Sによる照度LSを求める。
【0101】ここで本実施例によれば、1ピクセルが、
RGB各tビットで表現される場合、輝度のダイナミッ
クレンジは、以下の範囲になる。
【0102】
【数6】
【0103】したがって、図9のように、g(x)とし
て例えばloga(x)(a>1)とすると、天空輝度
データのダイナミックレンジは、rを以下の数式(5)
のようにとると、以下の数式(6)の範囲になる。
【0104】
【数7】
【0105】すなわち、変換せずに計算した場合より
も、はるかに広いダイナミックレンジを得ることができ
る。
【0106】よって、本実施例によれば、実施例3と階
調数は同じであるが、各階調に関数g(x)による重み
付けを施したことにより、天空輝度データのダイナミッ
クレンジを広げ、途中の計算過程での誤差を少なくし、
より精度の高い計算をおこないうるという利点がある。
【0107】
【発明の効果】本発明によれば、Zバッファ処理装置を
用いた天空光の計算において、大きな範囲の輝度を計算
する場合であっても、計算しうる天空輝度のダイナミッ
クレンジを広げ、既存のZバッファ処理装置を適用可能
にして高速に処理しうるコンピュータグラフィックスの
照度計算方法およびそれに用いる装置を提供することが
できる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るコンピュータグラフィ
ックスの照度計算装置の構成の概略を示すブロック図で
ある。
【図2】本発明の一実施例に係るコンピュータグラフィ
ックスの照度計算方法のフローを示すPADである。
【図3】天空輝度の計算のための天空のモデルを説明す
る鳥瞰図である。
【図4】受光直方体とそれに関連する計算方法の関係を
示すための模式図である。
【図5】輝度をビット分割する一例をあらわす模式図で
ある。
【図6】可視部画像の合成を説明するための模式図であ
る。
【図7】本発明に係る第二の実施例を適用するのに好適
な状況のモデルを示した天空の鳥瞰図である。
【図8】本発明に係る第三の実施例の輝度分割の例を説
明するためのある天空輝度データと、これを分割した部
分輝度データの例をあらわすグラフである。
【図9】本発明に係る第四の実施例において、対数関数
を用いて輝度を変換した場合、輝度をあらわすグラフと
変換後のグラフを対比して示した図である。
【符号の説明】
1…Zバッファ処理部、2…積分処理部、3…シェーデ
ィング処理部、4…表示装置、5…データ部、6…分割
処理部、7…合成処理部、8…受光直方体、P…サンプ
リング点、12…物体、100…制御部。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 天空光から照射された物体の照度を求
    め、その結果を用いて画像を表示装置に表示するコンピ
    ュータグラフィックスの照度計算方法であって、 前記物体上に前記天空光から照射された物体の照度をサ
    ンプリングするサンプリング点を定め、 前記天空光の天空輝度データおよび前記物体を仮想的な
    投影面上に前記サンプリング点から見た透視投影変換を
    施し、 前記天空光が前記物体によって遮蔽されない部分のピク
    セルには前記天空輝度データの値をピクセルの輝度値と
    して保持し、 前記天空光が遮蔽される部分は零をピクセルの輝度値と
    して保持する可視部画像を求め、 その可視部画像から、投影面での照度を求め、 その各々の投影面での照度の合計を前記サンプリング点
    の照度とするコンピュータグラフィックスの照度計算方
    法において、 前記天空光の天空輝度データを、n個の部分輝度データ
    に分割し、 各部分輝度データごとに前記各ピクセルにピクセルの輝
    度値を保持する可視部画像を求め、 その可視部画像の保持するピクセル値から部分的な照度
    を求め、 前記部分的な照度を合計して、前記投影面での照度とす
    ることを特徴とするコンピュータグラフィックスの照度
    計算方法。
  2. 【請求項2】 前記天空輝度データがtビットで表現さ
    れる場合において、 前記天空光の天空輝度データを、n個の部分輝度データ
    に分割することが、 前記天空輝度データをmビットごとに分割し、前記nが
    t/mの小数部を切り上げた数にするような分割であ
    り、 かつ、前記部分的な照度が前記可視部画像の保持するピ
    クセル値を合計した前記部分輝度データごとの部分照度
    であって、 その部分照度を合計して、前記投影面での照度とする際
    に、 k番目の前記部分照度を2のmk乗倍して合計すること
    を特徴とする請求項1記載のコンピュータグラフィック
    スの照度計算方法。
  3. 【請求項3】 予め設定した照度をしきい値として設定
    し、 前記部分照度を合計して、前記投影面での照度とする際
    に、 前記分割した部分輝度データで上位ビットのものに対応
    する前記部分照度から順に計算していき、前記予め設定
    した照度のしきい値以上の値が得られたら、それ以下の
    ビットの部分輝度データに対応する部分照度の計算は省
    略することを特徴とする請求項2記載のコンピュータグ
    ラフィックスの照度計算方法。
  4. 【請求項4】 前記天空輝度データがtビットで表現さ
    れる場合において、 前記天空光の天空輝度データを、n個の部分輝度データ
    に分割することが、 前記天空輝度データの値域を分割単位ごとに分割切片に
    分割し、 そのk番目の分割切片に対応した前記k番目の前記部分
    輝度データは、天空輝度データと前記分割切片の始値と
    の偏差を、分割単位で乗じ、2のt乗で割った値、 そのk番目未満の分割切片に対応した前記部分輝度デー
    タは、2のt乗という定数、 k+1番目以上の分割切片に対応した前記部分輝度デー
    タは、0という定数であるような分割であり、 かつ、前記部分的な照度が、前記部分輝度データに対応
    する可視部画像のピクセルごとの輝度値をたしこんだ照
    度配列であって、 その部分的な照度を合計して、前記投影面での照度とす
    る際に、 前記照度配列に分割単位をかけ、2のt乗で割ってか
    ら、合計することを特徴とする請求項1記載のコンピュ
    ータグラフィックスの照度計算方法。
  5. 【請求項5】 前記天空輝度データを、定義域が正であ
    る単調関数によって、変換したものを用い、 前記照度配列を逆変換してから、前記投影面での照度を
    求めることを特徴とする請求項4記載のコンピュータグ
    ラフィックスの照度計算方法。
  6. 【請求項6】 Zバッファ処理部と、シェーディング処
    理部と、積分処理部と、データ部と、合成処理部と、表
    示部とこれらを制御する制御部とからなり、 天空光から照射された物体の照度を求め、その結果を用
    いて画像を表示装置に表示するコンピュータグラフィッ
    クスの照度計算装置であって、 天空輝度データをn個の部分輝度データに分割する分割
    処理部と、 前記Zバッファ処理部が、前記物体上に照度をサンプリ
    ングするサンプリング点を定め、前記天空光の天空輝度
    データおよび前記物体を仮想的な投影面上に前記サンプ
    リング点から見た透視投影変換を施し、前記天空光が前
    記物体によって遮蔽されない部分のピクセルには前記天
    空輝度データの値をピクセルの輝度値として保持し、前
    記天空光が遮蔽される部分は零をピクセルの輝度値とし
    て保持する可視部画像に変換し、 前記合成処理部が、前記可視部画像の保持するピクセル
    値から部分的な照度を求め、前記部分的な照度を合計す
    ることを特徴とするコンピュータグラフィックスの照度
    計算装置。
  7. 【請求項7】 前記分割処理部でおこなわれる部分輝度
    データの分割が、請求項2ないし請求項5記載のいずれ
    かのコンピュータグラフィックスの照度計算方法によっ
    ておこなわれる分割であることを特徴とする請求項6記
    載のコンピュータグラフィックスの照度計算装置。
JP17628794A 1994-07-28 1994-07-28 コンピュータグラフィックスの照度計算方法およびそれに用いる装置 Pending JPH0844902A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17628794A JPH0844902A (ja) 1994-07-28 1994-07-28 コンピュータグラフィックスの照度計算方法およびそれに用いる装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17628794A JPH0844902A (ja) 1994-07-28 1994-07-28 コンピュータグラフィックスの照度計算方法およびそれに用いる装置

Publications (1)

Publication Number Publication Date
JPH0844902A true JPH0844902A (ja) 1996-02-16

Family

ID=16010953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17628794A Pending JPH0844902A (ja) 1994-07-28 1994-07-28 コンピュータグラフィックスの照度計算方法およびそれに用いる装置

Country Status (1)

Country Link
JP (1) JPH0844902A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009128952A (ja) * 2007-11-19 2009-06-11 Asahi Kasei Homes Kk 建物外部光量値算出プログラムおよび光環境解析プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009128952A (ja) * 2007-11-19 2009-06-11 Asahi Kasei Homes Kk 建物外部光量値算出プログラムおよび光環境解析プログラム

Similar Documents

Publication Publication Date Title
CN111508052B (zh) 三维网格体的渲染方法和装置
US5856829A (en) Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands
US8144158B2 (en) Display system having floating point rasterization and floating point framebuffering
CN110196746B (zh) 交互界面渲染方法及装置、电子设备、存储介质
US6529193B1 (en) System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
US7034828B1 (en) Recirculating shade tree blender for a graphics system
US6850236B2 (en) Dynamically adjusting a sample-to-pixel filter in response to user input and/or sensor input
US10636336B2 (en) Mixed primary display with spatially modulated backlight
US7714858B2 (en) Distributed rendering of interactive soft shadows
US20040155879A1 (en) Method and computer program product for lighting a computer graphics image and a computer
US6469700B1 (en) Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
CN108805971B (zh) 一种环境光遮蔽方法
US7038678B2 (en) Dependent texture shadow antialiasing
US20200302579A1 (en) Environment map generation and hole filling
US6583790B1 (en) Apparatus for and method of converting height fields into parametric texture maps
US20030218610A1 (en) System and method for implementing shadows using pre-computed textures
US7071937B1 (en) Dirt map method and apparatus for graphic display system
US7116333B1 (en) Data retrieval method and system
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
CN115487495A (zh) 数据渲染方法以及装置
EP0447226A2 (en) Computer graphics method for adding specular reflections to images with shadow penumbrae
JPH0844902A (ja) コンピュータグラフィックスの照度計算方法およびそれに用いる装置
JP3712015B2 (ja) 画像作成装置および方法
CN115430144A (zh) 环境光遮蔽实现方法和装置、计算机存储介质、电子设备
CN116778053A (zh) 基于目标引擎的贴图生成方法、装置、设备及存储介质