Page MenuHome

Wire line-width in draw manager ignores UI scale.
Closed, ArchivedPublic

Description

All lines should be scaled by UI-scale, where 2x scale should give a 2-pixel width line.

Examples include:

  • edit-mode edge drawing.
  • transform constraint lines.
  • lasso, circle & border select.
  • wire for object mode lattice, curve speaker, camera, empties... etc.

Details

Type
To Do

Event Timeline

Note about glLineWidth from official glspec33.core.pdf:
"Wide lines - LineWidth values greater than 1.0 will generate an INVALID_VALUE error."

I haven't ran into issues with this, even in a system with Mesa. But we shouldn't rely on that.

I've gotten mixed results with wide lines on core profile.

On Intel/Windows they work fine.

On Mac (Intel & NV) lines are drawn 1px and an error is logged.

Haven't checked this on other OS/GPU combos but we could survey them all to get a better idea of what is supported.

Edit mode edge drawing uses a different technique though. It can be updated to respect UI scale. Similar for round points with outlines.

@Mike Erwin (merwin) For grease pencil I had to create a geometry shader because widths greater than 1px are not supported in all opengl implementation, only 1px is mandatory, so with the new geom shader now I can draw thick lines with n pixels width.

Brecht Van Lommel (brecht) closed this task as Archived.
Brecht Van Lommel (brecht) claimed this task.

I'm not sure if this was fixed, but edges appear to be drawn with a good size on high DPI screens now, making them thicker would not look good.