参考 loadShader()

loadShader()

加载顶点和片段着色器以创建一个 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 事件对象。

Notice any errors or typos? Please let us know. Please feel free to edit src/webgl/material.js and open a pull request!

相关参考