

Learning Modern 3D Graphics Programming - JoshTriplett
http://www.arcsynthesis.org/gltut/#

======
jeffreyrogers
Fabien Sanglard (whose entire site is worth looking through), has an excellent
list of books to consider as well:
[http://fabiensanglard.net/Computer_Graphics_Principles_and_P...](http://fabiensanglard.net/Computer_Graphics_Principles_and_Practices/index.php)

------
chj
This is really good, but it hasn't been updated for more than one year now.

------
matymador
Thanks for this, I'm just starting with graphic programming. I'm using the
irrlicht engine, but this is better to get the theory down.

------
gdonelli
Great work. I just skimmed thru it and only found references to regular GL...
Does it talk about GL ES too? thanks for making this available

------
trobertson
For those new to OpenGL or graphics programming, there is also this [0] repo
on github, which contains a variety of OpenGL examples and single-file
projects.

[0]: [https://github.com/progschj/OpenGL-
Examples](https://github.com/progschj/OpenGL-Examples)

------
tdsamardzhiev
Note of warning: the book is not complete AND is in this state for a few years
already.

------
the_cat_kittles
anyone have a recommendation for an introduction to using open gl for 2d
stuff?

~~~
Arelius
It's pretty much exactly the same thing except you multiply everything by a
matrix that looks something like this instead of the standard projection
matrix:

    
    
        2/screen_width,  0,               0, 0.5,
        0,              -2/screen_height, 0, 0.5,
        0,               0,               1, 0,
        0,               0,               0, 1
    

Then assuming that you are drawing back-to-front and don't want to do depth-
rejection you can just disable depth testing:

    
    
        glDisable(GL_DEPTH_TEST);

~~~
Rusky
Also sprite batching and texture atlasing tend to matter a little more since
you're rendering a ton of 4-vertex sprites.

~~~
Arelius
Sure, but when you're at the tutorial level, I think you can mostly ignore
that. Worry about it once you've got the rest down.

