Frontpage
How this site is different from NeHe, etc.
Can be freely added onto/edited
Solely modern OpenGL
Multi-language and cross-platform like what OpenGL was made for
Bare bones, no use of libraries to do stuff for you
Introduction
History of OpenGL
Pipeline overview
(Frame)Buffers, textures, shaders, uniform states, attributes and how it comes together
OpenGL naming conventions and types
How context/window set-up is first described per-language (and per-platform in C++'s case) and then everything
comes together (as GL commands are the same for every language and platform)
Context creation
C++
Win32
Basic window creation and event loop
Forward compatible context creation by finding wglCreateContextARB
Linux
Same deal
C#
OpenTK set-up (will be detailed on later)
WebGL
HTML5 Canvas set-up
Android
OpenGL ES 2.0 context creation
End result is an empty window that is glClear'd with red.
Also show platform specific stuff like loading functions dynamically.
Drawing polygons
Creating vertex array (no VBO yet)
Creating a basic shader and setting up the position attribute, always drawing white for now
Showing how the positions are off (modifying shader or adjusting viewport???)
Add a color attribute and modify the shader to use this
Vertex Buffer Object
Explain the advantages of the vertex buffer object and how it is useful, which flags you should use, etc.
Vertex Array Object
Explain what they are and how they make your life easier
Explain how to use them
Texture mapping
Show how to create and load a texture
Add a new attribute for the texture coordinates
Transformation
Show how matrices work
Show matrices for rotation, scaling and translation
Show how to use them in shaders (so no C++ matrix code or GLM is involved here!)
Show how to work with matrices outside the shader with GLM or another matrix math library
Projection
Explain 3D perspective and orthogonal projection
Show how to set-up a matrix for that (still in the shader)
Depth buffer
Explain the depth buffer
Explain floating point imprecision and how you can work around that
Explain how you'd reset the depth buffer for viewmodels (maybe, too specific???)
Stencil buffer
Explain what it is and how to use it
Show how it can be used for planar reflections and basic outlines
Frame Buffer Objects
Explain what they are and how to use them
Create a simple example scene with them
(Show how they can be used for PP effects or do that later?)
---------------
Post-processing effects
Explain how to use FBOs for them
Explain basic effects like grayscale, bloom and 2-pass box and gaussian blur
(Someone could add HDR later, perhaps? Or too advanced for one guide with so many other new things?)
Lighting
Explain how to do per-vertex and after that per-fragment lighting
Directional
Omni
Spotlight
Shadowing
Stencil shadows
Shadow maps (Someone else will probably have to add this, because I suck at matrices :V)
Geometry shaders
Explain what they are and how to use them
Show practical examples and stuff
OpenCL
(More details on this later, as I know nothing about this atm)