I stumbled upon a thread on BlenderArtists the other day – a guy called Simon Flores wrote a script that allows you to bake stuff in cycles and any other render engine for that matter.
I wouldn’t quite call it baking, but in simple cases it could be quite useful. It goes through every face in the whole scene and places the camera facing it, renders it, and at the end of all that it joins all the pieces together. Genius right? Sort of.
It’s a great start, but there are some serious limitations:
- The object you’re baking must be clear of any obstructions otherwise the camera cannot see it. That means that any non-manifold meshes will have artifacts
- It’s really really slow, rendering a whole image for every single face. It took several minutes to bake a couple cubes.
- The meshes must be triangulated first, since it can’t work with quads.
- All meshes must be UV mapped and have the same image assigned to them in BI before baking (with no overlapping UVs of course)
- Did I mention how slow it is? I started baking the Matball used on the wiki, with just 20 samples it was going at about 0.001% per second. That’d take 28 hours.
- Since it places the camera on each face, any view-dependent shaders (like glossy, glass and anything with fresnel) will come out really weird.
If you can ignore or manually fix those limitations, then I’m sure you could do some pretty powerful stuff with it, perhaps creating a GI lightmap for a game. For now, I’ll wait until someone takes Simon’s code and gives it a UI and addresses some of those limitations. And speeds it up. A lot.