设置过滤器 gl_linear

上传人:第*** 文档编号:42749857 上传时间:2018-06-03 格式:DOC 页数:2 大小:26KB
返回 下载 相关 举报
设置过滤器 gl_linear_第1页
第1页 / 共2页
设置过滤器 gl_linear_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《设置过滤器 gl_linear》由会员分享,可在线阅读,更多相关《设置过滤器 gl_linear(2页珍藏版)》请在金锄头文库上搜索。

1、/ / / void siyifu:RendModifyPixels(CCImage *image,int TouchEvent, double downx,double downy, double upx, double upy,double movex,double movey) if (TouchEvent=1) glBindTexture(GL_TEXTURE_2D, image-mTexture-mTextureId); / 设置过滤器 GL_LINEAR 利用线形插值,效果好但计算量大。 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_F

2、ILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);void* imageBuffer = image-mTexture-imageBuffer; unsigned char* tempBuffer = (unsigned char*)imageBuffer;/图像文件的储存顺序是 BGR?, 我们需要把它转换成 RGB 来生成纹理? ?。 int index=0; /判断 RGB 值个数 int rgbNum = 4; int width = image-mTexture-mT

3、extureWidth; int height = image-mTexture-mTextureHeight; int imgWidth=image-mWidth; int imgHeight=image-mHeight; int circus = 10;int yMinIndx = downy - circus; int yMaxIndx = downy + circus; int xMinIndx = downx - circus; int xMaxIndx = downx + circus; if (yMinIndximgHeight)yMaxIndx=imgHeight; if (x

4、MaxIndximgWidth)xMaxIndx=imgWidth;for (int i=yMinIndx;iyMaxIndx;i+) for (int j=xMinIndx;jxMaxIndx;j+) if (j-downx)*(j-downx)+(i-downy)*(i-downy)=circus*circus ) int yIndx = i*width*rgbNum;int xIndx = j*rgbNum; tempBufferyIndx+xIndx = 0; tempBufferyIndx+xIndx+1 = 0; tempBufferyIndx+xIndx+2 = 0; tempB

5、ufferyIndx+xIndx+3 = 0; /*for (int i=0;i100;i+) for (int j=0;j50;j+) int yIndx = i*width*rgbNum; int xIndx = j*rgbNum; tempBufferyIndx+xIndx = 0; tempBufferyIndx+xIndx+1 = 0; tempBufferyIndx+xIndx+2 = 0; tempBufferyIndx+xIndx+3 = 0; */ /*for(int i=0;i50*320*4;i+) tempBufferi=0; */ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height,0, GL_RGBA, GL_UNSIGNED_BYTE, tempBuffer);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号