const app = new PIXI.Application({ transparent: true });
document.body.appendChild(app.view); // Create background image
const background = PIXI.Sprite.from('/moban/bg_grass.jpg');
background.width = app.screen.width;
background.height = app.screen.height;
app.stage.addChild(background); // Stop application wait for load to finish
app.stop(); app.loader.add('shader', '/moban/shader.frag')
.load(onLoaded); let filter; // Handle the load completed
function onLoaded(loader, res) {
// Create the new filter, arguments: (vertexShader, framentSource)
filter = new PIXI.Filter(null, res.shader.data, {
customUniform: 0.0,
}); // === WARNING ===
// specify uniforms in filter constructor
// or set them BEFORE first use
// filter.uniforms.customUniform = 0.0 // Add the filter
background.filters = [filter]; // Resume application update
app.start();
}
var i=;
// Animate the filter
app.ticker.add((delta) => {
i+=0.03; filter.uniforms.customUniform = i;
});
precision mediump float;

varying vec2 vTextureCoord;
varying vec4 vColor; uniform sampler2D uSampler;
uniform float customUniform; const float speed = 0.2;
const float frequency = 8.0; vec2 shift( vec2 p ) {
float x = frequency * (p.x + customUniform*speed);
float y = frequency * (p.y + customUniform*speed);
vec2 q = cos( vec2(
cos(x-y)*cos(y),
sin(x+y)*sin(y) ) );
return q;
}
void main(void)
{ vec2 r = vTextureCoord;
vec2 p = shift( r );
r += 1.0;
vec2 q = shift(r);
//改600.0改小可以增大效果
float amplitude = 2.0 / 600.0;
vec2 s = vTextureCoord + amplitude * (p - q);
s.y = . - s.y; // flip Y axis for ShaderToy
gl_FragColor = texture2D( uSampler, s ); }

最新文章

  1. 邮件中嵌入html中要注意的样式
  2. NAS硬盘损坏拷贝时的处理办法及 UBUNTU下遍历删除某目录的方法
  3. Bmob开发指南【android端】
  4. Window.onload与$(document).ready()的对比
  5. C#中 += (s, e) => 这些字符什么意思
  6. Spring事务的传播特性和隔离级别
  7. 【drp 10】JSP页面中model1和model2的区别
  8. linux-启动停止重启shell 简单shell示例
  9. 类的const成员
  10. css一个图片包含多个图片|网站侧栏导航
  11. mysql数据库密码更改
  12. java面向对象(四)之重写、重载
  13. Java学习记录:降低耦合度
  14. 浏览器加载 CommonJS 模块的原理与实现
  15. luogu P1627 [CQOI2009]中位数
  16. this关键字的用法(包括this语句)
  17. scanf,fscanf,sscanf的区别
  18. msf客户端渗透(九):获取PHP服务器shell
  19. SASS对css的管理
  20. shiro实战系列(三)之架构

热门文章

  1. Creating a Physical Standby from Primary on Version 12c (Doc ID 1570958.1)
  2. 25.推荐---协同过滤(Collaborative Filtering)
  3. PDF软件
  4. IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容
  5. PalletOne调色板跨链的ETH提币实现
  6. .NET Application,Session,Cookie,ViewState,Cache对象用法
  7. 一年半前端工作经验试水杭州:我是如何拿下网易、阿里和滴滴 offer 的
  8. .NET Core 数据结构与算法 1-1
  9. Winform中使用DevExpress的CheckEdit控件实现多选条件搜索
  10. PHP中发送qq邮件