Questions tagged [opengl]

OpenGL (Open Graphics Library) is a graphics standard and API which is platform independent and available for desktop, workstation and mobile devices. It is designed to provide hardware-accelerated rendering, and hence gives greatly improved performance over traditional software rendering. OpenGL is used for applications like CAD software and computer games. The OpenGL standard, as well as OpenGL ES, is controlled by the Khronos group.

OpenGL (Open Graphics Library) is an API used to interact with GPUs (Graphics Processing Units). Originally developed by SGI (Silicon Graphics Inc.) in the early 90's, the current API is being developed by the Khronos Group.

OpenGL is platform independent and available for desktop, workstation and mobile devices. It is designed to provide hardware-accelerated rendering and is typically used for applications such as CAD software and computer games.

The tag should only be used for questions about desktop OpenGL. OpenGL ES (OpenGL for Embedded Systems) and WebGL have their own tags - and . When posting in the tag, remember to always specify your target OpenGL version in order to get more precise answers. The tags , , and exist for this purpose.

Official Documentation

  • The Red Book - Tutorial GL
  • The Orange Book - Tutorial for GLSL
  • The Green Book - Tutorial for GLX
  • The Blue Book - API references for GL (out of print; replaced by online reference pages)
  • The White Book - Tutorial for WGL

Successor

Khronos Group announced API at GDC (Game Developers Conference) 2015. Vulkan, previously known as glNext or the "Next Generation OpenGL Initiative", is widely thought of as the successor to OpenGL and shares many similarities to the API. It is a complete redesign aimed to unify the OpenGL and OpenGL-ES API's into one common API that will not be backwards compatible.

External resources

Unofficial Tutorials

Books

Release Dates

  • OpenGL 1.0 - January 1992
  • OpenGL 1.1 - January 1997
  • OpenGL 1.2.1 - October 1998
  • OpenGL 1.3 - August 2001
  • OpenGL 1.4 - July 2002
  • OpenGL 1.5 - July 2003
  • OpenGL 2.0 - September 2004
  • OpenGL 2.1 - July 2006
  • OpenGL 3.0 - August 2008
  • OpenGL 3.1 - March 2009
  • OpenGL 3.2 - August 2009
  • OpenGL 3.3 - March 2010
  • OpenGL 4.0 - March 2010
  • OpenGL 4.1 - July 2010
  • OpenGL 4.2 - August 2011
  • OpenGL 4.3 - August 2012
  • OpenGL 4.4 - July 2013
  • OpenGL 4.5 - August 2014
  • OpenGL 4.6 - July 31, 2017
37973 questions
8
votes
5 answers

Cleaning up when exiting an OpenGL app

I have an an OSX OpenGL app I'm trying to modify. When I create the app a whole bunch of initialisation functions are called -- including methods where I can specify my own mouse and keyboard handlers etc. For example: glutInit(&argc,…
Daniel
  • 23,365
  • 10
  • 36
  • 34
8
votes
2 answers

gluProject Converting 3D coordinates to 2D coordinates does not convert the 2D Y Coordinate correctly

After two hours of googling (here, here, here, here, and here, and a ton others which I am not bothered to find), I thought I had finally learnt the theory of turning 3D coordinates to 2D coordinates. But it isn't working. The idea is to translate…
Joehot200
  • 1,070
  • 15
  • 44
8
votes
3 answers

Setting glutBitmapCharacter color?

Just wondering if someone can help me track down my issue with the following code where the text color is not being set correctly (its just rendering whatever color is in the background) void RenderText(int x, int y, const char *string) { int i,…
colordot
  • 231
  • 1
  • 3
  • 4
8
votes
2 answers

OpenGL: What does glRotatef rotate?

When I call the glRotatef like this: glRotatef(angle,0.0,1.0,0.0) //rotate about y-axis I know it is to rotate by angle degrees about the y axis. But, what is being rotated here? Which object exactly? Probably a silly question, but I'm entirely…
sanjeev mk
  • 4,276
  • 6
  • 44
  • 69
8
votes
6 answers

How to check whether the point is in the tetrahedron or not?

I know all coordinates of tetrahedron and the point I would like to determine. So does anyone know how to do it? I've tried to determine the point's belonging to each triangle of tetrahedron, and if it's true to all triangles then the point is in…
Denis Lolik
  • 299
  • 1
  • 4
  • 11
8
votes
3 answers

Best path from AVPlayerItemVideoOutput to openGL Texture

Been pulling my hair out trying to figure out the current best path from AVFoundation videos to an openGLTexture, most of what I find is related to iOS, and I can't seem to make it work well in OSX. First of all, this is how I set up the…
George Brown
  • 1,134
  • 10
  • 25
8
votes
3 answers

How to check if a sampler is null in glsl?

I have a shader with a _color uniform and a sampler. Now I want to draw with _color ONLY if the sampler was not set. Is there any way to figure that our within the shader? (Unfortunately the sampler returns 1,1,1,1 when not assigned, which makes…
pixartist
  • 1,137
  • 2
  • 18
  • 40
8
votes
1 answer

Which memory barrier does glGenerateMipmap require?

I've written to the first mipmap level of a texture using GL_ARB_shader_image_load_store. The documentation states that I need to call glMemoryBarrier before I use the contents of this image in other operations, in order to flush the caches…
rdb
  • 1,488
  • 1
  • 14
  • 24
8
votes
1 answer

How does Qt draw its GUI Components ( Basic Idea )?

When I browsed the source code of Qt I didn't find how it actually draws a GUI component, but I know it uses OpenGL. I want to know how does a GUI library like Qt draw its GUI components (ex : QPushButton ,QWidget)? Can any one help me with a basic…
CodeMan
  • 339
  • 1
  • 2
  • 13
8
votes
3 answers

Multilingual Unicode rendering in opengl

I have to extend an OpenGL-Rendering system to support international characters (especially Hebrew, Arabic and cyrillic). Development platform is Windows(XP|Vista|7), alas using Embercardero Delphi 2010. I currently use wglOutLineFont(...) to build…
sum1stolemyname
  • 4,506
  • 3
  • 26
  • 44
8
votes
3 answers

GLSL shader: Interpolate between more than two textures

I've implemented a heightmap in OpenGL. For now it is just a sine/cosine curved terrain. At the moment I am interpolating between the white "ice" and the darker "stone" texture. This is done like this: color = mix(texture2D(ice_layer_tex,…
T_01
  • 1,256
  • 3
  • 16
  • 35
8
votes
1 answer

Is glCompileShader optional?

While debugging my system, I found out that all the shaders I used were never compiled. All the GLSL Programs were happily linked and working like a charm. I have searched the entire code base for calls to glCompileShader, but none were found. My…
cifz
  • 1,078
  • 7
  • 24
8
votes
1 answer

Glut deprecation in Mac OSX 10.9, IDE: QT Creator

I was trying to build an opengl program on qt creator, installed on my mac, with osx 10.9. I got several warnings on glut functions about its deprecation in osx10.9, a sample error message is like: 'glutInit' is deprecated: first deprecated in OS X…
Clueless Gorilla
  • 1,199
  • 2
  • 10
  • 16
8
votes
3 answers

Can I use EGL in OSX?

I am trying to use Cairo library in a C++ application utilizing its GL acceleration in Mac. (I made same tests with its Quartz backend but the performance was disappointing.) It says it supports EGL and GLX. Use of GLX requires (externally…
user3648895
  • 395
  • 10
  • 20
8
votes
5 answers

Why is the Graphics Pipeline so highly specialized? (OpenGL)

The OpenGL Graphics Pipeline is changing every year. So the programmable Pipelines are growing. At the end, as an opengl Programmer we create many little programms (Vertex, Fragment, Geometry, Tessellation, ..) Why is there such a high…
user1767754
  • 23,311
  • 18
  • 141
  • 164
1 2 3
99
100