POV-Ray : Newsgroups : povray.programming : [Suggest] Multipass render feature : Re: [Suggest] Multipass render feature Server Time
17 May 2024 07:53:09 EDT (-0400)
  Re: [Suggest] Multipass render feature  
From: Trevor G Quayle
Date: 21 Feb 2007 12:30:01
Message: <web.45dc8151edc97567c150d4c10@news.povray.org>
"Agustin Britait Molina" <agu### [at] hotmailcom> wrote:
> I suggest a small mod for POV, wend rendering a image with multi
> frame_number, give the possibility of keep the pixels of the prior
> frame_number, and rendering only the pixels with "zero render" (black dots)
> in the new frame, this it makes possible to make images with multipass
> render.
>
> Activate this feature with a "+multipass" switch or so combined with
> animations swiches, but the target is a static frame, not animation, we
> reuse the animations routines for multipassing
>
> ....
>
>
> The idea is save render time calculating a high percentage of the image at
> "low trace rate", then recalculate the rays at more trace level for pixels
> undefined in prior pass.
>
> Sorry for my english

Perhaps I'm mistaken in the way max_trace_level works or what you are
proposing, but I don't know if this would be effective.  Max_trace_level is
just a way of specifying a maximum number of refractions/reflections per ray
to limit infite (or too large number) of refraction/reflection.  Howver,
this is an upper bound and is only used if needed.  If a ray terminates
before max is reached, it terminates, no further level is needed or used.
Essentially it already does what I understand you are suggesting.  For
example, try the following scene:

//START
global_settings {
  ambient_light 1
  max_trace_level 250 //2
}

camera{
  up y*image_height
  right x*image_width
  angle 60
  location <0,0,-100>
  look_at  0
}

light_source{y*500 rgb 1}

sphere{-y*10,20 pigment{rgb 1}}

box{-600,600
  texture{
    pigment{rgb 0}
    finish{reflection{0}}//1
  }
}
//END

Essentially just a sphere inside a perfectly mirrored (or not) box.  When
setting "reflection 0", max_trace_level has virtually no effect on the
render speed, there are no reflections so, even if you have a very high
level set, it is not needed and ignored.  Setting "reflection 1",
max_trace_level has a great effect, as it now has to determine when to
terminate the ray, otherwise it would go off to infinity.

Hope this helps if I understand your intention correctly.

-tgq


Post a reply to this message

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