So, I'm using Godot 4.0. I'm trying to dynamically write to shader parameter textures at runtime using set_pixel(). There's a lot that's weird about this right now. First, basically whether I use @export, or preload(), or material.get_shader_param() I get a StreamTexture, which doesn't support the update() command needed to actually edit the texture. How am I actually intended to edit it?
My related question is about performance. I don't really understand how shaders interact with textures, and images. Am I grabbing the entire texture out of the shader, editing just a pixel or two, and sending the entire texture back when I try to do this? If so, is there a better way to do this?