OpenGL ES Course Offers a New Dimension of Learning

Jonathan Blocksom

3 min read

Feb 27, 2013

OpenGL ES Course Offers a New Dimension of Learning

We’ve rebooted our OpenGL class! OpenGL is one of the most popular 3D graphics APIs, and our class now focuses on OpenGL ES (“Embedded Systems”), the flavor used by iOS, Android and WebGL. I’ve been developing the new curriculum and couldn’t be more excited about teaching the next session in early March.

OpenGL ES is used by iOS, Android and WebGL.

Though OpenGL is one of the oldest APIs around, it went through quite a revolution a few years ago, when it moved from the fixed function pipeline to today’s programmable pipeline. And thanks to the mobile revolution, adoption of the programmable pipeline has only accelerated. This, combined with so many software engineers moving to mobile development, convinced us to rework the class we’ve been offering for 10 years.

In the new and improved OpenGL ES class, we start by focusing on the programmable pipeline, getting into shaders from the first morning and continuing all week. No longer will they be a mysterious entity that you find out about at the end of the book; instead, you’ll be writing code to execute on the GPU from the start.

Using programmable shaders comes at a cost; OpenGL no longer provides handy things like transformation stacks for the camera or built-in rotation matrix calculations. Developers can write their own or use a library, but some OpenGL guides have written very extensive modules to make up for the change. Our rebooted course uses the open-source glm library, which is patterned after the OpenGL Shading Language, for vector and matrix manipulation in C++. In addition, we’ll also take a look at a few other libraries and see what makes them tick.

Another great addition to the class is WebGL, the OpenGL ES API in your browser that is accessed with JavaScript. This means that testing a WebGL program requires only reloading a web page and not a full-blown edit – compile – execute loop. You won’t be stuck waiting for compiles, and faster development means that we can stuff your brains with even more knowledge! Putting the 3D in a web page has the added advantage of giving you access to all sorts of HTML controls to manipulate your scenes.

Even if you don’t have experience in programming 3D graphics, don’t worry. We explain principles from the ground up, so you’ll learn all the necessary concepts and how they work together, from getting geometry on the screen to using special effects like bump mapping and particle systems. We even try to keep the math to a minimum; I promise there will be no eigenvectors. Well, maybe after dinner, back in the lab…

In our current landscape, OpenGL is the language for 3D programming. There are so many great things to learn that you’ll have to see them all in the course syllabus, but here are some of my favorites:

  • Write vertex and fragment shaders for full control over 3D rendering

  • Texture 3D objects procedurally and with images

  • Render point clouds and make animated particle systems

  • Understand how popular open-source projects use OpenGL

  • Pick arbitrary 3D objects in complicated scenes

  • Create higher-level scene graphs powered by OpenGL rendering

I’m proud to be bringing the Big Nerd Ranch’s OpenGL curriculum to the next level. If you’re interested in learning OpenGL ES and computer graphics from first principles in the time-honored Big Nerd Ranch tradition, sign up today and I’ll see you there!

Zack Simon

Reviewer Big Nerd Ranch

Zack is an Experience Director on the Big Nerd Ranch design team and has worked on products for companies ranging from startups to Fortune 100s. Zack is passionate about customer experience strategy, helping designers grow in their career, and sharpening consulting and delivery practices.

Speak with a nerd

Schedule a call today! Our team of nerds are ready to help

Let's Talk

Related Posts

We are ready to discuss your needs.

Stay in Touch WITH Big Nerd Ranch News