The short answer: For the time being, yes. But in the future, you may want to upgrade. The long answer after the jump.
The new iPhone 3GS introduces OpenGL ES 2.0 compatible hardware. Its 3D chip—reportedly a PowerVR SGX GPU core integrated in a Samsung chip—is more powerful than the previous generation.
The Graphic Advantage of the GS
The new graphic processing unit provides with a modern GPU core with 5th generation shader-driven tile-based deferred rendering. The current 3D graphics unit is 4th generation tile-based deferred rendering, compatible with OpenGL ES 1.1, but not 2.0.
Simply put, the new GPU is capable of a lot more tricks than the graphics engine in the first and second generation iPhones: Faster frame rates, more detailed and photorealistic shading and lighting, and more polygons.There are also other characteristics that make the iPhone 3GS a better game machine than the iPhone 3G, like a faster CPU and more memory, which allows for larger datasets—bigger worlds—and higher resolution textures.
In other words: The iPhone 3GS has better graphics than the current iPhone 3G, and there is no way around that.
The past vs the future
Just like with computers, this will undoubtedly affect the complexity of applications, games being the most obvious example. With better hardware, developers will create better applications that can do a lot more. Not only have better, more detailed graphics, but also having the capacity to introduce other things, like real time voice chat during games, or physics simulation engines.
This could mean an instant breach between the old iPhones and the new iPhone 3GS. Fortunately for developers and users, the new GPU includes a driver that supports OpenGL ES 1.1. This introduces three possible scenarios. All of these scenarios will happen sooner or later.
• First, developers can choose to develop a single game. That's the easier, less complex option. Games will use OpenGL ES 1.1 on both machines, and the same graphical assets—same textures, same 3D models, same sprites.
This is happening now: Existing iPhone/touch games will work without any problems in the iPhone 3GS too, looking exactly the same.
• Developers can choose to introduce a game programmed for OpenGL ES 1.1, but taking advantage of the more powerful iPhone 3GS hardware to make it look a bit better and have a faster frame rate. This requires some more effort. Ideally, however, they can also choose to make a game for OpenGL ES 1.1 and 2.0, building both engines in the game so it plays seamlessly for iPhone 3G and iPhone 3GS.
This second scenario will happen soon: Companies like Ngmoco have announced that they are planning to introduce games that will run in all models of iPhone, but will look better in the 3GS.
• Finally, developers can do a 100% OpenGL ES 2.0 game, putting all their resources into this engine and making a great looking game, taking full advantage of the new GS and future hardware. This last part is important, because new hardware will be available and it will be invariably more powerful than the previous generation, allowing for more complex games and applications to appear.
This last scenario won't happen anytime soon. 40 million devices is a market too big to ignore. But it will happen. There will be a breaking point.
The breaking point
In fact, the breaking point may be the iPhone 3GS itself. By introducing a completely new, modern, shader-based 3D API—which is extensible and will be here for many years to come—Apple has put in place the architecture that will make its iPhone OS product line grow. So whenever the new iPhone or the new iPod touch or the new iPod tablet appears, they will be using OpenGL ES 2.x, and that means that developers will be able to scale up and down their apps with ease, without having to handle both standards.
Then, in a not-so-distant future, a developer will really push the hardware envelope and create a killer app. They will drop the iPhone 2G/3G support and set the iPhone 3GS as the minimum hardware configuration. That day, the divide will happen and everybody will think is normal, just like a five year old computer can't run Crysis or Photoshop CS4.
Because that's the real key: iPhone OS-based machines are really computers (compact Mac OS X computers.) So get used to it, because one day people will upgrade their iPhone OS thingie not because new Apple features, but because future killer apps and games.