Weuse cookies and similar tools that are necessary to enable you to make purchases, to enhance your shopping experiences and to provide our services, as detailed in our Cookie notice. We also use these cookies to understand how customers use our services (for example, by measuring site visits) so we can make improvements.
If you agree, we'll also use cookies to complement your shopping experience across the Amazon stores as described in our Cookie notice. Your choice applies to using first-party and third-party advertising cookies on this service. Cookies store or access standard device information such as a unique identifier. The 103 third parties who use cookies on this service do so for their purposes of displaying and measuring personalized ads, generating audience insights, and developing and improving products. Click "Decline" to reject, or "Customise" to make more detailed advertising choices, or learn more. You can change your choices at any time by visiting Cookie preferences, as described in the Cookie notice. To learn more about how and for what purposes Amazon uses personal information (such as Amazon Store order history), please visit our Privacy notice.
For the first time, this guide completely integrates shader techniques, alongside classic, functioncentric techniques. Extensive new text and code are presented, demonstrating the latest in OpenGL programming techniques.
OpenGL Programming Guide, Eighth Edition, provides clear explanations of OpenGL functionality and techniques, including processing geometric objects with vertex, tessellation, and geometry shaders using geometric transformations and viewing matrices; working with pixels and texture maps through fragment shaders; and advanced data techniques using framebuffer objects and compute shaders.
For the first time, this guide completelyintegrates shader techniques, alongside classic, functioncentrictechniques. Extensive new text and code are presented,demonstrating the latest in OpenGL programming techniques.
OpenGL Programming Guide,Eighth Edition, provides clear explanations of OpenGLfunctionality and techniques, including processing geometricobjects with vertex, tessellation, and geometry shaders usinggeometric transformations and viewing matrices; working with pixelsand texture maps through fragment shaders; and advanced datatechniques using framebuffer objects and compute shaders.
OpenGL Programming Guide, Eighth Edition, provides clear explanations of OpenGL functionality and techniques, including processing geometric objects with vertex, tessellation, and geometry shaders using geometric transformations and viewing matrices; working with pixels and texture maps through fragment shaders; and advanced data techniques using framebuffer objects and compute shaders.
Dave Shreiner, Director of Graphics and GPU Computing at ARM, Inc., has been active in OpenGL development nearly since its inception. He created the first commercial OpenGL training course and has taught OpenGL programming for twenty years.
Graham Sellers, coauthor of OpenGL SuperBible, manages OpenGL Software Development at AMD. He authored many OpenGL feature specifications and helped bring OpenGL ES to desktop computers.
John Kessenich, OpenGL Shading Language Specification Editor, consults at LunarG, Inc., building compiler technology for GLSL. He helped develop OpenGL 2.0 and OpenGL ES 2.0 at 3Dlabs and Intel.
Welcome to the online book for learning OpenGL! Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced knowledge using modern (core-profile) OpenGL. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies.
Throughout the internet there are thousands of documents, books, and resources on learning OpenGL, however, most of these resources are only focused on OpenGL's immediate mode (commonly referred to as the old OpenGL), are incomplete, lack proper documentation, or are not suited for your learning preferences. Therefore, my aim is to provide a platform that is both complete and easy to understand.
If you enjoy reading content that provides step-by-step instructions, clear examples, and that won't throw you in the deep with millions of details, this book is probably for you. The chapters aim to be understandable for people without any graphics programming experience, but are still interesting to read for the more experienced users. We also discuss practical concepts that, with some added creativity, could turn your ideas into real 3D applications. If all of the previous sounds like someone that could be you, then by all means, please continue.
The focus of these chapters are on Modern OpenGL. Learning (and using) modern OpenGL requires a strong knowledge of graphics programming and how OpenGL operates under the hood to really get the best of your experience. So we will start by discussing core graphics aspects, how OpenGL actually draws pixels to your screen, and how we can leverage that knowledge to create some funky looking effects.
On top of the core knowledge we will discuss many useful techniques that you can use for your applications, like: traversing a scene, create beautiful lighting, load custom-made objects from a modelling program, do cool post-processing techniques, and much more. We also feature a walkthrough series where we actually create a small game based on our obtained OpenGL knowledge, so you will really get a feel of what it's like to actually do graphics programming.
Learn OpenGL is free, and will always be free, for anyone who wants to start with graphics programming. All content is available here at the menu to your left. Simply hit the Introduction button and you're ready to start your journey!
The content has been thoroughly revised, numerous times, over the course of 7 years to have finally been aggregated into a physical copy available for print. There's been a lot of work put into the physical copy, treating it as the first-class citizen it is. Both the book and website are equals, their content is the same.
As everything is freely available online, getting the physical copy supports me as an author; and let's not forget that certain charm of printed paper. The book is available for sale on Amazon US, Amazon UK, Barnes & Noble, and many other (online) retailers. Note that at some retailers the book is ridiculously overpriced; make sure it matches roughly $60 US dollars, or wait a bit untill the prices balance themselves out.
I've revised the source files for the physical print edition and cleaned them up to be available for online reading as well, for those that prefer its content in a singular PDF format. Use this format if you'd like to read during travel, write notes, or print it out yourself. In similar style to the website, this version is, and will always be, freely available.
Note that, similar to the physical copy, links/urls are written out fully or as footnotes, videos show static images, and there's no function hover pop-ups; all to account for the content being mostly offline.
Welcome to my humble attempt to facilitate a well-developed teaching platform for the graphics API called OpenGL. Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this site will teach you the basics, the intermediate and all the advanced knowledge using modern (core-profile) OpenGL. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies.
Throughout the internet there are thousands of documents and resources on learning OpenGL, however, most of these resources are only focused on OpenGL's immediate mode (commonly referred to as the old OpenGL) or are incomplete, lack proper documentation or are not suited for your learning preferences. Therefore, my aim is to provide a platform that is both complete and easy to understand.
If you enjoy reading tutorials that provide step-by-step instructions, clear examples and that won't throw you in the deep with millions of details, these tutorials are probably for you. The tutorials aim to be understandable for people without any graphics programming experience, but are still interesting to read for the more experienced users. The tutorials also discusses practical concepts that, with some added creativity, could turn your ideas into real 3D applications. If all of the previous sounds like someone that could be you, then by all means, please continue.
The focus of the tutorials are on Modern OpenGL. Learning (and using) modern OpenGL requires a strong knowledge of graphics programming and how OpenGL operates under the hood to really get the best of your experience. So we will start by discussing core graphics aspects, how OpenGL actually draws pixels to your screen and how we can abuse that knowledge to create some funky looking effects.
Aside from the core knowledge we will discuss many useful techniques that you can use for your applications like: traversing a scene, create beautiful lighting, load custom-made objects from a modelling program, do cool post-processing techniques and much more. We also feature a walkthrough tutorial where we actually create a small game based on our obtained OpenGL knowledge, so you will really get a feel of what it's like to actually do graphics programming.
3a8082e126