.\"##
.\" $XConsortium: p332,v 5.2 94/04/17 20:58:17 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation for any purpose and without fee is hereby granted, 
.\"## provided that the above copyright notice appear in all copies and that
.\"## both that copyright notice and this permission notice appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.ds f \s-2SET INTERIOR SHADING METHOD\s+2
.TH "SET INTERIOR SHADING METHOD" 3P+ "29 February 1991"
.SH NAME
SET INTERIOR SHADING METHOD \-  create a structure element that sets the current interior shading method   
.IX "PHIGS Extension Functions" "SET INTERIOR SHADING METHOD"
.IX "Filled Area Interior Attributes" "SET INTERIOR SHADING METHOD"
.IX "Aspect Source Flags" "SET INTERIOR SHADING METHOD"
.IX "Attributes, Filled Area Interior Attributes" "SET INTERIOR SHADING METHOD"
.IX "Shading" "SET INTERIOR SHADING METHOD"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pset_int_shad_meth ( method )
Pint	method;	\fIshading method\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
\s-2SET INTERIOR SHADING METHOD\s+2
places a structure element with the value shading
method into the open structure. When the current interior shading
method Aspect Source Flag (\s-2ASF\s+2) is set to
\s-2INDIVIDUAL\s+2, the current value of
this attribute applies to the following output primitives:
.RS
.LP
\(bu
.SM "FILL AREA"
.LP
\(bu
.SM "FILL AREA SET"
.LP
\(bu
.SM "FILL AREA SET 3 WITH DATA"
.LP
\(bu
.SM "GENERALIZED DRAWING PRIMITIVE \fI(Fill Area Primitives)\fP"
.LP
\(bu
.SM "GENERALIZED DRAWING PRIMITIVE 3 \fI(Fill Area Primitives)\fP"
.LP
\(bu
.SM "QUADRILATERAL MESH 3 WITH DATA"
.LP
\(bu
.SM "TRIANGLE STRIP 3 WITH DATA"
.LP
\(bu
.SM "SET OF FILL AREA SET 3 WITH DATA"
.LP
\(bu
.SM "NON-UNIFORM B-SPLINE SURFACE"
.RE
.SS C Input Parameters
.IP \fImethod\fR
The interior shading method.
.sp
.nf
.ta .5i +\w'0     'u +\w'PSD_DOT_PRODUCT     'u
1	PSD_NONE	\fINo Shading\fP
2	PSD_COLOUR	\fIColour Interpolation Shading\fP
3	PSD_DOT_PRODUCT	\fIDot Product Interpolation Shading\fP	
4	PSD_NORMAL	\fINormal Interpolation Shading\fP
.fi
.sp 
.SS Execution
Depending on the edit mode, a
\s-2SET INTERIOR SHADING METHOD\s+2
element is inserted into the open structure after the element pointer, or 
replaces the element pointed to by the element pointer. In either case,
the element pointer is updated to point to the newly created
\s-2SET INTERIOR SHADING METHOD\s+2
element.
.LP
When the structure is traversed, the current interior
shading method entry in the traversal state list is set to the
specified value. This value is used with subsequent 
filled area output primitives
when the current interior shading method \s-2ASF\s+2 entry
in the traversal state list is \s-2INDIVIDUAL\s+2.
During traversal, if the specified shading method is not available
on a workstation, method one (\fINone\fP) will be used on that workstation.
.LP
When the current interior shading method \s-2ASF\s+2 is set to \s-2BUNDLED\s+2,
the interior shading method is taken from the
workstation extended representation indicated by the current interior index.
In this case, the interior shading method
set with \s-2SET INTERIOR SHADING METHOD\s+2 has no effect.
.LP
The interior shading methods supported by a workstation type can be determined
with the function \s-2INQUIRE INTERIOR FACILITIES PLUS\s+2.
.LP
When the shading method is \s-2NONE\s+2, each fill area or fill area set will
be rendered in a single colour (this is sometimes called flat shading).
If the shading method is \s-2NONE\s+2 and the primitive data implies different
colours for each vertex of the primitive, such as when vertex colour is
specified or when lighting is active, the colour of the first vertex
will be used for all the vertices of the primitive.
.LP
When the shading method is \s-2COLOUR\s+2 and the workstation is in index colour
mode, then the colours will be interpolated as colour indices instead
of direct colours.
.SH ERRORS
.IP 005
Ignoring function, function requires state 
(\s-2PHOP\s+2, \s-2*\s+2, \s-2STOP\s+2, \s-2*\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "FILL AREA (3P)"
.SM "FILL AREA SET (3P)"
.SM "FILL AREA SET 3 WITH DATA (3P+)"
.SM "QUADRILATERAL MESH 3 WITH DATA (3P+)"
.SM "TRIANGLE STRIP 3 WITH DATA (3P+)"
.SM "SET OF FILL AREA SET 3 WITH DATA (3P+)"
.SM "SET BACK INTERIOR SHADING METHOD (3P+)"
.SM "SET INDIVIDUAL ASF (3P)"
.SM "SET INTERIOR REPRESENTATION PLUS (3P+)"
.SM "INQUIRE INTERIOR FACILITIES PLUS (3P+)"
.SM "NON-UNIFORM B-SPLINE SURFACE (3P+)"
.fi
