0
$\begingroup$

I'm using line art modifiers to generate stylized outlines for some meshes. I'd like to be able to do this process with some improvements:

  • Simplicity: The output images I want are just the line art (with other Grease Pencil modifiers stacked on top) over a monochromatic background. No meshes, lighting, textures, effects, etc.
  • Speed: I'd like to make lots of small changes to the base object positions, and get the output images fast.
  • Runs in the Background: Ideally, this would be automated blender process running through the command line with --background option.

My current workflow is:

  1. Transform the base object.
  2. Set the world surface to the desired background color.
  3. Bake the line art.
  4. Render and save the output image. The base Grease Pencil object is the only visible object during rendering.

Baking is the most expensive part of that process by far. I'm using a moderately complex mesh to do rough testing. It takes 10-20 seconds to bake a grease pencil object with ~100 strokes / ~10-50 points per stroke. I got those numbers by applying the line art modifier.

However, if Viewport Shading is set to SOLID and I haven't applied the modifier yet, the real time line art preview takes 1 second max to update. That has me thinking there should be a way to side-step the baking and rendering for speed.

Left to my caveman brain, I'd consider coding something to hide everything but the line art, then take a screenshot of the Viewport. However, even if that weren't a terrible hack, I don't think it'd work while Blender's running in the background anyways.

Does anyone know of a way to get those Viewport images or speed up the process elsewhere?

$\endgroup$

1 Answer 1

0
$\begingroup$

Alright, on the slim chance someone else needs the same thing I did.

All I needed to do was rephrase my search. A Viewport render can be done manually from the View tab in the upper left (next to the Mode selection menu). That corresponds with the Python API command: bpy.ops.render.opengl().

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .