|
|
Hi,
This might be a bit too specialised to ask for, but does anyone know if its
possible to define (or re-define) the actual photometric functions that POV
uses to render surfaces? In other words, to change the way light is
reflected/absorbed by/scattered from objects by directly changing the way that
POV calculates the intensity etc of the light ray that bounces off the object?
I know you can sort of do this using finishes and so on in the POV files, but
I'm after a much more mathematically accurate and explicit way of doing this -
what I'd be interested in is a way to change the calculations used in the
background (and possibly define new terms to accommodate those changes in the
scene files). I'd imagine the algorithms used for calculating these functions
are in the C source code for POV, but ideally I'd like to know if there's a
way to 'overwrite' them in a scene file instead of having to recompile POV! If
the names of these functions means anything to anyone, I think that POV might
use the Phong and Lambertian photometric functions, but what I'd be after is a
way to use Lommel-Seeliger, Minnaert, Blinn, Hapke, Buratti, and other
functions (for example, to get rid of (or define the extent of) limb darkening
on rendered spheres viewed with the light directoly behind the camera).
I wouldn't be surprised if it's not possible to do this (or if it never will
be), since it would probably involve having to change a very major part of how
POVray renders objects. But still, I had to ask...
If anyone can help (or even understood any of that), I'd appreciate it!
Cheers,
Consty (remove the *nospam to email me)
Post a reply to this message
|
|
|
|
On Sat, 15 Aug 1998 01:23:53 +0100, Constantine Thomas
<c.thomas1*nos### [at] lancasteracuk> wrote:
> This might be a bit too specialised to ask for, but does anyone know if its
>possible to define (or re-define) the actual photometric functions that POV
>uses to render surfaces?
Currently, the only hope you have of doing this is to modify the C source.
The code you're looking for is probably in lighting.c. If you decide you
want to give it a try, and you find you need help understanding or building
the source, the place to ask is povray.programming on this server.
If you do create a custom patch to POV, and would like to contribute it to
the POV project, be sure to drop a line to the POV Team when it's finished.
Post a reply to this message
|
|