learnopengl.com Open in urlscan Pro
192.232.217.61  Public Scan

Submitted URL: http://learnopengl.com/
Effective URL: https://learnopengl.com/
Submission: On February 07 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

WE VALUE YOUR PRIVACY

We and our partners store and/or access information on a device, such as cookies
and process personal data, such as unique identifiers and standard information
sent by a device for personalised ads and content, ad and content measurement,
and audience insights, as well as to develop and improve products. With your
permission we and our partners may use precise geolocation data and
identification through device scanning. You may click to consent to our and our
786 partners’ processing as described above. Alternatively you may access more
detailed information and change your preferences before consenting or to refuse
consenting. Please note that some processing of your personal data may not
require your consent, but you have a right to object to such processing. Your
preferences will apply to this website only. You can change your preferences at
any time by returning to this site or visit our privacy policy.
MORE OPTIONSAGREE

If you're running AdBlock, please consider whitelisting this site if you'd like
to support LearnOpenGL (it helps a lot); and no worries, I won't be mad if you
don't :)
 1.  Introduction
 2.  Getting started
     1.  OpenGL
     2.  Creating a window
     3.  Hello Window
     4.  Hello Triangle
     5.  Shaders
     6.  Textures
     7.  Transformations
     8.  Coordinate Systems
     9.  Camera
     10. Review
 3.  Lighting
     1. Colors
     2. Basic Lighting
     3. Materials
     4. Lighting maps
     5. Light casters
     6. Multiple lights
     7. Review
 4.  Model Loading
     1. Assimp
     2. Mesh
     3. Model
 5.  Advanced OpenGL
     1.  Depth testing
     2.  Stencil testing
     3.  Blending
     4.  Face culling
     5.  Framebuffers
     6.  Cubemaps
     7.  Advanced Data
     8.  Advanced GLSL
     9.  Geometry Shader
     10. Instancing
     11. Anti Aliasing
 6.  Advanced Lighting
     1. Advanced Lighting
     2. Gamma Correction
     3. Shadows
        1. Shadow Mapping
        2. Point Shadows
     4. Normal Mapping
     5. Parallax Mapping
     6. HDR
     7. Bloom
     8. Deferred Shading
     9. SSAO
 7.  PBR
     1. Theory
     2. Lighting
     3. IBL
        1. Diffuse irradiance
        2. Specular IBL
 8.  In Practice
     1. Debugging
     2. Text Rendering
     3. 2D Game
        1.  Breakout
        2.  Setting up
        3.  Rendering Sprites
        4.  Levels
        5.  Collisions
            1. Ball
            2. Collision detection
            3. Collision resolution
        6.  Particles
        7.  Postprocessing
        8.  Powerups
        9.  Audio
        10. Render text
        11. Final thoughts
 9.  Guest Articles
     1. How to publish
     2. 2020
        1. OIT
           1. Introduction
           2. Weighted Blended
        2. Skeletal Animation
     3. 2021
        1. CSM
        2. Scene
           1. Scene Graph
           2. Frustum Culling
        3. Tessellation
           1. Height map
           2. Tessellation
        4. DSA
     4. 2022
        1. Compute Shaders
           1. Introduction
        2. Phys. Based Bloom
        3. Area Lights
 10. Code repository
 11. Translations
 12. Privacy
 13. About





WELCOME TO OPENGL

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.


SO WHY READ THESE CHAPTERS?

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.


WHAT WILL YOU LEARN?

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.


WHERE TO START

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!

--------------------------------------------------------------------------------


LEARN OPENGL - PRINT EDITION

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.

--------------------------------------------------------------------------------


LEARN OPENGL - ONLINE PRINT EDITION - FREE PDF

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.

--------------------------------------------------------------------------------

If you want to keep up to date on the site and book's progress and/or other
LearnOpenGL news, please follow me on Twitter.

HI