|
![](/i/fill.gif) |
Anthony D. Baye nous apporta ses lumieres en ce 13-03-2007 21:29:
> I'm currently working on several large scenes, at least one of which
> rewuires radiosity. I'd like to remove all the light sources from the
> scene, and light it purely with radiosity, but it contains candle
> objects which use a filtering media that only looks right with light
> sources.
> The end result is a scene with five seperate light sources that may look
> nice when rendered, but has a maximum render speed of 1:06:00 per line.
> Can anybody provide me with some tips and hints on optimizing textures,
> lighting schemes, and other scene settings for faster render times
> without compromizing image quality?
> Any advice would be greatly appreciated.
> ADB
In the radiosity section, do you change error_bound? To what extent? When you
push it down, the rendering time increase. It also requires a higher count to
prevent splotshiness, resulting in still longer renders. One of the main reason
to use small error_bound is to produce sharper and deeper shadows.
You can try lowering pretrace_end. At the cost of more pretrace time, it may
allows you to use more relaxed settings elsewhere, resulting in globaly faster
renders.
Do you have "normals on" in the radiosity block? Normal computation in radiosity
is very computationaly heavy. If you can do without, remove normals on.
Do you have large difference/intersection where you remove 100's small pieces
from a large base object? You may try diferencing a blob instead of many spheres
and cylinders. You may also try using merge to combine all the pieces that you
remove. That way, you only test 2 bounding box instead of one for each components.
If you use area_light, also use adaptive 0. If this give artefacts, try adaptive
1 (need light array at least 5*5 to be benefical) or 2 (min of 9*9). When using
adaptive, it's best to use powers of 2 +1 to get the best efficiency.
Do you use media? The default sampling method is method 3. When using that,
using intervals larger than 1 is a speed killer. Stay with intervals 1 and
increase samples. samples 10 interval 5 is way slower than samples 100. I've
done the tests.
If you have an isosurface that looks like it can be simulated with a blob, try
using a blob to get a similar shape.
If you have an isosurface with some very large max_gradient, Using the log,
square root or cube root of the function may allows you to reduce max_gradient
to a more reasonable range, speeding up it's rendering.
Many reflection or refractions? Lots of total internal reflections? Try
increasing adc_bailout. In some cases, the visual impact is negligeale, but the
resulting speed up very interesting. The default is 1/256, depending on the
scane, you may get by with as much as 1/100 or even 1/64 without to much
negative impact!
Any glossy object? phong and specular don't work with radiosity. You can get a
similar effect using a small amount of blured reflection, but it will increase
the rendering time.
Filtering and scattering media never react to radiosity, they need actual
lights. Emissive media can illuminate radiosity if you use "media on" in the
radiosity block.
Simple textures can't be optimised, they are as simple as can be. Layered ones
can be worked upon. You need some test scene with some simple objects to receive
your test textures. Start with your layered texture on one object. Now, on
another object in the same scene, try to emulate the complex texture with a
simpler one. Once you find a suitable, simpler texture, copy it to your real scene.
Using blured reflections? Do you have any object with blured reflection
reflecting in another surface also using blured reflection? High quality blured
reflection can have as many as 256 components, resulting in 256 reflected rays
for each pixel. If it reflect another such surface, you end up with as many as
65536 rays to evaluate! Duplicating those objects and having the original with
the blured reflection and "no_reflection"(don't show in reflection) and a copy
with normal reflection and "no_image" (visible only in reflections) can help
aleviate the problem.
In some cases, using light_group can significatively improve your rendering time.
--
Alain
-------------------------------------------------
'I had to hit him -- he was starting to make sense.'
Post a reply to this message
|
![](/i/fill.gif) |