0
点赞
收藏
分享

微信扫一扫

《高效学习OpenGL》 之 卷积 glConvolutionFilter2D(), glCopyConvolutionFilter2D(),glSeparableFilter2D()

glConvolutionFilter2D(GLenum target, GLenum , 
GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
//定义一个二维卷积过滤器,其中target参数必须是GL_CONVOLUTION_2D。internalFormat与gglColorTable()的参数相同
//width和height参数指定了卷积过滤器的大小。和glDrawPixel()一样,这个函数的format和type参数指定了image存储的像素格式

可以使用glEnable(GL_CONVOLUTION_2D);启用2D卷积处理功能。


定义一个帧缓存区,用颜色帧缓存区的像素对它进行初始化:

glCopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y,
GLsizei width, GLsizei height)
//target参数必须是GL_CONVOLUTION_2D。internalFormat必须设置为glConvolutionFilter2D()所使用的内部格式
//这个像素矩阵的左下角像素是(x, y),像素数量是 width * height;



指定可分离的二维卷积过滤器:

glSeparableFilter2D(GLenum target, GLenum , 
GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
//定义了一个二维的一个可分离的卷积过滤器,target参数必须设置为GL_SEPARABLE_2D。internalFormat与gglColorTable()的参数相同
width指定了row数组中的像素数量,height指定了column数组中像素的数量。format和type参数指定了row和column存储的像素格式
//可以用glEnable(GL_SEPARABLE_2D)启用2D卷积处理功能






举报

相关推荐

0 条评论