![](/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) |
Why interior_texture doesn't work at all with CSG?
Here is an example scene (change the merge with any other CSG keyword to
see that it doesn't work with any of them). The object at the left is a
sphere with almost transparent outer texture and then a blue interior
texture (I bumped up the ambient to make it more visible). The object at
the right is a CSG of two spheres; interior_texture has absolutely no
effect in it.
#version Unofficial MegaPov 0.5;
global_settings { ambient_light 4 }
camera { location <-1,2,-5>*1.3 look_at 0 angle 35 }
light_source { <170,200,-50>, 1 }
plane { y, -1 pigment { checker rgb 1, rgb .5 } }
sphere
{ -x*1.2, 1
pigment { rgbt <1,1,0,.9> }
interior_texture { pigment { rgb <0,1,1> } }
}
merge
{ sphere { x*1.2, 1 }
sphere { <1.2,.5,0>, 1 }
pigment { rgbt <1,1,0,.9> }
interior_texture { pigment { rgb <0,1,1> } }
}
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Warp
Subject: Do shadow rays take into account interior_texture?
Date: 28 Jul 2000 08:09:27
Message: <398177f6@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
The subject says it all. It seems to my that they don't. I can post a
concrete example if someone needs it.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
"Warp" <war### [at] tag povray org> wrote in message
news:398176cc@news.povray.org...
> Why interior_texture doesn't work at all with CSG?
>
Dunno, but it works if you texture the individual components of the CSG:
merge
{ sphere { <0,0,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
<0,1,1,0.9> }}}
sphere { <0,1,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
<0,1,1,0.9> }}}
}
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Thorsten Froehlich
Subject: Re: interior_texture doesn't work with CSG?
Date: 28 Jul 2000 09:20:02
Message: <39818882@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <39817f77$1@news.povray.org> , "Tom Melly"
<tom### [at] tomandlu f9 co uk> wrote:
> Dunno, but it works if you texture the individual components of the CSG:
>
> merge
> { sphere { <0,0,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> <0,1,1,0.9> }}}
> sphere { <0,1,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> <0,1,1,0.9> }}}
> }
>
This implies that someone forgot to add the proper promotion code to do it
for these in the parser...
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nicolas Calimet
Subject: Re: interior_texture doesn't work with CSG?
Date: 28 Jul 2000 10:03:08
Message: <398192EF.EF6F43DA@free.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thorsten Froehlich wrote:
>
> In article <39817f77$1@news.povray.org> , "Tom Melly"
> <tom### [at] tomandlu f9 co uk> wrote:
>
> > Dunno, but it works if you texture the individual components of the CSG:
> >
> > merge
> > { sphere { <0,0,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> > <0,1,1,0.9> }}}
> > sphere { <0,1,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> > <0,1,1,0.9> }}}
> > }
> >
>
> This implies that someone forgot to add the proper promotion code to do it
> for these in the parser...
At least the objects contained in the CSG object have Interior_Texture == NULL.
*** Nicolas Calimet
*** http://pov4grasp.free.fr
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nicolas Calimet
Subject: Re: interior_texture doesn't work with CSG?
Date: 28 Jul 2000 10:25:23
Message: <3981982A.EC976774@free.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thorsten Froehlich wrote:
>
> In article <39817f77$1@news.povray.org> , "Tom Melly"
> <tom### [at] tomandlu f9 co uk> wrote:
>
> > Dunno, but it works if you texture the individual components of the CSG:
> >
> > merge
> > { sphere { <0,0,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> > <0,1,1,0.9> }}}
> > sphere { <0,1,0>, 1 pigment { rgbf 1 } interior_texture { pigment { rgbf
> > <0,1,1,0.9> }}}
> > }
> >
>
> This implies that someone forgot to add the proper promotion code to do it
> for these in the parser...
Yes exactly true. Works when adding the following line in Post_Process
(parse.c) afterwards the equivalent code for Object_Texture :
if (Object->Interior_Texture == NULL)
{
Object->Interior_Texture = Copy_Texture_Pointer(Parent->Interior_Texture);
if (Test_Flag(Parent, UV_FLAG))
Set_Flag(Object, UV_FLAG);
}
PS: please ignore my previous post which is completely unclear...
*** Nicolas Calimet
*** http://pov4grasp.free.fr
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) |
In article <39818882@news.povray.org>, "Thorsten Froehlich"
<tho### [at] trf de> wrote:
> This implies that someone forgot to add the proper promotion code to
> do it for these in the parser...
And that someone would be me...oops!
Well,it shouldn't be too hard to follow the texture code and add
interior_texture support...
BTW, I don't think it works with blobs or per-triangle mesh textures,
either...and the blobs are probably the only thing I have any chance at
all of understanding enough to add it to.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
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) |
In article <398177f6@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> The subject says it all. It seems to my that they don't. I can post a
> concrete example if someone needs it.
Please do...this might be something that was just missed in the addition
of this patch to MegaPOV.
--
Christopher James Huff - Personal e-mail: chr### [at] mac com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Nicolas Calimet
Subject: Re: interior_texture doesn't work with CSG?
Date: 28 Jul 2000 10:34:01
Message: <39819A2D.C0EF04AB@free.fr>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Of course this code should be surrounded by:
#ifdef InteriorTexturePatch
...
#endif
;-)
> *** Nicolas Calimet
> *** http://pov4grasp.free.fr
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Warp
Subject: Re: Do shadow rays take into account interior_texture?
Date: 28 Jul 2000 11:01:19
Message: <3981a03f@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
I think that the source code and the image itself are self-explanatory:
#version Unofficial MegaPov 0.5;
camera { location <0,-.5,-6> look_at 0 angle 35 }
// A plane with opaque outer texture and transparent inner texture (with
// slides of opaque to visualize where the plane actually is):
plane
{ y,0
texture
{ pigment { rgb 1 } }
interior_texture
{ pigment
{ gradient x color_map
{ [0 rgb 1][.05 rgb 1][.05 rgbt 1][.95 rgbt 1][.95 rgb 1][1 rgb 1]
}
}
}
}
// A red light source above the plane
light_source
{ <1,1,0>, <1,0,0>
looks_like { sphere { 0,.1 pigment { rgb <1,.5,.5> } finish { ambient 1 } } }
}
// A blue light source below the plane
light_source
{ <1,-1,0>, <0,0,1>
looks_like { sphere { 0,.1 pigment { rgb <.5,.5,1> } finish { ambient 1 } } }
}
// Sphere above the plane:
sphere { <-1,1,0>, .5 pigment { rgb 1 } finish { specular .5 } }
// Sphere below the plane:
sphere { <-1,-1,0>, .5 pigment { rgb 1 } finish { specular .5 } }
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |