Game development using OpenGL ES 2.0 and C - opengl-es-2.0

I wanted to develop a game. I want to develop with the knowledge that I am having in OpenGL ES 2.0 and C language.
First thing that comes into my mind is how to develop textures etc. So please can any one tell me what are all the tools, game engine etc what all i need.
Any good tutorials for the same.
thanks in advance.

You said you want to use OPENGL ES 2.0, I understand you want develop for an Android or IPhone device.
You need read some about matrix, rotation, translations. OpenGl ES doesn't have glrotate and gltranslate methods(and more), but you can develop your own methods method using then OpenGl documentation:
http://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml
http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml
If you want to use OPENGL for draw, you will need write a vertex and fragment shader
What kind of shader for 2D games (ie. Super Mario)
A lot of stuff you need, this is only a little piece. I hope this be helpful to you.

Related

How do I convert OpenGLES shaders to Metal compatible ones?

I have a project which uses about 2 dozen .vsh and .fsh files to draw 2D tiles using OpenGLES. Since that is deprecated, I want to convert my project to Metal. My head is now swimming with vocabulary and techniques involved in both systems - graphics is not my forte.
Can I use OpenGLES to compile the .vsh/.fsh files, and then save them in a metal-compatible format? The goal would be to then use the saved information in a metal-centric world and remove all the OpenGLES code from the project. I've spent a few days on this already, and yet I don't understand the processes enough to fully attempt the transition to Metal. Any/all help is appreciated.
I saw this: "On devices that support it, the GLSL code you provide to SKShader is automatically converted to Metal shading language and run on a Metal renderer", which leads me to believe there is a way to get this done. I just don't know where to begin. OpenGL ES deprecated in iOS 12 and SKShader
I have seen this:
Convert OpenGL shader to Metal (Swift) to be used in CIFilter, and if it answers my question, I don't understand how.
I don't think this answers it either: OpenGL ES and OpenGL compatible shaders
Answers/techniques can use either Objective-C or Swift - the existing code is Objective-C, the rest of the project has been converted to Swift 5.
There are many ways to do what you want:
1) You can use MoltenGL to seamlessly convert your GLSL shaders to MSL.
2) You can use open-source shader cross-compilers like: krafix, pmfx-shader, etc.
I would like to point out that based on my experience it would be better in terms of performance that you try to rewrite the shaders yourself.

glmaterialfv is deprecated in opengl es2?

I found some functions like glmaterialfv are no longer available in OpenGL ES2 headers.
like the following method,
glmaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE,color)
How to set the materials using OpenGL ES2? I need to set both Front and Back ambient, diffuse colors?
The fixed function pipeline is not available in ES 2.0. So everything that includes materials, lights, the matrix stack, etc., is gone. If you look at the official spec file, ES 2.0 was actually specified as a new API, not a new version of the ES 1.1 API.
With ES 2.0, you have to write your own shader programs in GLSL for lighting calculations, and a lot of other functionality that the fixed pipeline previously handled for you. The initial hurdle might look higher than it is for ES 1.1, but you will get used to it pretty quickly, and then appreciate the new power and flexibility.
You should be able to find some good tutorials for ES 2.0 online.
OpenGL ES 2.0 is not backwards compatible with OpenGL ES 1.1 - these are two completely different APIs.

What iOS 3d engine to use for very simple 3d scene?

I am planning to develop an iOS app and would love to have some very simple 3d objects the user could interact with either by gestures or gyro. I don't need complex animations or game logic. I have developed simple apps but never used 3d. What frameworks could be best for such task and does it take a lot to learn and implement?
Cocos engine. Google cocos2D but look for the 3D information. Cheers
Using OpenGL with GLKit seems to benefit you the most here.
I started to use NinevehGL (http://nineveh.gl). It is a very simple framework to load and handle 3D objects for iOS.
I guess OpenGL can fit your need.

Best approach for music visualization/interaction app

I'm am an experienced flash developer who's been learning objective-c for the last 5 months.
I am beginning the development of an app previously prototyped in Flash and I'm trying to guess what could be the best approach to port it to iOS.
My app is kind of a music game. It consists of some dynamic graphics (circles growing and rotating), with typography also changing and rotating. Everything moves in sync with music. And at the same time the user can interact with the app (moving and rotating things) and some sounds will change depending on his actions.
Graphics can't be bitmaps because they get redrawn every frame.
This was easy to develop with Flash due to its management of vector graphics. But I'm not sure what would be the best way to do it in objective-c.
My options, I guess are things like: Core Graphics, OpenGL, maybe Cocos2D (not sure if that would be to kill a flea with a sledgehammer). Or even things like OpenFrameworks or Cinder, but I rather use objective-c other than c++.
Any hint on where to look at will be appreciated.
EDIT:
I can't really put a real screenshot due to confidentiality issues. But it is something similar to this
But it will be interactive and sections would change size and disappear depending on the music and user interaction.
Which graphics library should you use? The answer is going to depend a lot on what you know or could learn. OpenGL will use hardware acceleration, so it's probably fastest. But OpenGL doesn't have built-in functions for drawing arc segments or any curves or text at all, so you'd probably have to do it yourself. Also, OpenGL is notoriously difficult to learn.
Core Graphics has many cool methods for drawing vector graphics (rectangles, arcs, general paths, etc.), but might be slower than you want, depending on what you're trying to do. Without having code to actually run it's hard to say.
It looks like Cocos2D is built on OpenGL and is made to be simple. I see lots of mention of sprites on their website, but nothing about vector graphics. (I've never used it, so it could be there and I'm just not seeing it.)
If I were in your position, I'd look into cocos2d and see if it does vector graphics at all. If not, I might give Core Graphics a try and see what performance was like. I know OpenGL can do what you want, but it can be difficult to learn, so I'd probably do that last.

iphone - digital image processing

I want to build an app similar to Fat Booth, Aging Boot etc. I am totally noob to digital image processing. where should I start? Some hints?
Processing images on the iPhone with any kind of speed is going to require OpenGL ES. That would be the place to start. (If this is your first iOS project, though, I wouldn’t recommend starting off with GL.)
Apple has an image processing example available here: http://developer.apple.com/iphone/library/samplecode/GLImageProcessing/Introduction/Intro.html.
I imagine the apps you refer to use GL too. Fat Booth, for example, might texture a mesh with your photo, then distort the mesh to make the photo bulge out in the middle. It could also be done purely with fragment shaders.