I get the exact result I am looking for.
Your material function uses UV as input - UV doesn’t exist on CPU side. It’s generated by the rasterizer for each pixel.
You cannot output a single value from GPU as it would look the same for each pixel. If you pass a 1d or 2d array to the GPU it’s a texture or a buffer. Texture can be interpolated/filtered which is faster than doing it manually.
Or Shall I create a dynamic mesh and change UVs on it from C++ and then attach it to the SceneTexture in the Editor ?
You either use a texture (filtering can be fixed as said in another thread) or a mesh.
I would like to use the C++ SDK and the blueprint features.
Rendering algorithms need to be very fast and exposing flexibility cost performance. We intend to make it more flexible but at the moment you have to change engine internals in some cases.