How do I create an interlaced shader effect?

I want to add an interlaced shader effect, maybe using post-processing where there is almost like a CRT type overlay.




How can this be achieved? thanks

Hi, don’t know if you’d like to use CSS for this, but I just put in these lines for the container surrounding the canvas:

    #container {
      width: 100%;
      height: 100%;
      pointer-events: none;

    #container.scanlines:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      pointer-events: none;
      touch-action: none;
      background: repeating-linear-gradient(0deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .2) 1px, transparent 1px, transparent 2px);

I took this from a game someone posted on this forum. I can’t find the post right now though.

Also, not sure if a shader is better for this, but this did the trick for me.


nice find! I will try this out. thanks

I made one using nodeMaterial, here is the material address
Babylon.js Node Material Editor (

Then there is pg
Babylon.js Playground (


There is this post effects too that might have it. I forgot all the ones this has.

When I get up this morning ill dig and I might be able to find the exact effect.

Shadertoy might have a “CRT” effect that would work too.


I don’t know if it’s the effect you want

I made one a bit like that with a node post process: Morph Target Space Travel | Babylon.js Playground (


thats fantastic! UFO flying about is pretty sweet

1 Like