glLineStipple.3gl








Name


  glLineStipple	- specify the line stipple pattern





C Specification


  void glLineStipple( GLint factor,

		      GLushort pattern )





Parameters




  factor   Specifies a multiplier for each bit in the line stipple pattern.

	   If factor is	3, for example,	each bit in the	pattern	will be	used

	   three times before the next bit in the pattern is used.  factor is

	   clamped to the range	[1, 256] and defaults to one.



  pattern  Specifies a 16-bit integer whose bit	pattern	determines which

	   fragments of	a line will be drawn when the line is rasterized.

	   Bit zero is used first, and the default pattern is all ones.





Description


  Line stippling masks out certain fragments produced by rasterization;	those

  fragments will not be	drawn.	The masking is achieved	by using three

  parameters: the 16-bit line stipple pattern pattern, the repeat count

  factor, and an integer stipple counter s.



  Counter s is reset to	zero whenever glBegin is called, and before each line

  segment of a glBegin(GL_LINES)/glEnd sequence	is generated.  It is

  incremented after each fragment of a unit width aliased line segment is

  generated, or	after each i fragments of an i width line segment are

  generated.  The i fragments associated with count s are masked out if



		       pattern bit (s /	factor)	mod 16



  is zero, otherwise these fragments are sent to the frame buffer.  Bit	zero

  of pattern is	the least significant bit.



  Antialiased lines are	treated	as a sequence of 1xwidth rectangles for

  purposes of stippling.  Rectangle s is rasterized or not based on the

  fragment rule	described for aliased lines, counting rectangles rather	than

  groups of fragments.



  Line stippling is enabled or disabled	using glEnable and glDisable with

  argument GL_LINE_STIPPLE.  When enabled, the line stipple pattern is

  applied as described above.  When disabled, it is as if the pattern were

  all ones.  Initially,	line stippling is disabled.



Errors


  GL_INVALID_OPERATION is generated if glLineStipple is	executed between the

  execution of glBegin and the corresponding execution of glEnd.





Associated Gets


  glGet	with argument GL_LINE_STIPPLE_PATTERN

  glGet	with argument GL_LINE_STIPPLE_REPEAT

  glIsEnabled with argument GL_LINE_STIPPLE





See Also


  glLineWidth, glPolygonStipple








Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV