Cycles baking is here


(Piotr Adamowicz) #1

Good news everyone!

http://www.dalaifelinto.com/?p=990
http://lists.blender.org/pipermail/bf-cycles/2014-February/001778.html

The development of baking for Cycles is at a stage where it can use
some feedback. I’m interested on corner cases where baking fails, and
would like to hear ideas on how people plan to use it in production.
(e.g., which passes are to be used how).

You can see some images of Caminades, OSL baking and more info:

The supported passes for Cycles are:

Data Passes

  • Normal
  • UV
  • Diffuse/Glossy/Transmission/Subsurface/Emit Color

Light Passes

  • AO
  • Combined
  • Shadow
  • Diffuse/Glossy/Transmission/Subsurface/Emit Direct/Indirect

Note, as frustrated as it may be, this work does not handle cage
support. I heard on G+ that without cage nothing of this make sense,
but that’s how we planned the development.

Cycles is being used to test the new design for the Baking code, and
we will be able to slowly improve the base Blender code on top of
that.

The code is here:

Currently known issues:

  • Seams: AO baking is producing some obnoxious seams. (not so much now
    that Im’ using white as the background, but still, I would like to see
    how to implement ‘margin’)
  • Displacement: If anything is connected to the Displacement socket of
    the Material Output, the light passes render as black

/me jumps up and down in glee and squeals like a schoolgirl. Thank you!

Dalai Felinto is asking for feedback.

Can someone make a windows build? :smiley:


(ng-material) #2

collapses

lol, thats a suprise. With some progress being made there, we are almost done with cycles main features.

smoke fire volumes I think are still scheduled for 7.1 and displacements not so sure.

but wow.

many thanks to devs.

I hope the ability to make cavity maps will come about.


(anaho) #3

No cage support is a huge letdown.


(michalis) #4

Great great news!
Staying tuned on this.
Btw, anaho has a point here.


(Piotr Adamowicz) #5

What point? He’s just malcontent. Cages will come sooner or later. Meanwhile we can make materials in Cycles nodes or OSL and bake them, and that alone is huge.


(michalis) #6

Of course Piotr, I will among the first who will try it.
I’m waiting for this, some time now.
Always in my wish list.

Just for fun I claim that I’m the first who used cycles to bake displacement and AO maps.
Kidding of course because it is a rendering specific case. But the results are so much superior to BI…

I hope the ability to make cavity maps will come about.

Indeed so
You probably mean the ability of cycles to render cavity effects. Because baking them is easy. It is just another diffuse map.


(RickyBlender) #7

any wind available for testing ?

thanks


(Chad Gleason) #8

This is amazing news! What is cage support? :slight_smile:


(martin.hedin) #9

WoooooaaaaaaaaAAAWWW!!!

This will be alot of fun indeed! I can only find a Mac Build: http://graphicall.org/1103

Any chance of windows or linux builds?


(martin.hedin) #10

http://wiki.polycount.com/NormalMap/#Working_with_Cages


(m9105826) #11

Over 1200 errors trying to compile on win64 here. Both in 2008 and 2013. Gonna sit this out for a while…


(yii7) #12

Apparently the development plan for cages has been explained ( that is its planed for “the near future” ). Its indeed good news that baking will be having development on the cycles front. However the point to “anaho” 's comment is ; you can bake a map with BI too but without a cage you have hard time with complex meshes and resort to 3rd party software; so a cage is more essential than a cycles implementation. A cage-less workflow is creating a whole lot of problems on production front, multires baking doesn’t cover/fix all the problems and cage baking hasn’t been implemented on 2.4x , 2.5x and now 2.6x is closing it phase and yet no real news of cage baking.(counting 2.49b as the end of a phase thats 2009 - 2014 ) :frowning:


(iceking) #13

no cage yet huh?, well with just this still huge possibilites,

one thing about cycles is its a master in procedural texturing, ability to bake that would be freaking awesome, e.g. normal map patterns for armors, scratches and such just to mention one awesome stuff,


(michalis) #14

A cage-less workflow is creating a whole lot of problems on production front, multires baking doesn’t cover/fix all the problems and cage baking hasn’t been implemented on 2.4x , 2.5x and now 2.6x is closing it phase and yet no real news of cage baking.(counting 2.49b as the end of a phase thats 2009 - 2014 )

I don’t understand.
What do you mean by cage baking? I thought we mean the “bake to active” blender method. (this is what I understand reading here: http://wiki.polycount.com/NormalMap/#Working_with_Cages
Blender offers 2.5 ways to bake maps. From multires, bake to active, and a third one (LOL) converting/baking normal maps from displacement maps.

However, I will remind you some important issues.
BI baking produces poor quality maps.
AO may have holes when multiple objects overlap each other. Typical when hard surfacing.
Displacement and normal maps suffer of the lack of AA. More artifacts can be found, weird 45º patterns (look like triangulations but it has nothing to do with the density and/or smooth shading).
Baking on 4k or 8k and subdividing in Pshop doesn’t fix the issues.
Multres can’t bake on the base mesh. (the apply base on multires also involves a series of issues)
The lack of cavity baking, which introduce time (and RAM) consuming, horrible workarounds.

I mean, I don’t like BI baking at all. We need a baking system in blender and this has to be under cycles.

In general, we can’t bake quality maps in blender. Let’s face it.
Crossing my fingers.


(michalis) #15

Please,
I just downloaded the OSX build from graphical
So, I don’t see any baking options, Where are they? How does it work?


(Piotr Adamowicz) #16

Basically cages allow you to set the bake distance per face and allow you to point the rays where you like rather than just along the normal. Theyre useful, and we’ll hopefully get them some day, but for now lets test the other aspects of the new system.

For that we need builds though. Anyone got a windows build environment set up?


(L E Jay) #17

I got them as well, I’m thinking you know what your doing better than me.
Dalai could have done some builds to get us blending rather than chatting.


(L E Jay) #18

Did you use the command line option in blender as he says…


(michalis) #19

Did you use the command line option in blender as he says…

No, the link is not working, sorry.
Please, is it an OSL something?


(Therahedwig) #20

It’s a bit of python script, though I have to admit I have trouble understanding him as well.

http://www.dalaifelinto.com/?p=990

I Want to Try It

There are no official builds of this feature yet. However if you are familiar with git and building Blender and git, you can get it from my github repository. Clone the bake-cycles branch from the blender-git repository. Once you build you need to UV Unwrap the object you want to bake, select it and run the following script:

import bpy
bpy.ops.object.bake(type=‘COMBINED’, is_save_external=True, filepath="/tmp/baked.png", width=512, height=512)

If you can’t build your own Blender wait for a build to show up on GraphicAll.org. You can also follow my Blender Foundation Weekly Report to learn about the progress of this feature and to be informed on when the work will be ready and merged upstream in the official Blender repository.

Missing Bits

There is still more work ahead of this project. Cycles Baking is actually a small part of a big planned baking refactor in Blender, which includes Baking Maps and Cage support. We only decided for Cycles baking to be a start point because the idea was to use Cycles to validate the proposed refactor of the internal baking API.

That means Cycles Baking may or may not hit Blender on its own any soon. There are bugs to be fixed, loose ends to be tied, so it’s not that I’m spending time anxiously wondering about when this will land anyways (;

I would like to take the opportunity to thank Brecht van Lommel for all the help along this project, and the Blender Foundation for the work opportunity. I’m glad to be involved in a high impact project such as the Blender development.

Last but not least. If you work professionally with Blender and can benefit from features like this, consider donating to the Blender Foundation via the Development Fund page.

That’s the last bit of the website, if it goes down (again?).

There’s also a nice example of OSL baking, which I can imagine is making a whole lot of texturing people really really happy.

EDIT: Also check out his wiki page, there’s a preview of the ‘bake-maps’ feature(which, in short, is an improved baking workflow)