卜若的代码笔记-webgl系列-第十五章:glsl探索(三)$第探索二中的uniform$

1 先来从入口上去解决这些问题:

1.1 uniform

 uniform是啥?在探索一种其实有比较明确的解释,这里有了例子,我们再重写回顾一下这个过程:

它是一种存储限定字:

可以理解为一种存储变量的方法,也可以理解为外部世界和内部的Shader世界进行交互interact的接口!

我们来看这张图:

在这张图里面呢,是不是要将uniform变量输入进去?

是哒!没错,uniform最终会被注入到VertexShader,我们可以来看一下VertexShader是怎么定义的??

 

我们在这里面定义了一个uniform

 我们,就给它传这个uniform:

我们是通过uniforms传的,也就是说,其实我们是可以传不止一个uniform,而且,名字还可以瞎取

既然,uniforms注入是沟通外部世界和内部世界的桥梁,那么我们是不是可以通过动态更改注入的值,去产生一些奇妙的效果,比如颜色渐变??答案是必然的!!!!!

这一步太骚了>v<

让我们去控制brTime增长,同时让我们的Cube五彩斑斓起来吧!!

 

效果:

新的FragmentShader:

本质上其实是对time进行了动态的自增!

op是我用来做循环操作特地弄的一种写法,挺好用:

function frame() {



    opView.renderer.render(opView.scene,opView.camera);



    var now = new Date().getTime()
    var elapsed = now - last;
    // 经过了足够的时间
    if (elapsed > fpsInterval) {
        last = now - (elapsed % fpsInterval); //校正当前时间

        // 循环的代码
        // drawSomething()
        if (op!= null){

            op();
        }
    }
    requestAnimationFrame(frame);

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值