Raw bitmap pixel bytes to render target

So I’ve been trying to solve this for a while now and have lost track of how many searches I’ve made and how many approaches I’ve tried (outside of manually doing everything myself at a low level), so I would love some help and advice from you excellent people. I feel like this should be straightforward, but I’m obviously missing something since that doesn’t seem to be the case.

I have a source that is feeding me frames in raw bitmap data in memory (not a BMP file with headers, etc, but JUST the pixel channel data). The source is a DLL library I am linking to my project. I know the width (pixels), height (pixels), pitch (bytes), and pixel format, so I can easily work out the buffer length in bytes. I WANT to get this rendered onto a render target so it appears in game in real time.

I feel like I should be able to do this without creating a virtual BMP file wrapper for the data (which is how I got it to work to this point, by manually creating all the wrapper header fields and then painting result to render target).

In addition to this, I want to be able to scale the frame larger when needed using the scaling algorithm of my choosing, including just straight pixel enlargement without any interpolation or smoothing (ie, simply duplicating all the pixels horizontally and duplicating each line). Again, to this point I did this manually and got it to work.

I am happy to use either BP, C++ or a combination of both.

Can anyone recommend the simplest way to achieve this without having to do everything myself? I feel like I’ve missed something, like some nodes or class or header file or plugin. But like I said, I’ve searched unsuccessfully.

Actually, I just realised that I’m asking the wrong question and I should be attacking this by setting the mip data on a transient texture instead. Going to try that now.

Still unsure about the scaling though.

Closing (resolving ) this for now as I have a few more things to try before I waste anyone’s time.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.