加载顶点和片段着色器以创建一个 p5.Shader 对象。
着色器是在图形处理单元(GPU)上运行的程序。它们可以同时处理许多像素,因此对于许多图形任务来说速度很快。它们是用一种叫做 GLSL 的语言编写的,并且与绘图中的其他代码一起运行。
一旦创建了 p5.Shader 对象,它就可以与 shader() 函数一起使用,例如:shader(myShader)
。着色器程序由两个文件组成,一个顶点着色器和一个片段着色器。顶点着色器影响 3D 几何体在屏幕上的绘制位置,而片段着色器影响颜色。
loadShader()
从 .vert
和 .frag
文件加载顶点和片段着色器。 例如,调用 loadShader('/assets/shader.vert', '/assets/shader.frag')
加载所需的着色器并返回 p5 .Shader 对象。
第三个参数 successCallback
是可选的。 如果传递一个函数,则着色器加载后就会调用该函数。 回调函数可以使用新的 p5.Shader 对象作为其参数。
第四个参数 failureCallback
也是可选的。 如果传递一个函数,则在着色器加载失败时将调用该函数。 回调函数可以使用事件错误作为其参数。
着色器可能需要一些时间来加载。 在 preload() 中调用 loadShader()
可确保着色器在用于 setup() 或 draw()。
注意:着色器只能在 WebGL 模式下使用。
示例
语法
loadShader(vertFilename, fragFilename, [successCallback], [failureCallback])
参数
vertFilename
字符串:
要加载的顶点着色器的路径。
fragFilename
字符串:
要加载的片段着色器的路径。
successCallback
函数:
加载着色器后调用的函数。可以传递 p5.Shader 对象。
failureCallback
函数:
着色器加载失败时调用的函数。 可以传递 Error
事件对象。
Returns
p5.Shader: 从顶点和片段着色器文件创建的新着色器。
Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/material.js and open a pull request!