Tuesday, June 30, 2009

OpenGL ES 2.0 Programming Guide has 3Gs Sample Code

The authors of the OpenGL ES 2.0 Programming Guide have created Xcode projects for all the code provided in the book. This makes the book a lot more interesting from the perspective of an iPhone developer. Anyone read this book and have an opinion on it?If you download the sample code for the iPhone 3Gs, make sure you grab the build instructions, as it's a little more complex than just opening Xcode and pressing ...

Beginning iPhone 3 Development

Well, I guess it's okay to talk about this since it's on Amazon, Dave and I have completely updated and revised Beginning iPhone Development for the 3.0 SDK.Now, the question some people likely have is, "should I buy the new version." Let me be honest with you: For many of you the answer is definitely "no". While Dave and I certainly would appreciate you buying the new edition, there's not a lot of truly new material, and we don't want anyone buying the book under false pretenses. We've incorporated the errata and clarified some of the conceptual material based on feedback from readers and on having had another year of working with the iPhone SDK. We have also tweaked the code to match Apple's current coding style (moving the IBOutlet keyword...

Friday, June 26, 2009

YouTube: 400% Daily Increase in Mobile Uploads since 3Gs

The YouTube Blog is reporting that there has been a 400% increase per day in mobile uploads to their service since the iPhone 3Gs became available. If you read my earlier post, you know that video upload was the first new feature to really grab my interest (and unexpectedly so), so I feel a little vindicated and less weird.via via Daring Fireb...

Wednesday, June 24, 2009

Blender Export Script

I've revised the Blender Objective-C Export Script. It was a relatively minor change - I was calculating the vertex normals based on the face normals, which was unnecessary work since Blender keeps track of vertex normals as well. On larger models, this version should perform better than the original version since it doesn't have to calculate vertex normals by looping through all vertices on all faces looking for match...

Empty OpenGL ES Application Project Template Updated for 3.0

I have updated my OpenGL ES Xcode project to work with SDK 3.0. You can find the new version right here. This new version is actually a rewrite from the ground up, and it fixes several issues that the old one had, including the problem where the controller wasn't receiving touch events and, of course, the fact that it didn't work on 3.0. It also includes more OpenGL-related convenience functions, and a class that makes it easier to do texture mappi...

Using 3D Models from Blender in OpenGL ES

One question I get asked a lot is "how do I load 3D models into OpenGL ES?".Of course, the answer to that isn't a simple one. If you followed my my earlier posts on importing Wavefront OBJ files, you're probably aware of that already. There are many file formats, and none of them are ideal for loading into a resource-constrained device like the iPhone.Apple recommends that 3D objects be stored in header files as static arrays. This obviates the need to do any loading or transforming or conversion at all. But… there's not really any easy way to create those header files from within 3D software packages.Well, there is one way now. The open source 3D program called Blender has a very extensible architecture, making it relatively easy to write...

Monday, June 22, 2009

Mobile Orchard Two Day iPhone Training Class

Dan Grigsby, the founder of Mobile Orchard, just wrote to let me know that he has started offering two-day iPhone programming workshops targeted at developers coming from other platforms like Java and .Net. The workshops are intensive and very hands-on. Over the course of the workshop, Dan walks you through developing seven complete applications and covers many of the core iPhone technologies, including several that are new with the 3.0 SDK such as Core Data.There are upcoming workshops in the San Francisco Bay Area and in the Seattle area, with more to come in the future.Dan has been nice enough to offer a $200 discount on the workshop to my readers. You can get this discount by entering the discount code "jeff". Dan has also authored a great series of tutorials that you might want to check...

A Weekend with the 3Gs

Okay, I've now had my iPhone 3Gs for a few days. My wife's out of town, so I'm on single-parent duty right now, which means I haven't gotten a chance to play with the phone as a developer yet, but I did get quite a bit of time with the phone as a user. I'm still feeling really positive about my purchase. On the surface, the revision from the 3G to the 3Gs doesn't seem that dramatic - same form factor, same operating system. But, in terms of user experience, the difference is huge.The feature that has impressed me the most is not one that I thought it would be. The ability to take videos is huge, and I didn't really realize how huge until I had a 3Gs in my pocket. The quality of the video is pretty darn decent, and the tap-to-focus works really well. It also adjusts the light-metering based...

Saturday, June 20, 2009

Willpower Fail

After posting yesterday that I was going to be responsible and wait a few weeks before getting a iPhone 3Gs, I ended up running out and getting one this morning when I found out the nearest Apple store had some still in stock. I got a 32 gig black model. I haven't used it much, but first impressions are pretty fabulous. Video looks good, touch-to-focus works really well, camera does much better in low-light, and sound quality seems to be better. But the biggest difference you notice is how snappy everything is. Apps launch faster, the keyboard responds quicker and never hiccups.I'll post my full impressions after I've had a day or two to play with it, but I'm really excited to see what people do with this new hardware. I think we're going to see some awesome games and other programs before...

Friday, June 19, 2009

OpenGL ES 2 Shaders

Looking for a good starting place for creating shaders for the new OpenGL ES 2.0 available on the iPhone 3Gs? The orange book has an online home that's well worth looking at. The Orange Book (the current version of which actually has more purple than orange) is the official book on the shading language. If you're thinking of writing shaders, this is the first resource you should get. The official site has example shaders and links plus errata, so you might want to bookmark it.You should also check out this page, which has lots of shader resources, including a zip full of shaders that you can use.Lastly, in the Developer folder on your hard drive, in /Applications/Graphics Tools, there's a program called OpenGL Shader Builder that you might want to check o...

Upgrading etc.

Sorry for the quiet week. Been suffering from the post-WWDC blues, a combination of being massively behind on my workload and massively tired. I have updated several of my iPhone projects that don't work after upgrading to 3.0 so that they do, including a completely new version of the OpenGL ES Xcode template. The only problem is, I did all the udpating on a pre-release version of Xcode under Snow Leopard. I need to find some time to install the release version of SDK3 and "downgrade" the Xcode projects before I can post them without violating the NDA.The next two installments of the OpenGL ES from the Ground Up series are, tentatively, drawing text and hit testing, although I may push those off and insert a OpenGL ES 2.0-specific posting in there first, because I know a lot of people are...

Saturday, June 13, 2009

An Amazing WWDC

Well, WWDC ended yesterday. I'm a little sad about that, though I am looking forward to getting home to my wife and kids. I miss them quite a lot. I find it hard to believe that I used to travel as much as I did. I'm not sure how I handled doing that as long as I did. Right now, I'm waiting at my hotel in San Francisco until it's time to go to the airport. My brain's not yet quite awake enough to write code, so I thought I'd finally get around to doing a short post about the week. I had the best intentions of doing some status updates during the week, but time was a scarce commodity this week, and many of the nights I got less than four hours sleep (something that used to be much easier for me). I have very few complaints about this year's...

Sunday, June 7, 2009

OpenGL ES from the Ground Up Part 8: Interleaving Vertex Data

Technote 2230 makes many suggestions for improving the performance of your iPhone apps that use OpenGL ES. You're now far enough along in your understanding of OpenGL ES that you should read it. No, really. Go read it, I'll wait.Okay, done? Under the section titled Optimizing Vertex Data, there's a somewhat cryptic recommendation to "submit strip-ordered indexed triangles with per vertex data interleaved". When Apple makes a recommendation, they usually have a good reason for it, so let's look at how we comply with this one.First of all, let's look at what it means. Let's break it down:Strip Ordered: In other words, if your model has adjacent triangles, submit them as triangle strips rather than submitting each triangle individually. We've...

Yet Another Post for WWDC First-Timer's

Brent Simmons of NewNewsWire fame has a fine blog posting full of information for WWDC first timers. I'm not a coffee drinker, so can't really comment on his statements with regard to that particular beverage, but in general, if you have a caffeinated beverage of choice, you probably want to arrange to get some and bring it with you. There are beverages provided, but not necessarily when you'll need them or in sufficient quantity to ensure you'll get one.I do find it odd that Brent recommends Denny's for late-night after-booze dining but lambasts the Moscone food as "awful". The food at Moscone West is far from stellar, but it's considerably better than the nearby Denny's. Then again, we all have different standards when we're sober then when we're three sheets to the wind and I've ended up...

Saturday, June 6, 2009

T-Minus Sixteen Hours

Okay, I'm all checked in for my early morning flight tomorrow and I am greatly looking forward to WWDC this year.If you see me, please stop and say "hi!". I'll be very easy to find on Tuesday, as I'll be the guy wearing an amazing Three Wolf T-Shirt :) The other days, well, I'll tweet my location periodically. I rarely leave Moscone West during the days and am going to try and get to as many of the after-hour parties and gatherings as I can.I have not yet decided what I'm going to do about the keynote. Most likely I will play it by ear. I don't think I want to kill myself to get over to Moscone West really early in the morning, but I'll still be on Eastern time, so may just be up anyway. That's what happened last year - I found myself wide awake at 4:00am without much to do. If I'm awake early,...

Friday, June 5, 2009

Mike Ash's Blog

I've been following Mike Ash's (of Rogue Amoeba) Friday Q&A blog postings for quite some time now, but don't think I've actually posted about it before. I have been remiss - if you're interested in becoming a power Objective-C programmer, you should be subscribing to Mike's RSS feed and reading his posts religiously. He gets into the guts of the runtime and covers lot of stuff you should know, but can be difficult to learn from the official documentati...

Thursday, June 4, 2009

OpenGL ES From the Ground Up, Part 7: Transformations and Matrices

Okay, this is the posting that I've been dreading. Conceptually speaking, today's topic is the most difficult part of 3D programming, and it's one I've struggled with.At this point, you should understand 3D geometry and the cartesian coordinate system. You should understand that objects in OpenGL's virtual world are built out of triangles made up of vertices, and that each vertex defines a specific point in three-dimensional space, and you know how to use that information to do basic drawing using OpenGL ES on the iPhone. If not, you should probably go back and reread the first six installments in this series before tackling this monstrosity.In order for the objects in your virtual world to be at all useful for interactive programs like games,...

Page 1 of 12512345Next

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes