[Bf-cycles] Volumetric patch update (now with new shiny bidirectional integrator)

storm kartochka22 at yandex.ru
Thu Mar 14 02:10:55 CET 2013


It Working !1!1111

Fixed very stupid off-by-one array index offset in backward pdf
calculation. I must admit, that bug tortured me more then 6 months if
not longer. The problem it affect only paths with 2 and more bounces,
and as energy usually lower it was barely noticeable on test scenes, and
i have plenty of theories why sometime color bleeding too bright,
blaming everything, from compiler optimizer up to FPU flaw. Now that
nightmare over and my mind got a chance to stay clear.

Many scenes converging so fast i cannot believe it possible (comparing
to my old patch ofcourse, not other renderers) that bidirectional MIS is
really cool stuff when it work (selected hard areas close to light
covered by complex geometry).

Also, i found that current algorithm that trying to track volime media
material from light to camera direction is horrible, must to replace it
by something different, so light sources inside object with volume media
rendering wrong.

Another bug is related to skin-like shaders, when "mix" or "add" used to
combine other BSDF, then volume density get wrong values (i am think
that random values used to mix clash with value used for distance or
maybe other reason, but fact it completely broken), so only simple like
single glass or transparent work.

MLT replaced to more interactive approach, now you can set mutations to
insane 25000 and get cool splashy useless pictures. But it force to
single thread model as i do not want to hack deeper in Cycles and
rewrite parts before kernel_integrate() call. I very doubt some one even
test it, but must note that change.

Other known bugs are same as previous patches, only preview window if
light tracing enabled (segfault otherwise), only perspective camera w/o
DoF, only flat triangles guarantee quality if bidirectional used, only
zero size point and emission meshes as light sources (done sime initial
support of spot lights, but it unfinished untested and buggy), no GPU,
no OSL, no ray visibility flags respected for light->camera rays.

Adjoint BSDF is next big target, as w/o it any surface with interpolated
normals will have ugly errors, like flat with some weird gradients. In
addition, I think that it is reason that bump not work for light->camera
rays. No smooth surfaces, no bump maps -> unusable for wide testing.

Short plan: get rid of stupid XXX_compensation constants and other debug
leftowers, make code close to Blender coding style.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: blender_cycles_volume_mlt_spectral_55255.patch.bz2
Type: application/x-bzip
Size: 70448 bytes
Desc: not available
Url : http://lists.blender.org/pipermail/bf-cycles/attachments/20130314/9be335ac/attachment.bin 


More information about the Bf-cycles mailing list