我已经阅读了一些关于Cg的教程,但有一点我不太清楚.顶点和片段着色器之间究竟有什么区别?什么情况比另一种更适合?
想知道是否可以将大型数组传递给WebGL着色器,如下所示:
// array here
uniform vec4[huge] mydynamicarray;
void main() {
// iterate through the array here to perform processing on it,
// then write value to gl_Position
gl_Position = ...;
}
Run Code Online (Sandbox Code Playgroud)
然后将这样填充:
gl.uniform4fv(myarrayloc, myarray)
Run Code Online (Sandbox Code Playgroud)
我已经看到了许多如何传递这样的值的示例,例如:
gl.uniform4fv(offsetLoc, [1, 0, 0, 0])
Run Code Online (Sandbox Code Playgroud)
但是我还没有看到是否可以传递一个很大的,动态大小的数组。
这样做的原因是您可以处理2个数组: