Скрипт содержит глобальное определение для
THREE.ShaderLib[ 'water' ]
, если вы включите его в html, вы сможете получить к нему доступ в любом месте:
THREE.ShaderLib['water'].vertexShader // vertexShader
пример здесь.
Чтобы зарегистрировать шейдер, вам нужно только правильно определить все униформы в схеме:
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