Hi! I’m Warren Moore, a software engineer, blogger, speaker, and author. Most recently, I worked on camera and photo apps at Apple, Inc. Before that, I was an independent app architect and Web engineer. 3D graphics and games have always been my passion, but I’ve never explored them professionally. Now that I have a little more time on my hands, I’m researching and writing on topics in real-time rendering. I’m really excited about Metal, the brand-new graphics API for the iOS platform, and I’m hoping to share what I learn through this blog, and eventually a book.
Email me here: wm@warrenmoore.net. If you live in the San Francisco Bay Area, please get in touch. I love to geek out with new people.
Dear Warren,
your blog about Metal is just outstanding. Can’t wait to read the next chapters and of course your book. Please keep up the excellent work. Your explanations make it simple to understand 3D graphics and Metal API even to non-pros. Thank you very much!
Thanks so much for the kind words, Sebastian.
Thanks for very interesing blog, well written. One thing I’d love to see here and/or in the book is about GPGPU computing using Metal.
Posts on compute kernel programming will be published this week. Feel free to suggest specific topics as well!
T-Rex says “MOAAAAAAAAR posts!”
I’m writing as fast as I can! Topic suggestions always welcome 🙂
Warren, awesome job on the site! Any guidance on dynamic vertex buffers? Any plans for producing Swift sample code? Trying to figure out how to go between my Metal shaders and Swift code… seems to be a bit different from Obj-C. 🙂
I’ll be honest; I haven’t done much with streaming or dynamic vertex buffers, but I hope to look into it soon. The blog will continue to be in Objective-C for the forseeable, but I will be giving a talk on interfacing between Swift and Metal in San Francisco next week: http://www.meetup.com/swift-language/events/213646732/. If you have any particular sticking points in the meantime, feel free to email me.
I’m a 21yo Italian guy trying to learn Metal and this blog is the closest thing to theBible() I’ve ever seen.
Your tutorials are outstanding! Keep it up. One topic I would like to see is how you could use Metal to do math, since the GPU has more available cores and (in many cases) can do math quicker. If you need a program to write for it, let me know, I have one in particular (it’s in C++, but it uses multiple threads, you would just have to expand it to use many many more cores). I was trying to make it in Metal so it would be faster and more efficient, but absolutely could not figure out how to get the darn thing to work, since I don’t want to do graphics computing, just mathematical work! Anyway, thanks for the tutorials, and keep up the hard work!
Hey Will, thanks for the kind words. I’m not actively maintaining this site anymore (terms of current employment), but feel free to email me if you want to talk about your project. For certain types of problems, using the GPU can be a big win.
Hi Warren,
My interest is in GPU computing and I have worked previously with OpenCL. Apple gives a bunch of snippets for writing a program but I’ve never seen a simple but complete piece of code written in Metal. Also I’ve seen no reference similar to the Khronos reference for OpenCL. Can you suggest a place to start?
Hey Robert,
There’s a fair bit of Metal sample code at https://developer.apple.com/metal/sample-code/, though admittedly it is graphics-centric. If you can specify what you mean by “simple but complete,” I’ll try to provide better pointers, or even write something up if it hasn’t been covered elsewhere. As for reference, Apple’s online documentation at https://developer.apple.com/documentation/metal is quite badly organized, but most APIs are documented these days. That’s the closest thing to a comprehensive reference that exists, as far as I’m aware.