bugGNU Octave - Bugs: bug #46739, glLineStipple


bug #46739: glLineStipple

Submitted by:  Ben Abbott <bpabbott>
Submitted on:  Mon 21 Dec 2015 06:32:17 PM UTC  
Category: Plotting with OpenGLSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Feature Request
Status: NoneAssigned to: None
Originator Name: KostasOpen/Closed: Open
Release: devOperating System: Any

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Tue 29 Dec 2015 03:05:54 PM UTC, comment #1:

With gnuplot v5 it is now possible to specify the "dashtype"


The dot/dash lengths are normalized to the line width. A length of "2" is equal to the line width. The short example below approximates the behavior of Matlab.

Perhaps, it would be useful to extend the "linestyle" property to support such an (dash1, gap1, dash2, gap2, ...) syntax and to modify the OpenGL toolkits to support the syntax present in gnuplot v5.

I'm attaching a gnuplot demo script.

(file #35888)

Ben Abbott <bpabbott>
Project Member
Mon 21 Dec 2015 06:32:17 PM UTC, original submission:


This is about the rendering of dashed and dash-dot lines. With the opengl plotting system being the default, maybe one could now think about the rendering quality of lines in plots and prints.

Here there are some -in my opinion- shortcomings of the current situation:

- The gaps in the dashed and dash-dot lines are too large (also compared to ML's plotting). In my personal octave build I actually replace the "0xF0F0" mask with "0xF8F8" for dashed and the "020F" mask for dash-dot lines with "0x27FF".

- The pattern doesn't scale with the linewidth. This makes very thick lines look strange when combined with some non solid line style.

- The lines have no caps, which makes especially dots look ugly (squares instead of circles).

- I have just realized that glLineStipple has been deprecated in recent versions of OpenGL.

Possible solutions:

Soon or later it will probably become necessary to go away from glLineStipple, so it might be useful to take a look at alternative and higher quality options already. For example the following work looks very interesting:

and the code is also available inside a project called gl-agg:

The following article is also interesting to read:

In any case one would also have to check what is supported by gl2ps.

Unfortunately, I don't see myself having the time to help with the coding of any new implementation soon but maybe you will find the above information useful.

Best regards

Ben Abbott <bpabbott>
Project Member


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):

Attached Files
file #35888:  linetypes.gp added by bpabbott (793B - application/octet-stream)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -unavailable- added by bpabbott (Submitted the item)
  • -unavailable- added by bpabbott

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 29 Dec 2015 03:05:54 PM UTCbpabbottAttached File-=>Added linetypes.gp, #35888
    Mon 21 Dec 2015 06:32:17 PM UTCbpabbottCarbon-Copy-=>Added -unavailable-

    Back to the top

    Powered by Savane 3.1-cleanup1