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);
}


被折叠的 条评论
为什么被折叠?



