代码之家  ›  专栏  ›  技术社区  ›  Niraj

在帧中使用watershader.js着色器

  •  1
  • Niraj  · 技术社区  · 7 年前

    例如,如果我想使用这里定义的着色器- Mr. Doob's water shader 在a帧中,如何在不将着色器代码复制到本地文件的情况下执行此操作?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Piotr Adam Milewski    7 年前

    脚本包含的全局定义

    THREE.ShaderLib[ 'water' ]
    

    如果将其包含在html中,您应该可以在任何地方访问它:

    THREE.ShaderLib['water'].vertexShader // vertexShader
    

    例子 here


    要注册着色器,只需在模式中正确定义所有一致性:
    AFRAME.registerShader('foo', {
      schema: {
        //all uniforms from the water shader lib
      },
      vertexShader: THREE.ShaderLib[ 'water' ].vertexShader,
      fragmentShader: THREE.ShaderLib[ 'water' ].fragmentShader
    })
    

    脚本使用 THREE.Mirror 如果您想充分利用 water ShaderLib公司

        2
  •  0
  •   dirkk0    5 年前

    如果你从谷歌来寻找一个水帘的a帧:这里是一个额外的 example 具有 code .