Drawing to textures from array of pixel data in c++

Hey guys,
Is there an efficient way to draw Textures in C++ pixel by pixel? And is there a way to populate the entire raster before returning it as a texture to the engine?

I’m currently building map generation functionality in c++ which takes its data from various noise functions. I would like to implement some way to view the map and it’s dependent noise values (eventually turning into the end game’s minnie map function), but so far I have found very little documentation on the subject.
I have implemented a CanvasRenderTarget solution in blueprints, but it is extremely slow and processor intensive. I believe the lag to be a product of Blueprints iterating over every pixel and sampling the data field. I think it’s also due to the fact that I’m forced to call the drawLine function using the same vector2d as the start and end points to draw a pixel, causing blueprints to do extra math. It could also be Blueprints pushing the update to the material shader every time I draw a pixel.

Thank you so much!