用threejs实现shader
Implement shader with threejs
我一直在使用 threejs 库并创建一个带有浴缸和天空盒的基本场景。
您可以在以下位置找到我的原始代码(没有任何着色器实现);
https://liuloppan.github.io/watershader/
现在我想使用 GLSL 为我的水制作一个着色器,但我正在努力使其工作,只是将顶点着色器和片段着色器链接到一个程序中。现在我只想要一个使用 GLSL 的标准蓝色着色器,我查看了 ShaderMaterial 函数、RawShaderMaterial 以及试图使其工作的 WebGL 教程。此时我有 3 个不同的问题。
在ShaderMaterial和RawShaderMaterial的例子中,我注意到大多数代码示例使用了../build/three.js,但我使用了缩小的three.min.js,多少有什么区别吗?
我遵循了这个教程; https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/
我收到错误 "could not initialise shader" VALIDATE_STATUS false gl 错误。
如何解决这个问题?
您是否知道使用 threejs 进行着色器实现的任何替代示例?我发现的大多数示例似乎都使用了一些或多个已弃用的方法,因此我自己无法 运行 这些示例。
1 > 完整版和缩小版在功能上没有区别。
2 & 3 > 在 three.js 代码中查找名为 ShaderLib
和 ShaderChunk
的两个对象。
这些是 three.js 中基本着色器的构建块。这些应该可以帮助您了解 three.js 期望如何组装着色器,并且您可以确定它们的方式在 three.js.
中使用是正确的
我一直在使用 threejs 库并创建一个带有浴缸和天空盒的基本场景。 您可以在以下位置找到我的原始代码(没有任何着色器实现); https://liuloppan.github.io/watershader/
现在我想使用 GLSL 为我的水制作一个着色器,但我正在努力使其工作,只是将顶点着色器和片段着色器链接到一个程序中。现在我只想要一个使用 GLSL 的标准蓝色着色器,我查看了 ShaderMaterial 函数、RawShaderMaterial 以及试图使其工作的 WebGL 教程。此时我有 3 个不同的问题。
在ShaderMaterial和RawShaderMaterial的例子中,我注意到大多数代码示例使用了../build/three.js,但我使用了缩小的three.min.js,多少有什么区别吗?
我遵循了这个教程; https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/ 我收到错误 "could not initialise shader" VALIDATE_STATUS false gl 错误。 如何解决这个问题?
您是否知道使用 threejs 进行着色器实现的任何替代示例?我发现的大多数示例似乎都使用了一些或多个已弃用的方法,因此我自己无法 运行 这些示例。
1 > 完整版和缩小版在功能上没有区别。
2 & 3 > 在 three.js 代码中查找名为 ShaderLib
和 ShaderChunk
的两个对象。
这些是 three.js 中基本着色器的构建块。这些应该可以帮助您了解 three.js 期望如何组装着色器,并且您可以确定它们的方式在 three.js.