
OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Posted Tuesday, 30 June, 2009 - 08:44 by the FiddlerOpenGL ES is a subset of the OpenGL API used in embedded devices. It is used by Apple's iPhone, Google's Android, Nokia's Maemo, the Sony Playstation 3, the Pandora handheld and other devices.
OpenTK now offers experimental support for OpenGL ES profiles 1.0, 1.1 and 2.0, which roughly translate to OpenGL 1.3, 1.5 and 2.0 respectively. This includes inline documentation but excludes strongly-typed enums, which will be added at a later time. There is also no support for constructing contexts through EGL, however it should be possible to use an external GL ES context in conjuction with OpenTK. Finally, the bindings are untested - please file any bugs you encounter.
If you are interested in helping out, testing or porting (esp. to iPhone and Android), make a post!
- the Fiddler's blog
- Login or register to post comments


Comments
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
This is great news!
How would a port to for example IPhone work technically..? Is there a .NET implementation for IPhone?
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Novell is working on Mono implementations for both iPhone and Android, but neither is available yet:

For the iPhone, you need to use full AOT compilation into native code (Apple doesn't allow JIT compilers). The biggest technical hurdle for the ports is getting an OpenGL ES context. For Android, this requires Java interop - no idea about the iPhone.
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
OK so with a suitable bytecode->native compiler for the IPhone (is there a good one..? gcc?) the only problem left is "hooking up" the OpenTK ES context?
For Android, this requires Java interop - no idea about the Android.
I'm not sure I follow - Android or IPhone?
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Meant to say 'no idea about the iPhone' :)
Mono includes a bytecode->native compiler (see http://mono-project.com/AOT) and AFAIK they are working to bring it to the iPhone. Unity3d supports the iPhone (which probably means the compiler is working already) and someone mentioned a public beta will begin around August.
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Good job, reading the enums I was rather pleased to see a compact GetPName for the first time ever. Enums called ShaderPrecision and ShaderBinary are promising aswell.
Are there any emulators one can use to play with this, or is the hardware required?
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
AMD distributes an emulator and there are other open-source implementations.
Frankly, the ES API is what OpenGL should have been but isn't: short, clean and to the point. Plus it has shader binaries, which are pretty important in larger applications.
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Sweet. I had read about this elsewhere first. I've actually been off working in C++ with an ObjC wrapper making an iPhone game. I'm still working on Golem3D but not as active. Once C# with OpenGL comes out for the iPhone it will be a great thing.
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
Indeed, this is gonna be great.
Any news regarding this?
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
We are still on the planning stage, but a Mono developer is helping with the iPhone port.
There is a ton of work left to do:
Of course, additional hands would help things move along faster! The ES bindings could use some love, specifically.
Re: OpenTK gains support for OpenGL ES 1.0, 1.1 and 2.0
1. & 3. (I like to think of this as "canvas") Isn't it possible to recycle lots of logic from the "desktop" GL classes? I'll take a look at the EGL specs asap, but from the GL ES specs the API appears to be very close to OpenGL.
2. Why don't you move ES-related classes to OpenTK.Handheld or OpenTK.Embedded? It appears "desktop" GL and GL ES cannot each have a context and share textures, display lists etc. with each other, so essentially they are 2 different things that should not be connected in any way. Future handheld devices might support OpenCL, so there should be nothing from OpenTK's side to prevent a programmer from using OpenTK.Compute and OpenTK.EmbeddedGraphics together.
4. In other words, you simply want all functions using OpenTK.Graphics.GLES***.All enums replaced with appropriate ones? The enums themselves look rather clean to me already (but I haven't compared them to spec yet)