Page MenuHome

SVG display in eevee rendered mode
Confirmed, NormalPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 451.67

Blender Version
Broken: version: 2.90.0 Alpha, branch: master, commit date: 2020-06-02, hash: rBb18c2a3c413b (Bisected)
Worked: Before the above commit.

Short description of error

When importing an svg file, especially when there are several objects in the file, EEVEE would still display the svg more or less how the drawing looked in the drawing program (Inkscape) without having to manually reorganize the objects to have it look right as shown in the screenshots.
Inkscape:


EEVEE:

(the svg would be displayed without artifacts when viewed from the direction of the normals)

This is broken in 2.9 where EEVEE displays the same file as seen here

blendfile

Exact steps for others to reproduce the error
Simply importing an svg with multiple layered objects in v2.90, and viewing them in EEVEE in rendered mode can have them displaying in a weird way.
It is possible to correct this by manually reordering the objects but that can get quite overwhelming in files with several objects.

Event Timeline

Evan Wilson (EAW) changed the task status from Needs Triage to Confirmed.Jul 18 2020, 4:21 PM

Are you sure this is a bug, and not the default cube's revenge for being deleted? T77728 /jk


I can confirm.
Tested with 2.83.2 and 2.90 rB974e36d7d0a1, rBe3f8768d8a60 and rBfe49e4139cd3.
Win10 GeForce GTX 470/PCIe/SSE2 4.5.0 NVIDIA 391.35

Evan Wilson (EAW) triaged this task as High priority.Jul 18 2020, 5:06 PM

Setting to high as this worked last version.

Worked in 2.90 version rB86fa8dc7f73a

So I found that this also broke for Workbench during the development of 2.83. This is caused by the depth test being set to DRW_STATE_DEPTH_LESS_EQUAL instead of DRW_STATE_DEPTH_LESS.

The fact that is was rendering quite correctly is a total coincidence and was completely undefined behavior. All the layers have the same depth/position so you are effectively seeing at Z figthing artifacts but in ortographic view. The issue seems to be solvable for workbench but EEVEE now uses some optimization that cannot make the rendering do the same thing as 2.83 (because of out of order rendering). Again, the fact it could work in workbench is not normal, but just a coincidence.

What I would do Is patch the SVG importer to add a per layer epsilon offset.

Clément Foucault (fclem) lowered the priority of this task from High to Normal.Jul 20 2020, 9:57 PM

Maybe @Howard Trickey (howardt) can answer this one, he is the author of the SVG importer.

Bastien Montagne (mont29) changed the subtype of this task from "Report" to "Bug".Oct 14 2020, 4:53 PM

@Clément Foucault (fclem), @Howard Trickey (howardt) is the author of the Import/Export Vector Files add-on, which can import SVG files and convert them into meshes. https://developer.blender.org/diffusion/BAC/browse/master/io_vector/
@Sergey Sharybin (sergey) in the author of the on by default Import/Export SVG add-on. https://developer.blender.org/diffusion/BA/browse/master/io_curve_svg/
This report is about the latter I believe.

I wouldn't say this is a specific to particular importer. This issue will happen for any importer which imports 2D images.

Adding epsilon is possible, but it will solve this particular issue, and introduce another.

Does the grease pencil handle such configurations in a more traditional to 2D painting apps manner? Because to me the real solution is to cover such usecase by importing SVG/PDF/.. as a grease pencil object.