【Android OpenGL ES 开发 (五)】

纹理放大和缩小的过滤参数

1.使用线性插值效果最佳

2.通过修改

  float maxscale = 4.0f  //放大

  float  minscale = 0.5f //缩小

vertices[0].mPosition[0]=0.5f * maxscale; //x
vertices[0].mPosition[1]=0.5f * maxscale; //y

实现模糊效果

1.利用显卡的并行计算的强大功能对图像进行处理

2.FS中的代码实现

#ifdef GL_ES
prection mediump float;
#endif
uniform sampler2D U_Textture;
uniform vec4 U_ImageSize;
varying vec4 V_Texcoord;
void main(){
   vec3 color = vec3(0.0);
   float radius_in_pixle = 1.0;//半径
   //一个像素的偏移换算成纹理坐标在s,t方向偏移多少
   float radius_in_texcoord_s =  radius_in_pixle/U_ImageSize.x;
   float radius_in_texcoord_t =  radius_in_pixle/U_ImageSize.y;
   for(int y = -1; y<=1;y++){
     for(int x = -1; x<=1;x++){
         float texcoord_x= V_Texcoord.x + float(x) * radius_in_texcoord_s;
         float texcoord_y= V_Texcoord.y + float(y) * radius_in_texcoord_t;
         color += texture2D(U_Texture,vec2(texcoord_x,texcoord_y)).rgb;
    }
   }
   color/=9.0;
   gl_FragColor = vec4(color,texture2D(U_Texture,V_Texcoord.xy).a);
}

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页
实付 99.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值