It looks like you're using an ad blocker! I really need the income to keep this site running.
If you enjoy BlenderNation and you think it’s a valuable resource to the Blender community, please take a moment to read how you can support BlenderNation.

Shapeways switches to Blender for on-line rendering

16

Shapeways switches to Blender for on line rendering professional services 3d news

3D printing community Shapeways allows their members to upload 3D models, preview them on the website and have them 3D printed in a variety of materials. Until recently, the previews were rendered in OpenGL and were rather bland looking. I was involved in the implementation of Blender on their webservers, in order to generate better quality previews. Here's a look behind the scenes of this project.

Before I begin: this was an awesome project. I had a chance to work together with some great Blender designers and developers. The Shapeways team loved the concept but wasn't easy to satisfy - a great combination for arriving at a fantastic final product.

Thanks guys!

What did we want to achieve?

The original thumbnail previews were rather bland and suffered from OpenGL rendering artifacts. Check out the model below:

Shapeways switches to Blender for on line rendering professional services 3d news

Most of all, we wanted to show what the design would actually look like when 3D printed. We picked one material ("White Strong and Flexible") and set off to render this as photo-realistically as we could. This proved to be a challenge as White Strong and Flexible is, well, mostly pure white. Things weren't made much easier when Product Manager Peter Paul Cornelissen gave us the briefing for the scene design: a white, reflecting background, slightly overexposed, with soft shadows below the object. White on white - oh yeah :)

Blender Designer Dolf Veenvliet (Macouno) set off to design the scene and material for us, and after a couple of iterations, working together for an afternoon at the Shapeways offices, and then some more changes, we arrived at our first version. After consulting with the Shapeways Community we learned that they didn't like our automatic smoothing. If an object is meant to be angular, it should be rendered as such. Fair enough. Here's how we render the models now:

Shapeways switches to Blender for on line rendering professional services 3d news

Of course, we had to keep the render time of the scene acceptable as we could soon be rendering thousands of images each day. Seconds matter! The scene now renders in different layers and uses the node compositor to tie them all together. Not many command-line tools can do such tricks ;-)

Have another look at some images 'before and after':

Shapeways switches to Blender for on line rendering professional services 3d news

(click to enlarge)

Pretty sweet, right?

Render script

The 'Blender Server' is a combination of three components:

  • A .blend file containing the scene, lighting and material. We're still using good ol' Blender 2.49 for this project as it's stable and many of the features that we needed aren't available in 2.50 yet.
  • A Python script that loads STL or VRML files, and scales the model so it fits in the viewport. The Python script can switch between different scenes, can toggle between different materials or UV texture maps, and can re-orient the models if necessary.
  • XJ3D to convert X3D files to VRML. Blender's X3D importer isn't good enough yet.

Each of these components are easy to maintain. Adding more scenes or materials is a definite possibility.

Power of Open Source

Could we have done this with another tool? I highly doubt it. Using an Open Source tool and having access to Blender developers helped us solve two issues:

  • Even though Blender already runs on a large number of operating systems, we found that it didn't work on the Shapeways webservers. Blender Developer Nathan Letwory (JesterKing) made a custom build for us.
  • We also found that the VRML/X3D import filter that's distributed along with Blender had some issues that made it hard to implement in our specific scenario. Fortunately it's written in Python which made it easy to modify.

All in all: Open Source (and Blender ;-) FTW!

Try it out for yourself!

To test-drive the new renderer, check out the Shapeways introduction page for Blender users. Keep in mind that models need to be printable (that is: closed volumes, and not too thin/small) before they're added to the gallery.

Future plans

Asides from offering more materials and scenes to choose from, we have a few more tricks up our sleeve - more about that another time :) Of course, if you have an über-cool idea of what we can do with this, we're all ears!

Do you need help with your project?

I'm available as a freelance Blender Consultant or Project Manager, and I have access to a large network of Blender artists and developers. You can contact me via email or Skype.

Links

Disclaimer: while I do work for Shapeways as a freelancer, I wasn't paid to publish this article.

Share.
  • http://www.dustyghost.com dusty

    Yeah I saw this the other day on the site!

    I'm doing to private work for a client and it's much more exciting for him to see this render, and the orientation is the same as Blender space too!

    Thanks Shapeways! you really are the best out there I know of! and I've been around a few companies now!

  • http://www.FreezingMoon.org Dread Knight

    Cool stuff!

    But what I like about the original gallery is that there was more contrast between the showcased models and background, now there's too much white/blending.

  • anny

    Yay for open source!

    On a side note: didn't they used to to have full color plastic printing, not just sandstone?

  • anon

    Blendernation
    Fresh Blender and Shapeways News, Every Day

  • http://www.marketiers.org shul

    Very cool bart, I was wondering about this stuff as well, so thank you for sharing.

    Regarding photorealistic imaging, I'd recommend taking a good look at lux with opencl in batch mode (should be 0.8 when it's out). This may be the missing piece to really awesome output :)

  • 2501

    Great improve!

    The only thing I don´t really like is the white background. I think you could appreciate the details better with the black one (I know this was not your decission).

    Greetings!

  • http://www.blendernation.com Bart

    @Dread Knight, 2501: agreed. Other scenes/lighting schemes might work better. Stay tuned for more info on that :)

    @anny: 'Full Color Sandstone' is the only full color material, Shapeways never offered full color plastics. Sandstone is a kind of infused gypsum if I'm not mistaken.

  • http://www.chibiyugi.deviantart.com Patrick

    It's looking really cool, go Bart! =) I assume we can still smooth our models though? ;)

  • yoff

    Would be interesting to see a larger before/after picture, perhaps just of a single model. The current one shows little more than that the background has changed and the lighting become more from the side...

  • Jonathan Merritt

    Looks good - it's nice to hear tales of Blender from the server-side.

    I think it's great that you're using Xj3D too... a case of different open source tools and languages playing nicely together, using the strengths of each for a commercial project. If more companies took this kind of approach, more people could earn money from open source development, and everyone would be more productive... Go Shapeways! :-)

  • http://www.blendernation.com Bart

    @Patrick: sure, just subdivide them before uploading. They'll also be smoother after printing ;-)

    @yoff: you're right - I've added a 'before' picture that clearly shows the limitations of the OpenGL renderer.

  • Frederick D

    very nice!

    An über-cool idea of what we can do with this... offer something like this to the blender foundation to have some open content server set up, so modeling sprints for open movies get more infrastructure up front. Together with some upload script from within 2.5.

  • Chris Norman

    Frederick...I love the word über!

  • jan

    Hey Bart,

    What Blender function are you using to scale the object to the right size of the viewport?

    Thanks!
    Jan

    • http://www.blendernation.com Bart

      It's a very tricky thing to calculate. I wrote some custom code, but it isn't fool proof..

  • Tom Bielecki

    Looks like they got rid of the blender landing page...

Share.