glShadeModel.3gl







Name

  glShadeModel - select	flat or	smooth shading





C Specification

  void glShadeModel( GLenum mode )





Parameters



  mode	Specifies a symbolic value representing	a shading technique.

	Accepted values	are GL_FLAT and	GL_SMOOTH.  The	default	is GL_SMOOTH.





Description

  GL primitives	can have either	flat or	smooth shading.	 Smooth	shading, the

  default, causes the computed colors of vertices to be	interpolated as	the

  primitive is rasterized, typically assigning different colors	to each

  resulting pixel fragment.  Flat shading selects the computed color of	just

  one vertex and assigns it to all the pixel fragments generated by

  rasterizing a	single primitive.  In either case, the computed	color of a

  vertex is the	result of lighting, if lighting	is enabled, or it is the

  current color	at the time the	vertex was specified, if lighting is

  disabled.



  Flat and smooth shading are indistinguishable	for points.  Counting

  vertices and primitives from one starting when glBegin is issued, each

  flat-shaded line segment i is	given the computed color of vertex i+1,	its

  second vertex.  Counting similarly from one, each flat-shaded	polygon	is

  given	the computed color of the vertex listed	in the following table.	 This

  is the last vertex to	specify	the polygon in all cases except	single

  polygons, where the first vertex specifies the flat-shaded color.



		    ---------------------------------------

		    |primitive type of polygon   |   i    |

		    ---------------------------------------

		    |Single polygon (i=1)	 |   1	  |

		    |Triangle strip		 |  i+2	  |

		    |Triangle fan		 |  i+2	  |

		    |Independent triangle	 |   3i	  |

		    |Quad strip			 |  2i+2  |

		    |Independent quad		 |   4i	  |

		    ---------------------------------------



  Flat and smooth shading are specified	by glShadeModel	with mode set to

  GL_FLAT and GL_SMOOTH, respectively.



Errors

  GL_INVALID_ENUM is generated if mode is any value other than GL_FLAT or

  GL_SMOOTH.



  GL_INVALID_OPERATION is generated if glShadeModel is executed	between	the

  execution of glBegin and the corresponding execution of glEnd.



Associated Gets

  glGet with argument GL_SHADE_MODEL







See Also

  glBegin, glColor, glLight, glLightModel






Introduction | Alphabetic | Specification

Last Edited: Tue, May 23, 1995

AFV