• 0 Posts
  • 60 Comments
Joined 3 months ago
cake
Cake day: March 9th, 2026

help-circle



  • To do what you are trying to do, you need the TileMapLayer to already be rendered before the shader runs. That’s called a post processing effect. There are two routes, the easy and the hard way:

    Easy: Put an object in front of the camera, covering the whole view. Put your screen-reading shader on it. It needs to be sorted on top of the things you want it to shade. This is conceptually similar to what you tried with 2b, but what matters is the sort order on screen, not the node structure.

    Hard but better: Compositor effects. These are true post processing shaders that can be ran at various points in the rendering process. They require a bunch of boilerplate gdscript to run and use a slightly different shader language, but they are the proper method of doing post-fx. I don’t know if they work in 2D, however.