pythonwolfram-mathematicablenderpovray

Running Blender python script outside of blender


I want to visualize some scientific data, which is, at the moment, only an animation of some spheres with different colours and sizes.

I already created a script within Mathematica which creates the input for POV-Ray.

My problem is, that I'm not satisfied with the quality of POV-Ray's results and wanted to write a Python script, which could set up the corresponding blender scenes and render them. An important constraint is, that I want to render on a headless machine, so I can't use Blender's internal console.

My question: Is it possible to use Blender's api from an external console to get POV-Ray-like behaviour?


After reading George Profenza's answer I did further research and found Don’t Use Blender! in Blender's documentation.

In contrast to my thoughts, one has to create a python script which is executed by blender in background mode.

./blender --background --python myscript.py

Solution

  • As far as I remember you can run Blender from the command line without opening the interface/windowing system, which I hope works for your setup. Not only you can tell Blender to render a document, but you can also run a script that generates that document/populates the scene with geometry, lights, etc.

    Alternatively you could generate content straight for a renderer (and skip a 3D Editor/Blender completely). There are quite a few free renderers out there like:

    1. Yafaray
    2. Sunflow
    3. Mitsuba
    4. LuxRender
    5. Pixie

    yafaray

    YAFARAY

    sunflow

    SUNFLOW

    luxRender LUX

    pixie

    PIXIE