(ZH-CN) LANPR 2019 初步计划链1

(EN) LANPR 2019 Plans链2



(ZH-CN) 2017SummerDevLogs / 2017夏天开发记录链4

(EN) Proposal: Blender NPR Line Rendering Improvement链5

(EN) Conclusion: Blender NPR Line Rendering Improvement链6

(ZH-CN) LANPR下一步的计划链7

(EN) LANPR Next Steps链8




http://www.wellobserve.com/NPR/2019/index.md 链1

http://www.wellobserve.com/NPR/2019/index_en.md&translation=disabled 链2

http://www.wellobserve.com/NPR/about.md 链3

http://www.wellobserve.com/NPR/DevLogs/index.md 链4

http://www.wellobserve.com/NPR/2018Summer/Proposal.md 链5

http://www.wellobserve.com/NPR/2018Summer/Conclusion.md 链6

http://www.wellobserve.com/NPR/nextsteps_zh.md&translation=disabled 链7

http://www.wellobserve.com/NPR/nextsteps_en.md&translation=disabled 链8

https://blender.community/c/graphicall/ 链9

Week 7

Things have done

  1. Make operations in GPU and CPU modes more consistent, including object/collection usage flags and modifier selections.
  2. Option for using world background color.
  3. Rendering with background alpha now blends properly.
  4. CPU mode in viewport camera mode now aligned with actual scene, able to zoom and move around now.
  5. Initial SVG export investigation.
  6. Safer chaining value settings for CPU mode.

It's been a tough week for me the last few days. Thank god things finally cleared up on Monday :/ Next week should have a very free time frame.

Next week

  1. To Complete SVG export functions.
  2. To Complete Code style migrations, including file structure, naming conventions and internal function usages. Prepare the code to reserve time for the review.
  3. Should not have drawing errors and shader memory leaks by the end of the week.
  4. LANPR in GPencil mode will not automatically update, should fix this.
  5. GPencil Sample modifier is still problematic, fix it using another pre-process algorithm.

SVG stuff


Workflow reasons. Easy connect different software.

SVG format

Here discusses the format that the proposed SVG exporter follows:

Reference from w3.org

<?xml version="1.0" standalone="no"?>
<svg width="4cm" height="4cm" viewBox="0 0 400 400"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <title>Example triangle01- simple example of a 'path'</title>
  <desc>A path that draws a triangle</desc>
  <rect x="1" y="1" width="398" height="398"
        fill="none" stroke="blue" />

LANPR: What's remaining?

Why are we discussing this

LANPR is a versatile module that could potentially have much greater extensive use in the future, its development goal grows along with the project itself now. It's not very realistic to do everything in a short period of time. So we need to distinguish what needs to be down in this stage (GSoC and shortly after), and what is reserved for the future. Here in this passage I'll propose my plan.

This stage

Propose to include these parts into the first merge, which is supposed to happen within the GSoC time frame:

  • LANPR Engine as it is now (Remove edge detection mode for it's lack of use).
  • LANPR to GP support.
  • Feature line modifier.
  • Extra GP modifiers from LANPR for supporting line styles.
  • Basic LANPR to SVG exporter (Which uses LANPR data directly).

Lower priority, if not able to then put into the next stage:

  • GP/General curve to SVG exporter (Because this may require camera transform and various other operations, like stroke solidify and so on).

GP + LANPR Usage at this stage

LANPR engine alone

In order to use LANPR alone, you need to switch to LANPR engine first, in LANPR, everything is drawn by LANPR. You may find the overlay stuff a bit obscure, you can disable it.

CPU mode

When using LANPR engine, line styles are controlled by line layers. You can add/remove line layers using +/- buttons on the side. One line layer controls one set of occlusion levels. By default you can have a single level layer, which starts from 0 (Means visible), and increases incrementally (means multiple levels of occlusion). Same as QI Range in Freestyle. To use QI range, click the "Onion skin" icon on the left, which lets you select a visibility range. "Default" button creates 3 layers, which let you see the internal structures. However just click the "+" once if you only want to use visible lines.

By default, all the line types uses the same line style. If you would like to specify different styles for different types of lines, uncheck "Same Style".

When you are ready, click "Update" at the top of LANPR panel. It will calculate the lines and prepare data for drawing. If you choose "Auto Update", LANPR will automatically run once you moved a frame.

When switched to viewport render mode, you should be able to see the result immediately. If not, click the viewport once.

Chaining You can disable chaining in CPU mode. There are two thresholds that controls the chaining, default value is pretty optimal, but there have been a slight problem within image-space chaining, you may notice some wiggly lines here and there.

GPU mode