OpenGL ES and Default iPhone UI components - iphone

So I am rather experienced with OpenGL on the desktop platform and am trying to integrate it with my iOS development experience. I have created several large scale iOS applications so I have a good understanding of that process as well. I was wondering if anyone knows of any useful techniques to integrate iOS UI components with an OpenGL scene, or if that is even possible. I apologize if this is to general. I can refine it if necessary.
For example, say you have an iPad application that has a table and whatnot on the left, and you want to add a little 3D OpenGL window on the right. (Perhaps a chart or something that the user can interact with?) This would not be for a game or anything, but more for my understanding on how to smoothly integrate the different platforms. Any advice or links that the community could provide would be greatly appreciated. Thanks in advance!

GL-Views do not have to cover the entire screen. A great and very easy to understand example is the sound=recorder SpeakHere iphone app within the iOS SDK.
This example uses a small GL-View for displaying a peak-level-meter of the audio signal; GLLevelMeter.
Hope this helps...

Related

Is there an iOS SDK for creating crossword puzzle games?

We are looking to create a crossword puzzle game and I'd like to see how we can help our client reduce development time by using an iOS SDK. We are looking for the game interaction (loading words, dragging letters to board, word validation, etc)
Look into Cocoas2D or there is Unity3D to assist you in creating games for iOS.
I believe you are looking for a 'Library' if what I understand is that you want an automated way of creating crossword puzzles. Unfortunately I do not believe there is any that would fit your needs.
If you are like me, create your own paper crossword puzzles and then make them on iOS.
A great book to get on how to make games for iOS would be 'Learning iOS Game Programming" by Michael Daley.
I bet with the resources on that book and good logical planning you will have your game made in no time.

How to make good looking custom ui in mobile and tablet devices?

I'm looking for an intro into designing and making a custom and dynamic UI on mobile specific platforms. As I understand Nokia(Qt), Android, and iOS all use OpenGL ES (2.0?). I haven't looked into Windows phone 7 yet so not sure what that uses. So I think OpenGL would be a pretty good place to start. While OpenGL is mostly about 3D, I'm also open to 2d ways of creating dynamic UI.
I've never really been big on designing interfaces or coming up with cool concepts but now I have an idea for a mobile app that really needs a good looking user-interface. It's sort of a half app, half game type of thing. It really targets people in the gaming community who I think are used to a bit more polish and advanced UI. I could still probably get away with a simple UI(simple not being a bad thing) but I think I at least should learn some design techniques for future reference.
Of course I realise that excessive eye candy which hurts usability, like bloated graphics that slow down the mobile, are of no use at all. I'm trying to make a sleek UI that while looking good allows the user to interact well with the app effectively.
Any suggestions, resources, experience you can share would be most helpful.
EDIT: While I'm looking for ways to use 3D graphics, I'm more concerned with how to come up with a sleek UI in a mobile. I come from a mostly web developer background, with some experience in Photoshop(CSS is the furthest I've gone in designing). I have never really had to design a dynamic interface that reacted to touch and moved all around the screen with some laws of physics attached. There are lots of such effects, such as the carousal effect, which gives the user an enhanced experience. I have no idea how to incorporate these effects into a mobile device. For example, one of the things I need this app to do is take a glassy circular object(a button) that moves around, then turn it into a sort of convex glass lens so it's sort of zooming in on the image underneath to make it look like its actually a magnifying glass. I looked around and this effect is created by a "grid warp" or a "mesh warp". Suffice it to say I have no idea how to do it.
This will help you not only with Windows Phone 7. WP7 uses DirectX 9, but not directly, you must pick XNA or Silverlight(no other options). Also these blog posts I find quite usefull.
For game, game related app I would stick to one design, and as you said start with OpenGL.
I have been searching since yesterday and thought I'd add some links for anyone interested.
Although I'm dividing them up by the platform the articles refer to, with some elbow grease the ideas should be cross-platform compatible.
Qt
Carousal animation in Qt
Shadow effect Qt
Qt Kinetic Scrolling describes kinetic scrolling algorithm in Qt(self descriptive really)
Qt OpenGL Nehe tutorials converted to the Qt environment
Iphone
OpenGL from the ground up - expansive list
Flow Cover tutorial.
Android
Android 3d Tutorial
Another Android OpenGL tutorial
Yet another Android OpenGl ES tutorial, seems people have gone open-source mad.
Custom UI on Android
One finger zoom tutorial at Sony Ericsson Developer World
3D list at Sony Ericsson Developer World
OpenGl/ES
OpenGl tutorials at NeHe, there are tons, I read through the first one (on light) and it was really informative.
TheRedBook intro to OpenGl
Books
Books list at Design4Mobile, these do not cover the technical side rather covers the things to keep in mind when designing mobiles, I think the O'Rielly one should be pretty good.
Inspiration
10 beautifully designed Iphone Apps - for a touch of inspiration
All rounder
Mobile TutsPlus sort of a gathering of tutorials for android and iPhone
That's I found in the last four or five hours, as I find more I'll add it on. I've also made this a community Wiki so others can correct any mistakes I've made here, or to add anything they feel relevant.

Making games in iPhone

Can anyone tell me what should i use to make games for iPhone...
Actually i am a simple application programmer ...but never made complicated high graphics games...
i have made some games but only simple one...
Which tool is good for me to start....
i am aware of OPenGL...is it good to start with this ??
I'd say if you're reasonably competent with iOS & Objective-C, then it might be worth taking a peek at the likes of Cocos2D. There's also the iOS port of Flixel (which you can grab with the source to Canabalt which is sitting on Github), but compared to Cocos2D - it's a little less polished due to it only being recently out there.
Unity's great if you're familiar with C# or JavaScript and interested in wanting to do 3D games - and if you're not as interested in going the full-hog with learning OpenGL ES.
Corona is the best thing for you start looking into.
I'd suggest a trip to the bookstore, to find a book which speaks to you, regarding iPhone Game Dev. A quick look at Amazon reveals quite a number.
There's a lot to consider when making games, it's a huge topic.
You should check out Unity 3D.
For someone new to iPhone development and game dev in general, I'd say start with Cocoa Touch as it is simpler than OpenGL and you can create simple games (for example words games) with it. And even if you decide to develop an OpenGL app for the iOs you still need to work with Cocoa so there is no escape from learning it.
Once you get your head around objective-c/cocoa/xcode and iphone development in general, then start looking at OpenGL.

Iphone Game Development

What are people using mostly to build iPhone games with? I'm learning iPhone programming. Currently I'm watching all the stanford vidcast, doing the assigments and going through the beginning iphone development apress book. I want to get into building games and want to know if developers are buidling everything with opengl es or are they using pre-existing game engines?
Depends how graphic-intensive the app is.
If it needs a lot of graphics, go with a pre-existing engine.
If not, many use OpenGL ES
I believe most people are simply using Apple's APIs. Other than that, I think cocos2d is pretty popular.
You can find a bunch of suggestions here:
learning iphone game development
Which technologies/concepts do you suggest I learn before creating an iPhone game?
I used Unity. There's been a lot of great games (even in the top 10) that used it. You don't even need to know objective-C. The code is written in scripting languages using C#, Javascript or boo and then compiled. It is expensive. It will cost you a minimum $600 for an indie license to do iPhone apps. unity3d.com
It's tough to get up to speed writing a game with all the APIs to learn and few good game examples (especially if you are new to Objective-C). I ended up tracking down the old crashlander source, which is notoriously hard to find since Apple pulled it.
There are probably half a dozen iPhone game programming books in the pipeline. Until then, the learning curve is pretty steep.
I'd suggest starting with an OpenGL 2D sprite-based game. Start by learning OpenGL ES, the touch system, then the audio system.

Quartz 2D vs OpenGL ES Learning Curve

I have been developing iPhone Applications for a couple of months. I would like to know your views about the Quartz vs OpenGL ES 1.x or 2.0 learning curve. You can tell your perspective. My Questions are
*I am a wannabe game developer, So is it a good idea to first develop in quartz , then move
on to OpenGL ES or does it not make an difference
*Can you please tell your experiences when you were having the similar question
Thanks :)
Quartz 2D is not applicable for game development IMHO. It is a software rendering API. It won't give you realtime rendering speed. It's good for drawing charts or vector text with shadows, or for blending several images together. Just not for games. Unless you want to make a game where few images are moving against a monochrome background and even in that case I doubt it will be really smooth on older devices. I've seen some games obviously coded with Quartz. A pitiful sight.
Sooner or later you'll end up using Open GL ES or a game framework build on top of it. I recommend you to check cocos2D, SIO2 engine, or examples from SDK.
With careful programming it is possible to make an Open GL ES game with parallax scrolling and relatively small amount of objects work at 60 FPS even on 2nd gen devices. Tiny Wings is an example of such game. And maintaining stable 30 FPS is not a problem at all.
I skipped Quartz and went right to OpenGL ES. I started with a 2D sprite based game. Thought it was pretty easy.
The key is having a good example to look at. I used the Lunar Lander clone (Crash Lander), but I don't think that's easy to find anymore. Maybe someone who has done it recently knows of a better, newer example that uses current best practices.
I'm in the same boat as you describe, although I have no programming background. (Although I don't know what your background is either) Currently, I am in the process of learning to code as I learn the various API's that are available. I'm an objective-c guy going backwards to the c-based Quartz API, and it's a little bit of a challenge. Luckily, Programming in Objective-C 2.0 by S. Kochan has a great chapter on underlying C features to keep you afloat.
I have taken a couple of stabs # OpenGLES, and I have to say, that from a conceptual standpoint, I'm not ready for it. The Quartz2d API is a bit easier to learn conceptually because it's very easy to get up & running with a few commands. Right now, I'm at the point where I can define shapes and point to point images with out too much trouble.
OpenGLES is going to be something in my future, but it takes such an enormous amount of code to configure the drawing view, set up buffers, etc. If you are familiar with everything the code is doing, then it's a bit easier. However, from a learning perspective, Quartz is an easier way to get going, quickly.
Resources I'm using: The aforementioned book, and an anemic amount of blogs containing tutorials, which are limited # best. At this point, make an appointment with the apple docs and get cozy, because it's about the best (free) stuff that's out there (& exhaustive) With that said, I'd love for someone to prove me wrong on this site by posting a great resource for learning, but that's about it. Good Luck.
I have been looking for the fundamental differences so I can decide between OpenGL (ES) or Quartz or a hybrid. The good news is that the hybrid is an option. Clearly Quartz is easier to master for O-O programming and the answer from Apple appears to be that OpenGL, "...is ideal for immersive types of applications..."
http://developer.apple.com/library/ios/#DOCUMENTATION/General/Conceptual/Devpedia-CocoaApp/DrawingModel.html
I don't want to limit the category to games as I believe any game UX can be applied to a business App, a productivity App, entertainment viewing, etc. By the same token, I fully expect the technology (both h/w and s/w) to advance to make either a choice.