Progress

Very pleased with my progress. Mostly due to the way the app is architectured, it took a while for me to remember how it was all pieced together, and to adapt it for metal. But now it’s coming back together in my head and with a few key things done, progress is now very rapid.

I used a lot of inheritance, with a key super class doing a lot of heavy lifting, once I’d adapted it for Metal, there’s really only tweaking on the child class to adapt to their particular quirks.

I’m still on the source units, rendering images, video and text, but due to the way they all work, I’ve had to implement most of the pipelines. So it generates texture directly, say using the MTKTextureLoader, to generating core text, which used an FBO in openGL, that’s now a custom render pass in Metal, I just needed to wrap them the same way, such that subclasses don’t care if they’re in an FBO or not.

I used vertex Array objects in OpenGL, but now that’s much better handled in Metal, I define the structs for vertices, with position, texture coordinates and maybe colours, and define a MTLVertexDescriptor and it’s much more elegant.

Overall, I’m hoping to get an update out much sooner than I expected, I’ll disable the very new features I was working on, but they should come rapidly after.

Leave a Reply