I'm interested in texture streaming in DirectX but google seems unhelpful. Maybe I just don't know the right questions to ask, can anyone point me on where to begin reading to learn about impleneting texture streaming?
I could google for interesting tidbits, from Insomniac Games, notably.
Related
I need to find resources for learning openGL ES for the iPhone.
I've already watched Brad Larson's awesome videos and I'm downloading the advanced videos from apple now.
I know a lot about iOS programming but am clueless on OpenGL, so resources that don't assume I already know openGL.
I want to learn a majority of the OpenGL capabilities, but my major goal is to be able to manipulate an image based on the touch locations. More specifically I want to create a water ripple effect that follows the users finger.
I know there are many equations on StackFlow that implement this, but I'm lost when it comes to finding out how to use them.
I appreciate the kind words on the videos. That definitely makes the class feel like it was worth doing.
Do you have the course notes for both semesters of the class? The spring session notes can be found here in HTML format (VoodooPad format here) and the fall ones here (VoodooPad format here). The links in iTunes U aren't very obvious for those, and they contain many links to OpenGL ES resources that I thought were valuable, as well as all the sample code I show off in the classes.
I like the job that various instructors at Stanford have done with their class sessions on OpenGL ES as part of their iPhone Application Development course (also on iTunes U). They provide a different perspective on the API than I do, and both of us come at it by not assuming that you know OpenGL.
As Bart suggests, Jeff LaMarche's "OpenGL ES from the Ground Up" series is extremely popular for good reason, and he's been posting unpublished chapters from his book on OpenGL ES 2.0 lately as well.
For books, I highly recommend Philip Rideout's iPhone 3D Programming, which introduces fundamentals like the math involved, and takes you all the way through to some fairly advanced techniques. It's also one of the few books to spend a significant amount of time with OpenGL ES 2.0.
However, the best thing that I suggest for learning OpenGL ES is not to spend your time reading books and articles but actually formulate a simple project and try to implement it. Find sample applications out there that do many of the things you want to, and pick them apart. Go back to these resources when you run into brick walls and you'll better understand how the concepts all fit together. I knew very little about OpenGL when I started out with my first application using it, but I built small pieces and standalone prototypes until I knew enough to piece together something that worked.
In your case, I'd look very carefully at the resources linked in the answers to the question "GLSL for simple water surface effects", which do exactly what you want. One implementation uses OpenGL ES 1.1, the other 2.0-style shaders. Pick a way that you want to go (my personal recommendation would be to learn shaders now) and try to make a crude, functional application while working through the above videos and reading material.
You might want to have a look at this: http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html
These tutorials seem to be relatively beginner-friendly.
More specifically I want to create a water ripple effect that follows the users finger.
Here is code that does exactly that: http://developer.apple.com/library/ios/#samplecode/GLCameraRipple/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011222
I am writing an iOS application that gets live video streams from analog security cameras. I can get the video stream from our server application and decode it from it's proprietary format on the phone. The decoder leaves me with raw YUV (Y'CrCb technically) data. I'm not really sure what the best way (or even how) to display this info.
I've read that I should manually convert to RGB and display in something like a UIImageView, but that seems fairly clunky when there could be upwards of 30 fps on the video stream.
I've also read to use OpenGL with the YUV info to create a 2d texture and display that. Unfortunately I have no idea where to even begin with this and I'm not even sure if this is the direction I want to pursue.
So my question to all of you is: What's the best way to display this information on an iOS device? Secondly if this requires something like OpenGL could anyone suggest a good tutorial, book, code sample or any other learning resource so I can learn more about it.
Thanks in advance.
The best way really is to let the GPU do the job. I do know it's possible with a shader program, but frankly I don't speak OpenGL. This question might be of help, though.
All I want is really absolutely basic 2D drawing stuff e.g. rectangles, circles, paths, curves, béziers and so on. I don't need all the 3D model meshes with all this texturing and lighting. Is there a good learning resource for a fast startup programming just for fun?
I agree with Hetal: Get an OpenGL book.
But if you don't like that advice check this one out on amazon. It might help you start game programming on the iPhone. It also has links to other books that you can also purchase on amazon.
http://www.amazon.com/OpenGL-ES-Game-Development/dp/1592003702
One other option is to of course use google to look for OpenGL ES tutorials such as this one: http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html
The Red book for Open GL is a good starting point to learn Open GL. You can get it online. Just google.
Also don’t skip Jeff LaMarche’s Tutorial on OpenGL ES for the iPhone.
I want to make 3d games for the iphone and with all this doubt about Unity and Apples new sdk agreement I'm wondering what the best way forward is?
A lot of people recommend opengl es and point me in the direction of the open gl es bible and likewise, the problem is none of this actually talk about setting a game up i.e loading a character, scene , AI etc.
Yet a lot of people are using Open GL es please could someone help me out, I really feel like I'm missing out on something.
Are there any good tutorials/books that cover this?
Thanks,
The Oolong Engine was written and is maintained by professional game developers. It should get you started on some concepts, but programming a game from the nuts and bolts is a big step from using Unity. Good luck.
http://code.google.com/p/oolongengine/
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.