iPhone

It's been a little while since the last update, but version 2.1 of Molecules just went live on the App Store. 2.1 adds full support for the new Retina iPad, and has an enhanced rendering engine to support the detail on that newer device. I've also improved the contrast slightly on newer devices.

For iPad users, I've also added an atomic color key, which I know has been a highly requested feature. I've yet to rework the iPhone / iPod touch interface to support this, so this is not present on those devices.

I'd like to introduce a new open source framework that I've written, called GPUImage. The GPUImage framework is a BSD-licensed iOS library (for which the source code can be found on GitHub) that lets you apply GPU-accelerated filters and other effects to images, live camera video, and movies. In comparison to Core Image (part of iOS 5.0), GPUImage allows you to write your own custom filters, supports deployment to iOS 4.0, and has a slightly simpler interface. However, it currently lacks some of the more advanced features of Core Image, such as facial detection.

Yet another update for Molecules is now live on the App Store, this time version 2.02. The focus of this update is performance, and the new version greatly improves the speed of the new rendering engine. The 3-D models are now rendered at 3-6 times the speed that they were in the previous version, which should make previously choppy framerates on the iPad 1 much smoother. If you're interested in how this significant optimization was achieved, check out my question about it on Stack Overflow. Thanks go out to Tommy and Pivot for pointing me in the right direction on this.

A minor update to Molecules, version 2.01, is now on the App Store. This new version fixes some slight bugs with the new rendering engine in 2.0, including a case where the ambient occlusion shading for a model would sometimes appear too dark, as well as some odd glitches when using pinch zooming on a model.

I've also reenabled panning across the model using two fingers, which wasn't working well for 2.0 so I had left it out of the initial release. The way that the panning works has also been tweaked to have zooming and rotation always occur from the center of the screen.

Finally, rendering performance on the iPad 2 has been slightly improved.

The 2.0 version of Molecules brings with it a brand new rendering engine that utilizes OpenGL ES 2.0 to deliver realistic 3-D representations of molecular structures. This is a long way from the original OpenGL ES 1.1 renderer that I first wrote about here, so I want to describe in detail how this new version works. The source code for Molecules is available under the BSD license, so you are free to download the project from the main application page and follow along as I walk through the process.

A major new update to Molecules, version 2.0, is now live on the App Store. This version brings an all-new renderer for newer iOS devices, one that is capable of beautiful, realistic 3-D graphics. You are now able to search the NCBI PubChem database of small molecule compounds, something people have been asking for since the launch of the application. In addition to this, the interface of the application has been streamlined and particularly improved on the iPad. As always, the latest source code of Molecules is available for download.

I've been invited to give a talk at the SecondConf developer conference in Chicago, and I'm writing this to accompany it. I'll be talking about using the GPU to accelerate processing of video on Mac and iOS. The slides for this talk are available here. The source code samples used in this talk will be linked throughout this article. Additionally, I'll refer to the course I teach on advanced iPhone development, which can be found on iTunes U here.

Pi Cubed Lite, the free version of Pi Cubed, has been updated to version 2.0. This new version is now available for download from the App Store. The new version brings many of the enhancements from Pi Cubed 2.0, such as a undo / redo support, unlimited saved calculations, a cleaner interface, and Retina display and iOS 4.0 support. This new version of Pi Cubed Lite does not have the iPad interface that the full version does, nor the built-in and custom equation library capabilities. Additionally, Pi Cubed Lite now serves iAds within the application and requires iOS 4.0 to run.