The Basic Stuff
OpenGl is a state machine and the state is stored in the context of OpenGL and the objects created in the context. By using functions you can modify the state in the context or the objects and by setting objects as active you can change many states at the same time. When drawing something it is using the current state to decide what shows up on the screen. Opengl objects are namned using GLuint values. Values are reserved using the glGen* and deleted with dlDelete*. The resulting name can be any value besides 0 and they are used with glBind*. There is also a function glIs* that can be used to check if a opengl object is of a specific type.
void glGen*(GLsizei n, GLuint *arrays);
GLboolean glIs*(GLuint array);
void glBind*(GLuint array);
void glDelete*(GLsizei n, const GLuint *arrays);
OpenGL use the prefix gl for OpenGL commands. Constants begin with GL_ and use all capital letters. Some functions comes in many versions and they then use suffix to specify the number of arguments and the return type. Ex glColor3f takes 3 floats and glColor4d takes four double.
OpenGL Extensions - 2012
- Buffers: Buffer objects are used to store data that one use in or get from opengl.
- Textures: Contains one or more images and are used from shaders or used as a render target.
- GLSL: The shading language used in OpenGL.
- Drawing: Rendering can be indexed (*elements) or non-indexed (*arrays).
- Framebuffer: Select what to draw to.
- OpenGL Website
- OpenGL Wiki
- OpenGL Driver Status
- OpenGl Rendering Pipeline Overview
- OpenGl 4.5 API Reference Card
- Learn OpenGL - 2014
- Open.Gl - 2013
- Jeffrey Chastine OpenGL Tutorial - 2013
- Graphics Programming 3 - 2012
- Opengl tutorials - 2011
- OpenGL 3.3 Tutorials - 2011
- Moden OpenGL Tutorials - 2010
- Procedural Noise Shader Routines compatible with WebGL - 2016
- Path Instancing - 2010
- Object Outlining - 2002
- OpenGL Bloom Tutorial
Did you arrive from DirectX?
- Mapping between HLSL and GLSL - 2016
Volume Rendering with WebGL - 2019
OpenGL Renderer Design - 2016
Reversed-Z in OpenGL - 2016
OpenGL like Vulkan - 2016
Moving Your Games to OpenGL - 2014
Quad Meshes - 2013
Clip Planes - 2012
Modern OpenGL - 2012
Going mobile with OpenGL ES - 2010
- AMD CodeXL - A GPU debugger/profiler for OpenGL.
Modern openGl - 2012
Instanced Line Rendering - 2019