'\" et '\"! eqn|tbl | mmdoc '\"macro stdmacro .ds Vn Version 1.2 .ds Dt 24 September 1999 .ds Re Release 1.2.1 .ds Dp Jan 14 18:30 .ds Dm 01 convoluti .ds Xs 40911 7 convolutionparameter.gl .TH GLCONVOLUTIONPARAMETER 3G .SH NAME .B "glConvolutionParameterf, glConvolutionParameteri, glConvolutionParameterfv, glConvolutionParameteriv \- set convolution parameters .SH C SPECIFICATION void \f3glConvolutionParameterf\fP( GLenum \fItarget\fP, .nf .ta \w'\f3void \fPglConvolutionParameterf( 'u GLenum \fIpname\fP, GLfloat \fIparams\fP ) .fi void \f3glConvolutionParameteri\fP( GLenum \fItarget\fP, .nf .ta \w'\f3void \fPglConvolutionParameteri( 'u GLenum \fIpname\fP, GLint \fIparams\fP ) .fi .EQ delim $$ .EN .sp -1 .SH PARAMETERS .TP \w'\f2target\fP\ \ 'u \f2target\fP The target for the convolution parameter. Must be one of \%\f3GL_CONVOLUTION_1D\fP, \%\f3GL_CONVOLUTION_2D\fP, or \%\f3GL_SEPARABLE_2D\fP. .TP \f2pname\fP The parameter to be set. Must be \%\f3GL_CONVOLUTION_BORDER_MODE\fP. .TP \f2params\fP The parameter value. Must be one of \%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, \%\f3GL_REPLICATE_BORDER\fP. .sp 2 .SH C SPECIFICATION void \f3glConvolutionParameterfv\fP( GLenum \fItarget\fP, .nf .ta \w'\f3void \fPglConvolutionParameterfv( 'u GLenum \fIpname\fP, const GLfloat \fI*params\fP ) .fi void \f3glConvolutionParameteriv\fP( GLenum \fItarget\fP, .nf .ta \w'\f3void \fPglConvolutionParameteriv( 'u GLenum \fIpname\fP, const GLint \fI*params\fP ) .fi .sp -1 .SH PARAMETERS .TP \f2target\fP The target for the convolution parameter. Must be one of \%\f3GL_CONVOLUTION_1D\fP, \%\f3GL_CONVOLUTION_2D\fP, or \%\f3GL_SEPARABLE_2D\fP. .TP \f2pname\fP The parameter to be set. Must be one of \%\f3GL_CONVOLUTION_BORDER_MODE\fP, \%\f3GL_CONVOLUTION_BORDER_COLOR\fP, \%\f3GL_CONVOLUTION_FILTER_SCALE\fP, or \%\f3GL_CONVOLUTION_FILTER_BIAS\fP. .TP \f2params\fP The parameter value. If \f2pname\fP is \%\f3GL_CONVOLUTION_BORDER_MODE\fP, \f2params\fP must be one of \%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP. Otherwise, must be a vector of four values (for red, green, blue, and alpha, respectively) to be used for scaling (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_SCALE\fP), or biasing (when \f2pname\fP is \%\f3GL_CONVOLUTION_FILTER_BIAS\fP) a convolution filter kernel or setting the constant border color (when \f2pname\fP is \%\f3GL_CONVOLUTION_BORDER_COLOR\fP. .SH DESCRIPTION \%\f3glConvolutionParameter\fP sets the value of a convolution parameter. .sp \f2target\fP selects the convolution filter to be affected: \%\f3GL_CONVOLUTION_1D\fP, \%\f3GL_CONVOLUTION_2D\fP, or \%\f3GL_SEPARABLE_2D\fP for the 1D, 2D, or separable 2D filter, respectively. .sp \f2pname\fP selects the parameter to be changed. \%\f3GL_CONVOLUTION_FILTER_SCALE\fP and \%\f3GL_CONVOLUTION_FILTER_BIAS\fP affect the definition of the convolution filter kernel; see \%\f3glConvolutionFilter1D\fP, \%\f3glConvolutionFilter2D\fP, and \%\f3glSeparableFilter2D\fP for details. In these cases, \f2params\fP is an array of four values to be applied to red, green, blue, and alpha values, respectively. The initial value for \%\f3GL_CONVOLUTION_FILTER_SCALE\fP is (1, 1, 1, 1), and the initial value for \%\f3GL_CONVOLUTION_FILTER_BIAS\fP is (0, 0, 0, 0). .sp A \f2pname\fP value of \%\f3GL_CONVOLUTION_BORDER_MODE\fP controls the convolution border mode. The accepted modes are: .TP \%\f3GL_REDUCE\fP The image resulting from convolution is smaller than the source image. If the filter width is $Wf$ and height is $Hf$, and the source image width is $Ws$ and height is $Hs$, then the convolved image width will be $Ws ~-~ Wf ~+~ 1$ and height will be $Hs ~-~ Hf ~+~ 1$. (If this reduction would generate an image with zero or negative width and/or height, the output is simply null, with no error generated.) The coordinates of the image resulting from convolution are zero through $Ws ~-~ Wf$ in width and zero through $Hs ~-~ Hf$ in height. .TP \%\f3GL_CONSTANT_BORDER\fP The image resulting from convolution is the same size as the source image, and processed as if the source image were surrounded by pixels with their color specified by the \%\f3GL_CONVOLUTION_BORDER_COLOR\fP. .TP \%\f3GL_REPLICATE_BORDER\fP The image resulting from convolution is the same size as the source image, and processed as if the outermost pixel on the border of the source image were replicated. .SH NOTES \%\f3glConvolutionParameter\fP is present only if \%\f3GL_ARB_imaging\fP is returned when \%\f3glGetString\fP is called with an argument of \%\f3GL_EXTENSIONS\fP. .P In cases where errors can result from the specification of invalid image dimensions, it is the dimensions after convolution that are tested, not the dimensions of the source image. For example, \%\f3glTexImage1D\fP requires power-of-two image size. When \%\f3GL_REDUCE\fP border mode is in effect, the source image must be larger than the final power-of-two size by one less than the size of the 1D filter kernel. .SH ERRORS \%\f3GL_INVALID_ENUM\fP is generated if \f2target\fP is not one of the allowable values. .P \%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is not one of the allowable values. .P \%\f3GL_INVALID_ENUM\fP is generated if \f2pname\fP is \%\f3GL_CONVOLUTION_BORDER_MODE\fP and \f2params\fP is not one of \%\f3GL_REDUCE\fP, \%\f3GL_CONSTANT_BORDER\fP, or \%\f3GL_REPLICATE_BORDER\fP. .P \%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glConvolutionParameter\fP is executed between the execution of \%\f3glBegin\fP and the corresponding execution of \%\f3glEnd\fP. .SH ASSOCIATED GETS \%\f3glGetConvolutionParameter\fP .SH SEE ALSO \%\f3glConvolutionFilter1D(3G)\fP, \%\f3glConvolutionFilter2D(3G)\fP, \%\f3glSeparableFilter2D(3G)\fP, \%\f3glGetConvolutionParameter(3G)\fP