USER FORUM
(you are viewing a thread; or go back to list of threads)
Poor line rendering on Intel GPUs (by jpa)
My Intel HD 4000 causes lines to render poorly in SolveSpace and sometimes disappear:
http://koti.kapsi.fi/jpa/stuff/pix/solvespace_lines.png
Googling points out that this is due to Intel's poor GL_LINE_SMOOTH handling and is also related to GL_LINE_WIDTH_GRANULARITY being 0.5 on Intel and 0.1 on Nvidia.
http://sourceforge.net/p/mesa3d/mailman/message/24437046/
I have confirmed that limiting all glLineWidth() arguments to 1.5 or larger makes the lines visible and the GUI much more usable on Intel. It looks ok on Nvidia also, though not as elegant as 1.0 does.
So how would it be best to fix this?
One way is to use the built-in styles functionality. Just requires fixing a few places that don't follow the line width from styles, such as workplanes.
However new users will not know to increase line width in styles to compensate for the GPU's faults. Also custom styles from files by other users will be rendered poorly.
Would it sound reasonable to detect whether GL_LINE_WIDTH_GRANULARITY is > 0.4 and then cap the minimum line width to 1.5?
http://koti.kapsi.fi/jpa/stuff/pix/solvespace_lines.png
Googling points out that this is due to Intel's poor GL_LINE_SMOOTH handling and is also related to GL_LINE_WIDTH_GRANULARITY being 0.5 on Intel and 0.1 on Nvidia.
http://sourceforge.net/p/mesa3d/mailman/message/24437046/
I have confirmed that limiting all glLineWidth() arguments to 1.5 or larger makes the lines visible and the GUI much more usable on Intel. It looks ok on Nvidia also, though not as elegant as 1.0 does.
So how would it be best to fix this?
One way is to use the built-in styles functionality. Just requires fixing a few places that don't follow the line width from styles, such as workplanes.
However new users will not know to increase line width in styles to compensate for the GPU's faults. Also custom styles from files by other users will be rendered poorly.
Would it sound reasonable to detect whether GL_LINE_WIDTH_GRANULARITY is > 0.4 and then cap the minimum line width to 1.5?
(no subject) (by Jonathan Westhues)
I'm using a laptop with Intel integrated graphics, and GL_LINE_WIDTH_GRANULARITY=0.5, and the lines look good. Is there some tighter test that identifies just the problem GPUs?
(no subject) (by jpa)
Hmm, that is surprising. Which GPU do you have (as reported by xorg.log)?
(no subject) (by Jonathan Westhues)
I'm running under Win7, Intel HD Graphics 3000. Is this a Linux-only issue?
(no subject) (by jpa)
Yes, it is probably only the Intel Linux drivers then. Probably best that I just change my styles for now. This thread will hopefully show up on google for any others who have the problem.
(no subject) (by whitequark)
Hi jpa,
I've added a fix that detects broken drivers in my fork. See https://github.com/whitequark/...75f893a7d7bbff3e3a31f0d8a4bb86.
I've added a fix that detects broken drivers in my fork. See https://github.com/whitequark/...75f893a7d7bbff3e3a31f0d8a4bb86.
Post a reply to this comment: