Has anybody come across a C implementation of Hanrahan's
closed-form expression for the form-factor between two
polygons?
Simon Gibson
(University of Manchester)
Simon Gibson
(University of Manchester)
> Simon Gibson
> (University of Manchester)
--
http://www.graphics.cornell.edu/~bwade/
>> Has anybody come across a C implementation of Hanrahan's
>> closed-form expression for the form-factor between two
>> polygons?
>> Simon Gibson
>> (University of Manchester)
>Not likely
http://www.cs.princeton.edu/gfx/papers/formfactor/libff.tar.Z
(It was actually Peter Schr\"oder and Pat Hanrahan who found this
closed-form solution.)
Also, note that this stuff won't be at Princeton forever, though it should
also be available via the Stanford Graphics Group Web pages
(http://www-graphics.stanford.edu) in the near future...
-matt
---
http://www-graphics.stanford.edu/~pharr
|>
|> Au contraire. Both a C implementation and Mathematica code are available
|> via the Princeton Graphics Group Web pages. The C library is at:
|>
|> http://www.cs.princeton.edu/gfx/papers/formfactor/libff.tar.Z
For FTP, it is at ftp.cs.princton.edu in the
/pub/packages/formfactor directory, with files ff.m, ffpaper.ps, fftr.ps,
and libff.tr, all compressed (.Z) files. About 440K altogether.
Randy
--
>Has anybody come across a C implementation of Hanrahan's
>closed-form expression for the form-factor between two
>polygons?
The only advantage you'll get by using this generalised method
is when you have patches sharing an edge, and there's a solution
for that for square patches anyway.
And you'll be using only linear reconstruction functions (Gouraud
shading) so any accuracy you win in using the general method is
lost in the rendering. Accurate enough is accurate enough.
Has anyone used quadratic basis functions usefully yet?
- Robin Green.
--
----------------------------------------------------------------
Electronic Arts Ltd. EAUK EA don't have any opinions
----------------------------------------------------------------
>Man, you gotta be joking! This method is general, it's correct but
>it's very very very slow and that's without the perspective
>clipping that the polygons need to go through for *every* patch.
>The only advantage you'll get by using this generalised method
>is when you have patches sharing an edge, and there's a solution
>for that for square patches anyway.
>And you'll be using only linear reconstruction functions (Gouraud
>shading) so any accuracy you win in using the general method is
>lost in the rendering. Accurate enough is accurate enough.
>- Robin Green.
true, the exact answer is useful only for piecewise-constant
bases. but in contact cases, it's indispensable -- and
these happen often, and for more than axial rectangles,
contrary to your statement.
yes, quadratic basis functions have found more use recently...
in my opinion they're necessary and sufficient for representing
all but the most perverse radiosity solutions efficiently and
accurately.
seth.
--
MIT Lab for CS, NE43-208 tel 617 258 7885
545 Technology Square fax 617 253 6652
Cambridge, MA 02139 http://theory.lcs.mit.edu/~seth/
1. Radiosity and Form Factor evaluation question ??
This question is concerned with the Form Factor evaluation within the
Radiosity algorithm. I'm have some conceptual difficulty marrying both
the Nusselt Analog approach and a more instinctive approach. Basically I'm
sure it is my instinct that is way out... Could somebody correct my logic
here:
Consider the form factor from an area A_i to area A_j. The form factor
from differential area dA_i to differential area dA_j is given by:
dF_(di-dj) = cos(Theta_i) * cos(Theta_j) * H_ij dA_j
---------------------------
PI*r^2
r: lenght of vector from centre of dA_i to dA_j
Theta_i: angle between Normal to dA_i and the vector between patches
Theta_j: angle between Normal to dA_j and the vector between patches
H_ij: occlusion function/factor.
Conceptually, I have been trying to break this down and have supposed the
following:
cos(Theta_i) and cos(Theta_j) account for the energy fall-off
due to the cosine of the angles,... fine.
H_ij, being the occlusion factor is obvious in its function.
r^2 accounts for the relationship between energy and the inv/square
law
Finally PI is related to the Solid angle subtended by dA_j as seen
from dA_i. This is where my problem arrises...
I would have thought that it should be divided by 2*PI rather than PI, given
that the area of the hemi-sphere centred at dA_i is 2*PI*r^2, given that r = 1,
then the factor reduces to 2*PI. Where does the factor 2 disappear. I've
struggled with this and realise that I may be approaching it from an
incorrect point of view. Can somebody clarify this...
steve
--
+-------------------------------------+------------------------------------
| Hitachi Central Research Lab. Tokyo | ph: (0423)-23-1111 fax: (0423) 27-7742 |
+-------------------------------------+------------------------------------
2. (graphical components moving around w/o my permission :))
3. Radiosity algorithms (pseudocode or code) especially Form Factors
5. Form Factor for arbitrary disks
6. Excel Graphs into Pagemaker then to Print in Color?
9. Computing form factor in radiosoty
11. Form factor calculations for radiosity
13. Radiosity form factor calculation ?