|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I am trying to render jello. What I get is
http://s18.postimage.org/86nwkrp4p/jello.png
There are crossing lines on the surface. I really want to get something like
http://s7.postimage.org/g4a0ahgrf/Untitled.png
I guess there's something wrong in my refraction? Could anyone help me?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On 27/12/2011 10:25 AM, chenfanfu.jiang wrote:
>
> I am trying to render jello. What I get is
> http://s18.postimage.org/86nwkrp4p/jello.png
> There are crossing lines on the surface. I really want to get something like
> http://s7.postimage.org/g4a0ahgrf/Untitled.png
>
> I guess there's something wrong in my refraction? Could anyone help me?
>
>
Without the code it is just guesswork but are you using union instead of
merge?
See the help 2.2.3.5 CSG Merge
--
Regards
Stephen
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>
> I am trying to render jello. What I get is
> http://s18.postimage.org/86nwkrp4p/jello.png
> There are crossing lines on the surface. I really want to get something like
> http://s7.postimage.org/g4a0ahgrf/Untitled.png
>
> I guess there's something wrong in my refraction? Could anyone help me?
>
>
Your image looks mostly correct as it is. The lines you see are due to
total internal reflection. They line up perfectly because you use a
simple box object, while your reference have faces caving in.
You can acheive that using a difference starting with a box and removing
bits of the faces with large spheres, with a mesh object or some other ways.
jello is mostly water. A correct ior should be between 1.33 and 1.34.
It's colouration is in the mass, not at the surface. You should use
fade_color Colour fade_distance Lenght fade_power 1 (or 1001).
The sample image seems to be using photons. Please read about it in the
ducumentation. You need a photons{} block in the global_settings and
another for the object itself.
The code for your jello should help find any eventual problem.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thank you for the reply!
Here is my code, I have modified it but the result still looks weird.
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "glass.inc"
global_settings {
assumed_gamma 2.2
max_trace_level 5
photons {
count 20000
}
}
#declare LIGHT_FADING_DIST = 20.0;
background { Gray50 }
light_source {
< 0, 4, 0> color Gray60
fade_distance LIGHT_FADING_DIST fade_power 2
photons {
reflection on
refraction on
}
}
light_source {
< 10, 4, 10> color Gray60
fade_distance LIGHT_FADING_DIST fade_power 2
photons {
reflection on
refraction on
}
}
light_source {
< -10, 4, 10> color Gray60
fade_distance LIGHT_FADING_DIST fade_power 2
photons {
reflection on
refraction on
}
}
light_source {
< 0, 0, -20> color Gray80
fade_distance LIGHT_FADING_DIST fade_power 2
photons {
reflection on
refraction on
}
}
plane {
y, -3
pigment { color Gray50 }
finish { reflection 0.35}
}
camera {
location <2, 1.5, -2>
look_at <0,0, 0>
}
#declare jello=
difference {
box { <-0.5,-0.5,-0.5>, <0.5,0.5,0.5> }
union {
sphere {<5.47349,0,0>, 5.02349}
sphere {<-5.47349,0,0>, 5.02349}
sphere {<0,5.47349,0>, 5.02349}
sphere {<0,-5.47349,0>, 5.02349}
sphere {<0,0,5.47349>, 5.02349}
sphere {<0,0,-5.47349>, 5.02349}
}
//rotate y*45
rotate x*45
texture {
pigment { Red filter .98 }
finish {
phong 1 phong_size 30
reflection 0.01
}
}
interior {
ior 1.34
fade_color Red
fade_distance 10
fade_power 1001
}
}
object {
jello
photons {
target
reflection on
refraction on
}
}
Alain <aze### [at] qwertyorg> wrote:
> >
> > I am trying to render jello. What I get is
> > http://s18.postimage.org/86nwkrp4p/jello.png
> > There are crossing lines on the surface. I really want to get something like
> > http://s7.postimage.org/g4a0ahgrf/Untitled.png
> >
> > I guess there's something wrong in my refraction? Could anyone help me?
> >
> >
>
> Your image looks mostly correct as it is. The lines you see are due to
> total internal reflection. They line up perfectly because you use a
> simple box object, while your reference have faces caving in.
> You can acheive that using a difference starting with a box and removing
> bits of the faces with large spheres, with a mesh object or some other ways.
>
> jello is mostly water. A correct ior should be between 1.33 and 1.34.
> It's colouration is in the mass, not at the surface. You should use
> fade_color Colour fade_distance Lenght fade_power 1 (or 1001).
>
> The sample image seems to be using photons. Please read about it in the
> ducumentation. You need a photons{} block in the global_settings and
> another for the object itself.
>
> The code for your jello should help find any eventual problem.
>
>
> Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm now using a difference of a box and [4 spheres]. Please see my code. I still
cannot get the refraction effect like my referred image
Stephen <mcavoys_at@aoldotcom> wrote:
> On 27/12/2011 10:25 AM, chenfanfu.jiang wrote:
> >
> > I am trying to render jello. What I get is
> > http://s18.postimage.org/86nwkrp4p/jello.png
> > There are crossing lines on the surface. I really want to get something like
> > http://s7.postimage.org/g4a0ahgrf/Untitled.png
> >
> > I guess there's something wrong in my refraction? Could anyone help me?
> >
> >
>
> Without the code it is just guesswork but are you using union instead of
> merge?
>
> See the help 2.2.3.5 CSG Merge
>
> --
> Regards
> Stephen
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>
> Thank you for the reply!
> Here is my code, I have modified it but the result still looks weird.
>
I added this as I use version 3.7:
#version 3.7;
MUST be the first statement.
> #include "colors.inc"
> #include "shapes.inc"
> #include "textures.inc"
> #include "glass.inc"
>
>
> global_settings {
> assumed_gamma 2.2
You should use assumed_gamma 1 to get acurate results.
Set file_gamma to 2.2 OR srgb (if using version 3.7) in povray.ini
> max_trace_level 5
You realy need a larger value.
I used this:
max_trace_level 30
adc_bailout 0.01
and got trace level of 27/30.
Some of the lines you see are caused by reatching max_trace_level to soon.
>
> photons {
> count 20000
> }
OK
> }
>
> #declare LIGHT_FADING_DIST = 20.0;
Excessively long. I'd use something like 1 and increase the light's
intensity as needed.
Idealy, for a point light, it should be something like 1e-5 and a light
intensity in the millions. A value of 1 is a good compromise.
For an area_light, it should be the sixe of the light.
>
> background { Gray50 }
>
Why do you use 4 lights? Especialy in the testing phase, one light
should be enough.
I tested with this one replacing your first and commented out the other 3:
#declare LIGHT_FADING_DIST = 1;
light_source {
< 0, 10, -3> rgb 45
fade_distance LIGHT_FADING_DIST fade_power 2
}
> light_source {
> < 0, 4, 0> color Gray60
> fade_distance LIGHT_FADING_DIST fade_power 2
>
> photons {
> reflection on
> refraction on
> }
This photons block is not needed as you use the default one for any
light_source.
> }
>
> light_source {
> < 10, 4, 10> color Gray60
> fade_distance LIGHT_FADING_DIST fade_power 2
>
> photons {
> reflection on
> refraction on
> }
> }
>
> light_source {
> < -10, 4, 10> color Gray60
> fade_distance LIGHT_FADING_DIST fade_power 2
>
> photons {
> reflection on
> refraction on
> }
> }
>
> light_source {
> < 0, 0, -20> color Gray80
> fade_distance LIGHT_FADING_DIST fade_power 2
>
> photons {
> reflection on
> refraction on
> }
> }
>
>
>
> plane {
> y, -3
> pigment { color Gray50 }
> finish { reflection 0.35}
> }
Personaly, I prefer to use variable reflection for anything that is not
a mirror.
>
> camera {
> location<2, 1.5, -2>
> look_at<0,0, 0>
>
> }
>
> #declare jello=
> difference {
> box {<-0.5,-0.5,-0.5>,<0.5,0.5,0.5> }
>
> union {
> sphere {<5.47349,0,0>, 5.02349}
> sphere {<-5.47349,0,0>, 5.02349}
> sphere {<0,5.47349,0>, 5.02349}
> sphere {<0,-5.47349,0>, 5.02349}
> sphere {<0,0,5.47349>, 5.02349}
> sphere {<0,0,-5.47349>, 5.02349}
> }
>
> //rotate y*45
> rotate x*45
>
> texture {
>
> pigment { Red filter .98 }
Would be beter to use pigment{rgbt 1}
pigment{rgbt 0.98} is also acceptable.
The pigment in in the mass, not at the surface.
>
> finish {
> phong 1 phong_size 30
> reflection 0.01
That reflection is totaly unrealistic. You should use variable
reflection with the fresnel option:
reflection{0.01, 0.9 fresnel}
> }
> }
>
> interior {
> ior 1.34
> fade_color Red
> fade_distance 10
Shorten this to about 0.2 to 0.4
I got good looking result using 0.33
fade_distance is the key parameter to controll the intensity of fading
interior.
> fade_power 1001
> }
> }
>
> object {
> jello
>
>
> photons {
> target
> reflection on
> refraction on
> }
> }
>
>
>
Your original render used an area_light. Probably the one from the
include menu. It's array, at 4 by 4, is realy to sparce, and with the
use of jitter, lead to some very grainy penumbrae. Without jitter, you
get strong banding.
You should use a much higher density and add adaptive.
I commonly use this:
area_light x,z 17,17 adaptive 0 //for testing, may need adaptive 1 or 2.
I often also use circular orient to simulate a spherical light_source.
This area_light can be about as fast as the one from the include menu.
Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thank you very much!
I am using v3.6. I changed the code according to your advice. The new rendering
result has some strange white light regions on the jello surface. How can I get
rid of that? (I can see it does not appear when I change ior to 1.0).
Also, if you could please look at the sample image
(http://s7.postimage.org/g4a0ahgrf/Untitled.png) again, you can see very shiny
effect inside it. I'm also wondering how to get a photon mapping like that? I
can tell it is not a result of scattering media.
Thanks again!
Current code:
#version 3.6;
#include "colors.inc"
global_settings {
assumed_gamma 1
max_trace_level 30
adc_bailout 0.01
photons {
count 20000
}
}
background { Gray50 }
#declare LIGHT_FADING_DIST = 1;
light_source {
< 0, 10, -3> rgb 45
fade_distance LIGHT_FADING_DIST fade_power 2
area_light x,z 17,17 adaptive 2
jitter
circular orient
}
plane {
y, -3
pigment { color Gray50 }
finish { reflection 0.35}
}
camera {
location <0, 1., -2>
look_at <0,0, 0>
}
#declare jello=
difference {
box { <-0.5,-0.5,-0.5>, <0.5,0.5,0.5> }
union {
sphere {<5.47349,0,0>, 5.02349}
sphere {<-5.47349,0,0>, 5.02349}
sphere {<0,5.47349,0>, 5.02349}
sphere {<0,-5.47349,0>, 5.02349}
sphere {<0,0,5.47349>, 5.02349}
sphere {<0,0,-5.47349>, 5.02349}
}
rotate y*25
texture {
pigment{rgbt 1}
finish {
phong 1 phong_size 30
reflection{0.01, 0.9 fresnel}
}
}
interior {
ior 1.4
fade_color Red
fade_distance 0.33
fade_power 1001
}
}
object {
jello
photons {
target
reflection on
refraction on
}
}
Alain <aze### [at] qwertyorg> wrote:
> >
> > Thank you for the reply!
> > Here is my code, I have modified it but the result still looks weird.
> >
> I added this as I use version 3.7:
> #version 3.7;
> MUST be the first statement.
>
> > #include "colors.inc"
> > #include "shapes.inc"
> > #include "textures.inc"
> > #include "glass.inc"
> >
> >
> > global_settings {
> > assumed_gamma 2.2
> You should use assumed_gamma 1 to get acurate results.
> Set file_gamma to 2.2 OR srgb (if using version 3.7) in povray.ini
>
> > max_trace_level 5
> You realy need a larger value.
> I used this:
> max_trace_level 30
> adc_bailout 0.01
>
> and got trace level of 27/30.
> Some of the lines you see are caused by reatching max_trace_level to soon.
>
> >
> > photons {
> > count 20000
> > }
> OK
> > }
> >
> > #declare LIGHT_FADING_DIST = 20.0;
> Excessively long. I'd use something like 1 and increase the light's
> intensity as needed.
> Idealy, for a point light, it should be something like 1e-5 and a light
> intensity in the millions. A value of 1 is a good compromise.
> For an area_light, it should be the sixe of the light.
>
> >
> > background { Gray50 }
> >
> Why do you use 4 lights? Especialy in the testing phase, one light
> should be enough.
> I tested with this one replacing your first and commented out the other 3:
>
> #declare LIGHT_FADING_DIST = 1;
>
> light_source {
> < 0, 10, -3> rgb 45
> fade_distance LIGHT_FADING_DIST fade_power 2
> }
>
> > light_source {
> > < 0, 4, 0> color Gray60
> > fade_distance LIGHT_FADING_DIST fade_power 2
> >
> > photons {
> > reflection on
> > refraction on
> > }
>
> This photons block is not needed as you use the default one for any
> light_source.
>
> > }
> >
> > light_source {
> > < 10, 4, 10> color Gray60
> > fade_distance LIGHT_FADING_DIST fade_power 2
> >
> > photons {
> > reflection on
> > refraction on
> > }
> > }
> >
> > light_source {
> > < -10, 4, 10> color Gray60
> > fade_distance LIGHT_FADING_DIST fade_power 2
> >
> > photons {
> > reflection on
> > refraction on
> > }
> > }
> >
> > light_source {
> > < 0, 0, -20> color Gray80
> > fade_distance LIGHT_FADING_DIST fade_power 2
> >
> > photons {
> > reflection on
> > refraction on
> > }
> > }
> >
> >
> >
> > plane {
> > y, -3
> > pigment { color Gray50 }
> > finish { reflection 0.35}
> > }
> Personaly, I prefer to use variable reflection for anything that is not
> a mirror.
>
> >
> > camera {
> > location<2, 1.5, -2>
> > look_at<0,0, 0>
> >
> > }
> >
> > #declare jello=
> > difference {
> > box {<-0.5,-0.5,-0.5>,<0.5,0.5,0.5> }
> >
> > union {
> > sphere {<5.47349,0,0>, 5.02349}
> > sphere {<-5.47349,0,0>, 5.02349}
> > sphere {<0,5.47349,0>, 5.02349}
> > sphere {<0,-5.47349,0>, 5.02349}
> > sphere {<0,0,5.47349>, 5.02349}
> > sphere {<0,0,-5.47349>, 5.02349}
> > }
> >
> > //rotate y*45
> > rotate x*45
> >
> > texture {
> >
> > pigment { Red filter .98 }
>
> Would be beter to use pigment{rgbt 1}
> pigment{rgbt 0.98} is also acceptable.
> The pigment in in the mass, not at the surface.
>
> >
> > finish {
> > phong 1 phong_size 30
> > reflection 0.01
>
> That reflection is totaly unrealistic. You should use variable
> reflection with the fresnel option:
> reflection{0.01, 0.9 fresnel}
>
> > }
> > }
> >
> > interior {
> > ior 1.34
> > fade_color Red
> > fade_distance 10
>
> Shorten this to about 0.2 to 0.4
> I got good looking result using 0.33
>
> fade_distance is the key parameter to controll the intensity of fading
> interior.
>
> > fade_power 1001
> > }
> > }
> >
> > object {
> > jello
> >
> >
> > photons {
> > target
> > reflection on
> > refraction on
> > }
> > }
> >
> >
> >
>
> Your original render used an area_light. Probably the one from the
> include menu. It's array, at 4 by 4, is realy to sparce, and with the
> use of jitter, lead to some very grainy penumbrae. Without jitter, you
> get strong banding.
>
> You should use a much higher density and add adaptive.
> I commonly use this:
> area_light x,z 17,17 adaptive 0 //for testing, may need adaptive 1 or 2.
> I often also use circular orient to simulate a spherical light_source.
>
> This area_light can be about as fast as the one from the include menu.
>
>
>
> Alain
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>
> Thank you very much!
> I am using v3.6. I changed the code according to your advice. The new rendering
> result has some strange white light regions on the jello surface. How can I get
> rid of that? (I can see it does not appear when I change ior to 1.0).
>
> Also, if you could please look at the sample image
> (http://s7.postimage.org/g4a0ahgrf/Untitled.png) again, you can see very shiny
> effect inside it. I'm also wondering how to get a photon mapping like that? I
> can tell it is not a result of scattering media.
>
> Thanks again!
You can reduce the transparency value of the pigment.
Example:
pigment{rgbt<1,1,1,0.7>}
You can try reducing the maximum reflection value.
Example:
reflection{0.01, 0.7 fresnel}
It's possible that the reference image use an unrealistic ior value.
It's also possible that it contains some emissive media.
It may use intside_texture with a larger reflection value and less
transmition.
It may have been post processed.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|