This may seem like a stupid question, but I am really not clear about its answer.
I want to know what role OpenGL plays inside Blender: is it just for displaying the user interface, or does the Blender internal rendering engine also use it for Rendering the 3D scene?
And can we customize the blender internal using BGL blender OpenGL wrapper?


1 Answer 1


Blender uses OpenGL for (basically all drawing)...

  • Drawing the 3D view-port.
  • Drawing all parts of the interface (buttons, color wheel, menus etc).
  • Off screen OpenGL rendering is used for 3D view-port render and preview rendering scenes in the sequencer and view-port lamp-shadows.
  • Shader nodes display as OpenGL GLSL shaders in the view-port.
  • The GameEngine also does all drawing via OpenGL.

All other rendering is done on the CPU or GPU
(and in that case it uses CUDA or OpenCL, not OpenGL).

You can run Blender without using any OpenGL functionality by using background mode (see blender --help for details).

And if you happen to have a system without any hardware acceleration, you can use software OpenGL (Mesa can do this for example), although its noticeably slower.

Note that Blender is somewhat unusual in using OpenGL for _all_ interface drawing, not many applications do this.

  • $\begingroup$ How much OpenGL is used in Blender Internal Rendering Engine?? $\endgroup$ Commented Jun 19, 2014 at 11:29
  • $\begingroup$ @ZeroGravity, Blender Internal doesn't use OpenGL at all (thats how come you can render in in background mode without a graphics card). $\endgroup$
    – ideasman42
    Commented Jun 19, 2014 at 14:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .