![](/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) |
Le_Forgeron <jgr### [at] free fr> wrote:
> Le 03/01/2015 10:13, Warp a écrit :
> > Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
> >> So povray's textures are supposed to be 3D, and indeed the patterns are
> >> demonstrably three-dimensional, however they do not seem to be sampled for the
> >> inside of an object.
> >
> >> So I guess my question is: Why not?
> >
> > POV-Ray renders *surfaces*.
> >
> Sampling 3D is done with media (and there is three kind of them), inside
> surface.
Obviously media are the way to go. A good way here may be the use of df3-files.
Bill Pokorny has given the link to an interesting visualisation tool just some
days ago
http://news.povray.org/povray.general/thread/%3C54a2dc7e%241%40news.povray.org%3E/
Of course one must generate or obtain the df3-files first. But this is another
story...
Best regards,
Michael
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) |
"MichaelJF" <mi-### [at] t-online de> wrote:
> Le_Forgeron <jgr### [at] free fr> wrote:
> > Le 03/01/2015 10:13, Warp a écrit :
> > > Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
> > >> So povray's textures are supposed to be 3D, and indeed the patterns are
> > >> demonstrably three-dimensional, however they do not seem to be sampled for the
> > >> inside of an object.
> > >
> > >> So I guess my question is: Why not?
> > >
> > > POV-Ray renders *surfaces*.
> > >
> > Sampling 3D is done with media (and there is three kind of them), inside
> > surface.
>
>
> Obviously media are the way to go. A good way here may be the use of df3-files.
> Bill Pokorny has given the link to an interesting visualisation tool just some
> days ago
>
> http://news.povray.org/povray.general/thread/%3C54a2dc7e%241%40news.povray.org%3E/
>
> Of course one must generate or obtain the df3-files first. But this is another
> story...
>
> Best regards,
> Michael
There's a key difference between media and textures. Textures have finishes.
As for Warps glib response about povray only rendering surfaces: that hasn't
been true since media was added. Subsurface scattering is also b.d. not on the
surface. Why can't textures be sampled for the interior as well?
A.D.B.
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) |
"Anthony D. Baye" <Sha### [at] spamnomore hotmail com> wrote:
> "MichaelJF" <mi-### [at] t-online de> wrote:
> > Le_Forgeron <jgr### [at] free fr> wrote:
> > > Le 03/01/2015 10:13, Warp a écrit :
> > > > Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
> > > >> So povray's textures are supposed to be 3D, and indeed the patterns are
> > > >> demonstrably three-dimensional, however they do not seem to be sampled for
the
> > > >> inside of an object.
> > > >
> > > >> So I guess my question is: Why not?
> > > >
> > > > POV-Ray renders *surfaces*.
> > > >
> > > Sampling 3D is done with media (and there is three kind of them), inside
> > > surface.
> >
> >
> > Obviously media are the way to go. A good way here may be the use of df3-files.
> > Bill Pokorny has given the link to an interesting visualisation tool just some
> > days ago
> >
> > http://news.povray.org/povray.general/thread/%3C54a2dc7e%241%40news.povray.org%3E/
> >
> > Of course one must generate or obtain the df3-files first. But this is another
> > story...
> >
> > Best regards,
> > Michael
>
> There's a key difference between media and textures. Textures have finishes.
>
> As for Warps glib response about povray only rendering surfaces: that hasn't
> been true since media was added. Subsurface scattering is also b.d. not on the
> surface. Why can't textures be sampled for the interior as well?
>
> A.D.B.
Maybe I misunderstood what you meant. Can you show me an example of such a
texture?
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) |
"Nekar Xenos" <nomail@nomail> wrote:
> > > > > Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
> > > > >> So povray's textures are supposed to be 3D, and indeed the patterns are
> > > > >> demonstrably three-dimensional, however they do not seem to be sampled for
the
> > > > >> inside of an object.
> > > > >
> > > > >> So I guess my question is: Why not?
>
> Maybe I misunderstood what you meant. Can you show me an example of such a
> texture?
Jumping in here...
Only way I can imagine this being possible is to recreate or duplicate a
multitude of scaled objects that have a texture applied to all. I'm fairly sure
this subject has been discussed many times in the past.
And the usefulness could only work for textures or materials with some
transparency, otherwise there would be nothing to see of the internal portions.
Lacking any transparent parts this could already be accomplished with CSG of
objects. In other words, once again using only surfaces as usual. So I would
think some kind of transparency is needed for such an idea to be worthwhile.
isosurface for patterns alone is what I was thinking might be thought of as 3D
pattern object. The missing component being complete texturing, not simply a
pattern.
Skipping over that idea I rendered a basic sphere, scaled incrementally smaller
123 times, with checker pattern and specular highlight (while also making small
changes to those for each re-scale) and got the rendering shown at:
http://www.0mniverse.com/povray/3Dcheckerpatterntexture.jpg
The key to this problem is rendering all components of a texture throughout the
ray trace space. Maybe it could be done, even if it meant something like the way
I tried to show here. Of course, I found render time increased by hundreds of
times so that would be a problem.
I don't know if this is what's being asked about. Basic idea seems to be about
texturing patterns without confines of object surfaces and that's something
completely different(?).
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) |
"Nekar Xenos" <nomail@nomail> wrote:
> "Anthony D. Baye" <Sha### [at] spamnomore hotmail com> wrote:
> > "MichaelJF" <mi-### [at] t-online de> wrote:
> > > Le_Forgeron <jgr### [at] free fr> wrote:
> > > > Le 03/01/2015 10:13, Warp a écrit :
> > > > > Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
> > > > >> So povray's textures are supposed to be 3D, and indeed the patterns are
> > > > >> demonstrably three-dimensional, however they do not seem to be sampled for
the
> > > > >> inside of an object.
> > > > >
> > > > >> So I guess my question is: Why not?
> > > > >
> > > > > POV-Ray renders *surfaces*.
> > > > >
> > > > Sampling 3D is done with media (and there is three kind of them), inside
> > > > surface.
> > >
> > >
> > > Obviously media are the way to go. A good way here may be the use of df3-files.
> > > Bill Pokorny has given the link to an interesting visualisation tool just some
> > > days ago
> > >
> > >
http://news.povray.org/povray.general/thread/%3C54a2dc7e%241%40news.povray.org%3E/
> > >
> > > Of course one must generate or obtain the df3-files first. But this is another
> > > story...
> > >
> > > Best regards,
> > > Michael
> >
> > There's a key difference between media and textures. Textures have finishes.
> >
> > As for Warps glib response about povray only rendering surfaces: that hasn't
> > been true since media was added. Subsurface scattering is also b.d. not on the
> > surface. Why can't textures be sampled for the interior as well?
> >
> > A.D.B.
>
> Maybe I misunderstood what you meant. Can you show me an example of such a
> texture?
I'll admit that I'm having problems finding good examples of what I'm after.
Most uses of volumetric textures in games seem to be about doing smoke effects,
which is what we have media for, or hair effects, which are better handled in
other ways.
What I was hoping to accomplish is to create a believable compound material with
solid and transparent parts.
With the current system, when you look through the transparent parts of a
texture, you see the texture on the back surface of the object, with nothing
inside.
What I'd like to see is the internal boundaries between transparent and opaque
parts of the texture.
The way I imagine this happening is that, as you trace along a ray, you sample
the texture continuously at intervals, until you hit an opaque pixel, or the
blended result of your previous samples is "reasonably opaque".
this method could even account for things like flaws or air pockets in a
transparent material without having to resort to a csg object or isosurface.
Admittedly, I have no experience with this sort of programming, so I'm just
theorizing how it could work without thinking about things like overhead.
As it is, the only way I can think of to achieve the effect I'd like is to use a
compound object with each part having its own texture.
I can't think of any way to get this effect using simple layered textures, but
I'm not that much of an artist. If anyone has examples of this sort of thing
using the current system, I'd love to see them.
Regards,
A.D.B.
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) |
> There's a key difference between media and textures. Textures have finishes.
The finish statement models the interface between two materials, or more
specifically where there is a step change in the index or refraction
(IOR). As POV can only assign a constant IOR to a media object it is not
possible to calculate reflection effects (reflection, refraction,
specular etc) within media.
Ideally the IOR should vary within media (proportional to density
perhaps) which would automatically create reflections at the correct
places internally, but that's not exactly trivial to implement.
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) |
> "Nekar Xenos" <nomail@nomail> wrote:
>> "Anthony D. Baye" <Sha### [at] spamnomore hotmail com> wrote:
>>> "MichaelJF" <mi-### [at] t-online de> wrote:
>>>> Le_Forgeron <jgr### [at] free fr> wrote:
>>>>> Le 03/01/2015 10:13, Warp a écrit :
>>>>>> Anthony D. Baye <Sha### [at] spamnomore hotmail com> wrote:
>>>>>>> So povray's textures are supposed to be 3D, and indeed the patterns are
>>>>>>> demonstrably three-dimensional, however they do not seem to be sampled for the
>>>>>>> inside of an object.
>>>>>>
>>>>>>> So I guess my question is: Why not?
>>>>>>
>>>>>> POV-Ray renders *surfaces*.
>>>>>>
>>>>> Sampling 3D is done with media (and there is three kind of them), inside
>>>>> surface.
>>>>
>>>>
>>>> Obviously media are the way to go. A good way here may be the use of df3-files.
>>>> Bill Pokorny has given the link to an interesting visualisation tool just some
>>>> days ago
>>>>
>>>>
http://news.povray.org/povray.general/thread/%3C54a2dc7e%241%40news.povray.org%3E/
>>>>
>>>> Of course one must generate or obtain the df3-files first. But this is another
>>>> story...
>>>>
>>>> Best regards,
>>>> Michael
>>>
>>> There's a key difference between media and textures. Textures have finishes.
>>>
>>> As for Warps glib response about povray only rendering surfaces: that hasn't
>>> been true since media was added. Subsurface scattering is also b.d. not on the
>>> surface. Why can't textures be sampled for the interior as well?
>>>
>>> A.D.B.
>>
>> Maybe I misunderstood what you meant. Can you show me an example of such a
>> texture?
>
> I'll admit that I'm having problems finding good examples of what I'm after.
> Most uses of volumetric textures in games seem to be about doing smoke effects,
> which is what we have media for, or hair effects, which are better handled in
> other ways.
>
> What I was hoping to accomplish is to create a believable compound material with
> solid and transparent parts.
>
> With the current system, when you look through the transparent parts of a
> texture, you see the texture on the back surface of the object, with nothing
> inside.
>
> What I'd like to see is the internal boundaries between transparent and opaque
> parts of the texture.
>
> The way I imagine this happening is that, as you trace along a ray, you sample
> the texture continuously at intervals, until you hit an opaque pixel, or the
> blended result of your previous samples is "reasonably opaque".
>
> this method could even account for things like flaws or air pockets in a
> transparent material without having to resort to a csg object or isosurface.
>
> Admittedly, I have no experience with this sort of programming, so I'm just
> theorizing how it could work without thinking about things like overhead.
>
> As it is, the only way I can think of to achieve the effect I'd like is to use a
> compound object with each part having its own texture.
>
> I can't think of any way to get this effect using simple layered textures, but
> I'm not that much of an artist. If anyone has examples of this sort of thing
> using the current system, I'd love to see them.
>
> Regards,
> A.D.B.
>
>
Using scattering media will give you exactly that. The containing object
don't need to be totaly transparent, and the media density can share the
same pattern as the texture of the surface. I've done it in the past
with good results.
You need a media having a very high density, say 1000 or more, for the
opaque parts, and zero density for the fully transparent parts.
You may need relatively high samples values, possibly in the 100's range
up to a few 1000s if the texture is realy noisy.
Adding subsurface light transport may be a good idea to add more
realism. It will increase your rendering time.
For air bubbles and inclusions inside a transparent object, using an
union with some objects representing those is the way to go. Those
objects need to have their own interior statement, with an ior set as
1/(parent object's ior) for air bubbles. Don't forget to adjust
max_trace_level as needed, possibly all the way up to 256.
Alternatively, you can use an isosurface. There are cases where it will
render faster than using discreete objects for the holes. Especialy true
when you have 100's of inclusions...
Alain
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) |
Am 05.01.2015 um 06:31 schrieb Anthony D. Baye:
> What I'd like to see is the internal boundaries between transparent and opaque
> parts of the texture.
>
> The way I imagine this happening is that, as you trace along a ray, you sample
> the texture continuously at intervals, until you hit an opaque pixel, or the
> blended result of your previous samples is "reasonably opaque".
>
> this method could even account for things like flaws or air pockets in a
> transparent material without having to resort to a csg object or isosurface.
The way you imagine this happening is /exactly/ how isosurfaces work.
Except that isosurfaces take functions rather than patterns, but this
minor difference is easily solved by wrapping the patterns in "pattern
functions".
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) |
On 06.01.2015 17:32, clipka wrote:
> The way you imagine this happening is /exactly/ how isosurfaces work.
It's probably not exactly the same. The request sounds more like
transitions between levels should indicate surfaces, not a fixed
value (where steeper transitions indicate more solid surfaces).
Maybe the isosurface of the 2nd derivative would do the trick,
with some special handling for discontinuities :)
Actually a "derivate" pattern modifier / warp might be pretty
cool in general although numerically tricky. Somewhat related to
the use of arbitrary patterns as normals I think.
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) |
I posted a few examples in p.b.i. with the corresponding code in p.b.sf. Are any
of them close to what you have in mind, Anthony?
-Nekar Xenos-
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) |