This pass is built based on the passes the user finds fit.
It is useful for lightmap baking, as well as non-view dependent effects
baking.
Differential D1674
Cycles-Bake: Custom Baking pass Authored by Dalai Felinto (dfelinto) on Dec 15 2015, 9:22 PM.
Details This pass is built based on the passes the user finds fit. It is useful for lightmap baking, as well as non-view dependent effects
Diff Detail
Event TimelineThere are a very large number of changes, so older changes are hidden. Show Older Changes
Comment Actions This doesn't seem to be really intuitive change. You might still want to have decoupled direct, indirect and color passes. If we want to make it possible to merge some light contribution together it should be done in an intuitive for artists way. Another thing is that we can do all this on bake_api.c level using diagram provided by @Brecht Van Lommel (brecht), keeping all this passes stuff local in blender and common for all possible engines we ever want to support. And finally, i would really like to see exact usecases first and not try to build some trying-to-be-totally-flexible configuration system, because otherwise you'll just end up with some totally obscure thing to work with. Comment Actions
That takes care of the operator options. Now the only missing bit is to prevent baking when the pass_filter is used but not toggled properly Comment Actions @Sergey Sharybin (sergey) did you check on the latest version? I implemented it just like @Brecht Van Lommel (brecht) suggested. Comment Actions Code review: You're missing initialization of pass_filter for the new scenes. Answering question:
As for bake_api.c thing i mentioned before -- on a closer look it's more tricky due to mix of Cycles-only properties and DNA ones. This divergence is quite annoying, but there's no simple way to avoid it now i'm afraid.
Comment Actions
Comment Actions @Sergey Sharybin (sergey), all the points you raised are addressed. pass_filter is initialized in scene.c since the first patch, you probably overlooked it.
Strange, I built it with buildbot and it went fine in Linux and Windows (and I build in Mac).
I renamed "Deliver diffuse pass" to "Add diffuse contribution". I hope it's more clear now.
Comment Actions I just realized that I need a doversion for files that were set to bake DIFFUSE | GLOSSY | TRANS | SSSS _DIRECT / INDIRECT / COLOR. I will do it later today Comment Actions
Another option is to simply set pass_type to 'COMBINED'. Thoughts? Comment Actions
This is a recap from our original problem: When doing ordinary renders with Cycles, you can get diffuse direct and diffuse indirect passes with one render by filling out the checkboxes. What we would like to have is a possibility to choose which passes we would like to combine for our bake, similar to what the regular Cycles rendering is already offering. But then again in our specific case we don't need to render the glossy or transmission passes. Comment Actions
(got a fix in master that is required if anyone test the patch from the code here)) Comment Actions Not really happy with the versioning stuff. We should not have custom properties just for the verisoning code. Suggested ways are in inline comments.
Comment Actions
Comment Actions @Sergey Sharybin (sergey) all the raised issues were handled, and the code still works fine after the changes (including backward compatibility).
Comment Actions
Comment Actions
(related cycles-bake fixes in master) The patch is finished though, I'm just waiting for its review. Comment Actions Some style feedback. Changes in kernel seems fine, but i didn't really test those deep enough. Also assuming you've checked with artists about interface and such. Other than that, think we can commit this and do any possible tweaks after that.
Comment Actions
As soon as I update the documentation, I will merge this in master. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||