|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Thu, 27 Jan 2000 07:34:49 -0500, Chris Huff wrote:
>In article <388fdfd1@news.povray.org>, "Bob Hughes"
><per### [at] aolcom?subject=PoV-News:> wrote:
>
>> Another triumph. This particular render could presumably be approximated
>> with
>> normals and a gradient y texture map, but this seems to be the answer for
>> doing anything with translucence hopefully.
>
>No texture map would be needed, but heavy anti-aliasing would probably
>have to be used. Normals are still more versatile, I have been trying to
>think of ways to use patterns to make directional blurring.
Okay, this is going to go into serious theoretical-land, so I've xposted
and set followups to .programming.
Ideally, we wouldn't need special code for blurred reflections or for
blurred transmission. What I'd like to do is implement ray differential
tracing (http://www-graphics.stanford.edu/papers/trd/) and make it possible
to set a flag on _any_ texture that causes it to automatically average
a specified number of samples for ray footprints over a specified size.
Such a flag would allow you to do blurred reflection or transmission
by way of setting a microfacet normal and doing averaged samples for
even very small footprints. One advantage would be that you could
use normal maps or other existing features to impart a pattern to the
frosted texture, or manipulate the microfacets to bias the frosted
effect to a particular direction. It'd also make checkered floors do
their own AA in the distance without having to do AA on the scene in
general.
Another nice feature would be a "footprint-size-map" that selects a
simpler version of the texture for different footprint sizes, so a
checkered plane in the far distance could just blend to medium gray
which could be sampled faster (but would still look right through
a telescope.)
--
These are my opinions. I do NOT speak for the POV-Team.
The superpatch: http://www2.fwi.com/~parkerr/superpatch/
My other stuff: http://www2.fwi.com/~parkerr/traces.html
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <slr### [at] rongwmicrocom>,
ron### [at] povrayorg wrote:
> Okay, this is going to go into serious theoretical-land, so I've xposted
> and set followups to .programming.
>
> Ideally, we wouldn't need special code for blurred reflections or for
> blurred transmission. What I'd like to do is implement ray differential
> tracing (http://www-graphics.stanford.edu/papers/trd/) and make it
> possible
> to set a flag on _any_ texture that causes it to automatically average
> a specified number of samples for ray footprints over a specified size.
>
> Such a flag would allow you to do blurred reflection or transmission
> by way of setting a microfacet normal and doing averaged samples for
> even very small footprints. One advantage would be that you could
> use normal maps or other existing features to impart a pattern to the
> frosted texture, or manipulate the microfacets to bias the frosted
> effect to a particular direction. It'd also make checkered floors do
> their own AA in the distance without having to do AA on the scene in
> general.
I have been wondering about how this could be done...unfortunately, my
math isn't as good as it could be, and is far from sufficient for
this.(I am still in Algebra II in school, and won't get to Trig or
Analytic Geometry until next year. And forget about taking Calculus in
school. Of course, I plan to buy some books before then...)
One thing I have thought of: Modify Trace() (or make a separate
function) to take one sample, and from the distance of the intersection
point to the ray start figure out a jitter amount to jitter additional
samples. Also take into account the distance traveled already. This is
simple enough even I could do it(or a simple version of it), but I don't
know how well it would work. Basically a controlled blur that is
dependant on the distance a ray has travelled.(except the rays are
jittered on the level before they hit a surface, so things like
refraction or reflection with normals will be smoothed instead of
blurred)
> Another nice feature would be a "footprint-size-map" that selects a
> simpler version of the texture for different footprint sizes, so a
> checkered plane in the far distance could just blend to medium gray
> which could be sampled faster (but would still look right through
> a telescope.)
Not sure how this would be done, you would have to figure out how to
make it depend on the pixels per "feature" of the texture. Maybe by
checking to see if the intersection points of adjacent samples are below
a specified distance...
--
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
ron### [at] povrayorg (Ron Parker) writes:
>
> Ideally, we wouldn't need special code for blurred reflections or for
> blurred transmission. What I'd like to do is implement ray differential
> tracing (http://www-graphics.stanford.edu/papers/trd/) and make it possible
> to set a flag on _any_ texture that causes it to automatically average
> a specified number of samples for ray footprints over a specified size.
Cool. I came across this paper last week and thought that it would be
a nice feature for POV-Ray. However, I've decided that I have not enough
time and that I am still not experienced enough with the source code.
If you're the one who tries to include it, it will probably be a success. :-)
Thomas
--
http://thomas.willhalm.de/ (includes pgp key)
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Thu, 27 Jan 2000 20:30:04 -0500, Chris Huff wrote:
>One thing I have thought of: Modify Trace() (or make a separate
>function) to take one sample, and from the distance of the intersection
>point to the ray start figure out a jitter amount to jitter additional
>samples.
Two of the sample images on the site I referred to use distance-based
antialiasing. The problem is that the image in the magnifying glass
gets more blurred than it should because of the length of the rays.
Differential tracing would fix that.
>> Another nice feature would be a "footprint-size-map" that selects a
>> simpler version of the texture for different footprint sizes, so a
>> checkered plane in the far distance could just blend to medium gray
>> which could be sampled faster (but would still look right through
>> a telescope.)
>
>Not sure how this would be done, you would have to figure out how to
>make it depend on the pixels per "feature" of the texture.
The differential tracing scheme automatically provides an estimate of
the footprint of the ray, so it wouldn't be much extra work.
--
These are my opinions. I do NOT speak for the POV-Team.
The superpatch: http://www2.fwi.com/~parkerr/superpatch/
My other stuff: http://www2.fwi.com/~parkerr/traces.html
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <slr### [at] parkerrfwicom>,
ron### [at] povrayorg wrote:
> On Thu, 27 Jan 2000 20:30:04 -0500, Chris Huff wrote:
> >One thing I have thought of: Modify Trace() (or make a separate
> >function) to take one sample, and from the distance of the intersection
> >point to the ray start figure out a jitter amount to jitter additional
> >samples.
>
> Two of the sample images on the site I referred to use distance-based
> antialiasing. The problem is that the image in the magnifying glass
> gets more blurred than it should because of the length of the rays.
> Differential tracing would fix that.
Yeah, but it has one big flaw: I don't understand it, so I can't
implement it. This "distance-based antialiasing"(I think what I am
talking about would be better described as depth or ray-length based
antialiasing) is something I have a chance of understanding and
implementing. :-)
Can you give a simplified explanation of how it works? I have downloaded
the paper, but can't make a whole lot of sense out of it.
--
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Fri, 28 Jan 2000 20:10:31 -0500, Chris Huff wrote:
>Can you give a simplified explanation of how it works? I have downloaded
>the paper, but can't make a whole lot of sense out of it.
Conceptually (but not actually) it traces three rays instead of just
one - one through the center of the pixel, one through the top center,
and one through the right center. When the center ray hits a
refractive or reflective surface, the software bends the other two
imaginary rays appropriately based on the normal and the curvature of
the surface. When textures are calculated, the two imaginary rays
give an approximation of the ray's footprint.
--
These are my opinions. I do NOT speak for the POV-Team.
The superpatch: http://www2.fwi.com/~parkerr/superpatch/
My other stuff: http://www2.fwi.com/~parkerr/traces.html
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|