[Bf-cycles] 2.66 plans

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Nov 29 02:48:11 CET 2012


I'm still busy with bugfixing for 2.65 for a few weeks, but for 2.66
I'm currently thinking about working on these features:

* Displacement: finish true displacement / autobump
* Combo BSDF / Ubershader: single node with diffuse, glossy,
transparent for ease of use.
* OSL: tiled image cache support, optimizations
* Multiple importance sampling for lamps

None of these are really big (although not so simple either), instead
I'd like to focus on laying ground work for the releases after 2.66,
refactoring code and working out designs. We can start preparing code
and implementing some stuff, to then actually polish & enable it in
one of the next releases.

One big thing that will need work is our geometry / BVH code. We'll
need to support more primitives: hair curves/lines, quads and maybe
quad grids for more efficient storage of subdivision surfaces. All of
those will then also need to support deformation motion blur
eventually. And we'll also want to refactor our BVH code to better
support SSE optimizations. These things add complexity and need
refactoring in many places: our export code, BVH building and
traversal and path tracing kernel. After the basics are there, for one
of the next releases we can focus on finding efficient BVH building
and ray intersection algorithms for hair and deformation motion blur,
getting it work on GPU, and actually enabling the code.

The other big one is volumetric rendering. I'll look at the volumetric
rendering patch, and think about how it all fits our design, see how
it fits in our path tracing kernel and maybe do some work there to get
the volume rendering features extracted from the volume patch. In one
of the next release we can then actually enable it and evaluate how to
best do light sampling, and add support for voxel and point cloud

Also a note about the subdivision support in Cycles, my intention is
to drop this. I think it's better to focus on trying to improve the
modifiers in Blender and get efficient export, to avoid duplicating
code. Our current subdivision code is only approximate, doesn't
support triangles, creases and UV/color interpolation. The algorithms
there I don't know how to extend well, better to look at OpenSubdiv
for the Blender modifiers once.


More information about the Bf-cycles mailing list