<p>What is the quickest way to come up to speed on OpenGL ES 1.x?</p>

<p>Let's assume I know nothing about OpenGL (which is not entirely true, but it's been a while since I last used OpenGL).  I am most interested in learning this for iPhone-related development, but I'm interested in learning how it works on other platforms as well.</p>

<p>I've found the book <em>OpenGL ES 2.0 Programming Guide</em>, but I am concerned that it might not be the best approach because it focuses on 2.0 rather than 1.x.  My understanding is that 2.0 is not backwards-compatible with 1.x, so I may miss out on some important concepts.</p>

<p>Note: For answers about learning general OpenGL, see <a href="https://stackoverflow.com/questions/62540/learning-opengl">https://stackoverflow.com/questions/62540/learning-opengl</a></p>

<hr>

<p>Some resources I've found:</p>

<ul>
<li><a href="http://khronos.org/opengles/1_X/" rel="nofollow noreferrer">http://khronos.org/opengles/1_X/</a></li>
<li><a href="http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp" rel="nofollow noreferrer">http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES1xMBX.asp</a></li>
<li><a href="https://rads.stackoverflow.com/amzn/click/com/0321336798" rel="nofollow noreferrer" rel="nofollow noreferrer">OpenGL Distilled</a> by Paul Martz (a good refresher on OpenGL basics)</li>
</ul>

[{'answer_id': 74193, 'author': 'NeARAZ', 'author_id': 6799, 'author_profile': 'https://Stackoverflow.com/users/6799', 'pm_score': 4, 'selected': True, 'text': '<p>There is some documentation in iPhone SDK itself.</p>\n\n<p>Other than that, just take what you know about OpenGL (or learn that via other means), and forget about all things that are "old cruft" (display lists, immediate mode, things that are in OpenGL but are not directly related to just drawing triangles). Basically, unlearn everything that has been declared deprecated in OpenGL 3.0.</p>\n\n<p>GL ES 1.x is for pretty simple devices. What you have is a way to draw geometry (vertex buffers), manage textures and setup some fixed function state (lighting, texture combiners). That\'s pretty much all there is to it.</p>\n'}, {'answer_id': 78988, 'author': 'Adi', 'author_id': 9090, 'author_profile': 'https://Stackoverflow.com/users/9090', 'pm_score': 1, 'selected': False, 'text': '<p>After spending quite a lot of time developing 3D I came to realize that in most cases the best way is to learn by examples and advance with them as you go.</p>\n\n<p>Start by setting to yourself a goal to achieve (for example - implementing a particles system.  this includes usage of blending modes, textures, vertex colors, batching and transformations), and then go and start with the simplest element - drawing and rotating a quad.  From there go on and add textures, add more quads, etc...\nWhile doing that you\'d need some info about the syntax - this you can find in many books, but the best (very boring) source is the specification committee publication that can be found here: <a href="http://www.khronos.org/opengles/spec/" rel="nofollow noreferrer">http://www.khronos.org/opengles/spec/</a></p>\n\n<p>Even with that you\'d bump into many problems, well, once you have a problem go to your best friend in these situations: demos and examples!<br>\nYou can find many examples sources for the iPhone online and at the apple site so download them, copy paste what you need and then alter to your needs.</p>\n\n<p>Have fun.</p>\n'}, {'answer_id': 93516, 'author': 'Andreas Müller', 'author_id': 12203, 'author_profile': 'https://Stackoverflow.com/users/12203', 'pm_score': 2, 'selected': False, 'text': '<p>I found these quite helpful when starting out with OpenGL ES, just to see what approach one would take when dealing with ES as opposed to normal GL. </p>\n\n<p><a href="http://www.zeuscmd.com/tutorials/opengles/index.php" rel="nofollow noreferrer">http://www.zeuscmd.com/tutorials/opengles/index.php</a></p>\n\n<p>As has been mentioned earlier there are some samples available from the iPhone developer site as well:</p>\n\n<ul>\n<li><a href="https://developer.apple.com/documentation/opengles" rel="nofollow noreferrer">https://developer.apple.com/documentation/opengles</a></li>\n<li><a href="https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html" rel="nofollow noreferrer">https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html</a></li>\n</ul>\n'}, {'answer_id': 108662, 'author': 'Brad Larson', 'author_id': 19679, 'author_profile': 'https://Stackoverflow.com/users/19679', 'pm_score': 4, 'selected': False, 'text': '<p>If I may plug my own work, I\'d direct you to my post at <a href="http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es" rel="nofollow noreferrer">http://www.sunsetlakesoftware.com/2008/08/05/lessons-molecules-opengl-es</a>.  It\'s not the best overall introduction to OpenGL ES, and it gets fairly technical pretty quickly, but it\'s my take on the subject from my experience writing <a href="http://www.sunsetlakesoftware.com/molecules" rel="nofollow noreferrer">Molecules</a>.  Also, I\'ve just started reading the book <a href="https://rads.stackoverflow.com/amzn/click/com/0123737273" rel="nofollow noreferrer" rel="nofollow noreferrer">"Mobile 3D Graphics: with OpenGL ES and M3G"</a>.</p>\n\n<p>I agree with the suggestion that the best way to learn is by doing.  I started out knowing nothing about OpenGL and three weeks later had Molecules in for review in the App Store.  Once you have a clear set of goals ("OK, I need to draw a 3-D sphere", "Now I need to rotate it on demand") it becomes easy to find the examples or parts of documentation that apply to just the task you\'re working on. </p>\n\n<p>There are many code examples out there, although a lot of them use immediate mode and other calls that are not supported in OpenGL ES.  <strike>I\'d love to add to the list by releasing the source to Molecules, but Apple\'s NDA has prevented that so far.</strike>  The source code to Molecules <a href="http://www.sunsetlakesoftware.com/molecules" rel="nofollow noreferrer">is now available</a>.</p>\n\n<p>Video for the class I taught on OpenGL ES 1.1 is now available to download as part of <a href="https://podcasts.apple.com/us/podcast/advanced-iphone-development-spring-2010/id407243032" rel="nofollow noreferrer">my spring course on iTunes U</a>.  The notes for that session can be found <a href="http://www.sunsetlakesoftware.com/sites/default/files/Spring2010CourseNotes/opengl%20es.html" rel="nofollow noreferrer">here</a>.  And <a href="https://podcasts.apple.com/us/podcast/advanced-iphone-development-fall-2010/id407243028" rel="nofollow noreferrer">the fall semester videos</a> have a class on OpenGL ES 2.0.</p>\n\n<p>Also, Philip Rideout has released an excellent book on OpenGL ES 1.1 and 2.0 development for the iPhone, called <a href="http://oreilly.com/catalog/9780596804831" rel="nofollow noreferrer">iPhone 3D Programming</a>.  I highly recommend it.</p>\n'}, {'answer_id': 296415, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 2, 'selected': False, 'text': '<p>FYI, Brad Larsons Molecules code is now available <a href="http://www.sunsetlakesoftware.com/2008/11/12/molecules-13-submitted-review" rel="nofollow noreferrer">here</a>.</p>\n'}, {'answer_id': 296479, 'author': 'Nick Van Brunt', 'author_id': 30470, 'author_profile': 'https://Stackoverflow.com/users/30470', 'pm_score': 1, 'selected': False, 'text': "<p>If you have downloaded the iPhone SDK examples, check out crash landing's EAGLview file.  It is a pretty straight forward implementation of a GLES view that can be imported and used fairly cleanly in another project.  There is another class in that project called Texture2d (if I recall) which is also pretty interesting if you are into using GLES for 2D.</p>\n"}, {'answer_id': 505711, 'author': 'Maciej Gryka', 'author_id': 3037, 'author_profile': 'https://Stackoverflow.com/users/3037', 'pm_score': 0, 'selected': False, 'text': "<p>May I also suggest Android - it's easy to get and you can have a working simulator really quickly. Also, it uses v1.0 as far as I know. <br/>\nThere could be more tutorials, but even the APIDemos provided by Google has introduction to OpenGL ES. I certainly found it helpful.</p>\n"}, {'answer_id': 1006157, 'author': 'Nikolai Ruhe', 'author_id': 104790, 'author_profile': 'https://Stackoverflow.com/users/104790', 'pm_score': 2, 'selected': False, 'text': '<p>There are some excellent tutorials at <a href="https://web.archive.org/web/20160309222642/http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html" rel="nofollow noreferrer">https://web.archive.org/web/20160309222642/http://iphonedevelopment.blogspot.com/2009/05/opengl-es-from-ground-up-table-of.html</a></p>\n'}, {'answer_id': 3008886, 'author': 'Martin Marconcini', 'author_id': 2684, 'author_profile': 'https://Stackoverflow.com/users/2684', 'pm_score': 2, 'selected': False, 'text': '<p>You might want to take a look at <a href="http://iphonedevelopment.blogspot.com/search/label/OpenGL%20ES?updated-max=2010-04-27T14%3A49%3A00-07%3A00&amp;max-results=20" rel="nofollow noreferrer">this</a> excellent Jef LaMarche’s Tutorial to OpenGL ES on the iPhone. </p>\n'}]
['https://Stackoverflow.com/questions/72288', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1175/']