I'm not sure what exactly you're asking with
"But how do I read values used for the transformation from the texture?"
Textures are stored on the GPU. So if your question is how to write a GPU fragment shader which samples a texture, you can read the official shader programming tutorial which does exactly that with a noise texture.
If you want to read texel values on the CPU from a texture, you can't, since the texture memory isn't accessible from the CPU. This is not a Godot limit, it's a hardware limit. You first need to create an image from the texture using the get_data
method, and then you can use the image's get_pixel
method (or it's get_data
if you want to process values in bulk ) to read specific pixel values.
Note that while sampling textures in fragment shaders is very efficient and fast, sampling them on the CPU will likely bring your framerate down to something unacceptable.