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) 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.