Cocoa Design Patterns
Learning OpenGL ES for iOS
Buy at Amazon Now
  • Cocoa Design Patterns
    Cocoa Design Patterns
    by Erik M. Buck, Donald A. Yacktman
  • Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming
    Learning OpenGL ES for iOS: A Hands-on Guide to Modern 3D Graphics Programming
    by Erik M. Buck

Let it go, Let it go

If you haven't seen Disney's "Frozen," go watch it. To me, it is an expression of the power and delight possible almost exclusively through programming. Elsa wields a dangerous magical power to create. She hides herself and her power for the safety of others. She hides her power to fit in.

Many people from many walks of life see metaphors in the movie. The New York Post lists a few of them. Some say Elsa and Anna present an "allegory for a young woman’s coming of age — the inexplicable new feelings and ... sudden appeal to the opposite sex." Others think the movie represents the feelings of relief and empowerment when a gay person comes out of the closet. Christian themes, climate change messages, and critiques of both racism and sexism may be in there.

I say the movie is about programming. Elsa creates wonders of great value from almost nothing. So do programmers.  Elsa is misunderstood and feared by normal society. So are programmers. Elsa's creations sometimes take on a life of their own. The closest real life phenomenon is software (AI). Elsa's power can unintentionally harm people. That sounds like the software flying a plane or controlling radiation treatments to me. All acts of creativity bear some similarities, but the medium of software is almost uniquely powerful and valuable.

Most strikingly, the feelings of empowerment and freedom and creativity expressed by Elsa through song resonate in the hearts of programmers. "It's time to see what I can do - to test the limits and break through ... I'm free. ... my soul is spiraling in frozen fractals... one thought crystalizes..."  All programmers experience Elsa'a uplifting emotion of passionate creation followed by satisfaction with the accomplishment. At least I feel it.

To state the obvious: All of Elsa's creations in the movie literally ARE software. Her castle, creatures, weapons, and art are all computer generated 3D models produced with software and in some cases procedurally generated by software.


Loading and Displaying COLLADA Models

COLLADAViewer2 Alpha contains an Xcode project with source code to parse COLLADA XML files and display 3D models. COLLADAViewer2 is the successor to the provided with the "Learning OpenGL ES for iOS" sample code. This article describes the content of COLLADA files and the features of the new viewer.

Click to read more ...


Green-Screen Video Effects for iOS: Video Processing with OpenGL ES

Erik M. Buck's latest InformIT article has been posted. The article explains the implementation of real-time video effects processing using the Graphics Processing Unit. A demonstration Xcode project is available.

To apply a green screen effect, shoot a video with a solid colored backdrop. Video processing replaces the backdrop color wherever it can be seen with something else like the image of a weather map. When viewing the final result, action in the foreground appears to take place in front of a weather map that was never there. The demonstration app has been tested with an iPad 2 and an iPod Touch with retina display. It should run well on any iOS device with a camera. The demo doesn’t work in the simulator because the simulator doesn’t provide camera support.


Downloading Keynote Presentations Exported as HTML

Apple's Mac OS X security safeguards prevent Keynote presentations exported as HTML from working after download. This article describes a work-around to correct the problem and future enhancements Apple could provide.

Click to read more ...


Exploring GLKit for Mac OS X 10.8 Mountain Lion

Apple introduced the GLKit framework for iOS 5 a year or so ago and now brought the technology to Mac OS X 10.8, Mountain Lion. GLKit greatly simplifies programming with OpenGL ES and smooths over some of the differences between OpenGL ES versions making it easier to adopt the latest and greatest version. It also now makes porting from iOS to the desktop easier. To get started with GLKit on the desktop, I ported the example program from my InformIT article, Adding Open Source 3D Physics to Your iOS Applications, from iOS to Mac OS X.

Click to read more ...