Cycles: Baking LIGHTING ONLY

If you’re feeling rather TL;DR today, you only really need to read up to the end of the paragraph that ends with “…their full, original quality”.

Recently, the texture baking feature has been added to Cycles. I’ve been waiting for this feature for a long time, as it finally allows me to create extremely realistic lighting that can be used in the viewport, realtime 3D games, and for monumentally faster renders. However, one simple issue has made the feature borderline useless to me:

I can’t seem to find any way to bake lighting only (no textures, material colors, etc; JUST THE DIRECT AND BOUNCE LIGHTING).

Why is this a problem? Take this example. I have a large room scene in which I want to bake all the diffuse lighting. Simple! Just texture map the whole thing and do a “Combined” bake. Now, here’s the catch: Say I have a tiny little comic book sitting on a table in the corner of the room. If I made the baked texture a reasonable, crappy-computer-friendly size, that comic book would only get a little bit of real estate on the bake texture. Whatever detail was on the cover of that comic book has been reduced to blobby pixels. If I could bake JUST the lighting, I could simply add the bake texture as an extra layer with a multiply blend mode, and leave the existing textures and materials as they were, preserving their full, original quality.

Now, I’d like to dismiss some inevitable answers so no one makes the mistake of giving them:

Q: Wouldn’t it be (while albeit tedious) simple enough to just go through every material and temporarily disable all textures before I do the bake?
A: No, that would make the bounce (indirect) lighting inaccurate (light reflecting off textured or colored surfaces wouldn’t be properly colored). Also, you can’t disable the color of a material, so I’d have to go through each material and make it white so the color wouldn’t get baked into the texture.
Q: Just give the smaller objects more space in the bake texture so they can keep their detail.
A: No, this would take away texture space from everything else, and this obviously isn’t a practical solution because the ratio of big to small could be a lot wider depending on the scene being created.

Q: Just use more textures.
A: While this would sort of solve the issue of not having enough space, it still requires a massively greater amount of resources in comparison to what would be needed if I could just render a relatively low-res lighting bake and leave the original textures intact.

The only solution I’ve thought of so far is to do a “Diffuse Direct” bake and a “Diffuse Indirect” bake separately, then load them into an image editor such as GIMP and manually combine them, after which I could load the combined image back in and apply it. However, this technique seems awfully tedious, especially if I want to do just a test render. It seems like something that should obviously be a feature, but it isn’t (as far as I can tell). I also wonder why I can’t uncheck the “Clear” box in the baking area, and then do multiple types of bakes and have it combine the layers automatically. Anyway, I can’t see any way to do this. Does anyone know of a way? Thanks!

I’m afraid I’ll have to bump this topic, mainly because it’s an important issue that likely won’t get solved unless it receives some attention while the feature is still new and subject to change, but also because I can’t really go on with anything unless I can get this working. :confused:

Hi,

try using the camera ray output of light path node and connect it to a mix shader with your original shaders on first input and a white diffuse shader on second input. The hassle is, you must go through all your shaders…

Maybe there’s a better way to do it using render layers ? I’m not sure.

Hadrien

I am not sure of this at all, but are you then looking for an AO bake that you can multiply against your diffuse? I had thought that was the purpose of baking Ambient Occlusion to a separate texture for use later in the game engine, but I haven’t done anything with that in game engine so far. I mainly bake that out as something to use to paint my dirt with in a layer against several other image textures.

@Hadriscus: I’m not sure what you’re getting at… Could elaborate a little?

@Craig Jonesa: No, I don’t want an AO bake. AO isn’t full global illumination render, but rather a way of faking it, and it doesn’t even include shadows. If I wanted an AO render, I’d do it in Blender Internal; BI has been able to do that since the dawn of time. XD
The whole point is now being able to harness the full photorealistic potential of Cycles that has been opened up.

Okay, so which will get you there? A combination of Shadow and Diffuse Direct and Indirect maybe?

Like this : http://oi59.tinypic.com/rr6nit.jpg

@Craig Jones: I mentioned that in my original post. The shadow pass isn’t necessary, but it’s just too tedious for test renders and things like that.

@Hadriscus: Oh, I see. How is that any different than just going through and making all the materials white? It also still has the issue of having incorrect indirect lighting. :confused:

Try it already…

OK, I see what you were trying to do. I got caught up on how you were using a white material. That is a solution, but as you said, it’s a lot more work than it would be if there was just a “Diffuse Direct + Diffuse Indirect” option in the bake menu. :confused:

Anyway, thanks for the working solution; at least I can start working on this project! :smiley: