I managed to compile Blender as a Python import module. When I do bpy.ops.render.render(write_still=True) it renders with cycles. How can I render by using Blender internal renderer instead?


1 Answer 1


You can set the engine before rendering like this:

bpy.context.scene.render.engine = 'BLENDER_WORKBENCH'

Its possible multiple scenes are involved in the render so you may want to do...

for scene in bpy.data.scenes:
    scene.render.engine = 'BLENDER_WORKBENCH'

Note: If you select the Scripting screen, then change the engine, the code to do this is printed at the top of the screen (called the Info view), eg:

bpy.context.scene.render.engine = 'BLENDER_WORKBENCH'
bpy.context.scene.render.engine = 'CYCLES'
  • $\begingroup$ ! Thanks for the helpful hints about using a for loop to enforce all scene to be rendered by using Blender internal renderer. $\endgroup$
    – ikel
    Dec 5, 2013 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.