gl.glTexParameterx

来源:互联网 发布:淘宝客是如何推广的 编辑:程序博客网 时间:2024/04/29 11:49
 滤波  
一般来说,纹理图像为正方形或长方形。但当它映射到一个多边形或曲面上并变换到屏幕坐标时,纹理的单个纹素很少对应于屏幕 图像上的象素。根据所用变换和所用纹理映射,屏幕上单个象素可以对应于一个纹素的一小部分(即放大)或一大批纹素(即缩小)。下面用函数glTexParameter*()说明放大和缩小的方法:
 glTexParameter*(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);
glTexParameter*(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);

第一个参数可以是GL_TEXTURE_1D或GL_TEXTURE_2D,即表明所用的纹理是一维的还是二维的;
第二个参数指定滤波方法 ,其中参数值GL_TEXTURE_MAG_FILTER指定为放大滤波方法,GL_TEXTURE_MIN_FILTER指定为缩小滤波方法;
第三个参数说 明滤波方式, 若选择GL_NEAREST则采用坐标最靠近象素中心的纹素,这有可能使图像走样;若选择GL_LINEAR则采用最
靠近象素中心的四个象素的加权平均值。GL_NEAREST所需计算比GL_LINEAR要少,因而执行得更快,但 GL_LINEAR提供了比较光滑的效果。
参考:http://blog.chinaunix.net/uid-20638550-id-1909184.html

gl.glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
gl.glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);

 超出视图范围的重复方式,设置如下参数GL10.GL_CLAMP_TO_EDGE:重复边沿的像素;如果设置成GL10.GL_REPEAT:纹理重复。
参考:http://edu.gamfe.com/tutor/d/28604.html

gl.glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterx(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE);



转自:http://lijinzhe.blog.163.com/blog/static/621476682012327112545297/