![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi, I am currently trying to render large trees in POV-Ray. I have attached an
image of a prototype scene so you can see what I mean. The scene used was
created by Gilles Tran and is available here:
http://www.oyonale.com/modeles.php?lang=en&page=38
I have just replaced his tree with one of mine.
The issue I am having is that with so many leaves light does not propagate into
the crown of the tree. In the picture I have posted I used a %50 transparent
leaf texture which helps a little but also blurs everything and would look bad
for close up shots.
What I am looking for is a way to make a texture that allows light to pass
through it while not having the object transparent.
Does anyone know how to do this in POV-Ray?
Thanks
-Steve
Post a reply to this message
Attachments:
Download 'tranparentleaves.jpg' (692 KB)
Preview of image 'tranparentleaves.jpg'
![tranparentleaves.jpg](/povray.binaries.images/attachment/%3Cweb.49020cb3fbf8e12a2ebc1c00%40news.povray.org%3E/tranparentleaves.jpg?ttop=443866&toff=3000&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"slongay" <slo### [at] gmail com> wrote in message
news:web.49020cb3fbf8e12a2ebc1c00@news.povray.org...
> Hi, I am currently trying to render large trees in POV-Ray. I have
> attached an
> image of a prototype scene so you can see what I mean. The scene used was
> created by Gilles Tran and is available here:
> http://www.oyonale.com/modeles.php?lang=en&page=38
>
> I have just replaced his tree with one of mine.
>
> The issue I am having is that with so many leaves light does not propagate
> into
> the crown of the tree. In the picture I have posted I used a %50
> transparent
> leaf texture which helps a little but also blurs everything and would look
> bad
> for close up shots.
>
> What I am looking for is a way to make a texture that allows light to pass
> through it while not having the object transparent.
>
> Does anyone know how to do this in POV-Ray?
Chris B posted a useful and relevant technique in povray.general, thread:
"Shadow density"
Just add no_shadow to your tree, remove the transparency, and add a copy of
the same tree in the same place, with no_image and some transparency. I
think this should give you the desired result.
cu!
--
#macro G(b,e)b+(e-b)*C/50#end#macro _(b,e,k,l)#local C=0;#while(C<50)
sphere{G(b,e)+3*z.1pigment{rgb G(k,l)}finish{ambient 1}}#local C=C+1;
#end#end _(y-x,y,x,x+y)_(y,-x-y,x+y,y)_(-x-y,-y,y,y+z)_(-y,y,y+z,x+y)
_(0x+y.5+y/2x)_(0x-y.5+y/2x) // ZK http://www.povplace.com
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
slongay nous illumina en ce 2008-10-24 13:58 -->
> Hi, I am currently trying to render large trees in POV-Ray. I have attached an
> image of a prototype scene so you can see what I mean. The scene used was
> created by Gilles Tran and is available here:
> http://www.oyonale.com/modeles.php?lang=en&page=38
>
> I have just replaced his tree with one of mine.
>
> The issue I am having is that with so many leaves light does not propagate into
> the crown of the tree. In the picture I have posted I used a %50 transparent
> leaf texture which helps a little but also blurs everything and would look bad
> for close up shots.
>
> What I am looking for is a way to make a texture that allows light to pass
> through it while not having the object transparent.
>
> Does anyone know how to do this in POV-Ray?
>
> Thanks
> -Steve
>
>
> ------------------------------------------------------------------------
>
Nice image. I've seen trees done by professionals using big buck$ applications
that are far from your's in both quality and realism.
You can use leaf shaped objetcs filled with a scattering and an absorbing media:
SLOW
You can use an object with an ior and an averaged surface normal just like for
blured reflection. If your object have two faces, make sure that your normals
count stay low, like no more than 16 or so.
If you use radiosity, try increasing the recursion_level.
--
Alain
-------------------------------------------------
"We returned the General to El Salvador, or maybe Guatemala, it's difficult to
tell from 10,000 feet." -- Anon.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
When dealing with trees, I found I got the best result by simply adding
double_illuminate to my leaves, and using radiosity. Of course, slower
radiosity settings will yield a more realistic result.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Kirk Andrews" <kir### [at] tektonart com> wrote:
> When dealing with trees, I found I got the best result by simply adding
> double_illuminate to my leaves, and using radiosity. Of course, slower
> radiosity settings will yield a more realistic result.
double_illuminate was yhe first thing that came to mind for me. I hope the next
implementation of POV allows for a float value after double_illuminate to permit
one to set the intensity from 0...1
-Reactor
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thanks for the quick replies.
To give proper credit one of the guys in my lab is designing a program which
creates those trees. I'm only in charge of getting them into POV-Ray, putting
them in a landscape and making nice pictures.
I currently do use the double illuminate but this only allows the light to
illuminate the other side of the leaf and not pass through it to illuminate
into the crown.
I have tried using 2 instances of my leaves mesh, one with transparency and
shadows but no image and the other without transparency and shadows but with
image. It does help to brighten the crown slightly but I still have some
playing to do. I will give media a shot tomorrow and then post the results.
Thanks
-Steve
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Reactor wrote:
> "Kirk Andrews" <kir### [at] tektonart com> wrote:
>> When dealing with trees, I found I got the best result by simply adding
>> double_illuminate to my leaves, and using radiosity. Of course, slower
>> radiosity settings will yield a more realistic result.
>
> double_illuminate was yhe first thing that came to mind for me. I hope the next
> implementation of POV allows for a float value after double_illuminate to permit
> one to set the intensity from 0...1
Or better yet, have a double_illuminate pigment block of its very own:
object{
leaf
pigment{
image_map{tga"leafy_image.tga"}
}
double_illuminate{
image_map{tga"veiny_image.tga"}
}
}
I'm don't know how this would look, exactly. I'm pretty sure it would
look something like it would in Blender or another such rendering
program (similar to most programs' translucency material layer).
Sam
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
stbenge <THI### [at] hotmail com> wrote:
> Reactor wrote:
> > "Kirk Andrews" <kir### [at] tektonart com> wrote:
> >> When dealing with trees, I found I got the best result by simply adding
> >> double_illuminate to my leaves, and using radiosity. Of course, slower
> >> radiosity settings will yield a more realistic result.
> >
> > double_illuminate was yhe first thing that came to mind for me. I hope the next
> > implementation of POV allows for a float value after double_illuminate to permit
> > one to set the intensity from 0...1
>
> Or better yet, have a double_illuminate pigment block of its very own:
>
> object{
> leaf
> pigment{
> image_map{tga"leafy_image.tga"}
> }
> double_illuminate{
> image_map{tga"veiny_image.tga"}
> }
> }
>
> I'm don't know how this would look, exactly. I'm pretty sure it would
> look something like it would in Blender or another such rendering
> program (similar to most programs' translucency material layer).
>
> Sam
That is already possible using existing texture capability. For "flat" shapes,
using inside_texture will texture the "bottom." double_illuminate changes the
way the object responds to light_sources, and cannot directly be simulated via
textures.
-Reactor
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Reactor wrote:
> stbenge <THI### [at] hotmail com> wrote:
>> Or better yet, have a double_illuminate pigment block of its very own:
>>
>> object{
>> leaf
>> pigment{
>> image_map{tga"leafy_image.tga"}
>> }
>> double_illuminate{
>> image_map{tga"veiny_image.tga"}
>> }
>> }
>
> That is already possible using existing texture capability. For "flat" shapes,
> using inside_texture will texture the "bottom." double_illuminate changes the
> way the object responds to light_sources, and cannot directly be simulated via
> textures.
No, it's not the same at all. I've already considered this.
inside_texture lets you specify the texture for the inside of an object,
to be sure, but it does not simulate the *density* of its translucency.
Let's consider what happens when you have both an inside and outside
texture with double_illuminate on a leaf object. When the light hits
either side of the leaf, the diffuse will look exactly as it is
intended, given the pigment/normal/finish you gave that side. This may
be fine for many objects, but for a leaf, it is not very realistic.
By having a double_illuminate or translucency pigment block, you would
be able to give the leaf a sort of "internal" density, without having to
use media. In real life when light hits a leaf, the side receiving light
directly will *reflect* the light back to the viewer. The veins in the
leaf will often look lighter in color than the rest of the leaf. The
other side, however, will look pretty much opposite to that, since the
veins are thicker than the rest of the leaf. The veins will appear dark.
You can simulate this, as you said, using inside_texture, but what
happens when you want to light the leaf from the other side? The effect
will break, and the result will not at all look realistic. The only
solution here (as POV is now) is to make the leaf thick and give it
scattering and absorbing media. This, as we all know by now, is very
slow to render! There is also a problem with the leaf appearing
transparent, and to remedy this problem very high media settings would
be required.
A fast-rendering solution to this would be to have a double_illuminate
or translucency pigment block, probably one for each texture and
inside_texture. Simply giving the leaf inside and outside textures will
not work as intended. Most programs have a translucency material layer,
and I think POV-Ray will have to have one of its own to match the
rendering capabilities of other programs.
Sam
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
stbenge wrote:
> A fast-rendering solution to this would be to have a double_illuminate
> or translucency pigment block, probably one for each texture and
> inside_texture. Simply giving the leaf inside and outside textures will
> not work as intended. Most programs have a translucency material layer,
> and I think POV-Ray will have to have one of its own to match the
> rendering capabilities of other programs.
A simple example of why something like this is needed would be paper
currency. In any paper currency these days, there is a ghost image
inside the paper. One side of the bill has one image, the other side
another, and somewhere in the middle is the ghost image. Try to do this
with POV. Chances are you'll end up resorting to using media or making a
second object for the ghost.
Here's how it might look if you could specify a transluceny (aka
density) pigment for surfaces:
object{
fifty_dolla_bill // an infinitely thin rectangle
texture{
pigment{
image_map{tga"presidents_mug.tga"}
}
}
inside_texture{
pigment{
image_map{tga"capital.tga"}
}
}
interior{
translucency{
image_map{tga"ghost_of_washington.tga"}
}
}
double_illuminate
}
The ghost would only appear on the unlit side of the bill, where you
could clearly see the effects of double_illuminate. A clever person
could make ghost_of_washington.tga an average of the other two
image_maps, to complete the effect.
I'm thinking it would be much simpler to have the effect specified in
the interior block, as such a pigment would have to be common among the
others.
Sam
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |