|
|
clipka <ano### [at] anonymousorg> wrote:
> Am 13.03.2017 um 11:57 schrieb muyu:
> > Hi,
> >
> > I would like to simulate the radiative transfer in 3D crop canopy using Pov-ray.
> > We can have the optical properties of each surface (transmitance and
> > reflectance/diffuse). In order to simulate the multi-scattering, I would like to
> > use radiosity.
> >
> > 1) I can set the transmitance by rgbt(0,1,0,transmitance). Transmitance is the
> > same for all the three color chanels? This is not realistic for most cases.
>
> Alternatively (or in addition) you can use filtering transparency, by
> specifying the pigment as `rgbf <R,G,B,Filter>` (or `rgbft
> <R,G,B,Filter,Trans>`). This will give you an effective transmissive
> component of `<R,G,B>*Filter` (or `<R,G,B>*Filter+<1,1,1>*Trans`).
>
> Be aware that if you use solid shapes the effect will be applied twice
> (once at each interface).
>
> Also note that this type of transmittance does not account for any
> scattering. For that you would have to use a different mechanism: Media
> (requires solid shapes), subsurface light transport (requires solid
> shapes), or backside diffuse illumination (requires non-solid shapes).
> For the latter you would specify `finish{diffuse DFront,DBack}`, giving
> you a diffuse reflectivity of `Pigment*DFront` and a diffuse
> transmittance of `Pigment*DBack`.
>
> > 2) diffuse can be set by finish{diffuse df}. But I do not know how this diffuse
> > impact the surface color? rgb(0,1,0)*diffuse?
>
> Yes, the `diffuse` term is multiplied by the nominal pigment colour.
Thanks a lot for your nice answer.
I checked the follwoing code to understand the impact of diffuse fraction. As I
understood, the output image color should be proportional to the diffuse
fraction. But the result is not...especially as the diffuse is very low. What's
the problem? Thanks again.
Antialias=on
Antialias_Threshold=0.0
Antialias_Depth=2
Input_File_Name="canopy_rami_cal.pov"
Initial_Frame=1
Final_Frame=11
Initial_Clock = 0
Final_Clock = 1
width = 1000
height = 1000
Cyclic_Animation=on
Pause_when_Done=off
//-----------------------------------------------------------------------------
#include "colors.inc"
light_source{<0,0,100> color rgb<1,1,1> parallel}
#version 3.7; // 3.6;
global_settings {
assumed_gamma 2.2
ambient_light 0
radiosity {
count 1500
gray_threshold 1.0
error_bound 0.01
brightness 1
}
}
// camera ------------------------------------------------------------
camera{ perspective
angle 5
right <1,0,0>
up <0,1,0>
look_at <0,0,0>
location < 0, 0, 50>
}
// ground ------------------------------------------------------------
plane { <0,0,1>, 0
texture{ pigment{color rgbt<0.0,1,0.0>}
finish {ambient 0.0 diffuse clock fresnel conserve_energy}
} // end of textures
} // end of plane
Post a reply to this message
|
|