zoukankan      html  css  js  c++  java
  • pixijs shader教程

    pixijs 写shader 底层都封装好了 只要改改片段着色器就行了 pxijs一定刚要设置支持透明 不然 颜色不支持透明度了

    const app = new PIXI.Application({ transparent: true });
    document.body.appendChild(app.view);
    
    // Create background image
    const background = PIXI.Sprite.from('examples/assets/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', 'examples/assets/pixi-filters/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();
    }
    
    // Animate the filter
    app.ticker.add((delta) => {
        filter.uniforms.customUniform += 0.04 * delta;
    });
    examples/assets/pixi-filters/shader.frag 代码文件

    precision mediump float;
    
    varying vec2 vTextureCoord;
    varying vec4 vColor;
    
    uniform sampler2D uSampler;
    uniform float customUniform;
    
    void main(void)
    {
       vec2 uvs = vTextureCoord.xy;
    
       vec4 fg = texture2D(uSampler, vTextureCoord);
    
    
       fg.r = uvs.y + sin(customUniform);
    
       //fg.r = clamp(fg.r,0.0,0.9);
    
       gl_FragColor = fg;
    
    }
    

      直接改shader

  • 相关阅读:
    一个在线的C++帮助文档网站
    linux 学习笔记 (四)
    类的static成员函数和const成员函数
    Linux的inode、软链接、硬链接
    常用linux命令(三)
    多语言调用之 C++ 调用 Java JNI
    多语言调用之 Java调用C/C++
    NHibernate 操作原生SQL以及查询DataTable,DataSet
    DataGridView控件用法合集
    Java AOP实战 寻找SQL的引用路径
  • 原文地址:https://www.cnblogs.com/newmiracle/p/11887311.html
Copyright © 2011-2022 走看看