GSoC 2019 LANPR Updates Here!

Hello everyone, this is YimingWu back with LANPR improvements for Blender 2.8. Updates this year will be put under this thread :smiley:

In case you don’t know what LANPR is, it is a fast and accurate NPR feature line renderer I developed aimed to replace Freestyle. You can walk through LANPR information center here on my website:

Check the UI improvement proposal here:

(I’ll make everything onto Blender’s new wiki soon)


Where is the most recent version to download it? I´d like to play with it. Thanks

Hi, I’m trying to get both linux and windows build up and running. I’ll try GraphicAll this time. There’s already a build for windows there from Scaredyfish


Proposal and updates now on Blender Wiki!

1 Like

Good luck man i hope everything goes smoothly for you


Hey Yiming, great work so far… really looking forward to the development of your project.

Question: does LANPR have hardware/software requirements similar to Eevee?

None of the LANPR test builds I’ve tried so far renders the lines, on my system. I have an older GPU which struggles with Eevee (slow, missing features), and was wondering if something similar is happening here.

Thanks for any info on this, and for all of your efforts!

1 Like

Hey Cire, hardware requirements for LANPR is mainly for supporting the computational shaders that DPIX mode uses, it’s a rather complicated shader. If you have your OpenGL drivers up to date, I believe there should be no problem running it at all, but for old GPUs, it might run a little slower than more modern hardwares. To you information, I have successfully ran EEVEE+LANPR on a surface pro device which has no external GPU. The only limitation should be the video memory size, it allows more complicated scene to be loaded. For software mode, LANPR only use GPU to draw computed lines, which basically isn’t harder than drawing the user interface. :smiley:

Currently LANPR uses fixed video memory cache size, which might be a issue, will be fixed.

1 Like

Thanks Yiming, good to know that it shouldn’t be an inherent problem to my system. :thinking:

Maybe I’m just missing a step in the setup for rendering… so far, I cant even get a simple cube to render with lines, even after a bit of reading and watching a video or two.

Is there any up-to-date documentation for proper usage?

You can view the user manual here However, the interface design is going to change during this phase of development, which should make it easier to use.

1 Like

Thanks… I’ll keep an eye out for the newer builds, and look forward to your interface updates.


1 Like

Daily Win64 builds of the soc-2019-NPR branch are now available.


will this be in the Blender default ?

If GSOC is validated and xp8110 stays around to adapt and merge its branch in master, yes.
It is his second GSOC and he is strongly motivated to see this into official Blender.
So, the probability that will end-up in Blender is high.


Had a look at it yesterday. Very promising stuff, will be following progress for sure! Have you seen the results arnold can pull off atm?

my short LNPR test render (without any optimization, some of these lines are very nice)



Hi, thanks for the link, I checked it last night. Arnold uses a mixed method to detect feature lines, which incorporate with ray tracing. we might be able to achieve this with the help of cycles. But LANPR alone would be very hard to achieve the refraction/reflection effect (other than flat surface reflection), just like it is also hard for EEVEE alone.

Pencil+ is capable of doing flat reflections and transparency. MentalRay is capable of what Arnold can do, which means the ability of finding ray-traced edge.

New updates on Grease Pencil animation with LANPR.

Wiki updates for last week’s progress is here:

Click here to see the video that I’m not able to show directly on the wiki.


So is LANPR going to generate Grease Pencil strokes and this is what is rendered?

So currently, we can create one scene for EEVEE or Cycles, one for rendering with LANPR and a third one to composite both renders.
Or we can create a GP object, add a Stroke modifier to it and tweak settings in LANPR panel to obtain GP strokes overlaying our scene directly in Viewport.

Both choices are far to be intuitive and both have their own limitations.

Compositing workflow is complex LANPR render does not automatically overlay EEVEE or Cycles render like Freestyle does. And there is no LANPR pass as Freestyle in 2.79.
There is no Freestyle pass in 2.8, too. So, trying to work with Freestyle in 2.8 is as complex as using LANPR.
Ideal workflow would be to have as many Freestyle, LANPR passes as linesets/layers created instead of being forced to create a copy of scene for each.
Creation of line style is limited to variation of thickness according a direction and choice of one color.
But we can create several layers and give a different linestyle to each one.

Generation of GP strokes is based on adding a modifier to GP object.
But to overlay geometry of scene, origin of this GP object have to stay at origin of world.
So, we can make more geometry variations through GP modifiers.
But currently, it looks like some modifiers are not well supported.
A Subdivide modifier does not affect all strokes of a simple cube.
And all generated GP strokes are on same layer, using same material (first one of material list).
xp8110 reported those problems. So, I would wait fixes of following week to play a little bit more with that.
What is announced may be sufficient to obtain something satisfying for people who want to combine LANPR renders and GP animations.

1 Like

Yes, the strokes you see is from GPencil Modifier.

Yes, that is a demonstration of a very basic GPencil function, which is to proof that the process is workable. Developers are also discussing about how we could integrate LANPR into blender’s workflow. Things will become more clear later.

1 Like