|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
This is just a late post, after having read many of the already present
posts regarding blurred reflections... IMHO, the main problem is how blurred
reflections are achieved: either by small normals but high Antialiasing, or
lots of averaged textures. The advantage of the first is the ease of the
script, but the entire image will receive heavy AA, which may take
considerable amounts of time. Averaged textures are more complex to script,
but have better modifiable and predictable results, but don't work well with
too much AA, as texture-averaging along with supersampling is
time-consuming.
What I think would be needed is an adjustable reflection-feature for blurred
reflections. AFAIK (at least thats what someone mentioned at one time)
MegaPOV just did the "average-texture"-operation internally, which was
faster than doing it via script. Still, if the reflection rays could, for
example, take two values, that might be sufficient for most cases. One value
defines the amount of reflection-rays (sample-rate) e.g. 25 or such. The
second value defines an angle, which would define the deviation from the
actual specular reflection. The samples would, similiar to radiosity for
example, be spread evenly throughout the area of the angle-driven cone.
Some extra options, e.g. if the blurred reflection is actually sampled from
a reflection itself, might adjust the amount of samples. That's just an
idea, and I'm completely unsure how easy or difficult it might be to
implement. But IMHO I think that approach would still leave options for
average-texture or heavy AA, but with even spread of the reflection-samples
and angle of specular reflection I think that a general, quick and easy
solution could be obtained that way.
Regards,
Tim
--
"Tim Nikias v2.0"
Homepage: <http://www.nolights.de>
Email: tim.nikias (@) nolights.de
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Warp wrote:
>>If I may make an addition. If one DOES use heavy AA usually then the
>>single bumps method produces, of course, a lot faster reflections. Using
>>AA and many averaged textures slows thing down _a lot_!
>
>
> Then you are using it wrong.
>
> If you want to use heavy antialiasing, you don't need to average so
> many textures (supposing you are scaling the normals small).
> If eg. 100 averaged textures look good without antialiasing, but you
> are going to use heavy antialiasing for the final image, you can decrease
> that count to eg. 20 or 10 or whatever.
> The advantage is that it will produce a better result than a single
> normal with the same antialiasing settings. Even two averaged textures will.
Of course I mean the method suggested in the FAQ: scaling the normals
big. There is still a certain minimum amount of textures you need to
average in order to get decent results. If you use heavy AA in addition,
the result will be slower than if you used single bumps scaled down.
Single normal is definitely faster than multiple normals? The point is
that if single normal (scaled down) produces perfect results, why use
multiple. Single up scaled normal can not result _any_ blurness in
reflections whereas single down scaled can - IF the rest of the scene
demands heavy AA. And this should be at least mentioned in FAQ.
But, if multiple _down_ scaled normals produce even better reflections
with modest AA without too many averages than up scaled, then that
should be mentioned also. Gosh, I'm now just a bit too...well...in happy
mood...to get this straightened - it's 4.33 AM...
Severi S.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <3ffb472d$1@news.povray.org>,
"Tim Nikias v2.0" <tim.nikias (@) nolights.de> wrote:
> What I think would be needed is an adjustable reflection-feature for blurred
> reflections. AFAIK (at least thats what someone mentioned at one time)
> MegaPOV just did the "average-texture"-operation internally, which was
> faster than doing it via script.
MegaPOV motion blur did something similar, except that it traced
randomized reflection rays. The result had the same grainyness problems
as the small-normal, high-AA method, though it wasn't as slow. And the
surface shading and highlights would have been slightly less accurate,
because only the reflection component was modified, but this probably
doesn't amount to much.
> Still, if the reflection rays could, for
> example, take two values, that might be sufficient for most cases. One value
> defines the amount of reflection-rays (sample-rate) e.g. 25 or such. The
> second value defines an angle, which would define the deviation from the
> actual specular reflection. The samples would, similiar to radiosity for
> example, be spread evenly throughout the area of the angle-driven cone.
This is what MegaPOV did. You seem to know that, but you also seem to be
trying to suggest something new...am I missing something?
The only difference is that in MegaPOV, the rays weren't evenly
distributed over the cone, but fell off toward the edges...it basically
shot toward random points in a sphere, as I recall. An even angular
distribution would be more difficult...and not necessarily more
realistic.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: <chr### [at] tagpovrayorg>
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Well, you have not said how you think per object settings are supposed
> to work. In case of a wire grid for example you would have to set
> higher quality settings for both the grid object and the background to
> get it nicely antialiased and if the grid is reflective or if it only
> visible as a reflection in another object it might not work at all
> depending on the implementation.
The easiest approach would be to apply higher AA to objects that the
rays hit first. I don't think there would be any need for "2nd or more
generation" object specific AA. So if the ray hits a transparent object
with higher AA, then we would AA only that specific point no matter what
objects there are behind (with whatever AA settings). Basically this is
same as 2D AA map based on regions - I think?
And I don't think this is misusing AA when aiming for blurred
reflections. I think down scaled normals IS more like a real world
approximation of blurred reflections. AA simply tries to outcome the
resolution (and eye) limitations in that situation. Isn't that the
purpose of AA?
Severi S.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>>> If I can propose a new feature, this
>>>would be it: object based AA. That way one could define high AA to
>
> very
>
>>>small detailed objects without affecting the whole scene.
>>
>>The word I was looking for was of course "specific": object specific
>
> AA.
>
> To me, it's still the same thing;
>
> Object/rock/model/et al: apply AA to said, (not whole image).
>
> If you didn't mean that, then lose the word 'object'.
No, I just think "specific" is more appropriate word here than "based".
I'm talking about the same thing, English is just not my native language :-)
Severi S.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Severi Salminen wrote:
>
> And I don't think this is misusing AA when aiming for blurred
> reflections. I think down scaled normals IS more like a real world
> approximation of blurred reflections. AA simply tries to outcome the
> resolution (and eye) limitations in that situation. Isn't that the
> purpose of AA?
No. The problem with blurred reflection is not a resolution problem, if
it was you could render the scene at larger size (without aa) and get a
nice image. Blurred reflections is about blur, i.e. averaging of color
values. This is not unrealistic at all, in real life the averaging is
mostly matter of interference, diffraction, etc.
And aa is not designed to generate blur, it is meant to diminish
aliasing artefacts due to the discrete sampling of an image. The effect
that it generates blur in your images is in fact only an unintended side
effect.
Christoph
--
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 25 Oct. 2003 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> It is no less accurate...what you are talking about is a sampling
> artifact. The actual inaccuracy is the same, the errors in the small
> normal method are just less spatially organized. The banding is usually
> easier to eliminate than noise...the situation is very similar to the
> tradeoffs between method 1 and method 2 or 3 media.
Okay, thanks for clearing that up.
You're right that "artifact" is the correct expression.
Regards,
Hugo
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> This is what MegaPOV did. You seem to know that, but you also seem to be
> trying to suggest something new...am I missing something?
Ehm, well, I never used MegaPOV, so my assumptions were based upon something
somebody told me... Now I'm completely unsure whether what I'm saying was
already existing at some point... Well... If we just take the reflection
rays, I'd think that'd be sufficient. Specular highlights is a crude
approach, meant to "simulate" highlights, were there "should" actually be a
bright object to reflect. I don't see any limitation with that. Yet again,
instead of an angular cone, one could use more complex setups, to actually
model BRDFs (BiDirectional Distribution Functions).
Yet again, the problem with the sampling... But isn't sampling a problem all
the time? I'd just suggest using an evenly spaced bunch of samples, so that
nearby pixels might (when their surface-normal is same) shoot in the general
same direction and thus wouldn't be so far apart colorwise to make artifacts
that visible...
I' ve got no clue though how it was really achieved technically in MegaPOV,
and from your post, I guess that I'm just suggesting something which has be
done before, but didn't make it into POV 3.5 for some reasons. Perhaps I'll
have to do dig into the Source-Code and come up with an approach myself, but
that'll require time and patience until I'm capable to do that. Still, its
on my to-do list for my life... :-P
Regards,
Tim
--
"Tim Nikias v2.0"
Homepage: <http://www.nolights.de>
Email: tim.nikias (@) nolights.de
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> No. The problem with blurred reflection is not a resolution problem, if
> it was you could render the scene at larger size (without aa) and get a
> nice image. Blurred reflections is about blur, i.e. averaging of color
> values. This is not unrealistic at all, in real life the averaging is
> mostly matter of interference, diffraction, etc.
> And aa is not designed to generate blur, it is meant to diminish
> aliasing artefacts due to the discrete sampling of an image. The effect
> that it generates blur in your images is in fact only an unintended side
> effect.
But isn't this the case: if I render an image much larger and view it
from _large enough distance_ (where the individual pixels/"grains" can't
be perceived by the eye) I will see only good smooth blur on
reflections, not grains. And on the other hand, if our eyes had infinite
resolution, the blurred reflections in real life would be quite
different looking. This is not about AA generating the blur, but makeing
it look realistic as it would look in real life. But then again, I have
not ever looked through the microscope at a blurry reflecting surface,
but somehow I still think a single normal pattern is more realistic
approach.
Severi S.
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
In article <vcs### [at] tritonimagicode>,
Christoph Hormann <chr### [at] gmxde> wrote:
> No. The problem with blurred reflection is not a resolution problem, if
> it was you could render the scene at larger size (without aa) and get a
> nice image. Blurred reflections is about blur, i.e. averaging of color
> values. This is not unrealistic at all, in real life the averaging is
> mostly matter of interference, diffraction, etc.
A blurred reflection is the result of small surface features causing a
reflections from nearby points on the surface to go in different
directions. The area of a receptor in the eye covers an area of the
surface, with many reflections from microfacets. And this is exactly
what antialiasing is intended to do...it samples the area covered by a
pixel, rather than a single point. Micronormals combined with very high
supersampling would be the most accurate method. However, supersampling
the surface geometry is usually a waste of time, as well as the diffuse
and highlight aspects of the texture, so a method that samples only the
reflections would be quite a bit more efficient.
There is a blurring effect in the eye and brain, which is why things
like dithering work, but it results in a grainy appearance even when
individual features can not be perceived. You can tell sand, salt, and
sugar are granular even when you can't see individual grains. Objects
that appear to have a smooth blurryness to their reflections have
surface features too small for this to come into play.
--
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: <chr### [at] tagpovrayorg>
http://tag.povray.org/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|