View on GitHub

Red Web Image

(RWI,基于 WebGL 的 <img\>)

Github
原图
波浪喵
/**
  * Init方法,初始化,第一个参数是Canvas的参数,第二个是要使用的 Fragment Shader
  */
var WaveImage = Object.create(SimpleRwi);
WaveImage.Init("WaveImage", "wave");

/**
  * 设置 Texture
  */
var imageload = Object.create(ImageLoad);
ImageLoad.Init(img_src, "iChannel0", 1, WaveImage);

var globalTime = 1.0;
setInterval(WaveTime,30);

/**
  * 刷帧
  */
function WaveTime(){
    WaveImage.draw.SetUniformFloat("globalTime", globalTime);
    WaveImage.draw.DoDraw();
    globalTime = globalTime + 0.01;
}
            
Sobel 算子边缘检测
半径:
var SobelImage = Object.create(SimpleRwi);
/**
  * Init方法,初始化,第一个参数是Canvas的参数,第二个是要使用的 Fragment Shader
  */
SobelImage.Init("SobelImage", "sobel");

/**
  * 为 Uniform 变量 r 设置一个值
  */
SobelImage.draw.SetUniformFloat("r", 1.0);

/**
  * 设置 Texture
  */
var imageload = Object.create(ImageLoad);
ImageLoad.Init(img_src, "iChannel0", 1, SobelImage);

/**
  * 设置 Uniform 并且重新绘制
  */
SobelImage.draw.SetUniformFloat("r", this.value);
SobelImage.draw.DoDraw();
            
高斯模糊
灰度图
Zoom Blur
Pinch
半径: