Reading the pixel data and generating a Babylon texture is something that would impact performance too much in this use case as the texture updates every frame in an application that’s very performance dependant (hence going the low-level route).
I understand that updating internal gl texture would be considered ‘hacky’, but it seems to be the most performant way forward.