JP2001101445A - Soft shadow casting circuit - Google Patents

Soft shadow casting circuit

Info

Publication number
JP2001101445A
JP2001101445A JP31726899A JP31726899A JP2001101445A JP 2001101445 A JP2001101445 A JP 2001101445A JP 31726899 A JP31726899 A JP 31726899A JP 31726899 A JP31726899 A JP 31726899A JP 2001101445 A JP2001101445 A JP 2001101445A
Authority
JP
Japan
Prior art keywords
shadow
light source
distance
polygon
buffer
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
JP31726899A
Other languages
Japanese (ja)
Inventor
Tsuneo Ikedo
恒雄 池戸
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP31726899A priority Critical patent/JP2001101445A/en
Publication of JP2001101445A publication Critical patent/JP2001101445A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To generate a soft shadow effect for blurring a shadow and the periphery of the edge of an irradiated part corresponding to a natural phenomenon in real time. SOLUTION: On a first path, a coordinate value is interpolated by a circuit 2c and after a distance from a light source and a shadow area flag are stored in a buffer 10, the area flag is filtered while using a spline filter 14. On a second path, a distance provided by simultaneously interpolating a viewpoint and the coordinate value of a light source system is compared by a shadow polygon cache 11, distances with a light shielding object, a display object and the light source and a coefficient for determining the area of Penumbra and Umbra parts of the shadow and the luminance in a luminance determining circuit 12 are found. The light reflection luminance of the object itself, after the luminance is found by a multiplier 8 and a coefficient is found by the shadow luminance determining circuit 12, are multiplied by a multiplier 13 in an inverse mapping converting circuit 5 for the interpolation coordinate value, bump normal memory 4, texture pattern memory 6, shading circuit 3, texture color and shading luminance, and the result is stored through a pixel cache 9 into the buffer.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[発明の属する技術分野]本発明はコンピ
ュータグラフィックスにおける光源による3次元物体が
投影する影をレンダリングする表示回路に関する。本発
明の影付けは影の部分と照射部分で生じるハードエッジ
を無くしたスムージング効果をもちリアリティーのある
映像をリアルタイムで実現することによって、仮想現実
システム、特にウオークスルーシステムにおけるリアリ
ティーを表現するに不可欠な技術として利用される。
[0001] The present invention relates to a display circuit for rendering a shadow projected by a three-dimensional object by a light source in computer graphics. The shadow casting of the present invention is indispensable for expressing reality in a virtual reality system, especially in a walk-through system, by realizing a real-time image having a smoothing effect that eliminates hard edges generated in shadow portions and illuminated portions. Technology.

【0002】[従来の技術]コンピュータグラフィック
ス技術のなかでシャドウキャスティング(影付け)のア
ルゴリズムにはスキャンライン、シャドウクリッピン
グ、シャドウボリュームなどが提案されているが、一般
的には2パスzバッファ方式が実用化されている。シャ
ドウ処理にあたって、物体を構成する多角形にはその頂
点に座標値および各種の属性が定義される。レンダラー
ではまず多角形のそれぞれの頂点座標値を補間端点とし
てその外郭を線形に補間し、その後補間された多角形外
郭ラインと水平軸とが交わる左右2点間を内挿する。第
一の処理(パス)では頂点座標値は光源を投影中心とす
る座標系で定義される。この結果得られた補間点(L
x,Ly,Lz)に関して、(Lx,Ly)を
書きこみ位置として光源からの距離Lzをシャドウポ
リゴンバッファに記憶する。このバッファの書き込みに
は光源に最も近い距離が記憶される隠面消去法が用いら
れる。すべての物体が光源座標系にてレンダリングさ
れ、シャドウポリゴンバッファに記憶されると、次に第
二の処理(パス)として視点座標系の多角形頂点座標値
を定義し内挿補間を開始する。この第二パスのレンダリ
ングにおいてはテキスチャーマッピングやシェーディン
グ処理が通常同時平行して行われる。この多角形内挿補
間の際に補間点それぞれについて、シャドウポリゴンバ
ッファに記憶された光源からの距離と、現在補間中の点
に対応する光源座標系の距離とを比較する。このために
視点座標系の内挿の一点(Ex,Ey,Ez)に対する
光源座標系の座標値(Lx,Ly,Lz)を求
め、この(Lx,Ly)を第一パスで求めたシャド
ウポリゴンバッファのアドレスとして与え、Lzを読
み出す。第一パスのLz値が内挿点の変換Lz値よ
りも光源に近ければ影、遠ければ照射点とする。比較の
結果が影であれば補間点の表示画素の輝度を下げるもの
である。この従来の方式のハードウエア化に関する問量
点は以下となる。(1)第二のパスでは補間される視点
系座標値毎に光源系座標値への変換を求めなければなら
ない。(2)シャドウポリゴンバッファを用いる方式で
は画像メモリの解像度が影の判定において幾何学的な誤
差を生む。(3)シャドウエッジでのスムージングおよ
びソフトシャドウ効果を得ることが困難である。(1)
項の問題点は第二パスで視点座標系から光源座標系に変
換するには一般に3x3あるいは4x4回転マトリック
スが必要となり、これをリアルタイムに表示するために
補間点毎に例えば10nsで処理することは大きなハー
ドウエアコストを犠牲なくしては困難である。(2)項
の問題は第一のパスで多角形の面がz軸にほぼ平行に傾
いている場合、隠面消去を行うことにより、シャドウバ
ッファに記憶されるデータは最も光源に近い距離すなわ
ち多角形のエッジのみが記憶される。この結果、視点座
標系において同一の多角形面が視点軸に直交している場
合、第二パスで得られた光源系座標値のほとんどはシャ
ドウバッファのデータに対して後方となり、これらの点
は影と見なされる。これは誤判定である。(3)項の問
題は影と照射の判定が画素毎の比較によって行われるサ
ンプリング処理のため、影と照射との境の輝度が急激に
変化し、ジャギーが発生して不自然な画像となる。これ
は一般にフィルタリングによって対応できるが、実時間
処理には、効率的で再現性の優れたフィルタ回路が必要
となる。またパイプライン処理を基本とする実時間多角
形レンダリング法では与えられたデータのみを参照して
画素を生成するため周りにある物体に影響される(環境
条件)ソフトシャドウは困難である。従来これらを解決
する方法としてのハードウエア技術には公開されたもの
にはなく、影の投影にはステンシルバッファあるいはア
キュムレーションバッファと呼ばれるメモリがシャドウ
バッファとして利用されている程度のもので、多くの処
理はソフトウエアに依存しているのが実状で特に(3)
項のスムーズなソフトシャドウについてはソフトウエア
によってのみ実現可能とされている。
2. Description of the Related Art Scanline, shadow clipping, shadow volume, and the like have been proposed as shadow casting algorithms in computer graphics technology. Has been put to practical use. At the time of shadow processing, coordinate values and various attributes are defined at the vertices of a polygon constituting an object. The renderer first linearly interpolates the outline of the polygon using the vertex coordinate values of the polygon as interpolation end points, and then interpolates between the two left and right points where the interpolated polygon outline line intersects the horizontal axis. In the first process (pass), the vertex coordinate values are defined in a coordinate system with the light source as the projection center. The resulting interpolation point (L 1
For (x, L 1 y, L 1 z), the distance L 1 z from the light source is stored in the shadow polygon buffer as (L 1 x, L 1 y) as the writing position. For writing in this buffer, a hidden surface elimination method in which the distance closest to the light source is stored is used. When all the objects have been rendered in the light source coordinate system and stored in the shadow polygon buffer, the interpolation process is started by defining the polygon vertex coordinate values in the viewpoint coordinate system as a second process (pass). In the rendering of this second pass, texture mapping and shading processing are usually performed simultaneously and in parallel. At the time of this polygon interpolation, the distance from the light source stored in the shadow polygon buffer is compared with the distance in the light source coordinate system corresponding to the point currently being interpolated for each interpolation point. For this purpose, coordinate values (L 2 x, L 2 y, L 2 z) of the light source coordinate system with respect to one interpolation point (Ex, Ey, Ez) of the viewpoint coordinate system are obtained, and these (L 2 x, L 2 y) are obtained. ) Is given as the address of the shadow polygon buffer obtained in the first pass, and L 1 z is read. If the L 1 z value of the first pass is closer to the light source than the transformed L 2 z value of the interpolation point, it is determined to be a shadow. If the result of the comparison is a shadow, the brightness of the display pixel at the interpolation point is reduced. The following are questions concerning the hardware implementation of this conventional method. (1) In the second pass, conversion into light source system coordinate values must be obtained for each viewpoint system coordinate value to be interpolated. (2) In the method using the shadow polygon buffer, the resolution of the image memory causes a geometrical error in the determination of the shadow. (3) It is difficult to obtain smoothing and soft shadow effects at shadow edges. (1)
The problem with the term is that a 3x3 or 4x4 rotation matrix is generally required to convert from the viewpoint coordinate system to the light source coordinate system in the second pass, and it is not possible to process this in 10 ns for each interpolation point in order to display this in real time. It is difficult without sacrificing significant hardware costs. The problem of the item (2) is that when the polygonal surface is inclined substantially parallel to the z-axis in the first pass, the data stored in the shadow buffer is reduced to the distance closest to the light source by performing hidden surface elimination, that is, Only polygon edges are stored. As a result, when the same polygon surface is orthogonal to the viewpoint axis in the viewpoint coordinate system, most of the light source system coordinate values obtained in the second pass are behind the data in the shadow buffer, and these points are Considered a shadow. This is an erroneous determination. The problem of item (3) is that sampling is performed by comparing the shadow and the irradiation by each pixel, so that the brightness at the boundary between the shadow and the irradiation changes suddenly, resulting in jaggy and an unnatural image. . This can generally be addressed by filtering, but real-time processing requires an efficient and reproducible filter circuit. In the real-time polygon rendering method based on pipeline processing, pixels are generated by referring only to given data, so that it is difficult to perform soft shadows (environmental conditions) that are affected by surrounding objects (environmental conditions). Conventionally, there is no published hardware technology for solving these problems, and a memory called a stencil buffer or accumulation buffer is used as a shadow buffer for shadow projection. Is actually dependent on software, especially (3)
Smooth soft shadows can only be achieved by software.

【0003】[問題を解決するための手段]前節のそれ
ぞれの問題点に対して本発明では以下の方法で解決す
る。(1)項の問題に対して本発明では第二パスにおい
て多角形の頂点に視点系座標値だけでなく、あらかじめ
光源系座標値を定義して、視点系座標値の内挿補間と同
時に光源系座標値も補間する。しかし座標系が異なるこ
とから補間をそれぞれの座標系の主軸(補間距離が最も
長い座標軸)で独立して、あるいは全ての定義値のうち
の最長軸で行うと視点座標系補間点に対応する光源系座
標値を同期して得ることができない。このため本発明で
は光源系座標値の内挿補間には視点座標系の座標値(ア
ウトライン補間ではxあるいはy軸、水平軸平行補間で
はx軸)を補間回路の主軸とする。この結果、それぞれ
の内挿される視点座標系補間点に対応する光源系座標値
を、補間回路の速度にあわせて出力することができる。
このためには光源系座標値の補間回路が3組(各軸)必
要となる。内挿された点が影か照射点かは、第二パスに
おいて内挿された点Lzとシャドウバッファから読み
出されたLzを比較して影を判定する。この方式では
前節[0002]の(2)項の問題が生じる。本発明で
はこの問題に対して、多角形毎に識別子を設けて解決す
る。この識別子はオブジェクト毎に固有に付けられる。
よって同一のオブジェクトを構成する多角形は同一の識
別子をもつこととなる。この識別子IDを第一パスにお
いて距離Lzとともにシャドウポリゴンバッファに記
憶する。第二のパスにおいて、多角形を内挿して得られ
た距離Lzと、シャドウポリゴンバッファに記憶され
た距離Lzとを比較し、影と見なされた場合にこの識
別子を比較する。もし識別子が一致すれば影を投影する
物体と、現在レンダリング中の物体は同じものであり、
その補間点は影と見なさない。よって本発明では、補間
点が後方の距離と判定され、かつ識別子が異なる場合に
おいてはじめてその補間点を影の点と見なす。この方式
の問題点は光源の方向から見た物体の裏側を影と見なさ
ない問題が生じるが、これはシェーディング回路(例え
ばフォンシェーディング)と併用することで、物体の法
線と光源との角度で計算された輝度表現によって得るこ
とができる。さらに前節(3)に関してのシャドウエッ
ジ・スムージング方法については、現在パーセンテージ
・クローズドフィルタ法が知られている。本発明ではス
ムージング効果を得るために、第一パスにおいてシャド
ウポリゴンを記憶する際に(Lx,Ly)の位置に
所定の値をもつフラグを同時に記憶する。このフラグは
一ビットのシャドウフラグと、nビットからなる領域フ
ラグで構成する。すなわち影の投影される位置にこれら
のフラグが画素単位に初期設定される。シャドウポリゴ
ンバッファの光源からの距離と、領域フラグは全ての物
体の多角形が内挿された後、シャドウポリゴンバッファ
全領域を走査してフィルタリングが行われる。例として
距離はサンプリング領域に含まれる識別子のある距離だ
けが使用されまたその数で平均値化を行う一方、領域フ
ラグは3次元空間フィルタを行う。この方法により第一
パス後のシャドウポリゴンを直接フィルタすることによ
る距離の誤差を最小化できる。フィルタリングはサンプ
リング点の近傍3x3画素以上の領域に含まれる距離と
領域フラグを用いる。この方法はビデオ信号と同様な読
み出しとなり、多角形内挿補間の方向やシャドウポリゴ
ンの記憶量には依存しない。また多重のフィルタリング
も同一の方法を繰り返すことで可能となる。フィルタリ
ング前でのフラグ値はシャドウポリゴン領域(影の初期
領域)上にしか記憶されていないが、このフラグ値をフ
ィルタリングすることによって、シャドウエッジ周辺に
初期値からゼロ値に変化する中間分布値をもつことにな
る。本発明ではこの初期値を一例として7F(16進)
と設定する。フィルタは例えば4x4領域でそれぞれ行
われる。この場合中間値は一回のフィルタによって凡そ
16レベルをとる。フィルタの繰り返し回数によって中
間値領域は拡散し、量子化レベルはさらに増す。本発明
では影のUmbraとPenumbraの効果を得るた
めに2つの値を生成する。一つは影投影面が遮光物体か
ら離れれば離れるほど(環境光のまわり込みによる)暗
さの減衰率を求めるもので、第二パスにおいてシャドウ
バッファに記憶された距離と比較す 表示画素の輝度に乗算する。ここでa0およびa1は光
散乱係数であり、環境に依存する定数である。暗さの減
衰率は(1−D)で与えられる。 他の一つは影周辺のボケを表現するPenumbra値
である。影と照射領域の境界周辺での局所的な輝度のグ
ラデーションは、前記で求めたフィルタリングされたフ
ラグ値を用いる。しかしバッファ全体で行うエリアサン
プリングでは、境界領域周辺の変化はフラグ値7Fと照
射部分での0値の間で一様な幅の変化となる。よって補
間点の輝度に関してこのフラグ値を直接用いると光遮蔽
物体に近い場所のPenumbra幅と遠い場所での幅
が異なる効果を出すことができない。このため光遮蔽物
体と影投影点の距離 体までの距離)を用いてフラグ中間値を丸める方法が考
えられる。本発明ではこの関 と前記(1)式から得られる(1−D)とを乗算して、
表示画素の輝度の係数とする。前記の方法によるPen
umbraおよびUmbra効果は、影の投影される表
示物体の前に遮光物体が一つ存在する場合には成立する
が、複数の影が投影されると、それぞれの境界線周辺で
はある範囲において、光源に最も近い物体から計算され
た0p値が反映されて誤った値となる。限られたバッフ
ァ容量を条件により精度を高めるには2つ以上のシャド
ウポリゴンバッファを用意し、第一パスにおいて最も光
源に近い物体の距離と、次に光源に近い物体との距離を
それぞれ別々に記憶し、第二パスの距離とこれらを比較
して、表示物体の補間点がこれらバッファの距離の間に
ある場合には前記処理を、これら両物体の後方に位置す
る場合にはPenumbra関数を無視し、暗さの減衰
率(1−D)のみを表示物体の輝度の係数とすることに
よって0pの誤差をなくすことができる。本発明はこの
ような背景から2つ以上のシャドウポリゴンバッファを
用意する。0pがそれぞれのシャドウポリゴン毎に生成
される場合は前記の区別は必要とされない。一方、本発
明の回路では半透明物体による影を生成する機能をも
つ。半透明物体の影付けにおいて物体に模様(テキスチ
ャーパターン)がある場合、光の透過度を用いてその模
様を影に投影するためテキスチャを映した影を記憶する
新たなバッファが必要となる。これを本発明ではシャド
ウイメージバッファと呼ぶ。また第一パスにおいて光透
過度を決定する光減衰率εを各多角形頂点に定義し、こ
れを多角形内部で内挿補間し、シャドウイメージの画素
単位で記憶する。この結果、第一パスにおいて、多角形
のそれぞれの頂点には光源系座標(Lx,Ly,L
z,Lw)に加えてテキスチャーマッピング座標
(u,v)および減衰率εを定義し、また半透明物体で
あるためその物体がシェーディング現象をもつことにな
り、第二パスと同様に多角形の各頂点には法線の傾き、
光源との角度の設定も必要となる。第一パスでのテキス
チャーマッピングは逆写像変換u/Lw,v/L
によって得られたテキスチャーアドレスを用いてテキス
チャーパターンを読み出し、これをシャドウ多角形にマ
ッピングする。第二パスでは視点座標値とLwがEw
に、また減衰率εがブレンディングパラメータに置きか
えられ第二パスの処理が行なわれる。第一パスでシャド
ウイメージバッファに記憶されたシャドウイメージの輝
度をS、減 ィングされた視点座標系における多角形画素の内挿点で
の輝度I shadeと、その輝度にかかる影によって
得られた輝度I shadowと、さらに影が投影され
る多角形が半透明感を持つ場合、そのブレンディングパ
ラメータをαとし、それとオバーラップするフレームバ
ッファ内の画素の輝度をI image destする
と、最終的に得られる輝度I imageは式(2)お
よび(3)の関係で定義される。 半透明物体の影付けの問題点は、半透明物体、不透明物
体および補間中の表示物体のそれぞれの位置関係によっ
ては正しい処理が行なわれないことである。第一パスに
おける隠面消去法によれば、この位置関係を正しく認識
するためには、半透明物体と不透明(光遮断)物体それ
ぞれが個別に光源にもっとも近い光源からの距離L
を記憶しなければならない。この方式であっても、半透
明物体が複数重なり、表示物体がその間に挟まれた関係
にある場合には2つのバッファでは対応できない場合が
ある。すなわちバッファの数と表示物体と遮光物体との
位置関係を正確に表現するには所定の数のバッファが必
要となる。遮光物体からの影投影面までの距離が大きく
なるとまた して、光遮断物体の最も光源に近い距離を通常の隠面消
去法を用いて、第一パスにお での距離となる。光遮断物体がz軸上に長い幅をもつ物
体である場合、投影される影が物体の直後に位置してい
ても相当離れた距離と見なされる。この結果(1)式に
よる影の減衰係数(1−D)は誤った値となる。これを
避けるためには最も光源に近い物体を光遮断物体とする
一方で、その同一物体内においては光源からもっとも遠
い面をシャドウバッファに記憶しなければならない。こ
れを処理するにはオブジェクト毎に与えられる識別子を
用い、オブジェクト間(識別子が異なる場合)では通常
の隠面消去法を用い、同一オブジェクトの多角形間では
前面消去を行うこととなる。以上から本発明ではシャド
ウキャスティングの処理がハードウエア化され、リアル
タイムシャドウキャスティングを可能とする。
[Means for Solving the Problem] That of the previous section
The present invention solves each problem by the following method.
You. In the present invention, the problem of the item (1) is in the second pass.
Not only the coordinates of the viewpoint system but also
Define the light source system coordinate values and perform interpolation with the viewpoint system coordinate values.
Sometimes light source system coordinate values are also interpolated. But the coordinate system is different
The interpolation from the main axis of each coordinate system (interpolation distance is the most
Long coordinate axes) independently or of all defined values
Light source system corresponding to the viewpoint coordinate system interpolation point when performed on the longest axis of
The benchmark cannot be obtained synchronously. Therefore, in the present invention
Is the coordinate value of the viewpoint coordinate system (A
X- or y-axis, horizontal-axis parallel interpolation
Is the main axis of the interpolation circuit. As a result,
Light source system coordinate values corresponding to the interpolated viewpoint coordinate system interpolation points of
Can be output in accordance with the speed of the interpolation circuit.
For this purpose, three sets of light source system coordinate value interpolation circuits (each axis) are required.
It becomes important. Whether the interpolated point is a shadow or an irradiation point
The interpolated point L2read from z and shadow buffer
L issued1The shadow is determined by comparing z. In this method
The problem of item (2) in the preceding section [0002] occurs. In the present invention
Solves this problem by providing an identifier for each polygon.
You. This identifier is uniquely assigned to each object.
Therefore, the polygons that make up the same object have the same
You will have a separate child. Put this identifier ID in the first pass
And distance L1Recorded in the shadow polygon buffer with z
Remember In the second pass, we interpolate the polygon
Distance L2z and stored in the shadow polygon buffer
Distance L1z, and if it is considered a shadow,
Compare the offspring. Cast shadow if identifiers match
The object and the object currently being rendered are the same,
The interpolation point is not considered as a shadow. Therefore, in the present invention, interpolation
If the point is determined to be a backward distance and the identifier is different
First, the interpolation point is regarded as a shadow point. This method
The problem is that the back side of the object viewed from the direction of the light source is regarded as a shadow.
There is no problem, but this is due to the shading circuit (for example,
Phon shading) can be used together with the
It can be obtained by the luminance expression calculated at the angle between the line and the light source.
Can be. In addition, the shadow
Current percentages for the smoothing method
-The closed filter method is known. In the present invention,
Shadows on the first pass to get a smoothing effect
When storing a polygon, (L1x, L1y) position
A flag having a predetermined value is simultaneously stored. This flag
A 1-bit shadow flag and an n-bit area flag
Consist of lugs. In other words, the position where the shadow is projected
Are initialized for each pixel. Shadow polygo
The distance from the light source of the buffer and the area flag are all
After the body polygon is interpolated, the shadow polygon buffer
The entire area is scanned for filtering. As an example
Distance is the distance with the identifier contained in the sampling area
Injuries are used and averaged by the number of
Lag performs a three-dimensional spatial filter. By this method first
By directly filtering the shadow polygon after passing
Distance error can be minimized. Filtering is a sump
The distance included in the area of 3x3 pixels or more near the ring point
Use the area flag. This method is similar to reading video signals.
In the direction of polygon interpolation and shadow polygons.
Does not depend on the amount of memory Also multiple filtering
Can be realized by repeating the same method. Filter
The flag value before shadowing is the shadow polygon area (shadow initial
This flag value is stored in the
Filtering around shadow edges
It has an intermediate distribution value that changes from the initial value to the zero value.
You. In the present invention, 7F (hexadecimal) is used as an example of this initial value.
Set as The filters are, for example, each in a 4x4 area
Is In this case, the intermediate value is approximately
Take 16 levels. Medium depending on how many times the filter is repeated
The inter-value area diffuses and the quantization level further increases. The present invention
Now we can get the effect of shadow Umbra and Penumbra
To generate two values. One is that the shadow projection plane is a shading object
The further away, the darker (due to ambient light)
To determine the decay rate of the shadow in the second pass
Compare with the distance stored in the bufferMultiply the luminance of the display pixel. Where a0 and a1 are light
The scattering coefficient, which is a constant that depends on the environment. Decrease darkness
The decay rate is given by (1-D).The other one is a Penumbra value that expresses the blur around the shadow
It is. A local brightness graph around the boundary between the shadow and the illuminated area.
The gradation is the filtered file obtained above.
Use the lag value. However, Area Sun does the whole buffer
In the pulling, changes around the boundary area are compared with the flag value 7F.
There is a uniform width change between the 0 values at the projected part. Therefore
Direct use of this flag value for inter-point brightness will result in light blocking
Penumbra width near the object and width at a far place
Cannot produce different effects. Light shield
Distance between body and shadow projection pointConsidering the method of rounding the flag intermediate value using the distance to the body)
available. In the present invention, And (1-D) obtained from the above equation (1),
This is a coefficient of the luminance of the display pixel. Pen by the above method
The umbra and Umbra effects are the shadow cast table
This is true if there is one shading object before the indicating object
However, when multiple shadows are projected,
Is calculated from the object closest to the light source within a certain range.
The 0p value is reflected and becomes an erroneous value. Limited buff
Two or more shadows can be used to increase
Prepare a polygon buffer and use the light in the first pass
The distance between the object near the source and the next object near the light source
Memorize each separately and compare them with the distance of the second pass
And the interpolation point of the display object is between these buffer distances
In some cases, the process is located behind these two objects.
The Penumbra function is ignored and the darkness decay
Only the rate (1-D) is used as the coefficient of the luminance of the display object.
Therefore, the error of 0p can be eliminated. The present invention
From two or more shadow polygon buffers
prepare. 0p is generated for each shadow polygon
If so, the distinction is not required. On the other hand,
Ming's circuit also has the ability to create shadows from translucent objects.
One. In the shadowing of translucent objects, patterns (textures)
Pattern) is used to determine the pattern using light transmittance.
Memorize the shadow reflecting the texture to project the image into the shadow
A new buffer is needed. This is called a shadow in the present invention.
C Image buffer. In the first pass, light transmission
The light attenuation factor ε, which determines the excess, is defined for each polygon vertex, and
Is interpolated inside the polygon, and the pixels of the shadow image are
Store in units. As a result, in the first pass, the polygon
Of the light source system (L1x, L1y, L
1z, L1w) plus texture mapping coordinates
(U, v) and the decay rate ε
Therefore, the object has a shading phenomenon.
As in the second pass, each vertex of the polygon has a normal slope,
It is also necessary to set the angle with the light source. Text in the first pass
Char mapping is inverse mapping transformation u / L1w, v / L1w
Using the texture address obtained by
Read the char pattern and map it to a shadow polygon.
Ping. In the second pass, the viewpoint coordinates and L1w is Ew
And the damping rate ε is the blending parameter
The processing of the second pass is performed. Shad on the first pass
C) Brightness of the shadow image stored in the image buffer
Degree S, decreaseAt the interpolation point of the polygon pixel in the
Brightness I shade and its shadow
Obtained luminance I shadow and the shadow is projected
If the polygon to be translucent has a translucent
The parameter is α and the frame bar overlaps with
The brightness of the pixels in the buffer image to dest
And the finally obtained luminance I The image is expressed by equation (2)
And (3).The problem with shadowing translucent objects is that they are translucent and opaque.
Depending on the relative positions of the body and the display object being interpolated.
In other words, correct processing is not performed. On the first pass
According to the hidden surface elimination method in
Translucent and opaque (light-blocking) objects
Distance L from the light source closest to the light source1z
Must be remembered. Even with this method,
Relationship where multiple bright objects overlap and display objects are sandwiched between them
, The two buffers may not be able to handle
is there. In other words, the number of buffers, the display
A certain number of buffers are required to accurately represent the positional relationship.
It becomes important. The distance from the shading object to the shadow projection plane is large
Once againThe distance of the light-blocking object closest to the light source to the normal hidden surface
Using the past method, the first passDistance. The light blocking object has a long width on the z-axis
If it is a body, the projected shadow is located immediately after the object.
However, it is regarded as a considerable distance. As a result, equation (1)
The shadow attenuation coefficient (1-D) becomes an incorrect value. this
To avoid this, the object closest to the light source should be the light blocking object
On the other hand, farthest from the light source in the same object
Must be stored in the shadow buffer. This
To handle this, the identifier given for each object must be
Used, usually between objects (if the identifier is different)
Between the polygons of the same object
The front is to be erased. From the above, according to the present invention,
Ucasting processing is hardware-based, real-time
Enables time shadow casting.

【0004】[実施例]以下具体的な実施例について説
明する。図1は本発明のシャドウキャスティング回路の
全体図を示し上段、下段はそれぞれ第一、第二パスを示
す。多角形の頂点には表1に示す変数を定義する。 図1において多角形を内挿する補間回路1ではバンプア
ップベクタを除き表1に示すそれぞれの値をアウトライ
ン補間回路1で頂点間で線形に補間した後、補間された
多角形アウトラインが水平軸と交わる2点間を、補間回
路2a−2cでさらに補間しすべての多角形内部での値
を求める。補間回路2cでは光源系座標値Lx,Ly,
Lz,Lwのそれぞれを第一パスで補間し、次に逆写像
変換回路7においてLx=Lx/Lw,Ly=Ly
/Lw を行い、光源からの距離Lzをピクセルキャ
シュ9を通してアドレス(Lx,Ly)によりバッ
ファ10に書きこむ。書きこまれたデータをシャドウポ
リゴンという。Lwは投視変換時にLz値を含むスカラ
ー値である。バッファ10はその領域内をシャドウポリ
ゴン、表示イメージおよび各種の属性をシェアーして記
憶するメモリである。よって本発明では記憶される情報
によってバッファの呼び名を領域名で区別する。シャド
ウポリゴン値Lzをバッファ10に記憶する時点では
補間毎に既にバッファに記憶した値と補間点の値とを比
較し、光源に近い方が選択され最終的に光源に最も近い
値を記憶する。この発明では最も光源に近い値を記憶す
るシャドウポリゴンと、2番目に近い値をもつシャドウ
ポリゴンをそれぞれ記憶する2つのシャドウバッファを
用意する。よって補間点の距離が1番目のシャドウバッ
ファの値に比べより光源に近いと判断された時点で、1
番目のバッファに記憶された値を2番目のバッファに移
す。補間中の多角形が半透明物体の場合は表1の右辺の
値をそれぞれの頂点に定義する。法線(Nh,Nv)、
光源角(Lh,Lv)、テキスチャ座標値(u,v)お
よび減衰率εを補間回路1で多角形外郭に沿って補間し
た後、水平軸と交わる2点間を補間する補間回路2aお
よび2bにより多角形内全ての内挿値を求める。これら
の値はシェーディングプロセッサ3に与えられ多角形面
上の光反射計算に使用する。テキスチャ座標値u’=u
/Lw およびv’v/Lwをバンプ法線が記憶さ
れたメモリ4とテキスチャパターンが記憶されたメモリ
6に与える。バンプ法線はシェーディングプロセッサ3
に送られ、面法線(Nh,Nv)、光源角(Lh,L
v)およびバンプアップベクトルとからシェーディグ輝
度Ipを求める。この輝度Ipをテキスチャパターンと
乗算器8にてマージし、ピクセルキャシュ9を通してシ
ャドウイメージバッファ10に書き込む。不透明物体の
第一パスにおける補間では2a,2b,3,4,5およ
び6のそれぞれの回路は使用されない。第二パスにおい
て、補間回路2cの光源系座標値Lx,Lyおよび
zをシャドウポリゴンキャシュ11に与える。シャ
ドウポリゴンキャシュ11には第一パスで求めた距離L
zおよびその他の関連データをキャシュミス発生毎に
バッファ10から転送記憶する。キャシュ11はL
x,Lyでアドレシングされて読み出し、シャドウ
輝度決定回路12でLzと比較する。シャドウ輝度決
定回路12の出力値は表示画素が影となる場合、その輝
度を減衰する値となり乗算器13に与えられる。この結
果はピクセルキャシュ9を通してバッファ10の(表
示)イメージバッファ領域に書きこまれる。この発明で
は第一パスにおいて光源からの距離Lz、フラグおよ
び識別子をバッファ10に記憶する。これら識別子およ
びフラグはシャドウポリゴンが記憶される同一アドレス
に書かれる。フラグは第一パスで求めた影の領域を示す
1ビットフラグと、nビットからなる領域フラグで構成
する。領域フラグは一例として7F(16進)を初期値
として記憶する。第一パスにおいて全ての多角形を内挿
した後、領域フラグと距離Lzを回路14においてバ
ッファ10を順次走査してフィルタする。図2は回路1
4の詳細図であり、4x4の相関フィルタ回路と平均値
化回路からなる。フィルタ回路はスプライン回路16
(16a−16e)、入力ラインバッファ15と出力ラ
インバッファ17、および平均値化回路18で構成す
る。領域フラグと識別子をバッファ10から読み出し、
入力ラインバッファ15にロードする。この発明例では
4x4領域(P00−P33)のサンプル値を同時に回
路16a−16dにロードし、各列毎に相関後、さらに
行方向に16eで相関する。サンプリング点から4x4
のそれぞれのサンプル点までの距離xをアドレスとする
ベイシス関数をメモリ19に記憶し、この関数値とサン
プルデータ(P00−P33)とを乗算器20a−20
dにて乗算した後、加算器21a−21dで総和してフ
ィルタ値を得る。このフィルタ処理において本発明では
次の手順をもつ。(1)サンプリング領域に一種類だけ
の識別子が存在する場合、領域フラグに対して前記の相
関フィルタリングを行う一方、距離に関しては領域内の
値を合計した後、識別子が存在する数で除算(平均値
化)し、これをフィルタ値とする。(2)サンプリング
領域に複数の異なる識別子が存在する場合には、サンプ
リング領域に含まれる距離のなかで最も光源に近い距離
を検出し、その距離がもつ識別子と同一名の識別子の領
域フラグを残し、それ以外の識別子のフラグはすべてゼ
ロ値にしたのち、相関フィルタを行うとともに、距離に
関してはそのフィルタリングの識別子をもつ距離のみを
加算して、加算した識別子の数で除算する。距離のこの
平均化は回路18で加算器、除算用メモリテーブルおよ
び加算器出力とテーブル値とを乗算する乗算器で行う。
領域フラグのフィルタの後ではフラグ値0pは0≦0p
≦7Fとなる。0pは出力ラインバッファ17を通して
バッファ10に書きこまれる。一方1ビットからなるシ
ャドウフラグfはシャドウポリゴンバッファに記憶され
たサンプリング点の識別子が前記の最も光源に近い識別
子と同一の場合には1に、それ以外は0にセットするこ
とによって第一パス終了時の光源に最も近いシャドウポ
リゴン領域の影と照射部の境界線を保存することができ
る。図3は本発明のシャドウポリゴンキャシュを示す。
第二パスにおいて、視点座標系の頂点座標値(Ex,E
y,Ez,Ew)と光源座標系頂点座標値(Lx,L
y,Lz)を同時に内挿補間する。図1に示すよう
に補間回路2cでは視点座標系の座標値の長軸(図では
Ex)を基に光源系座標値を補間する。補間された座標
値(Lx,Ly)はシャドウポリゴンキャシュ11
に与える。キャシュ11は図3に示すようにキャシュメ
モリ22と、キャシュコントローラ23で構成し、キャ
シュメモリ22にはシャドウポリゴンの光源からの距離
(Lz)、領域フラグ0p、ポリゴン識別子ID、シ
ャドウイメージSおよび減衰率ε(半透明物体の場合)
がバッファ10からキャシュミスが発生する毎に制御回
路23によりキャシュミスアドレス周辺データ(例えば
8x8画素領域)を含めて読み出され記憶する。シャド
ウポリゴンキャシュ11はバッファ10、シャドウ輝度
決定回路12に含まれる距離および識別子の比較器24
と、関数メモリ、乗加算器等で構成するシャドウ輝度決
定モジュール25と接続される。図4は本発明のPen
umbra関数を示す。図において水平軸は0p、垂直
軸は関数値出力 い場合は0と1との変化が大きく、エッジに対して左図
に示すディジタル的変化をと 線を選択する。フィルタされた領域フラグは右図の斜線
(直線)となる。この曲線を /Lz)関数はハイパータンジェントで近似できる。
この関数をメモリーテーブルに を得ることができる。図5は図1のシャドウ輝度決定回
路12の詳細回路例を示す。シャドウ輝度決定回路は複
数の乗算器、加算器、メモリおよびマルチプレクサから
なり前節[0003]の(1)および(2)式のそれぞ
れを実行する。第二パスにおける補間点の光源からの距
離Lzは、不透明物体の光源からの距離Lz opq
と半透明物体の光源からの距離Lz transp −Dを記憶する。それぞれのテーブル出力値は27で乗
算した後、シェーディングプロセッサ3からの輝度I
shadeと乗算器30cでマージする。半透明物体の
場合はシェーディングされた輝度I shadeと半透
明物体のテキスチャイメージSとが減衰率εを用 比較器24が補間点を影と判断した場合、その符号はA
ND回路28に与えられる。もしキャシュ11のポリゴ
ン識別子IDdが補間中の多角形の識別子IDsと一致
しない場合には、影ありとしてマルチプレクサ29は乗
算器30cの出力を選択する。一致する場合には照射点
と見なしてI shadeを選択する。以上の手順でス
ムーズな変化をもつI shadowが得られる。比較
器24の詳細回路を下段に示す。図では2つの不透明物
体の光源からの距離Lz0とLz1(最も光源に近い距
離と、次に近い距離を記憶したそれぞれのバッファから
の値)、また半透明物体の光源からの距離Lz tra
nspがキャシュ11から与えられ、これら距離を補間
点の距離Lzと比較器24b1、24b2および24
b3で比較する。この比較結果を制御回路24dに与
え、マルチプレクサ24cの選択信号とする。24cで
は最も光源に近い距離あるいは次に近い距離のいずれか
を選択する。この距離Lzと符号のうち、符号(影の
可能性の場合1)をAND回路28に与え識別子との比
較回路32での結果(識別子が異なる場合1)とAND
条件で影か照射かを決定 ル26aに与える。図6は本発明のバッファ10の詳細
構成例を示す。図において不透明物体の最も光源に近い
物体のシャドウポリゴン(距離)と次に光源に近い物体
のシャドウポリゴンの2組(F3、F4)、また半透明
物体のシャドウポリゴン(F5)、ポリゴン識別子(F
6)、領域フラグ(F6)、一ビットフラグ(F6)、
シャドウイメージ(F7)、減衰率ε(F7)とする。
表示物体のためのバッファは表示イメージ(F1)、表
示イメージz値(F2)、透明度(F1)となる。図に
おいてーワードは例えば32ビットとなる。これらビッ
ト長とワード数は表示画面の解像度および輝度のグレー
ドに依存する。図1においてシェーディングプロセッサ
3で求められた輝度Ipはテキスチャのカラーと乗算器
8で乗算されるが、乗算器8の出力値が図5のプロセッ
サ3のI shadeに対応する。I shadowはピ
クセルキャシュ9に一度バッファされた後、バッファ1
0に書きこまれる。このI shadowをキャシュ9
からバッファ10に転送する際、バッファに記憶された
データ(図6のF1、F2の輝度、z値、透過度)を読
み出し(リード モディファイ ライト操作)、読み出
された輝度と透過度を用いて前節[0003]の(3)
式を行う。以上の全てのプロセスを通してシェーディン
グと影が付加された多角形の内挿補間が完了する。
[Embodiments] Specific embodiments will be described below.
I will tell. FIG. 1 shows a shadow casting circuit according to the present invention.
The upper and lower rows show the first and second paths, respectively.
You. Variables shown in Table 1 are defined at the vertices of the polygon.In FIG. 1, the interpolation circuit 1 for interpolating a polygon
The values shown in Table 1 except for the
After interpolating linearly between the vertices using the interpolation circuit 1,
Interpolation between two points where the polygon outline intersects the horizontal axis
Interpolate further by roads 2a-2c and values inside all polygons
Ask for. In the interpolation circuit 2c, the light source system coordinate values Lx, Ly,
Each of Lz and Lw is interpolated in the first pass, and then inverse mapping
In the conversion circuit 7, L1x = Lx / Lw, L1y = Ly
/ Lw and the distance L from the light source1z is the pixel cap
Address (L1x, L1y)
Write in Fa10. Write the written data to the shadow port.
It is called Rigon. Lw is a scalar containing the Lz value during projection conversion
-Value. The buffer 10 has a shadow poly in the area.
Gon, display image and various attributes
It is a memory to remember. Therefore, in the present invention, the information stored
Distinguishes the name of the buffer by the area name. Shad
U polygon value L1When z is stored in the buffer 10,
For each interpolation, compare the value already stored in the buffer with the value of the interpolation point.
Comparison, the one closer to the light source is selected and finally the closest to the light source
Store the value. In the present invention, the value closest to the light source is stored.
Shadow polygon and the shadow with the second closest value
Two shadow buffers to store each polygon
prepare. Therefore, the distance between the interpolation points is
When it is determined that the light source is closer to the light source than the
Move the value stored in the second buffer to the second buffer.
You. If the polygon being interpolated is a translucent object,
Define a value for each vertex. Normal (Nh, Nv),
Light source angles (Lh, Lv), texture coordinate values (u, v) and
And the attenuation factor ε are interpolated along the polygon outline by the interpolation circuit 1.
After that, the interpolation circuit 2a and the interpolation circuit 2a interpolate between two points intersecting the horizontal axis.
And 2b are used to determine all interpolated values within the polygon. these
Is given to the shading processor 3 and the polygon surface
Used for light reflection calculations above. Texture coordinate value u '= u
/ L1w and v'v / L1w is the bump normal
Memory 4 and the memory where the texture pattern is stored
Give to 6. Bump normal is shading processor 3
And the surface normal (Nh, Nv) and the light source angle (Lh, L
v) and from the bump-up vector
The degree Ip is determined. This luminance Ip is defined as a texture pattern.
The data is merged by the multiplier 8 and passed through the pixel cache 9.
Write to the shadow image buffer 10. Opaque objects
In the interpolation in the first pass, 2a, 2b, 3, 4, 5 and
6 and 6 are not used. Second pass smell
And the light source system coordinate value L of the interpolation circuit 2c.2x, L2y and
L2z is given to the shadow polygon cache 11. Sha
The dough polygon cache 11 has a distance L obtained in the first pass.
1z and other relevant data every time a cache miss occurs
The data is transferred from the buffer 10 and stored. Cash 11 is L
2x, L2read out, shadowed, addressed by y
L in the luminance determination circuit 122Compare with z. Shadow brightness
When the display pixel is shadowed, the output value of the
It becomes a value that attenuates the degree and is given to the multiplier 13. This result
The result is stored in the buffer 10 through the pixel cache 9 (table).
Shown) It is written in the image buffer area. With this invention
Is the distance L from the light source in the first pass1z, flag and
And the identifier are stored in the buffer 10. These identifiers and
And flag are the same address where the shadow polygon is stored
Written in The flag indicates the shadow area found in the first pass
Consists of a 1-bit flag and an area flag consisting of n bits
I do. The initial value of the area flag is 7F (hexadecimal) as an example.
To be stored. Interpolate all polygons in the first pass
After that, the area flag and the distance L1z in circuit 14
The buffer 10 is sequentially scanned and filtered. FIG. 2 shows the circuit 1
FIG. 4 is a detailed view of FIG. 4, showing a 4 × 4 correlation filter circuit and an average value
Circuit. The filter circuit is a spline circuit 16
(16a-16e), the input line buffer 15 and the output line
An in-buffer 17 and an averaging circuit 18
You. Read the area flag and the identifier from the buffer 10;
Load to input line buffer 15. In this invention example
Simultaneous sampling of 4x4 area (P00-P33) sample values
After loading the roads 16a-16d and correlating each column,
Correlate at 16e in the row direction. 4x4 from sampling point
Is the distance x to each sample point of
The basis function is stored in the memory 19, and the function value and the
Multiplier 20a-20 with pull data (P00-P33)
d, and then summed by adders 21a-21d.
Get the filter value. In this filter processing,
It has the following procedure. (1) Only one type in the sampling area
If there is an identifier of
Function filtering, while the distance
After summing the values, divide by the number of identifiers present (average
This is used as a filter value. (2) Sampling
If a region has multiple different identifiers,
Distance closest to the light source among the distances included in the ring area
Is detected and the identifier of the identifier with the same name as the identifier of the distance is detected.
Area flags, and all other identifier flags
After applying the correlation filter,
Only the distances with the filtering identifier
Add and divide by the number of added identifiers. This distance
Averaging is performed by an adder, a memory table for division, and
And a multiplier that multiplies the output of the adder and the table value.
After the area flag filter, the flag value 0p is 0 ≦ 0p
≦ 7F. 0p passes through the output line buffer 17
The data is written into the buffer 10. On the other hand, a 1-bit
The shadow flag f is stored in the shadow polygon buffer.
Identification of the sampling point
Set to 1 if it is the same as the child, otherwise set to 0.
The shadow point closest to the light source at the end of the first pass
It is possible to save the shadow of the Ligon area and the boundary line of the irradiation part.
You. FIG. 3 shows a shadow polygon cache of the present invention.
In the second pass, the vertex coordinate values (Ex, E
y, Ez, Ew) and the vertex coordinate value (L2x, L
2y, L2z) is simultaneously interpolated. As shown in FIG.
In the interpolation circuit 2c, the long axis of the coordinate value of the viewpoint coordinate system (in the figure,
Ex), the light source system coordinate values are interpolated. Interpolated coordinates
Value (L2x, L2y) is a shadow polygon cache 11
Give to. As shown in FIG.
A memory 22 and a cache controller 23
The distance from the light source of the shadow polygon to the memory 22
(L1z), area flag 0p, polygon identifier ID,
Shadow image S and decay rate ε (for translucent objects)
Is controlled each time a cache miss occurs from the buffer 10.
By way 23, cache miss address peripheral data (for example,
(8 × 8 pixel area). Shad
U polygon cache 11 is buffer 10, shadow brightness
Distance and identifier comparator 24 included in decision circuit 12
And a shadow luminance determination consisting of a function memory,
Connection module 25. FIG. 4 shows the Pen of the present invention.
Show the umbra function. In the figure, horizontal axis is 0p, vertical
Axis outputs function valuesIf there is no change, the change between 0 and 1 is large.
The digital change shown inSelect a line. The filtered area flags are shaded in the figure on the right.
(Straight line). This curve/ L1z) The function can be approximated by hypertangent.
Put this function in a memory tableCan be obtained. FIG. 5 shows the shadow luminance determination time of FIG.
2 shows a detailed circuit example of the road 12. Shadow brightness determination circuit
From number multipliers, adders, memories and multiplexers
Each of formulas (1) and (2) in [0003]
Do this. Distance of the interpolation point from the light source in the second pass
Release L2z is the distance Lz of the opaque object from the light source opq
And the distance Lz of the translucent object from the light source transp-D is stored. Each table output value is raised to the power of 27
After the calculation, the luminance I from the shading processor 3 is calculated.
The merge is performed by the shade and the multiplier 30c. Translucent object
The shaded brightness I shade and semi-transparent
Use the attenuation rate ε for the texture image S of a bright objectWhen the comparator 24 determines that the interpolation point is a shadow, the sign is A
It is provided to ND circuit 28. If Cash 11 Polygo
Identifier IDd matches identifier IDs of polygon being interpolated
Otherwise, multiplexer 29 is raised to
The output of the calculator 30c is selected. Irradiation point if coincident
I Select "shade". Follow the above steps
I with a mood change shadow is obtained. Comparison
The detailed circuit of the device 24 is shown in the lower part. The figure shows two opaque objects
The distances Lz0 and Lz1 from the body light source (the distances closest to the light source)
From each buffer that stores the separation and the next closest distance
), And the distance Lz of the translucent object from the light source tra
nsp is given from the cache 11 and these distances are interpolated.
Point distance L2z and comparators 24b1, 24b2 and 24
Compare with b3. The comparison result is given to the control circuit 24d.
In this case, a selection signal for the multiplexer 24c is used. 24c
Is either the closest or next closest light source
Select This distance L1Of the z and the sign, the sign (shadow
In the case of possibility, 1) is given to the AND circuit 28 and the ratio with the identifier is given.
Comparison result (1 when the identifier is different) and AND
Determine whether to irradiate shadow or conditionTo the file 26a. FIG. 6 shows details of the buffer 10 of the present invention.
An example of the configuration is shown. Closest to the light source of the opaque object in the figure
The object's shadow polygon (distance) and the object next to the light source
2 sets of shadow polygons (F3, F4) and translucent
Shadow polygon (F5) of object, polygon identifier (F
6), area flag (F6), one-bit flag (F6),
The shadow image (F7) and the attenuation rate ε (F7) are used.
The buffer for the display object is the display image (F1), the table
The indicated image z value (F2) and the transparency (F1) are obtained. In the figure
Here, the word is, for example, 32 bits. These bits
Length and number of words are gray for display screen resolution and brightness.
Depends on In FIG. 1, a shading processor
The luminance Ip obtained in step 3 is the texture color and the multiplier.
8 and the output value of the multiplier 8 is
Sa3 I shade. I shadow is pi
Once buffered in xell cache 9, buffer 1
Written to 0. This I cash shadow 9
Is transferred to the buffer 10 from the
Read the data (F1, F2 brightness, z value, transmittance in Fig. 6)
Read (read modify write operation), read
(3) of the previous section [0003] using the obtained luminance and transmittance.
Perform an expression. Shadin through all the above processes
The interpolation of the polygon to which the shadow and the shadow are added is completed.

【0005】[発明の効果]本発明により、ハードウエ
アでは困難とされてきたソフトシャドウ効果をもつシャ
ドウキャスティングが可能となり、多角形レンダリング
法におけるリアルタイム化により仮想現実システムへの
応用によってよりリアルな映像表現ができる。
[Effects of the Invention] The present invention enables shadow casting with a soft shadow effect, which has been difficult with hardware, and realizes real-time video in a polygon rendering method by applying it to a virtual reality system. Can express.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明のシャドウキャスティング回路FIG. 1 shows a shadow casting circuit according to the present invention.

【符号の説明】[Explanation of symbols]

1:アウトライン補間回路 2a−2c:水
平補間回路 3:シェーディングプロセッサ 4:バンプ法線
メモリ 5:逆写像変換回路 6:テキスチャ
パターンメモリ 7:逆写像変換回路 8:乗算器 9:ピクセルキャシュ 10:バッファ 11:シャドウポリゴンバッファ 12:シャドウ
輝度決定回路 13:乗算器 14:フィルタ
回路
1: outline interpolation circuit 2a-2c: horizontal interpolation circuit 3: shading processor 4: bump normal memory 5: inverse mapping conversion circuit 6: texture pattern memory 7: inverse mapping conversion circuit 8: multiplier 9: pixel cache 10: buffer 11: Shadow polygon buffer 12: Shadow brightness determination circuit 13: Multiplier 14: Filter circuit

【図2】 本発明のフィルタ回路FIG. 2 shows a filter circuit according to the present invention.

【符号の説明】[Explanation of symbols]

10:バッファ 15:入力ライ
ンバッファ 16a−16e:スプライン相関回路 17:出力ライ
ンバッファ 18:距離平均化回路 19:ベイシス
関数テーブル 20a−20d:乗算器 21a−21
d:加算器
10: Buffer 15: Input line buffer 16a-16e: Spline correlation circuit 17: Output line buffer 18: Distance averaging circuit 19: Basis function table 20a-20d: Multiplier 21a-21
d: adder

【図3】 本発明のシャドウポリゴンキャシュFIG. 3 is a shadow polygon cache of the present invention.

【符号の説明】[Explanation of symbols]

10:バッファ 22:キャシュ
メモリ 23:キャシュ制御回路 24:比較器 25:シャドウ輝度決定モジュール
10: Buffer 22: Cache memory 23: Cache control circuit 24: Comparator 25: Shadow luminance determination module

【図4】 本発明のPenumbra関数FIG. 4 is a Penumbra function of the present invention.

【符号の説明】[Explanation of symbols]

ΔLz:表示物体、遮光物体間距離 L1:遮光物
体、光源間距離
ΔLz: distance between display object and light-shielding object L1: distance between light-shielding object and light source

【図5】本発明のシャドウ輝度決定回路FIG. 5 is a circuit for determining a shadow luminance according to the present invention;

【符号の説明】[Explanation of symbols]

3:シェーディングプロセッサ 11:シャド
ウポリゴンキャシュ 24:シャドウ輝度決定回路 24a:不透明物体シャドウポリゴンバッファ 24b1−24b3:減算器 24c:マル
チプレクサ 24d:制御回路 24e:減算
器 24f:メモリテーブル 24g:乗算
3: Shading processor 11: Shadow polygon cache 24: Shadow brightness determination circuit 24a: Opaque object shadow polygon buffer 24b1 to 24b3: Subtractor 24c: Multiplexer 24d: Control circuit 24e: Subtractor 24f: Memory table 24g: Multiplier

【図6】本発明のバッファFIG. 6 shows a buffer according to the invention.

【符号の説明】[Explanation of symbols]

F1:表示イメージおよび透明度バッファ F2:
表示イメージz値 F3、F4:不透明物体シャドウポリゴンバッファ F5:半透明物体シャドウポリゴンバッファ F6:ポリゴン識別子、領域フラグ、一ビットフラグバ
ッファ F7:シャドウイメージ、減衰率εバッファ
F1: Display image and transparency buffer F2:
Display image z value F3, F4: opaque object shadow polygon buffer F5: translucent object shadow polygon buffer F6: polygon identifier, area flag, one-bit flag buffer F7: shadow image, attenuation factor ε buffer

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】光源を投影中心とする3次元光源座標系で
定義された多角形を内挿補間してそれぞれの補間点と光
源とがなす距離を隠面消去を用いてシャドウポリゴンバ
ッファに記憶する第一の処理と、視点を投影中心とする
3次元視点座標系で定義された多角形を内挿すると同時
に、視点座標系における多角形の補間点に対応する光源
座標系での座標値を求め、この光源座標系座標値の光源
からの距離と、前記第一の処理においてシャドウポリゴ
ンバッファに記憶した距離とを比較して、補間点が影か
照射点かを求める第二の処理をもつ2パスzバッファ方
式シャドウキャスティング法において、第一の処理にお
ける多角形には多角形毎に識別子をつけ、補間点毎に光
源からの距離、識別子およびフラグをシャドウポリゴン
バッファに記憶する第一の手段と、第二の処理において
多角形毎に識別子を設け、またそれぞれの頂点には視点
座標系の頂点座標値だけでなく光源座標系頂点座標値も
定義し、これら座標値を補間回路によって同時に内挿補
間する第二の手段と、前記第二の処理で得られたそれぞ
れの視点座標系補間点に対応する光源座標系における距
離と、シャドウポリゴンバッファに記憶された距離とを
補間毎に比較し、シャドウポリゴンバッファに記憶され
た光源からの距離の方がより光源に近い場合は、さらに
前記第一の処理においてシャドウポリゴンバッファに記
憶された識別子と第二の処理における多角形がもつ識別
子とを比較する比較回路によってこれら識別子が不一致
の場合その内挿点を影とし、一致する場合は照射点とす
る第三の手段とをもつシャドウキャスティング回路。
1. A polygon defined by a three-dimensional light source coordinate system having a light source as a projection center is interpolated and the distance between each interpolation point and the light source is stored in a shadow polygon buffer using hidden surface elimination. The first processing is to interpolate a polygon defined in a three-dimensional viewpoint coordinate system with the viewpoint being the projection center, and at the same time, coordinate values in the light source coordinate system corresponding to the interpolation points of the polygon in the viewpoint coordinate system. A second process for determining whether the interpolation point is a shadow or an irradiation point by comparing the distance from the light source of the light source coordinate system coordinate value with the distance stored in the shadow polygon buffer in the first process. In the two-pass z-buffer shadow casting method, an identifier is assigned to each polygon in the first processing, and the distance from the light source, the identifier, and the flag are stored in the shadow polygon buffer for each interpolation point. In the first means and the second processing, an identifier is provided for each polygon, and not only the vertex coordinate value of the viewpoint coordinate system but also the vertex coordinate value of the light source coordinate system is defined for each vertex, and these coordinate values are interpolated. A second means for simultaneously interpolating by a circuit, and interpolating a distance in a light source coordinate system corresponding to each viewpoint coordinate system interpolation point obtained in the second processing and a distance stored in a shadow polygon buffer. When the distance from the light source stored in the shadow polygon buffer is closer to the light source, the identifier stored in the shadow polygon buffer in the first processing and the polygon in the second processing are further compared. A shadow circuit having third means for setting the interpolation point as a shadow when the identifiers do not match, and as an irradiation point when the identifiers match, by a comparison circuit for comparing the identifiers Computing circuit.
【請求項2】請求項1のシャドウキャスティング回路に
おいて、光源座標系の多角形頂点座標値には第一の処理
では同次座標系(Lx、Ly、Lz、Lw)で、また第
二の処理においては通常座標系(Lx、Ly、Lz)で
定義するとともに、第一の処理においては多角形内挿補
間毎にLxおよびLyのそれぞれの座標値を、逆写像変
換回路を有してスカラー値Lwで除算した値をシャドウ
ポリゴンバッファのアドレスとして光源からの距離Lz
値を記憶するとともに、第二の処理では補間されたLx
およびLyをそのまま用いてシャドウポリゴンバッファ
に記憶された距離を読み出し、これと第二の処理の光源
からの距離とを比較して点光源による影の有無を決定す
る手段と、第二の処理における多角形の内挿補間に関
し、それぞれの光源座標系頂点座標値は視点系座標値を
主軸として線形に補間する補間回路を有するシャドウキ
ャスティング回路。
2. The shadow casting circuit according to claim 1, wherein the coordinate values of the polygon vertices of the light source coordinate system are calculated in a homogeneous coordinate system (Lx, Ly, Lz, Lw) in the first processing and in the second processing. Is defined in a normal coordinate system (Lx, Ly, Lz), and in the first processing, each coordinate value of Lx and Ly is converted into a scalar value by an inverse mapping conversion circuit for each polygon interpolation. The value divided by Lw is used as the address of the shadow polygon buffer as the distance Lz from the light source.
In addition to storing the value, in the second processing, the interpolated Lx
Means for reading out the distance stored in the shadow polygon buffer using the same as Ly and comparing the distance with the distance from the light source in the second processing to determine the presence or absence of a shadow by the point light source; A shadow casting circuit having an interpolation circuit for linearly interpolating each vertex coordinate value of a light source coordinate system with respect to a principal axis using a viewpoint coordinate value with respect to interpolation of a polygon.
【請求項3】請求項1のシャドウキャスティング回路に
おいて、シャドウポリゴンバッファに記憶された前記光
源からの距離とフラグとをそれぞれフィルタリングする
フィルタ回路を有し、フィルタサンプリング点の近傍の
少なくとも3x3画素領域において、この領域に記憶さ
れた距離のうち最も光源に近い距離と、その距離に付加
された識別子求め、その識別子と同一の識別子をもつそ
れぞれの距離を平均値化する一方、フラグは1ビットか
らなるシャドウフラグと、少なくとも2ビット以上から
なる領域フラグで構成し、前記識別子と同一の識別子を
もつ領域フラグ値はそのままに、他の識別子の領域フラ
グ値はゼロ値としたのちフィルタリングを行う手段と、
シャドウフラグに関し前記サンプリング点の識別子が前
記の光源から最も近い距離を含む識別子と異なる場合は
リセットし、同一の場合はセットするそれぞれの手段を
有してサンプリング点の距離、領域フラグおよび識別子
を決定するシャドウキャスティング回路。
3. The shadow casting circuit according to claim 1, further comprising: a filter circuit for filtering a distance from said light source and a flag stored in a shadow polygon buffer, respectively, in at least a 3 × 3 pixel area near a filter sampling point. The distance closest to the light source among the distances stored in this area and the identifier added to the distance are obtained, and the distances having the same identifier as the identifier are averaged, while the flag is composed of 1 bit. Means for performing filtering after setting a shadow flag and an area flag consisting of at least two bits or more, leaving an area flag value having the same identifier as the identifier as it is, and setting area flag values of other identifiers to a zero value,
When the identifier of the sampling point is different from the identifier including the closest distance from the light source with respect to the shadow flag, resetting is performed, and when the identifier is the same, the respective means for setting are used to determine the distance of the sampling point, the area flag, and the identifier. Shadow casting circuit.
【請求項4】請求項1のシャドウキャスティング回路に
おける第二の処理において、第二の処理で得られる視点
座標系それぞれの内挿補間点に対応する光源からの距離
と、第一の処理でシャドウポリゴンバッファに記憶した
距離との差分値を補間毎に求め、この差分値に対して環
境光に依存した定数値を係数として付加し、差分値が大
きくなるにしたがって影を減衰させる影減衰値を求める
回路を有するシャドウキャスティング回路。
4. The shadow casting circuit according to claim 1, wherein in the second processing, a distance from a light source corresponding to an interpolation point of each viewpoint coordinate system obtained in the second processing, and a shadow in the first processing. A difference value from the distance stored in the polygon buffer is obtained for each interpolation, and a constant value depending on ambient light is added as a coefficient to this difference value, and a shadow attenuation value for attenuating a shadow as the difference value increases becomes larger. A shadow casting circuit having a circuit to be sought.
【請求項5】請求項3および4のシャドウキャスティン
グ回路において、遮光物体に近い影の周辺はシャープ
に、遠い影の周辺はぼかす表示を得る手段として、前記
領域フラグのフィルタリングを第一の処理の内挿補間処
理後に少なくとも一回以上行うとともに、このフィルタ
リングされたフラグ値と前記距離の差分値および遮光物
体と光源との距離とをアドレス変数とするメモリーテー
ブルを用いて、差分値が小さな場合にはフラグ初期設定
値とゼロ値間の変化率を急峻とし、また差分値が大きな
場合にはその変化率を緩やかにする関数を記憶し、この
関数値と請求項4で得た影減衰値とを表示画素がもつ輝
度に対するスケール値とすることで影周辺の輝度を決定
するシャドウキャスティング回路。
5. The shadow casting circuit according to claim 3, wherein the filtering of the area flag is performed in the first processing as means for obtaining a display in which the vicinity of a shadow close to a light-shielding object is sharp and the periphery of a distant shadow is blurred. Performed at least once after the interpolation process, and using a memory table that uses the filtered flag value and the difference value of the distance and the distance between the light-shielding object and the light source as an address variable, when the difference value is small. Stores a function that makes the rate of change between the flag initial setting value and the zero value steep, and that, when the difference value is large, makes the rate of change gradual. This function value and the shadow attenuation value obtained in claim 4 Is a scale value for the luminance of the display pixel, and determines the luminance around the shadow.
【請求項6】請求項1のシャドウキャスティング回路に
おいて、光源に最も近い物体の距離から次に近い距離を
順次記憶する少なくとも2つ以上のシャドウポリゴンバ
ッファをもつとともに、これらシャドウポリゴンバッフ
ァのそれぞれの光源からの距離と、第二の処理における
内挿補間点の光源からの距離とを比較し、内挿補間点が
最も光源に近い物体とその他の遮光物体との間に位置す
る場合は請求項4および5の影減衰値と関数値をそれぞ
れ表示物体輝度に乗算する手段と、補間点が2つ以上の
遮光物体より遠方に位置する場合には影減衰値だけを表
示物体輝度に乗算する手段をもつシャドウキャスティン
グ回路
6. The shadow casting circuit according to claim 1, further comprising at least two or more shadow polygon buffers for sequentially storing a distance from an object closest to the light source to a next closest distance, and a light source for each of these shadow polygon buffers. Is compared with the distance of the interpolation point from the light source in the second processing, and if the interpolation point is located between the object closest to the light source and another light-shielding object, Means for multiplying the brightness of the display object by the shadow attenuation value and the function value of 5 and 5, and means for multiplying the brightness of the display object only by the shadow attenuation value when the interpolation point is located farther than two or more light-shielding objects. Shadow casting circuit
【請求項7】請求項1のシャドウキャスティング回路に
おいて、第一の処理で補間される多角形が半透明物体の
場合、多角形頂点には光源系における頂点座標値、識別
子だけでなく、面法線、光源角、テクスチャーマッピン
グ座標値および光減衰率をそれぞれ定義し、これらを同
時に内挿補間する補間回路と、補間された多角形に対し
てテクスチャーパターンをマッピングするテキスチャマ
ッピング回路と、この結果得られたシャドウテクスチャ
ー画素および光減衰率を記憶するシャドウイメージバッ
ファを有するとともに、第二の処理においては表示画素
の輝度を決定する際、視点座標系においてシェーディン
グされた表示画素の輝度と、前記シャドウイメージバッ
ファに記憶された画素の輝度とを前記光減衰率を用いて
合成する手段をもつシャドウキャスティング回路
7. The shadow casting circuit according to claim 1, wherein when the polygon to be interpolated in the first processing is a translucent object, the polygon vertices include not only vertex coordinate values and identifiers in the light source system but also surface methods. An interpolation circuit that defines lines, light source angles, texture mapping coordinate values, and light attenuation factors, respectively, and interpolates them at the same time, and a texture mapping circuit that maps a texture pattern to an interpolated polygon. And a shadow image buffer for storing the obtained shadow texture pixel and the light attenuation factor. In the second process, when determining the brightness of the display pixel, the brightness of the display pixel shaded in the viewpoint coordinate system and the shadow image Means for synthesizing the luminance of the pixel stored in the buffer using the light attenuation rate. Shadow casting circuit
【請求項8】請求項4、5および7のシャドウキャステ
ィング回路において、光源からの半透明物体の距離と、
不透明物体からの距離をそれぞれ異なる少なくとも2つ
以上のシャドウポリゴンバッファを有して第一の処理に
おける補間値をそれぞれ記憶するとともに、第二の処理
において得られた多角形内挿補間点に対する光源からの
距離と、前記シャドウポリゴンバッファに記憶された少
なくとも二つ以上の距離とを同時に比較して、前記補間
点が不透明物体の距離よりも光源に近く、かつ半透明物
体よりも遠い場合には請求項7の手段により前記シャド
ウイメージバッファとシェーデイング表示画素とを前記
光減衰率を用いて合成し、また不透明物体よりも遠方に
ある場合には請求項4および5で得られる影減衰値と関
数値をそれぞれ用いて輝度を決定する手段をもつシャド
ウキャスティング回路
8. The shadow casting circuit according to claim 4, wherein the distance of the translucent object from the light source;
It has at least two or more shadow polygon buffers each having a different distance from the opaque object, and stores the interpolation values in the first processing, respectively, and the light source for the polygon interpolation interpolation point obtained in the second processing. Is compared with at least two or more distances stored in the shadow polygon buffer, and if the interpolation point is closer to the light source than to the opaque object and farther than to the translucent object, 7. The shadow attenuation buffer and the shaded display pixel are synthesized by the means of item 7 using the light attenuation factor, and the shadow attenuation value and the function obtained in claims 4 and 5 are obtained when the shadow image buffer is farther than the opaque object. Shadow casting circuit having means for determining luminance using respective values
【請求項9】請求項1の第一の処理において、すでにシ
ャドウポリゴンバッファに記憶された光源からの距離と
内挿補間点の距離とを比較して、そのいづれか一方を選
択記憶する隠面消去回路に関して、シャドウポリゴンバ
ッファに記憶された距離が補間点の距離よりも光源に対
して後方にあるとともに、バッファに記憶された識別子
と補間点の識別子がそれぞれ異なる場合は、補間点の距
離を選択して新たにシャドウポリゴンバッファに書きこ
む一方、それぞれの識別子が同一の場合はシャドウバッ
ファに記憶された距離を選択する手段と、シャドウバッ
ファに記憶された距離が補間点の距離よりも光源に近い
場合でそれぞれの識別子が異なる場合はシャドウポリゴ
ンバッファに記憶された距離を選択し、識別子が同一の
場合は補間点の距離をシャドウポリゴンバッファに書き
こむ手段をもつシャドウキャスティング回路
9. The hidden surface elimination method according to claim 1, wherein the distance from the light source already stored in the shadow polygon buffer is compared with the distance of the interpolation point, and one of the distances is selectively stored. For the circuit, if the distance stored in the shadow polygon buffer is behind the distance of the interpolation point with respect to the light source and the identifier stored in the buffer and the identifier of the interpolation point are different, select the interpolation point distance. Means for selecting the distance stored in the shadow buffer when the identifiers are the same while writing the new data in the shadow polygon buffer, and the distance stored in the shadow buffer is closer to the light source than the distance of the interpolation point. If the identifiers are different, the distance stored in the shadow polygon buffer is selected. If the identifiers are the same, the distance of the interpolation point is selected. Shadow casting circuit having means to write to the shadow polygon buffer
JP31726899A 1999-10-01 1999-10-01 Soft shadow casting circuit Pending JP2001101445A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31726899A JP2001101445A (en) 1999-10-01 1999-10-01 Soft shadow casting circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31726899A JP2001101445A (en) 1999-10-01 1999-10-01 Soft shadow casting circuit

Publications (1)

Publication Number Publication Date
JP2001101445A true JP2001101445A (en) 2001-04-13

Family

ID=18086353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31726899A Pending JP2001101445A (en) 1999-10-01 1999-10-01 Soft shadow casting circuit

Country Status (1)

Country Link
JP (1) JP2001101445A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141082A (en) * 2005-11-21 2007-06-07 Namco Bandai Games Inc Program, texture data structure, information storage medium, and image generation system
WO2007086209A1 (en) * 2006-01-26 2007-08-02 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, and information storage medium
WO2007086208A1 (en) * 2006-01-26 2007-08-02 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, and information storage medium
KR100888528B1 (en) 2006-12-14 2009-03-11 인스티튜트 포 인포메이션 인더스트리 Apparatus, method, application program and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3D object
KR20160103926A (en) * 2015-02-25 2016-09-02 삼성전자주식회사 Shadow rendering method and shadow rendering apparatus

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141082A (en) * 2005-11-21 2007-06-07 Namco Bandai Games Inc Program, texture data structure, information storage medium, and image generation system
WO2007086209A1 (en) * 2006-01-26 2007-08-02 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, and information storage medium
WO2007086208A1 (en) * 2006-01-26 2007-08-02 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, and information storage medium
JP2007195747A (en) * 2006-01-26 2007-08-09 Konami Digital Entertainment:Kk Game apparatus and control method and program for the same
KR100987624B1 (en) * 2006-01-26 2010-10-13 가부시키가이샤 코나미 데지타루 엔타테인멘토 Game machine, game machine control method, and information storage medium
KR100987625B1 (en) * 2006-01-26 2010-10-13 가부시키가이샤 코나미 데지타루 엔타테인멘토 Game machine, game machine control method, and information storage medium
US8054309B2 (en) 2006-01-26 2011-11-08 Konami Digital Entertainment Co., Ltd. Game machine, game machine control method, and information storage medium for shadow rendering
KR100888528B1 (en) 2006-12-14 2009-03-11 인스티튜트 포 인포메이션 인더스트리 Apparatus, method, application program and computer readable medium thereof capable of pre-storing data for generating self-shadow of a 3D object
KR20160103926A (en) * 2015-02-25 2016-09-02 삼성전자주식회사 Shadow rendering method and shadow rendering apparatus
KR102174264B1 (en) 2015-02-25 2020-11-04 삼성전자주식회사 Shadow rendering method and shadow rendering apparatus

Similar Documents

Publication Publication Date Title
US11386528B2 (en) Denoising filter
US5966134A (en) Simulating cel animation and shading
US6115049A (en) Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth
US7233332B2 (en) Method and apparatus for rendering shadows
US6982723B1 (en) Method and apparatus for eliminating unwanted steps at edges in graphic representations in the line raster
CN111508052B (en) Rendering method and device of three-dimensional grid body
US6744430B1 (en) Image processing method and its apparatus
US7924281B2 (en) System and method for determining illumination of a pixel by shadow planes
US8207968B1 (en) Method and apparatus for irradiance caching in computing indirect lighting in 3-D computer graphics
US6774910B2 (en) Method and system for providing implicit edge antialiasing
US20130120385A1 (en) Methods and Apparatus for Diffuse Indirect Illumination Computation using Progressive Interleaved Irradiance Sampling
US20070046665A1 (en) Apparatus and program for image generation
KR20170016318A (en) Method for efficient construction of high resolution display buffers
US8547395B1 (en) Writing coverage information to a framebuffer in a computer graphics system
JP2012014714A (en) Method and device for rendering translucent 3d graphic
Riguer et al. Real-time depth of field simulation
JP3349871B2 (en) Image processing device
US6549209B1 (en) Image processing device and image processing method
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
Rosen Rectilinear texture warping for fast adaptive shadow mapping
US5416893A (en) Method for displaying edging or decaling of an object in a graphics display
EP1058912B1 (en) Subsampled texture edge antialiasing
JP2001101445A (en) Soft shadow casting circuit
Boksansky et al. Ray traced shadows: maintaining real-time frame rates
Schedl et al. Simulating Partial Occlusion in Post-Processing Depth-of-Field Methods

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040730