GPU-based Line art
Hello. I work on 3D animation and comic backgrounds.
Sometimes I need to render a city, but it takes nearly 10 hours to calculate the entire city's line art.
I know that hiding objects fully occluded by other objects can dramatically reduce calculation time. However, I work under an extremely tight schedule, so I don’t have time to hide objects frame by frame.
I found a page about real-time line art. ( projects.blender.org/blender/blender/issues/89134 ) It would be very helpful, but it seems to be cancelled and there has been no progress.
Malt is a good solution, but it does not support "Mark Freestyle".
I think the poor performance may be due to the fact that line art is CPU-based.
I hope for GPU-based line art, or some form of optimization that excludes fully occluded objects from line art calculation — using a Z-buffer or any other approach.
I’m concerned that this request may be too broad. However, in the anime, manga, and webtoon industry, this kind of functionality is really needed. I would appreciate your consideration.
4 Comments
Making something run on GPU doesn't garantee that it will be faster. Depending on the algorithm and quality requirements it can be much worse than using a CPU. The reason is that a CPU can run multiple different algorithms at the same time, however a GPU can only load a single algorithm and can only go fast when this algorithm can handle different data elements at the same time.
However the line-art modifier is not easy to improve as it uses very specific algorithms that don't work well on a GPU.
Other ways to improve performance is to use screen space algorithms (fast, but very low quality, difference with neighbor pixels). A higher quality algorithm can be done by using the ray query node in EEVEE/Cycles. See Raycast lines example in blender.org/download/demo-files/
If highest quality and fast rendering is your main goal, then you should look at Psoft Pencil+.
Pencil+ is cpu-based too. It is 5~10x faster than line art but still slow.
It's not "still slow". My final render times dropped from being measured in minutes to seconds. Preview in viewport is nearly instant.
Pencil does this on my system in under 10 seconds.