Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've started using WebGL and am pleased with how easy it is to leverage my OpenGL (and by extension OpenGL ES) experience. However, my understanding is as follows:

  • OpenGL ES is a subset of OpenGL
  • WebGL is a subset of OpenGL ES

Is this correct for both cases? If so, are there resources for detailing which features are missing?

For example, one notable missing feature is glPushMatrix and glPopMatrix. I don't see those in WebGL, but in my searches I cannot find them referenced in OpenGL ES material either.

share|improve this question
up vote 9 down vote accepted

The WebGL wiki contained a section in its FAQ hierarchy for "WebGL and OpenGL Differences" which seems to focus on differences in WebGL from "desktop" OpenGL implementations and, alas, isn't very detailed (mostly it's about behavior, not the API).

If that does not go into enough detail for you, you may need to compare the latest WebGL draft with the OpenGL ES or OpenGL specifications manually.

share|improve this answer

Have you checked the latestp WebGL draft?

According to the draft in case of a contradiction, the OpenGL ES 2.0 specification is the final authority.

Chapter 6 outlines the differences from OpenGL ES 2.0 to WebGL.

share|improve this answer
You had a good answer, which I upvoted, but accepted the other answer because it pointed out other resources to check out. Thanks for your help. – Chris Smith Feb 7 '11 at 23:44

I found a great resource for comparing what specific APIs are available across different versions of OpenGL/WebGL/OpenGL ES.

I think you will find what you are looking for, here:

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.