A downloadable book

Buy Now6.50€ EUR or more

(ePub and MOBI formats)

This book is a practical guide to starting 3d programming with OpenGL and shaders, using the most recent version. It would suit anyone learning 3d programming that needs a practical guide with some help for common problems. The material is often used in this way by university courses and hobbyists.

This book is a collection of worked-through examples of common real-time rendering techniques as used in video games or student projects. There are also some chapters or short articles for Tips and Tricks - not-so-obvious techniques that can add a lot of value to projects or make it easier to find problems. The idea is to be something like a lab manual - to get you going and over the trickier and more confusing hurdles presented by the API.

Page Count: 454 approx. (varies with device)
Word Count: 111,000
Source Code: 40 demonstration programmes
Illustrated: Full-colour hand-drawn diagrams and screen-captures
Home-page and sample chapters: antongerdelan.net/opengl

Table of Contents


  • Preface
  • Downloading and Compiling Demo Source Code


  • "Hello Triangle" - OpenGL 4 Up and Running
  • Extended Initialisation
  • OpenGL 4 Shaders
  • Vertex Buffer Objects


  • Vectors and Matrices
  • Virtual Camera
  • Quaternion Quick-Start
  • Ray-Based Picking

Lighting and Texture Maps

  • Phong Lighting
  • Texture Maps

Tips and Tricks

  • Screen Capture
  • Video Capture
  • Debugging Shaders
  • Gamma Correction
  • Extension Checks and the Debug Callback
  • Uniform Buffer Objects and Mapping Buffers

Mesh Files

  • Importing a Mesh File

More Advanced Lighting and Texture Effects

  • Multi-Texturing
  • Using Textures for Lighting Coefficients
  • Fragment Rejection
  • Alpha Blending for Transparency
  • Spotlights and Directional Lights
  • Distance Fog
  • Normal Mapping
  • Cube Maps: Sky Boxes and Environment Mapping

New Shader Stages

  • Geometry Shaders
  • Tessellation Shaders

2d Rendering

  • 2d GUI Panels
  • Sprite Sheets and 2d Animation
  • Bitmap Fonts
  • Making a Font Atlas Generator Tool


  • Particle Systems
  • Hardware Skinning Part 1: Bones
  • Hardware Skinning Part 2: Skeleton Hierarchies
  • Hardware Skinning Part 3: Key-Frame Animation

Multi-Pass Rendering

  • Switching Framebuffer
  • Image Processing with a Kernel
  • Colour-Based Picking
  • Deferred Shading
  • Texture Projection Shadows


  • Building Larger Programmes
  • Closing Remarks, Future Techniques, and Further Reading

You can also find the book on Amazon if you prefer to have it in your Amazon library.

Please let me know if you find a mistake or e-book format problem, and I will update it.

More information

Published1 year ago
Release date2 years ago
AuthorAnton Gerdelan
Tagsbook, computer-graphics, opengl, programming, shaders, tutorials
LicenseAll rights reserved
Asset licenseAll rights reserved
Average durationA few hours


Buy Now6.50€ EUR or more

In order to download this book you must purchase it at or above the minimum price of 6.50€ EUR. You will get access to the following files:

Anton's OpenGL 4 Tutorials [epub] ed 7 18 MB
Anton's OpenGL 4 Tutorials [mobi] ed 7 10 MB


Log in with your itch.io account to leave a comment.

Cool. Still have not purchased my new system and with the nvidia 10X0 announce I am glad I waited. I know I do not need that much performance, and for a while I considered buying a cheap system just to get started. But a decent cheap laptop is $700, and for a little more than twice that I can get something that will last a while. Currently considering Asus and hoping to get a laptop with a GTX1070. My goal is to order by the end of June. I am as excited about the learning as I am about getting a new system. This time next year I want to be game programming and to understand what I am doing completely. P.S: You would get more feedback if you were on facedbook, but none of it would be from me. PS2: Are you getting up to speed on Vulkan? I want to be a capable OpenGL programmer before I consider it, so it is more than a year away for me.

My friend Andrea set up a facebook page over here: https://www.facebook.com/AntonsOpenGL/. I believe it's mostly just a traffic director as it gets a few hits but not comments! I haven't looked at Vulkan yet. I want to see how it catches on across different operating systems and if there's interest in the indie/student area first. I think my next project will be dissecting my video game with some videos/tutorial type stuff as there seems to be plenty of interest there. I'm just finishing the Steam build at the moment. Good luck.

End of June. Right. I helped a friend move ($$) to California, which put a hold on a lot of things. I am looking forward to getting started on this. With ASUS announcing the new laptops with gtx1070 graphics, I believe the wait will be worth it. I expect to place my order within 4 weeks, so starting the book around the end of September is a more realistic time frame. I will be purchasing some games to get an idea of what the OpenGL game capabilities are as I would eventually like to participate in a gamejam.

(Edited 2 times)

I uploaded edition 7, which fixes previously listed errata (http://antongerdelan.net/opengl/book_info.html), and has better general advice sections in the Preface and Extended Init chapter.

I've also put a Compute Shaders extra tutorial on my website http://antongerdelan.net/opengl/

The 'antongerdelan' site indicates the book can be read on this (itch) site, but I have yet to find the associated link. If there was a PDF version of the book I would buy it.

(Edited 1 time)

hi dot(n,l)!

the only on-line reader browser app is Amazon's cloud service - perhaps i misworded something on my website? i would like to have a PDF but i don't at the moment.

short story: it's too much work to get it to format to the same standard.

long story: i painted myself into a corner a little. the book started as a little experiment with self-publishing on amazon and i never expected it to be so popular! the original is in a [not very pleasant] subset of HTML that amazon's kindlegen tool required in an early version (this is also why there are no properly-formatted tables). it was not too much trouble to convert that to a nice epub and mobi, but of the pdf conversion tools i've tried the formatting of layout things like margins and table of contents is not to a high enough standard and/or it takes too long. i had a foray into making a tool that would reformat all the HTML into the equivalent LaTeX but it also ended up taking too long to justify [pun intended]. certainly, it's possible to use something like Calibre to convert the epub to a pdf if you like, but you'll see it's not quite formatted well enough for me to upload as a finished product! i'll take any suggestions for a better/quicker conversion pipeline that people can throw at me!

Well, given the time you have put into considering the different formats I do not think investing more time in the PDF version would be worthwhile. I will be getting the epub version as soon as I get off work. Thanks for the reply and I am looking forward to the book.

Purchased the book without any issue. What drew me to the book was your comments on the 'standard' texts, and I am glad to hear someone else ask, 'is this a good way to learn?" I started and stopped my learning more than once using the superbible book, and I have a degree so I am not a dummy. Based on your comments and my brief review of some pages in your book, I believe after reading your book I could pick up a CG text (e.g. Shirley) and implement a concept or piece of pseudo code being discussed. So, the adventure begins.

(Edited 2 times)

will redo the bit about shader parallelism at some stage - it's trying to be too specific in relating # of parallel shader executions to # of uniform shader cores. should be a looser relationship - reported # of shader 'cores' are massively over-inflated by manufacturers

done! the current version should include these changes and a better overview image in the Shaders chapter.

(Edited 1 time)

I uploaded ed 5, fixing errors in angle calculations in the Spotlights chapter, and various typos. Please let me know if there has been a mistake in the builds and I shall build them again!