I’m currently doing an computer science masters, and my final project is
to create a game for the iphone. I heard about the PVR SDK and thought
it might be useful, but to be honest, I’m not entirely clear as to
exactly what it does yet!
More specifically, what functionality does it implement above simply using OpenGL ES?
Also I’m a little worried about the lack of documentation for it- all I’ve found is the commented code in the demos- is that all there is?
Thanks in advance to anyone willing to help me out with these basics.
The purpose of the SDK to to make it easier to develop efficient 3D graphics on POWERVR accelerated devices. This includes training courses to cover the basics of the API, demos to combine simple effects into a more complete scene, utilities to speed up and optimise the development process, and documentation to discuss performance recommendations, explain the functionality of the utilities etc.
One of the most notable features during development is our PC OpenGL ES emulator (PVRVFrame) and our PVRShell abstraction framework. The combination of the two means you can quickly write an OpenGL ES application on your development machine, and then compile it for your target mobile OS (iOS, Android, Symbian etc).
In the root of the SDK package, there is an SDK user guide that explains everything you should need to know. Additionally, there are technical papers (demo white papers, performance recommendations etc) in the /Documentation directory. There are also user guides for every utility in the /Documentation directory of a given utility (e.g. UtilitiesPVRVFrameDocumentation).
Post again if you have any other issues
It seems there’s a lot to take in, but that’s a very helpful post. I found a lot of the documentation and am taking my time to get acquainted.
It seems that the SDK is all in C++, does this mean that if I used it to make my application I wouldn’t be able to make use of the extensive objective-C framework that apple provides for iOS development?
Again, thank for your patience answering the basics.
Glad to hear the post helped
The SDK is written in C++ because it’s the most widely used language for graphics, but also because it can be used natively on all OS’s we currently target. For this reason, our iOS SDK is written in C++ as there was no need to write it again in Objective-C. If you look through our PVRShell code, you will see that we use an Objective-C wrapper that allows the rest of our applications to be written in C++. In iOS, .mm files allow you to mix Objective-C (usually written in .m files) and C++ code (usually written in .cpp files), which we use for our PVRShell Objective-C wrapper. You can use a mix of .m, .mm and .cpp files within your application, so if you wanted to write your application’s core functionality in Objective-C, then this would not be a problem. It’s worth noting that writing as much of your application in C++ as possible will make it easier to port it to other OSs in the future.
There are a number of good text books that cover iOS development and Apple’s documentation is fairly extensive these days. These are probably the best places to get to grips with the language, the framework and device/OS specific behaviour, but feel free to post again if there is anything you think we can help you with
Thanks for the info.