My shader has a very large texture as a parameter--basically a texture atlas with lots of sprite graphics. I want to make small edits to it each frame - a pixel or two here and there so you can see run-time custom sprites being drawn in and compiled. I can do the drawing using set_pixel() in a texture's corresponding image data, but it looks like I then have to update the texture, and re-set the parameters on the shader for it to take effect. This is very very slow. I suspect I end up creating and passing a new, very large texture each frame.
Is there any way around this? Any way to be setting pixels continuously GPU-side? And if not, is there a workaround for being able to dynamically update shader information?