Bits of bread
When working on the Northern light images, I started experimenting with a new workflow to create food assets, in particular bread and other baked products. After having found a relatively laborious but clean and effective approach, I decided to build a small library of baked, carb-heavy assets. I didn’t go very far, and I will certainly return to this at some point, but I thought I’d post a few of the resulting test images and write a little bit about the scene and the workflow, which I unfortunately didn’t properly document in images and screengrabs – sorry if this seems like a lot of text.

First a few words about the modelling process. Each asset starts with a real-life loaf/roll/bagel (generally from here) which I scan using my Ipad and Autodesk 123D Catch (formerly known as Photofly). The free app can build faithful and fully textured 3D models from a set of photos. Having done the capture, I take a large set of hi-res photos of the loaf under as neutral a light as possible using my DSLR. Then, and only then, I ate it.
The 3D scan is of course not usable as such. Its tris do not lend themselves to displacement, subdivisions, or even proper unwrapping, and the texture is too low-res and with too much lights and shadows. But it is a good base on which you can remodel the asset, using 3ds Max conform tools, which allow you to draw a mesh on any surface. Once I have an all-quad low-res model with a nice polyflow, I conform it to the scan, using the conform tools again, to make sure the new topology clings as closely as possibly to the shape of the scan.
Then follows the laborious work of UV-unwrapping and texture-painting in Photoshop, using the hi-res photos stitched together in one large map (after a lot of test-renders, trials and errors). The final model is rounded off in Max (using the Viewport canvas to erase seams in the texture) and in Zbrush for an extra bit of detail, which is then converted to displacement and normal maps. Back into Max, the asset is given a 2D Vray displacement modifier to bring back the level of detail obtained in ZBrush in the render.
So here is what the scene looks like in Max (the Max spotlight is only there to cast caustics; the illumination comes exclusively from the VrayDomelight):
Here is a wire render showing the non-subdivided assets (an earlier version of the scene, hence the different model placement). Note the black bread on the right is all-tris. This is from an earlier workflow, which I have now abandoned for this type of asset: The mesh was build in ZBrush from scratch, decimated there and exported as a mid-weight asset. These tend to make the scene very heavy though. The other, all-quad, non-subdivided assets are much lighter-weight.
The Clay render shows the impact of the displacement modifier, using hi- and mid-res texture maps (2k for the rolls, 4k for the big loaf and bagels).
For the bagels, I used actual geometry for the poppy and sesame seeds and different diffuse maps to create variations across five copies of the same asset. The seeds are scattered on the geometry using Itoosoft Forest Pack Pro. I used a B&W image to tell Forest where to position the seeds and baked them into a poly mesh once I was happy with the result. The seeds are given a slight colour variation too. I used MassFX to position lo-res proxies of the bagels in the bowl, later replacing them with the full bagel meshes. The towel around the bowl was made and draped in Marvelous Designer (hence the tris). I use a VrayHDRI map for the fabric’s bump texture (itself an 8-bit JPG) as I find it generates much stronger, nicer and more defined bump than a basic bitmap image – for some strange reason I don’t quite understand.
Here are snapshots of the materials, as well as the materials settings, for the Bagels and for the small rolls. As you can see nothing spectacular.










thanks for the great right up, amazing work as usual
Impressive quality and lighting.Lovely mood.
Very nice, as usual. What about rendertimes ? Im curious
Hello Bertrand,
Its always amazing just to see your workflow and your amazing sense for details and realities,
Awesome my friend
All best regards from cold norway
Drop Dead Gorgeous! The level of details you go into and with such impeccable execution is admirable to say the least. I would love to know more about what went on in ZBrush and how it was imported back into 3dsmax.
I am really impressed Bertrand…great stuff!!!
123DCatch looks like a usefull tool, will have to try to give it a go…nice tip.
Thanks for sharing everything!
BTW: dont you get shading and reflection problems when using vray normal map? when i use normal map and go over 10%, i usually loose all the speculars :-///
Love the photos. No words to say
@Martin Zmeskal normal and bump maps are only really good for details that are not meant to protrude the surface much and they are just cheats which is why you are getting weird results when you use a high value. you can see in the examples above that you need a reasonably detailed mesh, displacement and normal/bump maps if you want to create a good looking uneven surface.
Hi Bertrand – Amazing detail. Your workflow is extremely inspiring.
I had a question about your normal maps. If ZBrush isn’t in the mix, do you get them from CrazyBump? I’m just considering moving away from grayscale bumps and trying to get normal maps and was curious as to your source.
Superbe work as usual Bertrand! Best of best..:-)
Lecker! Outstanding Bertrand, these look delicious.
I’ve noticed the 32 subdivs on all your mats here, is this part of your new “not quite universal” VRay workflow?
Congrats!
(BTW, I’ll take a wall of text from you any day…)
This is simply amazing!
Bertrand, you are beyond insane with your attention to detail. Give yourself a big pat on the back..
Sooo lovely
thank you Bertrand. I always look forward to your creations! bravo
Hummm…. ça donne faim j’ai pas pris de petit déjeuner ce matin…Un travail vraiment surprenant, une méthodologie toujours pertinente… un grand bravo pour cette source d’inspiration.
@ Martin Zmeskal : Do you use Gamma 2.2 WorkFlow ? If yes, check the following as it is VERY important when dealing with Normal maps: when importing bitmap in the VRayNormal map material slot, you have to check Gamma > Override > 1,0. Because if not, specular highlights of your material will always go wrong. Hope it helps.
Where can we buy it? Turbosquid link please!
Great work, and always nice to see when people share their workflows with others….. Happy Max’ing
This is really amazing! As nearly always
Tried 123d Catch in the past by myself, but never went so far, like you. Best wishes from Berlin.
How did the bakery taste?
Thanks for the feedback, guys.
polygonmode: The bakery tasted amazing. If you are from Berlin and don’t know that place, you should!
RobSteady: I haven’t made it available yet. Wanted to build more assets first. But will definitely do eventually.
Martin Zmeskal: tOm is right, if you use a linear workflow, you shouldn’t gamma-correct your normal maps, meaning you should load them with a gamma of 1.00, otherwise the map will not behave correctly.
baptiste: Merci!
Manu: That’s right. I now tend to use very high blurry subdivs in the mats when rendering with Brute Force (32 here but mostly 60).
Danio: ZBrush is of course best. Otherwise, there are a myriads Crazybump plugins or standalone apps for normal maps that do pretty much the same thing.
Michal: Pretty long, actually, because of the high settings. I don’t really worry about render times that much unless I’m working on an animation, which I rarely do.
Hi Bertrand,
Thank you very much for sharing your great rendering techniques!
We shared your tutorial on our Facebook page at http://www.facebook.com/cgriver.com.
Outstanding work!
Can you explain briefly how you used the conform tool to create quad meshs? I am familiar with the conform tool, but so far I only managed to project planes onto a surface. Is there a way to project a box to a complex model like those from 123D Catch?
Thanks
Felix
Hi Bertrand, fantastic workflow my friend. Just testing the diffusion in Looks using a 32 bit image. Am I right in thinking that in the ‘V_Ray Frame buffer’ rollout you ‘Render to V-Ray raw image file’ and tick ‘EXR Use 32-bit output’?
Then in AE you set the Color Settings depth to 32 bits per channel? Is that everything because I’m getting some unexpected results! Thank you so much.
God !! Help!!!
Really icredible detail, fantastic composition and colors.
was curious, what do you have in the dome light, an interior hdr? the subtle shadows and directionality are fantastic.
Hi Bertrand,
these foods assets are not for sale on Turbosquid ? where can I find them? Thanks
Great Images and thanks for the tutorial. But what’s your work-flow for PS post-production? Clearly your images here have some filters applied. Many thanks
Nice work Bertrand. I’m with the Autodesk team that works on 123D Catch. You mention that you use a DSLR camera as part of the process, but that you use an iPad to get the 123D Catch model. Because the iPad’s optics are inferior to a DSLR you’ll normally get a better Catch model using the DSLR and running the Windows Desktop or Web versions of 123D Catch rather than the iPad/iPhone version.
-Brian
Thanks a lot for the kind feedback, guys.
Brian: Very nice of you to get in touch. That’s a good point. To be honest, I did try to get a higher-res image using the desktop application but it never worked. Somehow the app could never interpret my DSLR images correctly and generate a model from them. By comparison, I’ve always been able to generate very decent models with the Ipad app, which is also very easy to use. I’m sure I’m doing something wrong, though. BTW, I do use the desktop app to edit the model.
Adam: I don’t really have a workflow for PP. That’s why I’m hesitant to write too much about it. There is a lot of serendipity and trial and error involved. I always use the same tools, though: Photoshop and Magic Bullet Photolooks, but I almost never took the same approach twice. My PP techniques are also pretty unsophisticated compared to the tuts I see around the web. I’m like Peter Guthrie in that I try to get as much as possible from the render.
Chetib: They will be, eventually, when I get round to uploading them.
Spoudastis: Thanks. Yes, I use a Domelight with an interior HDR and my gamma-correction workflow (which explains the directional shadows).
Paul: I guess that’s how one should do it. I just save to .exr from the frame buffer.
Felix: Yes, there is a way. But the best way is to just draw your destination mesh on the source mesh directly. Time-consuming but the best way to get a nice topology.
Amazing as always! Question: lately I’ve been having trouble getting any contrast in my clay renders, they just can’t get the dark darks in them, it’s as if they’re washed out. Your clay renders seems to have a lot of nice darks in them. I’m sure there was some adjustment, but it can’t really be that much. Any advice in getting the black back into the render? Is there a setting somewhere that controls this? Thanks!
Quel travail !!! je n’en reviens pas…mais aussi quel résultat magnifique et en plus un sujet tout simple et terriblement sympathique. Vraiment BRAVO
mp
Tell me about your Clay shader to control the light. Thanks.
The whole world is crazy because of you. I like the details from the lowpoly model.
Thanks guys. Thanks Mumm
Mike, Lee: No particular recipe for the clay render. I guess the same applies to them as does to the beauty pass. Basically, if your lighting solution works for the normal image, it should work for the clay render. But of course the clay render was tweaked in post to increase its contrast. Maybe it’s just a matter of adjusting a few curves.
Hi Bertrand, very impressive !! Did you tried to use vraySSS for your bread ?
[...] website making of [...]
That’s gorgeous Bertrand! The only thing i really don’t like is that wrapping paper. Can you tell us mere mortals what interior hdri did you used? And that table texture is greeeat!! Was that handmade also? Many thanks for sharing once again!
Nuno: The HDR map was a free one I got on the web, don’t remember where, of a nice interior with a good mixture of warm and cold light. The wood texture was handmade. I make most of my textures, using either my own photos or CGTexture as a starting point.
this literally makes me feel sick because its so good. its inspirational and also makes me want to quit
Thanks for your answer Bertrand
Regarding the vraryhdri used as the bump map, the reason i think it produces much strong and defined bump may well be related to the interpolation parameter on the vrayhdri itself. If you leave the interpolation at “default” and given that you’ve choosen an 8bit jpeg, the interpolation will be automatically assigned to “bicubic” which i think is the slowest of all but it gives you a smooth result without producing artifacts.
Thanks once again
That’s amazing!! great execution, incredible result…
OMG. you are crazy.
[...] [via Bertrand Benoit] [...]
Wow! Found this picture on business insider, and followed the link. Your work is unbelievably amazing!! It’s really inspiring and makes me want to do what you do.
Thanks for sharing. Just great
simply great!
I am a big fan of your work…
I’m writing an article about CG Artist and CG communities on a Interior Design Magazine in Italy.
I was wondering if it was possible to publish the image…
[...] It is safe to say that no matter what Bertrand Benoit creates, the outcome will be among the best that was ever made. It is sometimes hard to believe you are not looking at a photograph but actually at a 3D render. The renders are constructed pictures originally created by photographers and stylists. The attention to detail is astonishing in every piece of work he creates. At the end of this post you can see the development process of one of his personal projects called Bits of Bread. [...]
its great…. thanks for sharing……..