|
![](/i/fill.gif) |
Am 14.12.2010 23:28, schrieb Tim Cook:
> On 2010-12-14 06:17, clipka wrote:
>> modelling dull metal: You really need blurred reflection to make that
>> look convincing, the "diffuse" term is an insufficient substitute. At
>> present, that means you'll need to use some micro- or macronormals
>> approach.
>
> It's strange that the impression that I get from references to using
> micronormals for blurred reflections is that it is somehow a
> less-than-ideal solution. Isn't that how blurred reflections are created
> in reality, though? (Well, at least as far as texture normals represent
> a surface feature...) The faster, corner-cutting methods used by other
> renderers are what's cheating. ;)
It is non-ideal for various reasons:
- The classic approach to micro- and macronormals in POV-Ray is to use
an average texture_map with a great number of textures (it is even
discussed in that context how to circumvent the 256-entries-per-map
limit), each with its unique normal pertubation, so that POV-Ray will
fork the ray N-fold in slightly different directions. The problem here
being that if such reflected rays are reflected again, you get NxN rays,
and so forth. See your render times skyrocket in scenes with a /high/
percentage of reflecting surfaces.
- An alternative approach is to use a single texture with an extremely
fine pertubation, and use extremely high-quality anti-aliasing to cause
a bunch of rays to be shot. The problem here is that you get an N-fold
fork of the ray right at the camera, so you will have to do even your
intersection test with the very first object N-fold. Say hello to
unnecessarily high render times in scenes with a /low/ percentage of
reflecting surface.
The ideal solution would be to fork the ray no sooner than it hits a
blurrily-reflecting surface, and prevent forking on subsequent
reflections. There would be no cheating in this approach.
Hell, yes, there /is/ a possibility to do this with current versions of
POV-Ray, but do you /really/ want to duplicate all your reflective
objects, one with micronormals and "no_reflection", one without
micronormals and "no_image"? Ease of use is something different.
- In an ideal world, the amount of blurriness would directly correlate
to the roughness used for specular reflections. This is difficult to
achieve with the current tools available.
- Built-in blurred reflections would allow for some performance
improvements, such as stopping to fork rays as soon as you're confident
that additional forks will not give you any substantially new
information (similar to what's done in focal blur).
There may be even more reasons why built-in blurred reflection would be
better, but I guess the above is reason enough.
Post a reply to this message
|
![](/i/fill.gif) |