0

I understand that OpenGL ES is a subset of Open GL. I am, however, having a very hard time trying to find appropriate solutions in OpenGL ES for coding practices in Open GL.

Take, for example, display lists. Here is a site which ported all the NeHe tutorials; display lists are introduced in tutorial 12. Unfortunately there are so many other things going on that it's difficult for me to understand what the basic principle is when replacing display lists in OpenGL ES.

Are there any "basic," step-by-step, or even fundamental explanations about how to port certain OpenGL 1.3 code to OpenGL ES 1.0?

Christophe
  • 68,716
  • 7
  • 72
  • 138
  • 2
    Which OpenGL? Which OpenGL ES? Totally not possible to discuss without clearing this first. – Kos Jan 06 '11 at 16:33
  • 1
    On the example: there's no direct analogue to display lists. They've fallen far out of favour in OpenGL terms (the feeling being that they add a lot of complexity to drivers without giving any performance benefit) and are deprecated there, with nothing similar offered in ES. You need to create your own means to post relevant GL commands on demand. I'm not able to provide help on the wider topic of a guide to the various differences, and as Kos says it highly depends on version numbers of GL and GL ES. – Tommy Jan 06 '11 at 17:20
  • As Kos points out, OpenGL ES 1.x is vastly different from OpenGL 2.x, due to the exclusive use of shaders in the latter. The porting process will be different depending on which of those two you're targeting. – Brad Larson Jan 06 '11 at 18:31
  • Although I disagree with the version number(s) being important, I have updated my question. My initial question was: is there a tutorial for porting OpenGL concepts into OpenGL ES, not "what code can I use in OpenGL ES 1.1 to achieve what I want?" –  Jan 06 '11 at 18:36
  • 1
    GL ES 1.x and 2.x are completely different. ES 1.x code won't work in 2.x, and vice versa. ES 1.x doesn't support any sort of programmable pipeline, so isn't a target for GL 2.0+ code. ES 2.x isn't supported by a whole bunch of devices. The version numbers therefore matter. – Tommy Jan 07 '11 at 15:38

1 Answers1

2

I don't know any resource which contains that information, but here's what i know:

  • A replacement for Display Lists is to just use VBOs to store vertex data, and glDrawArrays/glDrawElements for rendering.
  • Immediate mode is removed, so you need to use VAs and VBOs to draw.
  • In OpenGL ES 2.0, there is no fixed function pipeline, so you need to do everything using shaders.
  • In OpenGL ES 2.0, the alpha test was removed and needs to be done in the pixel shader.
  • In ES in general, there is no GLU or GLUT, and you need to manually implement that functionality (if you ever require it).
Dr. Snoopy
  • 55,122
  • 7
  • 121
  • 140