Shader特效——“Sephia、锐化、高斯滤波、均值滤波、膨胀、腐蚀效果”的实现 【GLSL】

参考自:http://www.open-open.com/lib/view/open1328487204203.html

 

效果图

Shader特效——“Sephia、锐化、高斯滤波、均值滤波、膨胀、腐蚀效果”的实现 【GLSL】_第1张图片

 

GLSL代码

由于算法比较简单,直接看代码和主实际可,不再赘述,代码如下:

//#version 330
 
uniform sampler2D quadTexture;

int  filterNumber = 2;
vec2 vTex = gl_FragCoord.xy / vec2(512., 512.);
 
void main(void)
{
   float step = 1.;
   vec2  tcOffset[25]; // 存储纹理坐标偏移量
   float xInc = step / 512.;
   float yInc = step / 512.;
   
   /// 提前赋值
   for (int i = 0; i < 5; i++)
   {
      for (int j = 0; j < 5; j++)
      {
         tcOffset[(((i*5)+j)*2)+0] = (-2.0 * xInc) + (float(i) * xInc);
         tcOffset[(((i*5)+j)*2)+1] = (-2.0 * yInc) + (float(j) * yInc);
      }
   }

   // =======================

你可能感兴趣的:(Shader,ShaderJoy,——,Shader,实例详解,OpenGL,glsl,shader)