views:

524

answers:

2

Hi,

I want to render a splash screen on the iPhone whilst using an Open GL view. The iPhone screen as we know is 320x480, which is not a power of 2.

Before I enter into the world of chopping the texture up and rendering sub parts, or embedding the screen on another texture page I was wondering if there was another way?

Is it possible to overlay another view that I could render to using CoreGraphics functions? Or is it possible to render to a Open GL surface using Core Graphics functions.

What would you recommend?

Cheers Rich

A: 

I would recommend that you read Apple's Human Interface Guidelines for iPhone, especially the several parts where they warn you over and over not to make splash screens.

Paul Tomblin
How will I render the graphics for my frontend then? I have a graphic that covers the screen, which I want to draw on top of. Every game I download has a splash screen ...
Rich
How about skipping the annoying commercial and going straight into the game?
Paul Tomblin
I think you misunderstand, I want render a title screen, a front end, from which options can be changed or the game can be launched.
Rich
What you describe isn't a "splash screen" if it's part of the user interface.
Paul Tomblin
Sorry in the games industry we refer to it as a splash screen. Regardless the question stands on the course of action to take when rendering it.
Rich
No, in the games industry, a splash screen is the same thing it is in very other segment of the computer industry: "an image (or video) that appears while a computer program is loading". [http://en.wikipedia.org/wiki/Splash_screen] What you are describing is called "a menu".
Paul Tomblin
Bless. Thanks for the help.
Rich
That was a pretty harsh reply.
TouchGameDev
@Touch, I've seen a lot of crappy programs that care more about telling you how great they are than about being great. My usual response to splash screens that last too long so they can show you advertising is to delete the program and make sure I never buy anything they make ever again.
Paul Tomblin
+2  A: 

Its entirely possible to write some code, which creates a 512x512 texture, load an image into it and then render only a portion of that texture (by mapping onto a polygon and altering the texture mapping UV co-ordinates).

This method is best for static images only, you couldn't really perform pixel-by-pixel real-time updates for this; updating the texture via open GL ES is currently too slow.