Sparse Element Algebra For Unreal

Wrapping a third party library is an immense pain in the ***, if for no other reason than the Unreal Build Tool does not play well with others. I have a cursory wrapping of OpenCV on my github that I was working on (it needs a full rewrite), and ultimately much of the functions available in OpenCV are easier and better achieved by just writing it yourself with unreal in mind when and if possible. The tutorial information for wrapping third party libraries is out of date where it isn’t just blatantly misleading. And not to mention that trying to expose these functions to Blueprints is an exercise in futility when you realize that they use Doubles extensively (as they should) and want to do other things that Blueprint (or Kismet) just doesn’t like (and to it’s own detriment). It’s like a battle of attrition where you are trying to convert Blueprint got data into the right form to feed it into the library function, and then convert the Library function’s output to something the Blueprint system will work with, all while trying to maintain consistency throughout. If you’re lucky enough to be working with source of your library, and have somehow tricked Unreal Build Tool to build it successfully. Congratulations, you definitely could have rolled your own in that time. Otherwise you’re using prebuilt dll libraries, which introduces it’s own bag of worms. What the unreal community needs is an automated process to make Build scripts based on makefiles. That would be huge, and something I might pursue in the future.

Anyway I was looking for a simple blas I could just wrap for unreal, but I couldn’t really find one that didn’t make Unreal Build Tool throw a fit. So I’m implementing my own single precision BLAS just for Unreal. Underlying everything now is stl vectors, and I’m kind of shocked how much easier it is to implement these BLAS functions using stl vectors. I’ve already implemented Blas level 1 entirely, just two more levels of functions, and then I just wrap these function translating vectors to and from TArrays or something. I don’t know why I didn’t start here to begin with.