POV-Ray : Newsgroups : povray.general : Volumetric textures Server Time
26 Jun 2024 10:48:15 EDT (-0400)
  Volumetric textures (Message 11 to 15 of 15)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: scott
Subject: Re: Volumetric textures
Date: 5 Jan 2015 04:25:02
Message: <54aa586e$1@news.povray.org>
> 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

From: Alain
Subject: Re: Volumetric textures
Date: 5 Jan 2015 15:27:40
Message: <54aaf3bc$1@news.povray.org>

> "Nekar Xenos" <nomail@nomail> wrote:
>> "Anthony D. Baye" <Sha### [at] spamnomorehotmailcom> wrote:
>>> "MichaelJF" <mi-### [at] t-onlinede> wrote:
>>>> Le_Forgeron <jgr### [at] freefr> wrote:
>>>>> Le 03/01/2015 10:13, Warp a écrit :
>>>>>> Anthony D. Baye <Sha### [at] spamnomorehotmailcom> 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

From: clipka
Subject: Re: Volumetric textures
Date: 6 Jan 2015 11:32:51
Message: <54ac0e33$1@news.povray.org>
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

From: Christian Froeschlin
Subject: Re: Volumetric textures
Date: 6 Jan 2015 12:49:20
Message: <54ac2020$1@news.povray.org>
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

From: Nekar Xenos
Subject: Re: Volumetric textures
Date: 9 Jan 2015 06:35:01
Message: <web.54afbbc153bf8cb8e184ba130@news.povray.org>
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

<<< Previous 10 Messages Goto Initial 10 Messages

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.