html5 图片羽化,html5+webgl仿ps羽化笔刷液态动画特效
html5 canvas基于webgl制作的仿ps羽化笔刷液态动画特效,羽化笔刷跟随鼠标移动绘画,很有梦幻效果。
查看演示
下载资源:
5
次 下载资源
下载积分:
20
积分
js代码
attribute vec4 a_position;
uniform mat4 u_modelViewMatrix;
uniform mat4 u_projectionMatrix;
void main() {
gl_Position = a_position;
}
precision highp float;
uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
uniform sampler2D u_noise;
uniform sampler2D u_buffer;
uniform bool u_bufferpass;
#define PI 3.141592653589793
#define TAU 6.283185307179586
vec2 getScreenSpace() {
vec2 uv = (gl_FragCoord.xy) / min(u_resolution.y, u_resolution.x);
return uv;
}
#define pow2(x) (x * x)
const int samples = 2;
const float sigma = float(samples) * 0.25;
float gaussian(vec2 i) {
return 1.0 / (2.0 * PI * pow2(sigma)) * exp(-((pow2(i.x) + pow2(i.y)) / (2.0 * pow2(sigma))));
}
vec3 blur(sampler2D sp, vec2 uv, vec2 scale) {
vec3 col = vec3(0.0);
float accum = 0.0;
float weight;
vec2 offset;
for (int x = -samples / 2; x < samples / 2; ++x) {
for (int y = -samples / 2; y < samples / 2; ++y) {
offset = vec2(x, y);
weight = gaussian(offset);
col += texture2D(sp, uv + scale * offset).rgb * weight;
accum += weight;
}
}
return col / accum;
}
const float blurStrength = 2.;
const float blurMultiplier = 0.998;
void main() {
vec2 uv = getScreenSpace();
vec2 sample = gl_FragCoord.xy / u_resolution;
vec3 colour = vec3(sin(uv.x)*.5+.5, sin(uv.y)*.5+.5, 1.);
float s = texture2D(u_buffer, sample).r;
vec2 ps = vec2(1.0) / u_resolution.xy;
if(u_bufferpass) {
s = (blur(u_buffer, sample + vec2(.001), ps*blurStrength) * blurMultiplier).r;
float c = s * .999 + smoothstep(length(ps)*20., .0, length(uv - u_mouse)*.5) * .5;
colour = vec3(c);
} else {
colour = mix(vec3(0.2), colour, sin(s)*.5+.5);
colour *= colour*2.;
}
gl_FragColor = vec4(colour,1.0);
}
html5 图片羽化,html5+webgl仿ps羽化笔刷液态动画特效相关推荐
- ps眼睫毛笔刷的使用
很多人下载了ps眼睫毛笔刷但很多初学者都不清楚ps眼睫毛笔刷怎么用的,这里我就ps眼睫毛笔来边做图片边讲ps眼睫毛笔刷的用法. 先看效果图片. 再来看看原图吧.现制作过程吧: 第二步.ps眼睫毛笔刷怎 ...
- ps绘画笔刷如何安装导入【一步步教你】
ps绘画笔刷如何安装导入?很多用Photoshop画画的小伙伴,不会安装绘画笔刷,设计师也得安装笔刷,今天就详细教大家如何安装或者导入PS软件的笔刷! 1.点击画笔工具旁边的小箭头,然后选择设置,找到 ...
- ps闪电效果制作教程和PS闪电笔刷、插件下载制作闪电效果
内容提要:本文介绍ps闪电效果的几种制作方法,使用滤镜和外挂插件.PS闪电笔刷,均可以制作闪电效果.对PS感兴趣的朋友可加PS学习交流群:142574315 我们在拍摄的时候,想要拍摄到闪电是有困 ...
- html5图片邀请函,html5,邀请函.doc
html5,邀请函 html5,邀请函 看来HTML5的浪潮又要让我们的广告客户浑身湿透了.他们想要华丽的页面,想要让用户觉得他们很酷.事实上,即使他们只做了一张很廉价的"活动邀请函&quo ...
- 1000G素材资源大礼包,里面包含设计软件、设计师字体包,PS教程笔刷等。
PS字体教程链接: http://pan.baidu.com/s/1i4SBrkL 密码: 2gi7 PPT 链接: http://pan.baidu.com/s/1qZsB4nE ...
- opencv 图片边缘渐变_opencv滤镜-PS羽化特效
羽化特效羽化是ps术语,羽化原理是令选区内外衔接部分虚化,起到渐变的作用从而达到自然衔接的效果,是ps及其其它版本中的处理图片的重要工具.羽化可使像素选区的边缘变得模糊,有助于所选区域与周围的像素混合 ...
- HTML5图片裁剪工具 HTML5 image crop tool
这是一篇介绍如何利用HTML5的canvas标签来裁剪图片的教程.图片裁剪的典型应用就是网站的头像裁剪.利用HTML5来裁剪图片,只需要在客户端实现,不需要将坐标数据发送至服务器端. 第1步. HTM ...
- html5 图片弹跳,html5 canvas画布里面圆球弹跳动画效果代码
特效描述:html5 canvas 画布 圆球弹跳动画.html5 跳动的球体 代码结构 1. HTML代码 Untitled Document body { margin: 0px; } var i ...
- html5 loader,7种基于GSAP的SVG Loader加载动画特效
这是一组效果非常炫酷的基于GSAP的SVG Loader加载动画特效.这组SVG加载动画特效共有7种效果,分别使用GSAP对SVG进行操纵,制作出各种炫酷的Loading加载动画效果. 这些SVG加载 ...
最新文章
- BF法-字符模式匹配
- 2021-03-16 汽车二自由度操纵稳定性 Matlab simulink
- 在C#中怎么调用Resources文件中的图片
- ffmpeg文档3:播放声音
- 计算机二级python考试大纲2020_【2020年9月全国计算机二级Python考试大纲】- 环球网校...
- 实现滑动分页(微博分页方式)
- Python爬取百度文库doc文档
- ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo
- 和最好的朋友,创最好的事业|巴菲特与芒格的绝世友情
- Linux之磁盘与文件系统管理
- UEFI Protocol使用
- android studio Statistic插件不显示
- 【有奖调研】| 参与区块链调研,赢千元大奖!
- C语言之实用调试技巧
- #榜样的力量#航班管家全球大交通出行疫情追踪服务系统丨数据猿新冠战“疫”公益策划...
- python零基础网站制作_为做网站而准备
- zookeeper和k8s_Kubernetes(k8s)运行ZooKeeper,一个分布式系统协调器
- bzoj4864 [BeiJing 2017 Wc]神秘物质
- 【Linux】修改腾讯云轻量应用服务器的hostname
- 静态网络与动态网络的区别(简单易懂)