# Wave Shader Compilation error

**URL:** <https://forum.babylonjs.com/t/wave-shader-compilation-error/20062>\
**Category:** Bugs\
**Tags:** material, shader\
**Created:** [April 16, 2021, 1:11pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062 "2021-04-16T13:11:37Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 16, 2021, 1:11pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/1 "2021-04-16T13:11:37Z")

</div>

So I was trying to setup a simple wave shader and trying to render it on a plane. Was not trying to do a lot just wanted the plane to give that wave effect. I am getting an ‘unable to compile effect’ on the material.  
The shader code looks alright but it looks I am missing something when I am setting up the shader material.

Playgorund link - [https://playground.babylonjs.com/#5IAHHK#5](https://playground.babylonjs.com/#5IAHHK#5)

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [April 16, 2021, 1:53pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/2 "2021-04-16T13:53:17Z")

</div>

Press F12 to get the console and you should see that:

```auto
babylon.js:16 BJS - [15:51:47]: Offending line [125] in vertex code: float output4 = output5 / wavelength;
babylon.js:16 BJS - [15:51:47]: Error: VERTEX SHADER ERROR: 0:125: 'wavelength' : undeclared identifier
ERROR: 0:133: 'u_World' : undeclared identifier

```

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 16, 2021, 2:05pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/3 "2021-04-16T14:05:21Z")

</div>

Ok I fixed the above errors. Also I don’t seem to be getting these errors on my console

[https://playground.babylonjs.com/#5IAHHK#7](https://playground.babylonjs.com/#5IAHHK#7)

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [April 16, 2021, 2:07pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/4 "2021-04-16T14:07:16Z")

</div>

```auto
BJS - [16:06:49]: Error: FRAGMENT varying vUV does not match any VERTEX varying

```

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 16, 2021, 2:13pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/5 "2021-04-16T14:13:56Z")

</div>

ok some progress. looks like I am missing a library. Any idea what it is?

[https://playground.babylonjs.com/#5IAHHK#8](https://playground.babylonjs.com/#5IAHHK#8)

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [April 16, 2021, 2:17pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/6 "2021-04-16T14:17:34Z")

</div>

viewProjection missing from uniform list

[wave shader | Babylon.js Playground](https://playground.babylonjs.com/#5IAHHK#9)

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 16, 2021, 2:20pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/7 "2021-04-16T14:20:58Z")

</div>

ohh my bad. thanks a lot. We have something at least. The result is different than what I saw in the node material editor.  
[https://nodematerial-editor.babylonjs.com/#XB44SA](https://nodematerial-editor.babylonjs.com/#XB44SA)  
Thanks a lot anyway. I will explore further

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 16, 2021, 3:42pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/9 "2021-04-16T15:42:30Z")

</div>

sorry to annoy you once again.  
I exported the shader after adding a texture in the node material and am running into new issues now. Apologies I am not super familiar with shaders

[https://playground.babylonjs.com/#5IAHHK#16](https://playground.babylonjs.com/#5IAHHK#16)

Node material - [https://nodematerial-editor.babylonjs.com/#XB44SA#1](https://nodematerial-editor.babylonjs.com/#XB44SA#1)

---

<div class="post-metadata">

**Author:** ![Cedric](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/cedric/32/2742_2.png) [@Cedric](https://forum.babylonjs.com/u/Cedric)\
**Post date:** [April 16, 2021, 3:47pm UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/10 "2021-04-16T15:47:30Z")

</div>

Did you know you can use an NME shader directly using snippet without copy/paste shader:

[Node Material | Babylon.js Documentation](https://doc.babylonjs.com/divingDeeper/materials/node_material/nodeMaterial#loading-from-a-snippet-unique-url)

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 17, 2021, 7:56am UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/12 "2021-04-17T07:56:35Z")

</div>

Ok yes that worked. But is there no way to run it with the shader exported

---

<div class="post-metadata">

**Author:** ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)\
**Post date:** [April 17, 2021, 9:03am UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/13 "2021-04-17T09:03:34Z")

</div>

The generated code is not meant to be used in a `ShaderMaterial`.

See this thread for eg: [#include directives in shader code output from Node Material Editor - #2 by Evgeni\_Popov](https://forum.babylonjs.com/t/include-directives-in-shader-code-output-from-node-material-editor/10730/2)

---

<div class="post-metadata">

**Author:** ![Manas\_Gangwani](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/manas_gangwani/32/14448_2.png) [@Manas\_Gangwani](https://forum.babylonjs.com/u/Manas_Gangwani)\
**Post date:** [April 17, 2021, 9:31am UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/14 "2021-04-17T09:31:50Z")

</div>

yes I did change the uniforms in the shader code as well. Still getting the same issue. I guess it needs all of the NME wrapper code that you wrote  
That rgb issue is weird.

[https://playground.babylonjs.com/#5IAHHK#20](https://playground.babylonjs.com/#5IAHHK#20)

---

<div class="post-metadata">

**Author:** ![Evgeni\_Popov](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/evgeni_popov/32/4432_2.png) [@Evgeni\_Popov](https://forum.babylonjs.com/u/Evgeni_Popov)\
**Post date:** [April 17, 2021, 9:54am UTC](https://forum.babylonjs.com/t/wave-shader-compilation-error/20062/15 "2021-04-17T09:54:38Z")

</div>

You miss a `#define VMAINUV` in each shader. It will work but without lighting. As explained in the post linked earlier, `ShaderMaterial` materials don’t support standard lighting out of the box.
