Bug #6026
line drawing issue in WebGL renderer
Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:
History
#2 Updated by Greg Shah over 4 years ago
- File WebGL_rect_issue1.jpg added
- File WebGL_rect_issue0.jpg added
This was originally found in #5285. The details are being moved here since it is a generic issue.
The problem can be reproduced with line object simulation with thin (one pixel width or height) rectangle widget. Consider the following pictures, the WebGL is on the left:


The testcsaes:
message "Hit a key to start".
pause.
define rectangle r0 size-pixels 400 by 1 no-fill.
define rectangle r1 size-pixels 400 by 1 no-fill.
define rectangle r2 size-pixels 400 by 1 no-fill.
define rectangle r3 size-pixels 400 by 1 no-fill.
define rectangle r4 size-pixels 400 by 1 no-fill.
define rectangle r10 size-pixels 400 by 1 no-fill.
define rectangle r11 size-pixels 400 by 1 no-fill.
define rectangle r12 size-pixels 400 by 1 no-fill.
define rectangle r13 size-pixels 400 by 1 no-fill.
define rectangle r14 size-pixels 400 by 1 no-fill.
define rectangle r5 size-pixels 1 by 400 no-fill.
define rectangle r6 size-pixels 1 by 400 no-fill.
define rectangle r7 size-pixels 1 by 400 no-fill.
define rectangle r8 size-pixels 1 by 400 no-fill.
define rectangle r9 size-pixels 1 by 400 no-fill.
define var xStart as integer initial 30.
define var yStart as integer initial 30.
define frame f r0 r1 r2 r3 r4 r10 r11 r12 r13 r14
r5 r6 r7 r8 r9
with size 80 by 40 title "Rectangle Test #9, line simulation".
/* horizontal lines */
r0:x = xStart + 10.
r0:y = yStart + 10.
r1:x = xStart + 10.
r1:y = yStart + 20.
r2:x = xStart + 10.
r2:y = yStart + 30.
r3:x = xStart + 10.
r3:y = yStart + 40.
r4:x = xStart + 10.
r4:y = yStart + 50.
r10:x = xStart + 20.
r10:y = yStart + 500.
r11:x = xStart + 30.
r11:y = yStart + 510.
r12:x = xStart + 40.
r12:y = yStart + 520.
r13:x = xStart + 50.
r13:y = yStart + 530.
r14:x = xStart + 60.
r14:y = yStart + 540.
/* vertical lines */
r5:x = xStart + 110.
r5:y = yStart + 10.
r6:x = xStart + 120.
r6:y = yStart + 20.
r7:x = xStart + 130.
r7:y = yStart + 30.
r8:x = xStart + 140.
r8:y = yStart + 40.
r9:x = xStart + 150.
r9:y = yStart + 50.
view frame f.
pause.
pause.
define rectangle r0 size-pixels 400 by 1 no-fill.
define rectangle r1 size-pixels 400 by 1 no-fill.
define rectangle r2 size-pixels 400 by 1 no-fill.
define rectangle r3 size-pixels 400 by 1 no-fill.
define rectangle r4 size-pixels 400 by 1 no-fill.
define rectangle r5 size-pixels 1 by 400 no-fill.
define rectangle r6 size-pixels 1 by 400 no-fill.
define rectangle r7 size-pixels 1 by 400 no-fill.
define rectangle r8 size-pixels 1 by 400 no-fill.
define rectangle r9 size-pixels 1 by 400 no-fill.
define var xStart as integer initial 30.
define var yStart as integer initial 30.
define frame f r0 r1 r2 r3 r4
r5 r6 r7 r8 r9
with size 80 by 40 title "Rectangle Test #9_1, line simulation".
/* horizontal lines */
r0:x = xStart + 10.
r0:y = yStart + 10.
r1:x = xStart + 10.
r1:y = yStart + 20.
r2:x = xStart + 10.
r2:y = yStart + 30.
r3:x = xStart + 10.
r3:y = yStart + 40.
r4:x = xStart + 10.
r4:y = yStart + 50.
/* vertical lines */
r5:x = xStart + 110.
r5:y = yStart + 10.
r6:x = xStart + 120.
r6:y = yStart + 20.
r7:x = xStart + 130.
r7:y = yStart + 30.
r8:x = xStart + 140.
r8:y = yStart + 40.
r9:x = xStart + 150.
r9:y = yStart + 50.
view frame f.
pause.
This is not exact failure as in <large GUI app> but the symptoms are the same. Probably related to clipping area set up in WebGL or line drawing approach.
Probably we need more testcases with one pixel width/height rectangle to have a full picture of the bug.