使用threejs

时间:2016-11-21 18:17:48

标签: javascript three.js glsl webgl shader

我一直在玩trijs图书馆并创建一个带浴缸和天空盒的基本场景。 你可以找到我的原始代码(没有任何阴影实现); https://liuloppan.github.io/watershader/

现在我想使用GLSL为我的水做一个着色器,但我正在努力让它只是将顶点和碎片整理器链接到程序中。现在我只想要一个使用GLSL的标准蓝色着色器,我看过ShaderMaterial函数,RawShaderMaterial,以及试图让它工作的WebGL教程。我现在有3个不同的问题。

  1. 使用ShaderMaterial和RawShaderMaterial示例,我注意到大多数代码示例都使用../build/three.js,但是我使用了缩小的three.min.js,它有多大区别呢使

  2. 我遵循了本教程; https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/ 我收到错误“无法初始化着色器”VALIDATE_STATUS false gl错误。 如何解决这个问题?

  3. 您是否了解使用threejs进行着色器实施的最新示例?我发现的大多数示例似乎都使用了一些或多个已弃用的方法,因此我无法自己运行这些示例。

1 个答案:

答案 0 :(得分:1)

1>完整和缩小之间没有功能差异。

2& 3>在名为ShaderLibShaderChunk的three.js代码中查找两个对象。 这些是three.js中基本着色器的构建块。这些应该可以帮助您了解three.js如何组装着色器,并且您可以确定它们的方式在three.js中是正确的。