|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
See povray.bugreports
Post a reply to this message
Attachments:
Download 'ivy.png' (54 KB)
Preview of image 'ivy.png'
|
|
| |
| |
|
|
From: Thomas de Groot
Subject: Re: shadows don't honor image_map alpha channel
Date: 6 May 2009 04:03:51
Message: <4a014467@news.povray.org>
|
|
|
| |
| |
|
|
That is strange... See my image: also a png image map.
Thomas
Post a reply to this message
Attachments:
Download 'imagemaptest3.jpg' (103 KB)
Preview of image 'imagemaptest3.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka wrote:
> See povray.bugreports
>
>
> ------------------------------------------------------------------------
>
The shadows seem to work with both methods:
PNG with internal alpha channel or by using pigment_pattern -
the way I do prefer, because you can add specular highlights:
#local Leaf_1_opaque = texture {
uv_mapping
pigment {P_Leaf}
normal {N_Leaf}
finish {
ambient 0 diffuse 0.9
specular 0.1 roughness 0.1
}
}
#local Leaf_1_trans = texture {
uv_mapping
pigment {P_Leaf transmit 1}
normal {N_Leaf}
finish {
ambient 0 diffuse 0.9
specular 0.0 roughness 0.1
}
}
#declare T_Leaf_1 = texture {
uv_mapping
pigment_pattern {A_Leaf1}
texture_map {
[0 TA03_Leaf_1_trans]
[1 TA03_Leaf_1_opaque]
}
}
But as soon as you add media or fog the transparent parts become
partial visible in 3.7 beta, see the attached shrub. This happens
also with both methods.
Post a reply to this message
Attachments:
Download 'testleaf.jpg' (27 KB)
Download 'testshrub.jpg' (52 KB)
Preview of image 'testleaf.jpg'
Preview of image 'testshrub.jpg'
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Thomas de Groot" <tDOTdegroot@interDOTnlANOTHERDOTnet> wrote:
> That is strange... See my image: also a png image map.
>
> Thomas
Maybe we're using different ways to get the transparency into the shot, or
different objects or whatever? This is the code I used (boiled down to its
essence):
-------------------
#declare Entwined_Ivy_leaf_adult_=mesh2{
vertex_vectors{
4,
<-1,1,-1>,
<-1,1,1>,
<1,1,1>,
<1,1,-1>,
}
normal_vectors{
4,
<0,1,0>,
<0,1,0>,
<0,1,0>,
<0,1,0>,
}
uv_vectors{
4,
<0,0>,
<0,1>,
<1,1>,
<1,0>,
}
face_indices{
2,
<0,1,2>,
<2,3,0>,
}
uv_indices{
2,
<0,1,2>,
<2,3,0>,
}
normal_indices{
2,
<0,1,2>,
<2,3,0>,
}
inside_vector <0,0,1> }
#declare p_map22 = pigment { image_map { png "efeu1.png" interpolate 2 transmit
all 0 filter all 0 } }
#declare Ivy_leaf_adult_=
material{
texture {pigment{ uv_mapping p_map22}
finish{specular 0 roughness 0.09632328 ambient rgb <0.00,0.00,0.00>
diffuse 0.6 reflection{0 } conserve_energy}
}
}
object{Entwined_Ivy_leaf_adult_ material{Ivy_leaf_adult_} hollow}
plane{y,0
pigment { color rgb 1 }
finish { diffuse 0.7 ambient 0 }
}
-------------------
As some keen-eyed person may guess, this is output from Thomas Luft's Ivy
Generator, converted to POV-Ray format using PoseRay (hand-edited to reduce the
mesh to a single, perfectly flat leaf).
When I use a texture_map instead - as in the following code - I get good results
as well, so it's a feasible workaround, but I'd expect PNG alpha to do the same
job on its own:
#declare Ivy_leaf_adult_=
material{
texture {
uv_mapping
image_pattern { png "efeu1.png" use_alpha }
texture_map {
[0.0 pigment{ uv_mapping p_map22}
finish{specular 0 roughness 0.09632328 ambient rgb <0.00,0.00,0.00>
diffuse 0.6 reflection{0 } conserve_energy} ]
[1.0 pigment { transmit 1 } ]
}
}
}
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Ive <"ive### [at] lilysoftorg"> wrote:
> The shadows seem to work with both methods:
>
> PNG with internal alpha channel or by using pigment_pattern -
> the way I do prefer, because you can add specular highlights:
Not so in my experience with the Ivy Generator output run through PoseRay.
It's also not a 3.7 problem, but is seen in 3.6 as well (more precisely I tested
it with MegaPOV 1.2.1).
> But as soon as you add media or fog the transparent parts become
> partial visible in 3.7 beta, see the attached shrub. This happens
> also with both methods.
I guess this is due to the non-solid nature of the mesh employed: You have
surfaces where light "enters into" the mesh object, but fails to leave it
later; and while presumed "inside" the mesh object, it will ignore the outer
object's media settings.
Did you check this with 3.6?
I remember something about the "inside_vector" having some default; I guess this
might prevent POV from prudently assuming that a mesh without an "inside_vector"
represents a surface but no volume, and should therefore not affect meda.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka wrote:
> Ive <"ive### [at] lilysoftorg"> wrote:
>> The shadows seem to work with both methods:
>>
>> PNG with internal alpha channel or by using pigment_pattern -
>> the way I do prefer, because you can add specular highlights:
>
> Not so in my experience with the Ivy Generator output run through PoseRay.
>
> It's also not a 3.7 problem, but is seen in 3.6 as well (more precisely I tested
> it with MegaPOV 1.2.1).
>
>
This is really strange because my attached leave image uses the PNG
alpha channel in the same way you do - and I do get the shadows.
#local T_Leaf = texture {
pigment {image_map {png "AutumnLeaf1" interpolate 2} }
finish {ambient 0 diffuse 1}
}
#local LeafBase = mesh {
triangle { <0,0,0>, <1,0,0>, <1,1,0> uv_vectors <0,0>, <1,0>, <1,1> }
triangle { <0,0,0>, <1,1,0>, <0,1,0> uv_vectors <0,0>, <1,1>, <0,1> }
}
#declare Leaf = object {
LeafBase
texture {T_Leaf}
translate <-0.5,-0.5,0>
rotate x*90
scale <1, 1, 1.4> * 10.0
hollow
double_illuminate
}
I do not think this is related to the Ivy Generator (how should it?).
Could you post the PNG file you did use?
>> But as soon as you add media or fog the transparent parts become
>> partial visible in 3.7 beta, see the attached shrub. This happens
>> also with both methods.
>
> I guess this is due to the non-solid nature of the mesh employed: You have
> surfaces where light "enters into" the mesh object, but fails to leave it
> later; and while presumed "inside" the mesh object, it will ignore the outer
> object's media settings.
>
> Did you check this with 3.6?
>
> I remember something about the "inside_vector" having some default; I guess this
> might prevent POV from prudently assuming that a mesh without an "inside_vector"
> represents a surface but no volume, and should therefore not affect meda.
>
It works perfectly well with 3.6 and MegaPov.
But 3.7 renders those huge XFrog tree meshes about 3 times faster (per
core!!!) than 3.6 and works well until no media is used.
Which is kinda sad and currently a show stopper to me.
-Ive
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Ive <"ive### [at] lilysoftorg"> wrote:
> This is really strange because my attached leave image uses the PNG
> alpha channel in the same way you do - and I do get the shadows.
It seems that the UV mapping is the key. I modified your code to use
"uv_mapping", resulting in the same black square for a shadow:
> #local T_Leaf = texture {
> pigment {image_map {png "AutumnLeaf1" interpolate 2} }
> finish {ambient 0 diffuse 1}
> }
#local T_Leaf = texture {
pigment { uv_mapping image_map {png "AutumnLeaf1" interpolate 2} }
finish {ambient 0 diffuse 1}
}
> I do not think this is related to the Ivy Generator (how should it?).
> Could you post the PNG file you did use?
I guess we can rule out the picture: With your original code, I don't see the
error with my PNG either. But I do see it once I add the "uv_mapping" keyword,
which I cannot do without.
(BTW, I use the original "efeu1.png" included with Thomas Luft's free Ivy
Generator.)
> It works perfectly well with 3.6 and MegaPov.
> But 3.7 renders those huge XFrog tree meshes about 3 times faster (per
> core!!!) than 3.6 and works well until no media is used.
> Which is kinda sad and currently a show stopper to me.
Yeah, I can imagine.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
clipka wrote:
> Ive <"ive### [at] lilysoftorg"> wrote:
>> This is really strange because my attached leave image uses the PNG
>> alpha channel in the same way you do - and I do get the shadows.
>
> It seems that the UV mapping is the key. I modified your code to use
> "uv_mapping", resulting in the same black square for a shadow:
>
>> #local T_Leaf = texture {
>> pigment {image_map {png "AutumnLeaf1" interpolate 2} }
>> finish {ambient 0 diffuse 1}
>> }
>
> #local T_Leaf = texture {
> pigment { uv_mapping image_map {png "AutumnLeaf1" interpolate 2} }
> finish {ambient 0 diffuse 1}
> }
>
Ahh, I remember now there was something about not putting uv_mapping
into the pigment statement (for unknown reasons, maybe a bug), that's
why I do always use it this way:
#local T_Leaf = texture {
uv_mapping
pigment {image_map {png "AutumnLeaf1" interpolate 2} }
finish {ambient 0 diffuse 1}
}
Sorry it did by mistake remove the uv_mapping keyword when I did remove
the normal statement to simplify things.
-Ive
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Just to be clear, uv-mapped images maps with alpha channel do work
only as expected when the uv_mapping statement is put into the
texture block but not into the pigment statement.
-Ive
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|