[ create a new paste ] login | about

Link: http://codepad.org/4yH2kxLl    [ raw code | fork ]

Plain Text, pasted on May 21:
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)


Create a new paste based on this one


Comments: